[Plugin]Final extract version 2.3 avec gestion des groupes d'utilisateurs [Plugin]Final extract version 2.3 avec gestion des groupes d'utilisateurs
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

[Plugin]Final extract version 2.3 avec gestion des groupes d'utilisateurs

Started by François Keller, September 24, 2006, 06:27:56 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

François Keller

Salut à tous,

j'ai un peu modifié de plugin final extract 2.2 (issu du plugin de Donoman et modifié par Bmosavari (alias Sami)) afin de pouvoir définir pour chaque groupe d'utilisateurs les éléments du menu à afficher (ou a cacher).
le parametrage se fait depuis le menu administrateur.
Si un nouveau groupe est crée entre temps, il est pris en compte et peut donc être lui aussi parametré.
Ce plugin est multilangue. actuellement les fichiers langues "english" et "french" sont existants.
N'étant pas un pro du code, si certains d'entre vous y trouvent des erreurs, ils peuvent bien entendu les corriger et en faire profiter tous le monde, moi en premier.  ;)
je l'ai testé en local et sur mon site hébergé par 1&1 sans avoir d'erreur à priori.
Les utilisateurs du précédent plugin devront le désinstaller complêtement avant de placer le dossier de l'archive dans le répertoire "plugin" de leur galerie et de proceder à l'installation depuis le gestionnaire de plugin..

[edit] Sami m'a corrigé le code dans un des fichiers et je l'en remercie. Le fichier attaché tiens compte de la correction
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

sanlogik

raaaaa je l'avais raté ! exceellent ! lol
parfait même :)
le top quoi :P

ayé j'ai exprimé ma joie :D

EDIT : à priori aucun bug (j'utilise Infomaniak comme hébergeur)

micarl

Bonjour Frantz,
Oups... apres installation du module nous recevons le message suivant :
"Erreur critique
Il y eu une erreur lors de l'exécution de la requête " :'(
Nous avons teste 2 fois le plugin en obtenant le meme message...
amities


François Keller

Bonjour micarl,

Sur quel version de Coppermine ?
Si vous mettez le mode de debbuggage, que est le message d'erreur plus complet ?
Avez vous d'autres plugin's installés ?
Aviez vous désinstallé la version précédente de final_extract (si elle était installée) ?
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

micarl

Bonjour matinal ...

en reponse :
version cpg 1.4.9.

message complet :
While executing query "SELECT home,login,my_gallery,upload_pic,album_list,lastup,lastcom,topn,toprated,favpics,search FROM cpg149_final_extract_config WHERE Group_Id=1" on 0

mySQL error: Table 'copper.cpg149_final_extract_config' doesn't exist
fichier :include/functions.inc.php - Ligne: 249

plugin's installes et actifs :
online_today
photo_shop

pas de version précédente.

En revanche, doit'on installer directement les scripts mysql dans la base ou l'installation se fait automatiquement ? :)
lien galerie test www.basedemo.com/copper

micarl

Complement infos :
nous venons de pister deux erreurs sur votre code :
les appels sur la base sont :
FROM cpg149_final_extract_config WHERE Group_Id=1" on 0
et vos deux scripts dont :
CREATE TABLE IF NOT EXISTS `CPG_final_extract_config`

Deja une piste peut-etre ... ;)

micarl

Désolé d'intervenir encore une fois, mais nous avons trouve le probleme :
vous devez reprendre vos deux fichiers mysql et changer le nom des tables :
actuellement :
CREATE TABLE IF NOT EXISTS `CPG_final_extract_config`
modif :
CREATE TABLE IF NOT EXISTS `cpg149_final_extract_config`
idem pour la basic...
Nickel, le plugin est OK maintenant  ;)

sanlogik

Chez moi tout fonctionne parfaitement sans faire de modifs, celà ne viendrait-il pas d'un de vos dossiers ou fichiers que vous avez appelé cpg149 au lieu de mettre cpg tout simplement ? le numéro de version n'est peut-être pas nécessaire puisque à la prochaine MAJ il sera obsolète
enfin ce n'est qu'une simple hypothèse..

micarl

Bonjour Sanlogik,
En regardant la requete mysql vous voyez effectivement un appel sur une table definie en cpg149_ alors que le script fourni indique un CPG_... en modifiant ce passage le plugin est ok. Pas d'autre bug a notre connaissance ayant teste celui-ci dans tous les sens... Merci encore a Frantz !  ;)

François Keller

Désolé de contredire micard:
Il n'y a pas de problème de table et d'appel avec le mauvais nom de table.
Je pense que vous n'avez pas installé correctement le plugin.
en effet à la ligne 55 du fichier codebase.php vous trouvez
$query="INSERT INTO ".$CONFIG['TABLE_CONFIG']." VALUES ('fex_enable', '1');";
cpg_db_query($query);
// create table
$db_schema = $thisplugin->fullpath . '/schema.sql';
$sql_query = fread(fopen($db_schema, 'r'), filesize($db_schema));
$sql_query = preg_replace('/CPG_/', $CONFIG['TABLE_PREFIX'], $sql_query);

ce code est une partie du script d'install (qui existait déjà dans la version précédente du plugin).
dans la dernière ligne, de cette partie de code, on remplace CPG_ par le préfixe de table défini par votre install de coppermine (c'est la manip que vous avez fait manuellement)
tous les accès table font appel à {$CONFIG['TABLE_FINAL_EXTRACT_CONFIG']}
il n'y a donc nulle part codé en dur le préfixe de table.
Je répète vous avez probablement oublié d'installer le plugin:
-placer dossier final_extract dans le dossier plugin de votre install
-depuis le gestionnaire de plugin, installer le plugin (cliquer sur le i à gauche)
-suivre les instruction (il faut cliquer sur le bouton installer le plugin qui apparait sur la page)
-dans le menu admin, un nouveau lien apparait pour le parametrage du plugin.

Je pense que vous n'avez pas suivi correctement toutes ces étapes, ou que vous aviez installé l'ancienne version avant.
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

micarl

Bonjour Frantz,
Tout a fait d'accord avec vous sauf qu'en suivant l'installation comme indique :
-placer dossier final_extract dans le dossier plugin de votre install OK
-depuis le gestionnaire de plugin, installer le plugin (cliquer sur le i à gauche) OK
-suivre les instruction (il faut cliquer sur le bouton installer le plugin qui apparait sur la page) OK
C'est à la fin de cette action que nous avons l'erreur :
"Erreur critique
Il y eu une erreur lors de l'exécution de la requête "....
Cela bloque completement la page d'accueil et nous devons par ftp retirer le plugin pour que le site refonctionne parfaitement.
Mais celui-ci marche parfaitement maintenant.
Amities


Pascal YAP

Bonjour,

Après avoir installé Final_Extract 2.3, j'ai constaté que la box où l'on clique les options que l'on désire ou non afficher manque cruellement d'infos. On ne sait pas (en général) ce qui va se produire après avoir coché ou décocher. Ce sont des allé et retour qui permettent de comprendre les choix possibles  ;)
Une p'tite v2.4 Frantz ?  ;D

Ceci dit, après cette install, je constate que le plugin CAPTCHA ne fonctionne plus ? L'image auto-générée CAPTCHA.PHP n'est plus crée !

PYAP

François Keller

QuoteAprès avoir installé Final_Extract 2.3, j'ai constaté que la box où l'on clique les options que l'on désire ou non afficher manque cruellement d'infos. On ne sait pas (en général) ce qui va se produire après avoir coché ou décocher. Ce sont des allé et retour qui permettent de comprendre les choix possibles  Wink
Une p'tite v2.4 Frantz ?  Grin
:D
on va voir ça. Que souhaiterais tu exactement comme info ?
un mode d'emploie ?

QuoteCeci dit, après cette install, je constate que le plugin CAPTCHA ne fonctionne plus ? L'image auto-générée CAPTCHA.PHP n'est plus crée !
La je pense qu'il faudrait voir avec Sami quelles peuvent être les interractions entre les deux plugin's.  :-\
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

cl9m

Bonjour,

avec coppermine 1.4.19 en mod stramm + final extract 2.3 je n'arrive pas à masquer les favoris pour les guests.

Je pense que cela vient de mon thème car j'ai déplacé le bouton favoris du sub au sys_menu.

le masquage des autres boutons marche, il n'y a que celui des favoris qui foire (pour resté poli  ;D).

Savez vous où il faut que je retouche les codes? mon thème, le plugin, autres?

François Keller

aucune idée, il faudrait voir les codes de votre theme pour pouvoir faire des essais
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

cl9m

désolé pour l'autre post mais je cherche plutôt à masquer le bouton favoris pour les guests.


$template_sys_menu_spacer ="";
///$template_sub_menu_spacer ="|";

// HTML template for sys menu
$template_sys_menu = <<<EOT
               {BUTTONS}
EOT;
// HTML template for sub menu
$template_sub_menu = <<<EOT
               {BUTTONS}
EOT;

// HTML template for sys menu
$template_sys_menu = <<<EOT
<!-- BEGIN home -->
                                            <a href="{HOME_TGT}" title="{HOME_TITLE}">{HOME_LNK}</a>
<!-- END home -->
<!-- BEGIN my_gallery -->
                                            <a href="{MY_GAL_TGT}" title="{MY_GAL_TITLE}">{MY_GAL_LNK}</a>
<!-- END my_gallery -->
<!-- BEGIN album_list -->
                                            <a href="{ALB_LIST_TGT}" title="{ALB_LIST_TITLE}">{ALB_LIST_LNK}</a>
<!-- END album_list -->
                                            <a href="{LASTUP_TGT}" title="{LASTUP_LNK}">{LASTUP_LNK}</a>
<a href="{FAV_TGT}" title="{FAV_LNK}">{FAV_LNK}</a>
<!-- BEGIN upload_pic -->
                                            <a href="{UPL_PIC_TGT}" title="{UPL_PIC_TITLE}">{UPL_PIC_LNK}</a>
<!-- END upload_pic -->
                                            <a href="{SEARCH_TGT}" title="{SEARCH_LNK}">{SEARCH_LNK}</a>                                           
EOT;


// HTML template for sub menu
$template_sub_menu = <<<EOT
<!-- BEGIN custom_link -->
                                            <a href="{CUSTOM_LNK_TGT}" title="{CUSTOM_LNK_TITLE}">{CUSTOM_LNK_LNK}</a> |
<!-- END custom_link -->
<!-- BEGIN faq -->
                                            <a href="{FAQ_TGT}" title="{FAQ_TITLE}">{FAQ_LNK}</a> |
<!-- END faq -->
                                            <a href="{TOPN_TGT}" title="{TOPN_LNK}">{TOPN_LNK}</a> |
                                            <a href="{TOPRATED_TGT}" title="{TOPRATED_LNK}">{TOPRATED_LNK}</a> |
<!-- BEGIN lastcom -->
                                            <a href="{LASTCOM_TGT}" title="{LASTCOM_LNK}">{LASTCOM_LNK}</a> |
<!-- END lastcom -->
<!-- BEGIN allow_memberlist -->
                                            <a href="{MEMBERLIST_TGT}" title="{MEMBERLIST_TITLE}">{MEMBERLIST_LNK}</a> |
<!-- END allow_memberlist -->
<!-- BEGIN my_friends -->
                                            <a href="{MY_BUDDY_TGT}" title="{MY_BUDDY_LNK}" class="navmenu">{MY_BUDDY_LNK}</a> |
<!-- END my_friends -->
<!-- BEGIN my_profile -->
                                            <a href="{MY_PROF_TGT}" title="{MY_PROF_LNK}">{MY_PROF_LNK}</a> |
<!-- END my_profile -->
<!-- BEGIN register -->
                                            <a href="{REGISTER_TGT}" title="{REGISTER_TITLE}">{REGISTER_LNK}</a> |
<!-- END register -->
<!-- BEGIN login -->
                                            <a href="{LOGIN_TGT}" title="{LOGIN_LNK}">{LOGIN_LNK}</a> |
<!-- END login -->
<!-- BEGIN enter_admin_mode -->
                                            <a href="{ADM_MODE_TGT}" title="{ADM_MODE_TITLE}">{ADM_MODE_LNK}</a> |
<!-- END enter_admin_mode -->
<!-- BEGIN leave_admin_mode -->
                                            <a href="{USR_MODE_TGT}" title="{USR_MODE_TITLE}">{USR_MODE_LNK}</a> |
<!-- END leave_admin_mode -->
<!-- BEGIN logout -->
                                            <a href="{LOGOUT_TGT}" title="{LOGOUT_LNK}">{LOGOUT_LNK}</a>
<!-- END logout -->

EOT;


et plus bas dans le code de mon theme.php j'ai :



// Function for creating a main menu (SYS_MENU or SUB_MENU)
function theme_main_menu($which)
{
    global $AUTHORIZED, $CONFIG, $album, $actual_cat, $cat, $REFERER;
    global $lang_main_menu, $template_sys_menu, $template_sub_menu;


    static $sys_menu = '', $sub_menu = '';
    if ($$which != '') {
        return $$which;
    }

    $album_l = isset($album) ? "?album=$album" : '';
    $cat_l = (isset($actual_cat))? "?cat=$actual_cat" : (isset($cat) ? "?cat=$cat" : '');
    $cat_l2 = isset($cat) ? "&amp;cat=$cat" : '';
    $my_gallery_id = FIRST_USER_CAT + USER_ID;



  if ($which == 'sys_menu' ) {
    if (USER_ID) {
        template_extract_block($template_sub_menu, 'login');
    } else {
        template_extract_block($template_sub_menu, 'logout');
        template_extract_block($template_sub_menu, 'my_profile');
template_extract_block($template_sub_menu, 'my_friends');
    }

    if (!USER_IS_ADMIN) {
        template_extract_block($template_sub_menu, 'enter_admin_mode');
        template_extract_block($template_sub_menu, 'leave_admin_mode');
    } else {
    if (GALLERY_ADMIN_MODE) {
            template_extract_block($template_sub_menu, 'enter_admin_mode');
        } else {
            template_extract_block($template_sub_menu, 'leave_admin_mode');
        }
    }

    if (!USER_CAN_CREATE_ALBUMS) {
        template_extract_block($template_sys_menu, 'my_gallery');
    }

    if (USER_CAN_CREATE_ALBUMS) {
        template_extract_block($template_sub_menu, 'my_profile');
    }

    if (!USER_CAN_UPLOAD_PICTURES && !USER_CAN_CREATE_ALBUMS) {
        template_extract_block($template_sys_menu, 'upload_pic');
    }

    if (USER_ID || !$CONFIG['allow_user_registration']) {
        template_extract_block($template_sub_menu, 'register');
    }

    if (!USER_ID || !$CONFIG['allow_memberlist']) {
        template_extract_block($template_sub_menu, 'allow_memberlist');
    }
if (!$CONFIG['display_faq']) {
        template_extract_block($template_sub_menu, 'faq');
    }

    $param = array(
        '{HOME_TGT}' => $CONFIG['home_target'],
        '{HOME_TITLE}' => $lang_main_menu['home_title'],
        '{HOME_LNK}' => $lang_main_menu['home_lnk'],
        '{MY_GAL_TGT}' => "index.php?cat=$my_gallery_id",
        '{MY_GAL_TITLE}' => $lang_main_menu['my_gal_title'],
        '{MY_GAL_LNK}' => $lang_main_menu['my_gal_lnk'],
'{ALB_LIST_TGT}' => "index.php$cat_l",
'{ALB_LIST_TITLE}' => $lang_main_menu['alb_list_title'],
'{ALB_LIST_LNK}' => $lang_main_menu['alb_list_lnk'],
'{LASTUP_TGT}' => "thumbnails.php?album=lastup$cat_l2",
        '{LASTUP_TITLE}' => $lang_main_menu['lastup_title'],
        '{LASTUP_LNK}' => $lang_main_menu['lastup_lnk'],
        '{UPL_PIC_TGT}' => "upload.php",
        '{UPL_PIC_TITLE}' => $lang_main_menu['upload_pic_title'],
        '{UPL_PIC_LNK}' => $lang_main_menu['upload_pic_lnk'],
'{FAV_TGT}' => "thumbnails.php?album=favpics",
        '{FAV_TITLE}' => $lang_main_menu['fav_title'],
        '{FAV_LNK}' => $lang_main_menu['fav_lnk'],
'{SEARCH_TGT}' => "search.php",
        '{SEARCH_TITLE}' => $lang_main_menu['search_title'],
        '{SEARCH_LNK}' => $lang_main_menu['search_lnk'],
        );

        $sys_menu = template_eval($template_sys_menu, $param);
  } else {

    if (!$CONFIG['custom_lnk_url']) {
        template_extract_block($template_sub_menu, 'custom_link');
    }

    $param = array(
        '{CUSTOM_LNK_TGT}' => $CONFIG['custom_lnk_url'],
        '{CUSTOM_LNK_TITLE}' => $CONFIG['custom_lnk_name'],
        '{CUSTOM_LNK_LNK}' => $CONFIG['custom_lnk_name'],
        '{LASTCOM_TGT}' => "thumbnails.php?album=lastcom$cat_l2",
        '{LASTCOM_TITLE}' => $lang_main_menu['lastcom_title'],
        '{LASTCOM_LNK}' => $lang_main_menu['lastcom_lnk'],
        '{TOPN_TGT}' => "thumbnails.php?album=topn$cat_l2",
        '{TOPN_TITLE}' => $lang_main_menu['topn_title'],
        '{TOPN_LNK}' => $lang_main_menu['topn_lnk'],
        '{TOPRATED_TGT}' => "thumbnails.php?album=toprated$cat_l2",
        '{TOPRATED_TITLE}' => $lang_main_menu['toprated_title'],
        '{TOPRATED_LNK}' => $lang_main_menu['toprated_lnk'],
'{MEMBERLIST_TGT}' => "usermgr.php",
        '{MEMBERLIST_TITLE}' => $lang_main_menu['memberlist_title'],
        '{MEMBERLIST_LNK}' => $lang_main_menu['memberlist_lnk'],
'{MY_BUDDY_TGT}' => "buddy_manage.php",
        '{MY_BUDDY_TITLE}' => $lang_main_menu['my_buddy_title'],
        '{MY_BUDDY_LNK}' => $lang_main_menu['my_buddy_lnk'],
        '{MY_PROF_TGT}' => "profile.php?op=edit_profile",
        '{MY_PROF_TITLE}' => $lang_main_menu['my_prof_title'],
        '{MY_PROF_LNK}' => $lang_main_menu['my_prof_lnk'],
'{FAQ_TGT}' => "faq.php",
        '{FAQ_TITLE}' => $lang_main_menu['faq_title'],
        '{FAQ_LNK}' => $lang_main_menu['faq_lnk'],
'{ADM_MODE_TGT}' => "mode.php?admin_mode=1&amp;referer=$REFERER",
        '{ADM_MODE_TITLE}' => $lang_main_menu['adm_mode_title'],
        '{ADM_MODE_LNK}' => $lang_main_menu['adm_mode_lnk'],
        '{USR_MODE_TGT}' => "mode.php?admin_mode=0&amp;referer=$REFERER",
        '{USR_MODE_TITLE}' => $lang_main_menu['usr_mode_title'],
        '{USR_MODE_LNK}' => $lang_main_menu['usr_mode_lnk'],
'{REGISTER_TGT}' => "register.php",
        '{REGISTER_TITLE}' => $lang_main_menu['register_title'],
        '{REGISTER_LNK}' => $lang_main_menu['register_lnk'],
'{LOGIN_TGT}' => "login.php?referer=$REFERER",
        '{LOGIN_TITLE}' => $lang_main_menu['login_title'],
        '{LOGIN_LNK}' => $lang_main_menu['login_lnk'],
        '{LOGOUT_TGT}' => "logout.php?referer=$REFERER",
        '{LOGOUT_TITLE}' => $lang_main_menu['logout_title'],
        '{LOGOUT_LNK}' => $lang_main_menu['logout_lnk'] . " [" . stripslashes(USER_NAME) . "]",
        );
    $sub_menu = template_eval($template_sub_menu, $param);
  }

    return $$which;
}

François Keller

non, attachez plutôt les fichiers de votre theme à votre prochain post (l'ensemble des fichiers dans un zip)
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog


François Keller

je regardes ça dès que possible.
La prochaine fois utilisez les options données par ce forum pour attacher vos fichiers (options additionnelles en bas de la fenêtre d'édition des messages)
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

cl9m

oui désolé j'avais pas vu, pourtant j'ai cherché!

Merci c'est vraiment sympa de prendre du temps pour m'aider