× Questions générales relatives à l'utilisation de Kunena

Idée Abonnement à toutes les Catégories du Forum

Plus d'informations
13 Jui 2015 14:19 #7 par failrOn
Dans le plugin système de Kunena (sous plugins/plg_system_kunena/kunena.php ), les lignes 205 à 228 ont été commentés tu peux dé-commenté cette partie, à la ligne 208 tu as ça :
$subscribedCategories = '1,2,3,4,5,6,7,8,9,10';

Il faut que tu mette ici les ids des catégories auxquelles les nouveaux utilisateurs seront inscrits

Fait d'abord un essai sur un site de test, en ajoutant un nouvel utilisateur et vérifie ensuite qu'il est bien abonné aux catégories voulues

Veuillez vous connecter ou vous enregistrer pour rejoindre la conversation.

Plus d'informations
15 Jui 2015 19:15 #8 par sphinx56
Bonjour failrOn ,
Merci pour cette info, je la vais tester. ;-)

Veuillez vous connecter ou vous enregistrer pour rejoindre la conversation.

Plus d'informations
16 Jui 2015 21:19 #9 par sphinx56
Bonjour failrOn,

J'ai bien trouvé la section que tu m'as indiqué.
J'ai retiré les */ et /* .
et voilà ce que ça donne :

if ($isnew) {
$subscribedCategories = '1,2,3,4,5,6,7,8,9,10';
$db = Jfactory::getDBO();
$query = "INSERT INTO #__kunena_user_categories (user_id,category_id,subscribed)
SELECT {{$db->quote($user->userid)} AS user_id, c.id as category_id, 1
FROM #__kunena_categories AS c
LEFT JOIN #__kunena_user_categories AS s ON c.id=s.category_id AND s.user_id={{$db->quote($user->userid)}
WHERE c.parent>0 AND c.id IN ({$subscribedCategories}) AND s.user_id IS NULL";
$db->setQuery ( $query );
$db->query ();
KunenaError::checkDatabaseError();

// Here's also query to subscribe all users (including blocked) to all existing cats:

$query = "INSERT INTO #__kunena_user_categories (user_id,category_id,subscribed)
SELECT u.id AS user_id, c.id AS category_id, 1
FROM #__users AS u
JOIN #__kunena_categories AS c ON c.parent>0
LEFT JOIN #__kunena_user_categories AS s ON u.id=s.user_id
WHERE c.id IN ({$subscribedCategories}) AND s.user_id IS NULL";
}
}

=========================================================================

Seulement, ça ne fonctionne pas.
Il me donne l'anomalie suivante, à la création d'un profil avec Community Builder :


Erreur

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' AS user_id, c.id as category_id, 1 FROM sdlr_kunena_categories AS c L' at line 2 SQL=INSERT INTO sdlr_kunena_user_categories (user_id,category_id,subscribed) SELECT {'' AS user_id, c.id as category_id, 1 FROM sdlr_kunena_categories AS c LEFT JOIN sdlr_kunena_user_categories AS s ON c.id=s.category_id AND s.user_id={'' WHERE c.parent>0 AND c.id IN (1,2,3,4,5,6,7,8,9,10) AND s.user_id IS NULL

=============================================

J'ai essayé certaines modifications, telles que rajout de points virgules ou retrait de crochets, mais ça me génère d'autres anomalies.
Cependant, malgré le plantage, le profil est bien créé dans les utilisateurs de Joomla, mais pas dans Community Builder
Serait-ce le fait d'utiliser Community Builder ?

Merci pour ton aide, je suis un peu perdu avec mes maigres connaissances en programmation.

Veuillez vous connecter ou vous enregistrer pour rejoindre la conversation.

Plus d'informations
16 Jui 2015 21:35 #10 par failrOn
Bonsoir,

J'ai des essais sous phpmyadmin, essaie avec cette requête :
INSERT INTO #__kunena_user_categories (user_id,category_id,subscribed)
SELECT u.id AS user_id, c.id AS category_id, 1
FROM #__users AS u
JOIN #__kunena_categories AS c ON c.parent_id>0
LEFT JOIN #__kunena_user_categories AS s ON u.id=s.user_id
WHERE c.id IN (1,2,3,4,5,6,7,8,9,10) AND s.user_id IS NULL
Les utilisateur(s) suivant ont remercié: sphinx56

Veuillez vous connecter ou vous enregistrer pour rejoindre la conversation.

Plus d'informations
17 Jui 2015 23:15 #11 par sphinx56
Bonjour failrOn,

J'ai intégré la requête, à la place de celle existante dans le fichier kunena.php.

=======================================================

if ($isnew) {

$db = Jfactory::getDBO();

$query = "INSERT INTO #__kunena_user_categories (user_id,category_id,subscribed)
SELECT u.id AS user_id, c.id AS category_id, 1
FROM #__users AS u
JOIN #__kunena_categories AS c ON c.parent_id>0
LEFT JOIN #__kunena_user_categories AS s ON u.id=s.user_id
WHERE c.id IN (1,2,3,4,5,6,7,8,9,10,11,12) AND s.user_id IS NULL";

$db->setQuery ( $query );

$db->query ();

KunenaError::checkDatabaseError();

====================================================================

Résultat :

J'ai essayé avec l'enregistrement d'un profil, et CA FONCTIONNE ..... !!!
Je vais le mettre en ligne, et effectuer l'enregistrement de tous mes profils.
En attendant, un GRAND GRAND MERCI !!!!!

Eric
Les utilisateur(s) suivant ont remercié: failrOn

Veuillez vous connecter ou vous enregistrer pour rejoindre la conversation.

Plus d'informations
19 Jui 2015 18:06 - 12 Nov 2015 09:37 #12 par failrOn
Content que cela fonctionne :)

Je vais mettre à jour le code du plugin pour kunena 4.0.2
Dernière édition: 12 Nov 2015 09:37 par failrOn.

Veuillez vous connecter ou vous enregistrer pour rejoindre la conversation.

  • Vous ne pouvez pas: Créer un nouveau sujet.
  • Vous ne pouvez pas: Répondre au sujet.
  • Vous ne pouvez pas: Éditer votre message.
Modérateurs: lavstephtramber91failrOnScottuxdede17serge
Temps de génération de la page : 0.186 secondes
Propulsé par Kunena