SaaS Builder - Code snippets

Retrouvez des fonctions et codes prêts à l'emploi

Table des matières

Ajouter des limites seulement sur le générateur d'image

				
					function limite_generateur_image() {
    // Vérifier si l'utilisateur actuel est un administrateur
    if (current_user_can('administrator')) {
        return ''; // Ne rien retourner pour les administrateurs
    }
	
    if (get_current_user_id() == 7193) {
        return ''; // Ne rien retourner pour l'utilisateur avec ID 7193
    }

    // Votre script JavaScript
    $script = <<<EOD
<script>
    jQuery(document).ready(function($) {
        // Fonctions de gestion des cookies
        function setCookie(name, value, hours) {
            var expires = "";
            if (hours) {
                var date = new Date();
                date.setTime(date.getTime() + (hours * 60 * 60 * 1000));
                expires = "; expires=" + date.toUTCString();
            }
            document.cookie = name + "=" + (value || "") + expires + "; path=/";
        }

        function getCookie(name) {
            var nameEQ = name + "=";
            var ca = document.cookie.split(';');
            for (var i = 0; i < ca.length; i++) {
                var c = ca[i];
                while (c.charAt(0) === ' ') c = c.substring(1, c.length);
                if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);
            }
            return null;
        }

        function isLimitReached() {
            var clicks = getCookie('clicks') || 0;
            var firstUse = getCookie('firstUse');
            var now = new Date().getTime();

            if (!firstUse || now - firstUse > 5 * 60 * 60 * 1000) { // Pas de première utilisation ou 5 heures passées
                return false; // La limite n'est pas encore atteinte
            } else if (clicks >= 10) {
                return true; // La limite est atteinte
            }
            return false;
        }

        function updateButtonVisibility() {
            var clicks = getCookie('clicks') || 0;
            var firstUse = getCookie('firstUse');
            var now = new Date().getTime();

            if (!firstUse) {
                setCookie('firstUse', now, 5);
                $('.btn-gene-image').show();
            } else if (now - firstUse > 5 * 60 * 60 * 1000) { // 5 heures
                setCookie('clicks', 0, 5);
                setCookie('firstUse', now, 5);
                $('.btn-gene-image').show();
            } else if (clicks >= 10) {
                $('.btn-gene-image').hide();
                $('#generateurenpause').show();
                return;
            } else {
                $('.btn-gene-image').show();
                $('#generateurenpause').hide();
            }
        }

        function toggleButton(isInputEmpty) {
            if (isInputEmpty) {
                $('.mwai-form-submit button').fadeOut(200); // Durée de 200 ms
            } else {
                $('.mwai-form-submit button').fadeIn(200); // Durée de 200 ms
            }
        }

        // Cacher le bouton au départ
        $('.mwai-form-submit button').hide();

        // Vérifier à chaque saisie dans l'input
        $('.mwai-form-field-container input').on('input', function() {
            toggleButton($(this).val() === '');
            if (isLimitReached()) {
                showMessage("Mise à jour du générateur en cours", false);
            }
        });

        // Gérer le clic sur le bouton actif
        $('.btn-gene-image').click(function(e) {
            var clicks = getCookie('clicks') || 0;
            if (clicks < 10) {
                setCookie('clicks', parseInt(clicks) + 1, 5);
            } else {
                e.preventDefault(); // Empêcher l'action par défaut
                showMessage("Mise à jour du générateur en cours", false); // Afficher le message de limite
            }
            updateButtonVisibility();
        });

        // Vérifier et mettre à jour la visibilité du bouton au chargement de la page
        updateButtonVisibility();
    });
</script>
EOD;

    return $script; 
}

// Ajouter le shortcode à WordPress
add_shortcode('limite_generateur_image', 'limite_generateur_image');

				
			

Changement message d'erreur Open AI

				
					add_filter( 'mwai_ai_exception', function ( $exception ) {
    try {
        // Vérifie si le message d'erreur contient "Your request was rejected as a result of our safety system"
        if (strpos($exception, "Your request was rejected as a result of our safety system") !== false) {
            error_log($exception);
            // Utilisation de la fonction __() pour la traduction
            return __("Votre requête est incorrecte, je ne peux pas générer cela !", "light");
        }

        // Vérifie si le message d'erreur contient "The size is not supported by this model"
        if (strpos($exception, "The size is not supported by this model") !== false) {
            error_log($exception);
            // Utilisation de la fonction __() pour la traduction
            return __("Maintenance de la version V1 en cours.", "light");
        }
           // Vérifie si le message d'erreur contient "The size is not supported by this model"
           if (strpos($exception, "unsupported image") !== false) {
            error_log($exception);
            // Utilisation de la fonction __() pour la traduction
            return __("Image invalide. Veuillez vous assurer que l'image est un fichier .png, .jpeg, .gif ou .webp et qu'elle fait moins de 20Mb.", "light");
        }

        return $exception;
    }
    catch (Exception $e) {
        error_log($e->getMessage());
        // Utilisation de la fonction __() pour la traduction
        return __("Une erreur inattendue est survenue.", "light");
    }
});


				
			

Gestion des crédits dynamiques

				
					
add_filter('mwai_stats_credits', function($credits, $userId) {
    $user = get_userdata($userId);
    $user_id = $user->ID;
    $product_id = 1368; // Remplacez par votre ID de produit

    // Si l'utilisateur a annulé son abonnement
    if (wcs_user_has_subscription($user_id, $product_id, 'pending-cancel')) {
        // Récupère les commandes en cours de l'utilisateur
        $orders = wc_get_orders(array(
            'customer_id' => $user_id,
            'status' => 'processing', // ou tout autre statut de commande pertinent
        ));

        // Vérifie si l'utilisateur a plus de deux commandes en cours
        if (count($orders) >= 2) {
            // Appliquez la logique souhaitée ici
            // Par exemple, retourner un crédit spécifique
            return 123456; // Exemple de valeur de crédit
        }
    } 
	
  // Nouvelle vérification pour la licence active ou en période d'essai LemonSqueezy
$licenceDetails = verifier_licence_utilisateur_actif();
if ($licenceDetails['status'] === 'active' || $licenceDetails['status'] === 'on_trial') {
    // Attribuez ici le nombre de crédits pour une licence active ou en période d'essai
    return 5000000; // Exemple de valeur de crédit pour une licence active ou en période d'essai
}


    // Le reste de votre code...
    if (!empty($user->roles) && is_array($user->roles)) {
        foreach ($user->roles as $role) {
            // Si l'utilisateur est un administrateur
            if ($role === 'administrator') {
                return 10000;
            }
            // Remplacé par la vérification de l'abonnement actif
            if (wcs_user_has_subscription($user_id, $product_id, 'active')) {
                return 99999999; // Retourne une valeur de crédit si l'utilisateur a un abonnement actif
            }
        }
    }

    return $credits;
}, 10, 2);

				
			

Chatbot simple (polyvalent)

				
					
//* CHATBOT - DISCUSSION LIBRE  POLYVALENT CHAT GPT MODE __-----_____----__-----_____----__-----_____----__-----_____----__-----_____----__-----_____----__-----_____----__-----_____----

function chatbot_custom_gpt() {
 $current_user = wp_get_current_user();
$urlavatar = "https://4creators.ai/wp-content/uploads/2023/01/favicon.png";
$contexte_polyvalent = get_field('contexte_polyvalent', 'user_' . $current_user->ID);

	
	$contexte_polyvalent = str_replace('"', '-', $contexte_polyvalent);
$contexte_polyvalent = str_replace("\r", '', $contexte_polyvalent); 
?>

[mwai_chatbot_v2 custom_id="poly"



context="Répond et formate tes réponse en HTML . <?php  if(empty($contexte_polyvalent)) {  echo "Exprime-toi en français. Soit sympathique mais normal et sérieux, cependant, tu peux faire des petites blagues de temps en temps.";  } else {  echo $nomdartiste;} ?> Si on te demande quelque chose sur la plateforme 4Creators AI, répond que tu n'es pas fait pour ça. S'il te manque des informations, dis-le"



 model="gpt-3-turbo"  image_upload="1"


user_name="<?php echo $current_user->user_login;?>"
sys_name="4Creators AI"
start_sentence="Bonjour et bienvenue <?php echo $current_user->user_login;?> !<br><br> Je suis votre assistant personnel polyvalent.<br><br> Que ce soit pour dénicher la recette parfaite, résoudre des calculs complexes, effectuer des recherches approfondies ou vous fournir les dernières informations, je suis là pour faciliter votre quotidien.<br><br> Comment puis-je vous aider aujourd'hui ?"
text_send="Envoyer" text_clear="Recommencer"
text_input_placeholder="Écris un message, enregistre un message vocal ou envoi une photo pour commencer"
ai_name="<?php echo $urlavatar ?>"  ]






<?php
} add_shortcode( 'chatbot_custom_gpt', 'chatbot_custom_gpt');
				
			

Menu

Nouveau !
Vos accès

WordPress Infinite >>

WordPress Infinite (ENG) >>

Prise de contact

Remplissez le formulaire ci-dessous pour démarrer un échange.

Je ne répond pas aux :

 » Bonjour, Merci de me contacter. »

« Diplômes universitaires à prix réduits ! Devenez médecin en 30 jours ! »

« Cher ami, je suis le prince nigérian et j’ai besoin de votre aide pour transférer 10 millions de dollars. »

« Cliquez ici pour réclamer votre héritage perdu de 50 000 000 €. »

« Bonjour, votre compte bancaire a été compromis. Envoyez-nous vos informations pour le vérifier. »

« Je vends des formations Telegram ça t’intéresse ? »

« Félicitations ! Vous avez été sélectionné pour participer à notre loterie exclusive. Réclamez votre prix maintenant ! »

« Salutations, je suis un voyant et je peux vous dire votre avenir. Envoyez-moi simplement vos informations personnelles. »

« Découvrez la méthode révolutionnaire pour perdre du poids en mangeant de la pizza ! Cliquez ici pour en savoir plus. »

« Je suis un hacker et j’ai pris le contrôle de votre ordinateur. Pour le récupérer, vous devez me payer une rançon. »