Plugin Final_extract2 Plugin Final_extract2
 

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_extract2

Started by François Keller, July 19, 2006, 09:49:41 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

François Keller

Bonjour à tous,

j'ai modifié l'excellent  plugin Final_extract de Donoman afin de pouvoir déterminer quels éléments de menu sont visibles par les différents groupes d'utilisateurs:
par exemple:
le groupe administrateur peut voir l'ensemble des menus
le groupe registred peut voir une partie des menus
le groupe guest ne peut voir que le lien pour l'enregistrement ou l'identification
et toutes les variantes possibles.
Pour ma part, dans le site que je suis en train de reloocker, je ne voulais pas de menus dans la galerie, sauf pour l'administrateur du site.
Ce plugin permettra de modifier l'affichage des menus en foction de besoins réels du site.
En piece jointe, le fichier Final_Extract2.zip du plugin modifié

Mode d'emploi du plugin Final_extract:
1.   Décompressez l'archive contenant le plugin dans un dossier de votre ordinateur
2.   Ouvrez à l'aide d'un éditeur de texte le fichier codebase.php
3.   Modifiez le code en fonction de ce que vous voulez voir afficher pour chaque catégorie d'utilisateurs de votre installation :
o   Par défaut, il y a  4 groupes d'utilisateurs :
   1 -> Administrateur
   2 -> Enregistrés
   3 -> Invités
   4 -> Bannis
Mais vous pouvez en avoir crée d'autres. Vous trouverez leur numéro d'ordre (group_id) dans la table usergroups de votre base de donnée.
4.   Dans le code de la fonction function final_extract_page_html($html), modifiez le code existant pour chaque groupe d'utilisateur auquel vous voulez cacher des liens de menu.
La ligne de code permettant cela est du type final_extract_block($html, 'nom_du_bloc_a_effacer');
Si vous ne voulez rien cacher pour un groupe d'utilisateur (l'administrateur par exemple), ne mettez aucune ligne de code : par exemple :
case 1://admin show all menus-l'admin voit tous les liens
return $html;
break;

5.   Sauvegardez votre fichier codebase.php et placez l'ensemble du répertoire contenant Final_extract dans le répertoire plugins de votre serveur
6.   Depuis la page de configuration du menu admin, sous l'onglet parametres généraux vérifiez que la case activez les plugins est bien cochée puis  rendez vous sur la page d'administration des plugins ou tapez directement l'adresse dans votre navigateur http://votresitecoppermine.com/pluginmgr.php
7.   cliquez sur l'icône « I » à côté du nom du plugin à installer (dans notre cas Final_extract).
8.   Vérifiez que, lorsque vous vous rendez sur votre galerie, les menus s'affichent bien comme vous le souhaitiez pour chaque groupe d'utilisateurs.

Liste des noms de blocs utilisés par coppermine pour les menus :
'login': -> S'identifier
'home':-> Accueil
'my_gallery':-> Ma galerie
'allow_memberlist':->Liste des Membres
'my_profile':-> Mon profil
'enter_admin_mode' :->Mode Administrateur
'leave_admin_mode' :->Mode Utilisateur
'upload_pic' :->Uploader une image
'register':-> S'enregistrer
'faq':-> Faq
'logout':->Quitter
'album_list':-> Albums
'lastup':-> Derniers Ajouts
'lastcom':-> Derniers Commentaires
'topn':->Les Plus populaires
'toprated':-> Les mieux Notées
'favpics' :->Mes favoris
'search':-> Rechercher
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


Pascal YAP

Salut Frantz,

Quotej'ai modifié l'excellent  plugin Final_extract... Ce plugin permettra de modifier l'affichage des menus en fonction de besoins réels du site.
WOOOOh  ;D Extra !
Du succès en perspective ! C'est hyper partique ce plugin  ;)

PYAP

François Keller

QuoteDu succès en perspective ! C'est hyper partique ce plugin  Wink
Je ne sais pas, en tout cas, il est possible de ne montrer que ce que l'on veut en fonction du groupe d'utilisateur. Comme j'en avais besoin pour moi (intégration de Coppermine dans un site réalisé avec Joomla), autant partager... :D
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

Benji

Bonsoir Frantz,

Avez-vous prévu une version pour CPG1.4.8 car je ne l'ai pas trouvé en téléchargement et il n'est pas inclu dans le dernier pack de plugins ?

BENJI

François Keller

Bonjour,

le fichier attaché au premier post de ce sujet fonctionne avec cpg 1.4.8
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

Benji

Le problème est que le fichier téléchargé est "index.php" et pas le fichier zip comme vous l'indiquez.
Lorsque l'on fait l'upload depuis la console d'administration de cpg on a le message d'erreur critique suivante :"Le fichier uploadé n'est pas un plugin".
javascript:void(0);
Huh

François Keller

Je viens de faire l'essai et en cliquant sur le lien du 1er post, j'obtiens bien le bon fichier zip, il faut ensuite de décompresser tel quel dan sle répertoire plugin de votre serveur et ensuite se rendre sur la console d'administration des plugin's depuis la page de config de votre coppermine
(P.S. pour plus de sureté je vous transmets par PM le fichier 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

Pascal YAP

Bonjour,

QuoteJe viens de faire l'essai et en cliquant sur le lien du 1er post, j'obtiens bien le bon fichier zip,
Moi aussi

Quote..décompresser tel quel dan sle répertoire plugin de votre serveur et ensuite se rendre sur la console d'administration des plugin's depuis la page de config de votre coppermine
Ou encore le lien direct vers le Plugin Manager : http: // www .Votre Coppermine/pluginmgr.php

PYAP

Benji

Bonjour et merci à tous les deux.
J'ai dû passer par ie pour télécharger le fichier, car sous firefox+flashgot je n'avais droit qu'à "index.php" !
Je l'ai installé sans problème mais j'ai dû le desinstaller aussitôt car il ne me permettait plus de m'enregistrer alors que je suis administrateur du compte et que le cookie de mon site est accepté en permanence !!!
Je l'ai également desinstallé de la table msql.
Aurais-je raté une manip ?

François Keller

QuoteAurais-je raté une manip ?
Oui, le parametrage du plugin:
Il vous faut modifier le fichier codebase.php en fonction de vos besoins. celui que j'ai envoyé en MP désactive l'ensemble des menus pour les visiteurs. Pour pouvoir vous logger, il faut aller manuellement à la page login.php en entrant dans la barre d'adresse de votre navigateur l'adresse du genre http://www.votresite/login.php ou alors dans le fichier codebase, enlevez la ligne qui efface le lien vers le login.
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

Benji

Bonjour Frantz et merci pour vos explications,
Tout fonctionne à présent. javascript:void(0);
Wink

Azrayen

Quote from: Benji on July 21, 2006, 10:44:51 AM
Le problème est que le fichier téléchargé est "index.php" et pas le fichier zip comme vous l'indiquez.

Hello,

Note pour les utilisateurs de Mozilla / Firefox : Pour D/L un fichier sur ce forum, le clic gauche simple et basique fonctionne. Le clic droit + enregistrer la cible sous donne l'erreur ci-dessus ;)

Y'a des chances que ce soit la même chose avec IE, mais il est tôt et je n'ai pas encore pris mon café => flemme de vérifier. ???

Merci @ Frantz pour le mod, j'avais fait des "bidouilles" à la main pour modifier mes menus, ceci va peut-être me permettre de revenir au standart... 8)

Azrayen'

guigui

bonjour tout le monde!
j'ai découvert récemment ce logiciel libre et j'en suis extrèmement satisfait. J'ai installé le plugin puis l'activé, et j'ai fait la modif pour pouvoir me connecter sans avoir à passer par http//mon coppermine/login.php
Par contre je ne vois absolument pas comment paramétrer mon site avec ce plugin. Où est ce que tout cela ce paramètre.... ne me dit pas que tout doit se faire en modifiant le fichier de configue de final extract2.....

François Keller

Bonjour,
QuotePar contre je ne vois absolument pas comment paramétrer mon site avec ce plugin. Où est ce que tout cela ce paramètre.... ne me dit pas que tout doit se faire en modifiant le fichier de configue de final extract2.....
Désolé, mais je n'ai pas compris ce que tu demandes.
Si la question est comment parametrer les liens du menu qui doivent apparaitre, c'est dans le fichier codebase.php que ça se passe.
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

guigui

c'est tout à fait ça. Désolé si mon français n'est pas des meilleurs :D . Aurais-tu un exemple de fichier codebase.php qui soit configuré car je ne suis pas du tout expert de ce genre de chose ;)

François Keller

Un exemple parmis d'autre (c'est celui de mon site)
<?php
/*************************
  Coppermine Photo Gallery
  ************************
  Copyright (c) 2003-2005 Coppermine Dev Team
  v1.1 originaly written by Gregory DEMAR

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.
  ********************************************
  Coppermine version: 1.4.1
  $Source: /cvsroot/cpg-contrib/master_template/codebase.php,v $
  $Revision: 1.3 $
  $Author: donnoman $
  $Date: 2005/12/08 05:46:49 $
**********************************************/

if (!defined('IN_COPPERMINE')) die('Not in Coppermine...');

$thisplugin->add_filter('page_html','final_extract_page_html');

function 
final_extract_block(&$template$block_name$subst='')
{
        
$pattern "#(<!-- BEGIN $block_name -->)(.*?)(<!-- END $block_name -->)#s";
        if ( 
preg_match($pattern$template$matches)){
            
$template str_replace($matches[1].$matches[2].$matches[3], $subst$template);
            return 
$matches[2];
        }
}

function 
final_extract_page_html($html)
{   
$user_group=USER_ID;
//define the user group
switch ($user_group){
case 1://admin show all menus-l'admin voit tous les liens
return $html;
break;
case 2://registred- les visiteurs enregistrés 
//repeat the next line for each block you would like removed
final_extract_block($html'login');
    
final_extract_block($html'home');
    
return $html;
break;
case 3://guest
//repeat the next line for each block you would like removed
final_extract_block($html'login');
    
final_extract_block($html'home');
    
return $html;
default://all othe cases-aucuns liens visibles
    
//repeat the next line for each block you would like removed
    
final_extract_block($html'login');
    
final_extract_block($html'home');
    
final_extract_block($html'my_gallery');
    
final_extract_block($html'allow_memberlist');
    
final_extract_block($html'my_profile');
    
final_extract_block($html'enter_admin_mode');
    
final_extract_block($html'leave_admin_mode');
    
final_extract_block($html'upload_pic');
    
final_extract_block($html'register');
    
final_extract_block($html'faq');
    
final_extract_block($html'logout');
    
final_extract_block($html'album_list');
    
final_extract_block($html'lastup');
    
final_extract_block($html'lastcom');
    
final_extract_block($html'topn');
    
final_extract_block($html'toprated');
    
final_extract_block($html'favpics');
    
final_extract_block($html'search');
return $html;
}
}

?>


Pour chaque groupe d'utilisateurs, il faut déterminer quels liens enlever (dans le dernier cas du code ci dessus, on enlève tous les liens)
Chaque ligne de code avec final_extract_block efface un lien
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

guigui

un grand merci pour ton aide je testerai tout cela dès que possible ;)

François Keller

Pas de quoi.
Je suis en train d'écrire un petit tutoriel en français pour l'utilisation de ce plugin avec le nom et la signification des balises utilisées par coppermine pour les liens des menus.
Je le publierais dès qu'il sera terminé.
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

bonjour :)
je viens de mettre la version 1.4.9 et j'ai installé ce plug in, seulement c'est la configuration "par défaut' qui dicte sa loi, quelle que soit la configuration des autres groupes. Du coup celà annule tout l'interet du plug in :(
à votre avis c'est un problème de compatibilité avec la dernière version ? ou bien j'ai commis une erreur ?

mici :)