Advanced search  

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]

Pages: [1]   Go Down

Author Topic: Importation limitée pour membres PhpBB (galleries "Bridgées")  (Read 5102 times)

0 Members and 1 Guest are viewing this topic.

WebmastAir

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 66
    • A propos d'Ailes

Bonjour,

J'ai installé la gallerie Coppermine (super) et l'ajout "Association Coppermine/PhpBB" (add-on "Bridging").

Info:
J'ai modifié 3 instructions pour que les membres ne puissent pas se "déconnecter" via le menu de coppermine quand cette fonction d'asscociation est activée (sinon ils sont déconnectés aussi des forums)...  tout fonctionne parfaitement.

Question:
je voudrai savoir s'il existe qq part une modifications (mod ou add-on) qui permette d'empêcher que les membres sans posts dans les forums (ou très peu) ne puissent télécharger des images dans leur gallerie ?

Remarque:
J'ai pensé le faire via le menu des forums (car depuis les années, je commence à connaître un peu les scripts) mais alors ils ne peuvent pas non plus aller voir les images des autres... ce n'est pas le but.

Il faudrait que dans Coppermine une message indique à l'utilisateur qu'il ne lui est pas possible de télécharger des photos s'il n'a pas posté au moins le nombre de posts minimum requis... et que cette action ne lui soit pas possible (comment et quel script modifier?).

Merci pour vos avis et aide éventuelle.
Logged

WebmastAir

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 66
    • A propos d'Ailes
Re: Importation limitée pour membres PhpBB (galleries "Bridgées")
« Reply #1 on: July 31, 2008, 02:36:58 pm »

J'ai l'idée par exemple de compléter les données (user_name, user_date, ...etc) fournies par l'add-on "Bridge" par une donnée supplémentaire qui donnerait à Coppermine le nombre de posts de l'utilisateur des forums...
... ensuite, ajouter une "instruction/condition" dans le fichier adéquat "template.php" ou ailleurs (je ne sais pas exactement où).

Ainsi en cliquant sur le bouton "Créer / classer mes albums", au lieu d'aller chercher le script "albmgr.php", un "popup" afficherait un message du genre "Pour utiliser votre galerie, il faut avoir posté xx message minimum dans les forums «xxx forums»"... le problèmes c'est que je ne sais pas comment m'y prendre.

Quelqu'un peut-il m'aider svp ?
Logged

WebmastAir

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 66
    • A propos d'Ailes
Re: Importation limitée pour membres PhpBB (galleries "Bridgées")
« Reply #2 on: July 31, 2008, 02:47:25 pm »

Juste une petite remarque sans vouloir choquer: je ne trouve pas pratique de ne pas pouvoir "remanier/corriger" son propre message qu'on vient d'écrire.
Logged

Pascal YAP

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 13833
  • Hello World :-)
    • CPG 1.5.x ExperiMental website
Re: Importation limitée pour membres PhpBB (galleries "Bridgées")
« Reply #3 on: July 31, 2008, 04:12:34 pm »

C'est impossible en effet.
Mais il s'agit d'hygiène ! Il serait trop simple de faire disparaitre des POSTs.
Prendre soin de ses propres messages avant de les poster semble être normal  ;D

PYAP
Logged

WebmastAir

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 66
    • A propos d'Ailes
Re: Importation limitée pour membres PhpBB (galleries "Bridgées")
« Reply #4 on: July 31, 2008, 04:53:59 pm »

Merci PYAP, je comprends.
Je voulais seulement parler de la possibilité de "modifier" le "dernier" post... parfois il arrive de regretter d'avoir "envoyer" trop vite quand on se rends compte qu'une précision supplémentaire aurait été utile.  Juste pour éviter de devoir reposter pour un détail +/- important.
Logged

François Keller

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 9094
  • aka Frantz
    • Ma galerie
Re: Importation limitée pour membres PhpBB (galleries "Bridgées")
« Reply #5 on: July 31, 2008, 06:07:10 pm »

Bonjour,

la modif doit être possible, mais comment, je ne sais pas (je n'utilise pas le bridge). Je pense qu'il faudrait ajouter un appel vers une fonction de test avant l'appel du script d'upload... ça ne doit pas être trop difficile, à condition de pouvoir récupérer les bonnes infos...
Logged
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

WebmastAir

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 66
    • A propos d'Ailes
Re: Importation limitée pour membres PhpBB (galleries "Bridgées")
« Reply #6 on: July 31, 2008, 07:15:05 pm »

Oui, je pense aussi que ça doit être assez simple.
C'est la façon de faire que ne perçois pas car je ne connais pas suffisamment les scripts.
Logged

WebmastAir

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 66
    • A propos d'Ailes
Re: Importation limitée pour membres PhpBB (galleries "Bridgées")
« Reply #7 on: August 02, 2008, 05:07:25 pm »

J'ai un peu essayé diverses méthodes mais je n'arrive pas à trouver comment ajouter cette information pour la transférer à Coppermine à partir de phpBB.

Où sont les champs envoyé par le l'add-on "Bridging"... quelqu'un peut-il me mettre sur la voie svp ?
Logged

WebmastAir

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 66
    • A propos d'Ailes
Re: Importation limitée pour membres PhpBB (galleries "Bridgées")
« Reply #8 on: August 05, 2008, 06:09:26 pm »

Après de bons pataugements, j'y suis enfin arrivé.
Je note donc réglé.
Logged

WebmastAir

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 66
    • A propos d'Ailes
Re: Importation limitée pour membres PhpBB (galleries "Bridgées")
« Reply #9 on: August 17, 2008, 11:24:52 pm »

Au cas où quelqu'un souhaite appliquer cette modification, voici les fichiers à modifier.  A noter que j'utilise la template "Water_drop" mais à mon avis, avec l'une ou l'autre variation, elle peut s'appliquer aux autres.

  • Dans "usermgr.php" (dans la fonction "function list_users") :
Remplacer le code:
Code: [Select]
function list_users($search = '')
{
    global $CONFIG, $cpg_udb; //, $PHP_SELF;
    global $lang_usermgr_php, $lang_byte_units, $register_date_fmt,$lang_check_uncheck_all;
    global $lim_user,$number_of_columns;
    global $USER_DATA;

    $number_of_columns_minus_one = $number_of_columns - 1;

    $sort_codes = array('name_a' => 'user_name ASC',
        'name_d' => 'user_name DESC',
        'group_a' => 'group_name ASC',
... par le code
Code: [Select]
function list_users($search = '')
{
    global $CONFIG, $cpg_udb; //, $PHP_SELF;
    global $lang_usermgr_php, $lang_byte_units, $register_date_fmt,$lang_check_uncheck_all;
    global $lim_user,$number_of_columns;
    global $USER_DATA;

    $number_of_columns_minus_one = $number_of_columns - 1;

    $sort_codes = array('name_a' => 'user_name ASC',
        'name_d' => 'user_name DESC',
        'posts_a' => 'user_posts ASC',
        'posts_d' => 'user_posts DESC',
        'group_a' => 'group_name ASC',


... remplacer le code:
Code: [Select]
                <td class="tableh1" align="center"><input type="checkbox" {$makereadonly}name="checkAll" onClick="selectAll(this,'u');" class="checkbox" title="$lang_check_uncheck_all" /></td>
                <td class="tableh1" colspan="2"><b><span class="statlink">{$lang_usermgr_php['name']}</span></b>
                <a href="{$_SERVER['PHP_SELF']}?page=$page&amp;sort=name_a"><img src="images/ascending.gif" width="9" height="9" border="0" alt="" title="{$lang_usermgr_php['name_a']}" /></a>
                <a href="{$_SERVER['PHP_SELF']}?page=$page&amp;sort=name_d"><img src="images/descending.gif" width="9" height="9" border="0" alt="" title="{$lang_usermgr_php['name_d']}" /></a>
                </td>
                <td class="tableh1"><b><a href="groupmgr.php" class="statlink">{$lang_usermgr_php['group']}</a></b>
                <a href="{$_SERVER['PHP_SELF']}?page=$page&amp;sort=group_a"><img src="images/ascending.gif" width="9" height="9" border="0" alt="" title="{$lang_usermgr_php['group_a']}" /></a>
                <a href="{$_SERVER['PHP_SELF']}?page=$page&amp;sort=group_d"><img src="images/descending.gif" width="9" height="9" border="0" alt="" title="{$lang_usermgr_php['group_d']}" /></a>
                </td>
... par le code:
Code: [Select]
                <td class="tableh1" align="center"><input type="checkbox" {$makereadonly}name="checkAll" onClick="selectAll(this,'u');" class="checkbox" title="$lang_check_uncheck_all" /></td>
                <td class="tableh1" colspan="2"><b><span class="statlink">{$lang_usermgr_php['name']}</span></b>
                <a href="{$_SERVER['PHP_SELF']}?page=$page&amp;sort=name_a"><img src="images/ascending.gif" width="9" height="9" border="0" alt="" title="{$lang_usermgr_php['name_a']}" /></a>
                <a href="{$_SERVER['PHP_SELF']}?page=$page&amp;sort=name_d"><img src="images/descending.gif" width="9" height="9" border="0" alt="" title="{$lang_usermgr_php['name_d']}" /></a>
                </td>
                <td class="tableh1"><b><span class="statlink">{$lang_usermgr_php['posts']}</span></b>
                <a href="{$_SERVER['PHP_SELF']}?page=$page&amp;sort=posts_a"><img src="images/ascending.gif" width="9" height="9" border="0" alt="" title="{$lang_usermgr_php['posts_a']}" /></a>
                <a href="{$_SERVER['PHP_SELF']}?page=$page&amp;sort=posts_d"><img src="images/descending.gif" width="9" height="9" border="0" alt="" title="{$lang_usermgr_php['posts_d']}" /></a>
                </td>
                <td class="tableh1"><b><a href="groupmgr.php" class="statlink">{$lang_usermgr_php['group']}</a></b>
                <a href="{$_SERVER['PHP_SELF']}?page=$page&amp;sort=group_a"><img src="images/ascending.gif" width="9" height="9" border="0" alt="" title="{$lang_usermgr_php['group_a']}" /></a>
                <a href="{$_SERVER['PHP_SELF']}?page=$page&amp;sort=group_d"><img src="images/descending.gif" width="9" height="9" border="0" alt="" title="{$lang_usermgr_php['group_d']}" /></a>
                </td>


... remplacer le code:
Code: [Select]
                <td class="tableb" align="center">
                    <button type="button" class="button" {$makereadonly}onclick="window.location.href ='$profile_link';">
                        <img src="images/edit.gif" width="16" height="16" border="0" alt="" title="{$lang_usermgr_php['edit']}" />
                    </button>
                </td>
                <td class="tableb">{$user['group_name']}</td>
... par le code:
Code: [Select]
                <td class="tableb" align="center">
                    <button type="button" class="button" {$makereadonly}onclick="window.location.href ='$profile_link';">
                        <img src="images/edit.gif" width="16" height="16" border="0" alt="" title="{$lang_usermgr_php['edit']}" />
                    </button>
                </td>
                <td class="tableb" align="center">{$user['user_posts']}</td>
                <td class="tableb">{$user['group_name']}</td>


  • Dans phpbb2018.inc.php :
... remplacer le code:
Code: [Select]
'user_id' => 'user_id', // name of 'id' field in users table
'password' => 'user_password', // name of 'password' field in users table
'email' => 'user_email', // name of 'email' field in users table
'regdate' => 'user_regdate', // name of 'registered' field in users table
... par le code:
Code: [Select]
'user_id' => 'user_id', // name of 'id' field in users table
'password' => 'user_password', // name of 'password' field in users table
'userposts' => 'user_posts', // name of the posts number field in the users table  //moi ici
'email' => 'user_email', // name of 'email' field in users table
'regdate' => 'user_regdate', // name of 'registered' field in users table


... remplacer le code:
Code: [Select]
// Sort codes - global this in usermgr.php in 1.5
        $sort_codes = array('name_a' => 'user_name ASC',
                            'name_d' => 'user_name DESC',
                            'group_a' => 'group_name ASC',
... par le code:
Code: [Select]
// Sort codes - global this in usermgr.php in 1.5
        $sort_codes = array('name_a' => 'user_name ASC',
                            'name_d' => 'user_name DESC',
                            'posts_a' => 'user_posts ASC',
                            'posts_d' => 'user_posts DESC',
                            'group_a' => 'group_name ASC',


... remplacer le code:
Code: [Select]
$sql = "SELECT u.{$f['user_id']} as user_id, u.user_level, {$f['username']} as user_name, {$f['email']} as user_email, {$f['regdate']} as user_regdate, {$f['lastvisit']} as user_lastvisit, 0 as pic_count ".
               "FROM {$this->usertable} AS u ".
               "WHERE u.{$f['user_id']} > 0 " . $options['search'].
               "GROUP BY u.{$f['user_id']} " . $sort .
   " LIMIT {$options['lower_limit']}, {$options['users_per_page']}";
... par le code:
Code: [Select]
$sql = "SELECT u.{$f['user_id']} as user_id, u.user_level, {$f['username']} as user_name, {$f['userposts']} as user_posts, {$f['email']} as user_email, {$f['regdate']} as user_regdate, {$f['lastvisit']} as user_lastvisit, 0 as pic_count ".
               "FROM {$this->usertable} AS u ".
               "WHERE u.{$f['user_id']} > 0 " . $options['search'].
               "GROUP BY u.{$f['user_id']} " . $sort .
   " LIMIT {$options['lower_limit']}, {$options['users_per_page']}";


  • Dans udb_base.inc.php :
... remplacer le code:
Code: [Select]
                        if (isset($this->usergroupstable)){
                                $sql = "SELECT u.{$f['user_id']} AS id, u.{$f['username']} AS username, u.{$f['password']} AS password, ug.{$f['usertbl_group_id']} AS group_id ".
                                           "FROM {$this->usertable} AS u, {$this->usergroupstable} AS ug ".
                                           "WHERE u.{$f['user_id']}=ug.{$f['user_id']} AND u.{$f['user_id']}='$id'";
                        } else {
... par le code:
Code: [Select]
                        if (isset($this->usergroupstable)){
                                $sql = "SELECT u.{$f['user_id']} AS id, u.{$f['username']} AS username, u.{$f['userposts']} AS user_posts, u.{$f['password']} AS password, ug.{$f['usertbl_group_id']} AS group_id ".
                                           "FROM {$this->usertable} AS u, {$this->usergroupstable} AS ug ".
                                           "WHERE u.{$f['user_id']}=ug.{$f['user_id']} AND u.{$f['user_id']}='$id'";
                        } else {


... remplacer le code:
Code: [Select]
        define('USER_NAME', addslashes($USER_DATA['user_name']));
        define('USER_GROUP', $USER_DATA['group_name']);
... par le code:
Code: [Select]
        define('USER_NAME', addslashes($USER_DATA['user_name']));
        define('USER_POSTS', addslashes($USER_DATA['user_posts']));
        define('USER_GROUP', $USER_DATA['group_name']);


... remplacer le code:
Code: [Select]
        function load_user_data($row)
        {

                global $USER_DATA;

                $USER_DATA['user_id'] = $row['id'];
        $USER_DATA['user_name'] = $row['username'];
... par le code:
Code: [Select]
        function load_user_data($row)
        {

                global $USER_DATA;

                $USER_DATA['user_id'] = $row['id'];
        $USER_DATA['user_name'] = $row['username'];
        $USER_DATA['user_posts'] = $row['user_posts'];


  • Dans french.php (... et les autres langues !!!) :
... remplacer le code:
Code: [Select]
'upload_pic_title' => 'Upload een bestanden in een albums',
'upload_pic_lnk' => 'Upload bestanden',
'register_title' => 'Creëer een account',
'register_lnk' => 'Registreer',
... par le code:
Code: [Select]
'upload_pic_title' => 'Upload een bestanden in een albums',
'upload_pic_lnk' => 'Upload bestanden',
'no_posts_enought' => 'Hallo %s, spijtig, enkel de actieve leden kunnen in de albums downloaden. Minimum %s berichten zijn gevraagd om de &quot;Galerij&quot; te kunnen gebruiken (jij hebt &quot;%s&quot; bericht[en]).',
'register_title' => 'Creëer een account',
'register_lnk' => 'Registreer',


... remplacer le code:
Code: [Select]
if (defined('USERMGR_PHP')) $lang_usermgr_php = array(
  'memberlist' => 'Liste des membres', //cpg1.4
  'user_manager' => 'Gestion utilisateurs', //cpg1.4
  'title' => 'Gérer les utilisateurs',
  'name_a' => 'Nom ascendant',
  'name_d' => 'Nom descendant',
  'group_a' => 'Groupe ascendant',
... par le code:
Code: [Select]
if (defined('USERMGR_PHP')) $lang_usermgr_php = array(
  'memberlist' => 'Liste des membres', //cpg1.4
  'user_manager' => 'Gestion utilisateurs', //cpg1.4
  'title' => 'Gérer les utilisateurs',
  'name_a' => 'Nom ascendant',
  'name_d' => 'Nom descendant',
  'posts_a' => 'Ascendant par messages',
  'posts_d' => 'Descendant par messages',
  'group_a' => 'Groupe ascendant',


... remplacer le code:
Code: [Select]
  'name' => 'Nom d\'utilisateur',
  'group' => 'Groupe',
  'inactive' => 'Inactif',
... par le code:
Code: [Select]
  'name' => 'Nom d\'utilisateur',
  'posts' => 'Messages',
  'group' => 'Groupe',
  'inactive' => 'Inactif',


  • Dans theme.php (ici, c'est celui de "Water_drop"):
remplacer le code:
Code: [Select]
if (!function_exists('theme_main_menu')) {  //{THEMES}
function theme_main_menu($which)
{
    global $AUTHORIZED, $CONFIG, $album, $actual_cat, $cat, $REFERER, $upload_access;
    global $lang_main_menu, $template_sys_menu, $template_sub_menu;

    static $sys_menu = '', $sub_menu = '';
    if ($$which != '') {
        return $$which;
    }
... par le code:
Code: [Select]
if (!function_exists('theme_main_menu')) {  //{THEMES}
function theme_main_menu($which)
{
    global $AUTHORIZED, $CONFIG, $album, $actual_cat, $cat, $REFERER, $upload_access;
    global $lang_main_menu, $template_sys_menu, $template_sub_menu;

    $minimun_msg = 50;   //Nombre minimu de messages pour pouvoir uploader des images dans la galerie
    define('MESSAGES_ENOUGHT', (USER_POSTS > ($minimun_msg-1) || USER_IS_ADMIN));
    $msg_no_upload = sprintf($lang_main_menu['no_posts_enought'], USER_NAME, $minimun_msg, USER_POSTS);
    $upload_access = (MESSAGES_ENOUGHT ? "upload.php" : "javascript:alert('" .  $msg_no_upload . "');");

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


remplacer le code:
Code: [Select]
        '{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'],
        '{UPL_PIC_TITLE}' => $lang_main_menu['upload_pic_title'],
        '{UPL_PIC_LNK}' => $lang_main_menu['upload_pic_lnk'],
... par le code:
Code: [Select]
        '{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'],
        '{UPL_PIC_TGT}' => $upload_access,
        '{UPL_PIC_TITLE}' => $lang_main_menu['upload_pic_title'],
        '{UPL_PIC_LNK}' => $lang_main_menu['upload_pic_lnk'],

----
Il est possible que j'aie fait une erreur ou l'autre mais il est un fait que ça fonctionne ainsi pour moi.

Si un spécialiste peut améliorer, j'en serai heureux.
Logged
Pages: [1]   Go Up
 

Page created in 0.028 seconds with 19 queries.