Supression favoris et abonnements dans profil utilisateur (Kunena+CB)

Plus d'informations
11 Nov 2009 13:25 - 18 Nov 2009 16:07 #1 par Scottux
Bonjour à tous

J'espère que je poste dans le bon sous-forum. Si ce n'est pas le cas, excusez moi, et n'hésitez pas à déplacer mon sujet.

J'ai installé CB 1.2.1 qui est couplé avec Kunena 1.5.6. J'utilise donc CB pour gérer le profil de mes membres.

Lorsque le membre clique sur l'onglet "Mon profil" dans Kunena, il y trouve un onglet que j'ai nommé FORUM et qui contient ses abonnements aux discussions et ses sujets favoris.

Mon souci est donc que le membre puisse supprimer ses abonnements (Un à un ou tous d'un seul coup) avec les boutons appropriés.

Pour les abonnements aux discussions, j'ai trouvé la réponse sur le forum de Joomlapolis et ça fonctionne parfaitement bien. :)

Je vous donne la solution si ça intéresse quelqu'un pour la suppression des abonnements aux discussions.


Pour éviter le message d'erreur lorsqu'on clique sur le bouton "Tout supprimer"

Il suffit de modifier dans le fichier :
/home/xxxxxxxx/public_html/components/com_comprofiler/plugin/user/plug_cbsimpleboardtab/ cb.simpleboardtab.model.php

La fonction unsubAll à la ligne 205 afin qu'elle devienne comme ceci :
Code:
function _unsubAll( $user, $forum ) { global $_CB_database; $query = 'DELETE FROM ' . $_CB_database->NameQuote( '#__' . $forum->prefix . '_subscriptions' ) . "\n WHERE " . $_CB_database->NameQuote( 'userid' ) . " = " . (int) $user->id ; $_CB_database->setQuery( $query ); if ( ! $_CB_database->query() ) { trigger_error( 'CBForum-unsubAll SQL error' . $_CB_database->stderr( true ), E_USER_WARNING ); } }


Pour éviter le message d'erreur lorsqu'on clique sur le bouton "Supprimer" (Pour un seul sujet)

Il suffit de modifier dans le fichier :
/home/xxxxxxxx/public_html/components/com_comprofiler/plugin/user/plug_cbsimpleboardtab/ cb.simpleboardtab.model.php

La fonction unsubThread à la ligne 186 afin qu'elle devienne comme ceci :
Code:
function _unsubThread( $user, $thread, $forum ) { global $_CB_database; $query = 'DELETE FROM ' . $_CB_database->NameQuote( '#__' . $forum->prefix . '_subscriptions' ) . "\n WHERE " . $_CB_database->NameQuote( 'userid' ) . " = " . (int) $user->id . "\n AND " . $_CB_database->NameQuote( 'thread' ) . " = " . (int) $thread ; $_CB_database->setQuery( $query ); if ( ! $_CB_database->query() ) { trigger_error( 'CBForum-unsubThread SQL error' . $_CB_database->stderr( true ), E_USER_WARNING ); } }

Je pense donc qu'il faut aussi modifier, dans le même fichier, les fonctions suivantes pour régler le même souci avec les favoris :
- unfavThread (ligne 225)
et
- unfavAll (ligne 244)

Ne connaissant rien en programmation, je demande donc si quelqu'un pourrait me dire ce que je dois modifier dans ces deux fonctions pour éviter les messages d'erreurs lorsqu'un membre supprime un favori ou tous les favoris dans son profil ?

Merci. :)
Dernière édition: 18 Nov 2009 16:07 par Scottux.

Veuillez vous connecter ou vous enregistrer pour rejoindre la conversation.

Plus d'informations
15 Nov 2009 19:39 #2 par Scottux
Bonsoir à tous.

Un petit UP pour ce souci pour supprimer les favoris dans le profil.

Personne ne sait comment faire ? :S

Veuillez vous connecter ou vous enregistrer pour rejoindre la conversation.

Plus d'informations
17 Nov 2009 22:23 #3 par Scottux
J'ai trouvé la solution pour supprimer les favoris (un à un, ou tous d'un seul coup) sans message d'erreur.

Faites quand même une sauvegarde de votre fichier avant de le modifier car je ne suis pas un programmeur. J'ai trouvé la solution sur un autre site et ça marche parfaitement chez moi. :)


Il suffit de modifier les deux fonctions suivantes comme ceci :


Pour la fonction _unfavThread
remplacer par :
Code:
function _unfavThread( $user, $thread, $forum ) { global $_CB_database; $query = 'DELETE FROM ' . $_CB_database->NameQuote( '#__' . $forum->prefix . '_favorites' ) . "\n WHERE " . $_CB_database->NameQuote( 'userid' ) . " = " . (int) $user->id . "\n AND " . $_CB_database->NameQuote( 'thread' ) . " = " . (int) $thread ; $_CB_database->setQuery( $query ); if ( ! $_CB_database->query() ) { trigger_error( 'CBForum-unfavThread SQL error' . $_CB_database->stderr( true ), E_USER_WARNING ); } }

et

pour la fonction _unfavAll
remplacer par :
Code:
function _unfavAll( $user, $forum ) { global $_CB_database; $query = 'DELETE FROM ' . $_CB_database->NameQuote( '#__' . $forum->prefix . '_favorites' ) . "\n WHERE " . $_CB_database->NameQuote( 'userid' ) . " = " . (int) $user->id ; $_CB_database->setQuery( $query ); if ( ! $_CB_database->query() ) { trigger_error( 'CBForum-unfavAll SQL error' . $_CB_database->stderr( true ), E_USER_WARNING ); } }

Veuillez vous connecter ou vous enregistrer pour rejoindre la conversation.

Modérateurs: lavstephtramber91failrOnScottuxdede17serge
Temps de génération de la page : 0.698 secondes
Propulsé par Kunena