coppermine-gallery.com/forum

Support => Français (French) => Language Specific Support => cpg1.4.x Français (French) => Topic started by: mirtil on November 21, 2006, 06:11:11 AM

Title: MAJ de Coppermine: probleme de MOD
Post by: mirtil on November 21, 2006, 06:11:11 AM
Bonjour !

Voilà, j'ai installé Coppermine il y a un bail... et je compte enfin faire la mise à jour  :)
Malheureusement, je ne retrouve plus le mod que j'avais installé : un compteur total de photos vues sur chaque album de la page d'accueil.

Genre : 125 photos, vues X fois

Voici un visu plus explicite.

(https://coppermine-gallery.com/forum/proxy.php?request=http%3A%2F%2Fwww.monptidoi.com%2Fessai%2Fimage1.png&hash=633f8e91715ba7af454d1137d45a329495d6509f)

J'ai regardé les 35 pages de la section française, mais je n'ai pas retrouvé  :'(

merci d'avance !
Title: Re: MAJ de Coppermine: probleme de MOD
Post by: mirtil on November 22, 2006, 06:08:21 PM
Hola !

J'ai retrouvé le sujet traitant du MOD (http://forum.coppermine-gallery.net/index.php?topic=13777.0 (http://forum.coppermine-gallery.net/index.php?topic=13777.0))

Par contre, celui-ci ne marche plus. Bien qu'il n'y ait pas de messages d'erreurs...

1/ Dans index.php recherchez le code suivant :
Code:

    $sql = "SELECT aid, count(pid) as pic_count, max(pid) as last_pid, max(ctime) as last_upload ".
           "FROM {$CONFIG['TABLE_PICTURES']} ".
           "WHERE aid IN $album_set AND approved = 'YES' ".
           "GROUP BY aid";

remplacez-le par le code suivant :
Code:

    $sql = "SELECT aid, count(pid) as pic_count, max(pid) as last_pid, max(ctime) as last_upload, sum(hits) as viewcount ".
           "FROM {$CONFIG['TABLE_PICTURES']} ".
           "WHERE aid IN $album_set AND approved = 'YES' ".
           "GROUP BY aid";


recherchez le code suivant :
Code:

        if ($visibility == '0' || $visibility == (FIRST_USER_CAT + USER_ID) || in_array($visibility, $USER_DATA['groups']) || $USER_DATA['can_see_all_albums'] || $CONFIG['allow_private_albums']==0) {
            $last_upload_date = $count ? localised_date($alb_stat['last_upload'], $lastup_date_fmt) : '';
            $alb_list[$alb_idx]['aid'] = $alb_thumb['aid'];
            $alb_list[$alb_idx]['album_title'] = $alb_thumb['title'];
            $alb_list[$alb_idx]['album_desc'] = bb_decode($alb_thumb['description']);
            $alb_list[$alb_idx]['pic_count'] = $count;
            $alb_list[$alb_idx]['last_upl'] = $last_upload_date;
            $alb_list[$alb_idx]['album_info'] = sprintf($lang_list_albums['n_pictures'], $count) . ($count ? sprintf($lang_list_albums['last_added'], $last_upload_date) : "");
            $alb_list[$alb_idx]['album_adm_menu'] = (GALLERY_ADMIN_MODE || (USER_ADMIN_MODE && $cat == USER_ID + FIRST_USER_CAT)) ? html_albummenu($alb_thumb['aid']) : ' ';
        } elseif ($CONFIG['show_private']) { // uncomment this else block to show private album description
            $last_upload_date = $count ? localised_date($alb_stat['last_upload'], $lastup_date_fmt) : '';
            $alb_list[$alb_idx]['aid'] = $alb_thumb['aid'];
            $alb_list[$alb_idx]['album_title'] = $alb_thumb['title'];
            $alb_list[$alb_idx]['album_desc'] = bb_decode($alb_thumb['description']);
            $alb_list[$alb_idx]['pic_count'] = $count;
            $alb_list[$alb_idx]['last_upl'] = $last_upload_date;
            $alb_list[$alb_idx]['album_info'] = sprintf($lang_list_albums['n_pictures'], $count) . ($count ? sprintf($lang_list_albums['last_added'], $last_upload_date) : "");
            $alb_list[$alb_idx]['album_adm_menu'] = (GALLERY_ADMIN_MODE || (USER_ADMIN_MODE && $cat == USER_ID + FIRST_USER_CAT)) ? html_albummenu($alb_thumb['aid']) : ' ';
        }
    }

puis remplacez-le par le code suivant :
Code:

        if ($visibility == '0' || $visibility == (FIRST_USER_CAT + USER_ID) || in_array($visibility, $USER_DATA['groups']) || $USER_DATA['can_see_all_albums'] || $CONFIG['allow_private_albums']==0) {
            $last_upload_date = $count ? localised_date($alb_stat['last_upload'], $lastup_date_fmt) : '';
            $alb_views = $count ? $alb_stat['viewcount'] : '';
            $alb_list[$alb_idx]['aid'] = $alb_thumb['aid'];
            $alb_list[$alb_idx]['album_title'] = $alb_thumb['title'];
            $alb_list[$alb_idx]['album_desc'] = bb_decode($alb_thumb['description']);
            $alb_list[$alb_idx]['pic_count'] = $count;
            $alb_list[$alb_idx]['last_upl'] = $last_upload_date;
            $alb_list[$alb_idx]['album_info'] = sprintf($lang_list_albums['n_pictures'], $count) . ($count ? sprintf($lang_list_albums['last_added'], $last_upload_date) : "") . ($count ? sprintf($lang_list_albums['album_views'], $alb_views) : "");
            $alb_list[$alb_idx]['album_adm_menu'] = (GALLERY_ADMIN_MODE || (USER_ADMIN_MODE && $cat == USER_ID + FIRST_USER_CAT)) ? html_albummenu($alb_thumb['aid']) : ' ';
        } elseif ($CONFIG['show_private']) { // uncomment this else block to show private album description
            $last_upload_date = $count ? localised_date($alb_stat['last_upload'], $lastup_date_fmt) : '';
            $alb_views = $count ? $alb_stat['viewcount'] : '';
            $alb_list[$alb_idx]['aid'] = $alb_thumb['aid'];
            $alb_list[$alb_idx]['album_title'] = $alb_thumb['title'];
            $alb_list[$alb_idx]['album_desc'] = bb_decode($alb_thumb['description']);
            $alb_list[$alb_idx]['pic_count'] = $count;
            $alb_list[$alb_idx]['last_upl'] = $last_upload_date;
            $alb_list[$alb_idx]['album_info'] = sprintf($lang_list_albums['n_pictures'], $count) . ($count ? sprintf($lang_list_albums['last_added'], $last_upload_date) : "") . ($count ? sprintf($lang_list_albums['album_views'], $alb_views) : "");
            $alb_list[$alb_idx]['album_adm_menu'] = (GALLERY_ADMIN_MODE || (USER_ADMIN_MODE && $cat == USER_ID + FIRST_USER_CAT)) ? html_albummenu($alb_thumb['aid']) : ' ';
        }
    }


2/ Dans votre fichier de langue, typiquement citué dans VotreCoppermine/lang/votre_langue.php, on ajoute la ligne qui sera affichée aux cotés de celles d'origine "500 photos. Nouvelle image ajoutée le 01/01/2005"

Trouvez le code suivant :
Code:

$lang_list_albums = array(
  'n_pictures' => '%s files', //cpg1.3.0
  'last_added' => ', last one added on %s',
);

puis remplacez-le par le suivant :
Code:

$lang_list_albums = array(
  'n_pictures' => '%s Photos', //cpg1.3.0
  'last_added' => ', la dernière a été ajoutée le %s',
  'album_views' => '. Cet Album a été ouvert %s fois.',
);


Dans index.php, je mets à 2 reprises (bien que le pavé de codes ait un peu changé) :
Après :               $last_upload_date = $count ? localised_date($alb_stat['last_upload'], $lastup_date_fmt) : '';
Je place :             $alb_views = $count ? $alb_stat['viewcount'] : '';


Mais ni le compteur, ni la traduction "Cet Album a été ouvert %s fois." n'apparaîssent...
pouvez vous m'éclairer ?
Title: Re: MAJ de Coppermine: probleme de MOD
Post by: Pascal YAP on November 22, 2006, 06:14:51 PM
Bonjour Mirtil,

QuoteJ'ai retrouvé le sujet traitant du MOD...Par contre, celui-ci ne marche plus. Bien qu'il n'y ait pas de messages d'erreurs...
Et pour cause, c'est une modification à apporter à CPG 1.3.x !
Les différences sont minimes entre 1.3 et 1.4, mais je ne connais pas ce code  ??? Faut que je compare ! :-\

PAYP
Title: Re: MAJ de Coppermine: probleme de MOD
Post by: mirtil on December 02, 2006, 04:49:41 PM
Aloha !

J'ai installé le PLUGIN "Search Album" et celui-ci m'affiche le compteur de vues par albums.

Voici le bout de code du fichier CODEBASE.PHP :

if ($CONFIG['plugin_searchalbum_showalbstats']) {
$query = "SELECT COUNT(pid) as pic_count, SUM(hits) as hit_count"
." FROM {$CONFIG['TABLE_PICTURES']} AS p"
." WHERE p.aid = {$row['aid']} AND p.approved =  'YES'";
$result = cpg_db_query($query);
$row_npic = mysql_fetch_array($result);
mysql_free_result($result);

if (!$row_npic['hit_count']) { $row_npic['hit_count'] = 0; }
$albstats_lbl_files = isset($lang_plugin_searchalbum_stats) ? $lang_plugin_searchalbum_stats['stats_files'] : $lang_list_albums['n_pictures'];
$albstats_lbl_views = isset($lang_plugin_searchalbum_stats) ? $lang_plugin_searchalbum_stats['stats_views'] : $lang_get_pic_data['n_views'];
$params = array(
'{DATE}'  => $rowset[$key]['ctime'] ? localised_date($rowset[$key]['ctime'], $CONFIG['plugin_searchalbum_statsdatefmt']) : '',
'{FILES}' => sprintf($albstats_lbl_files, $row_npic['pic_count']),
'{VIEWS}' => sprintf($albstats_lbl_views, $row_npic['hit_count']),
);
$albstats = template_eval($CONFIG['plugin_searchalbum_templatestats'],$params);

$rowset[$key]['caption_text'] .= '<span class="thumb_caption"><span class="thumb_stats">'.$albstats.'</span></span>';
} else {
$rowset[$key]['caption_text'] .= '<span class="thumb_caption">'.localised_date($row['ctime'], $lastup_date_fmt).'</span>';
}


Pourriez vous m'indiquer comment le "transposer" sur l'affichage de l'index pour chaque album ?

Merchi beaucoup :)
Title: Re: MAJ de Coppermine: probleme de MOD
Post by: mirtil on December 05, 2006, 03:56:02 PM
Bonjour !

J'ai tenté de remplacer dans le code proposé dans la version 3.1 de Coppermine pour INDEX.PHP :

            $alb_views = $count ? $alb_stat['viewcount'] : '';

Par celui-ci, du Plugin Search Album :

             $albstats_lbl_views = isset($lang_plugin_searchalbum_stats) ? $lang_plugin_searchalbum_stats['stats_views'] : $lang_get_pic_data['n_views'];
$params = array(
'{VIEWS}' => sprintf($albstats_lbl_views, $row_npic['hit_count']),
);


... mais j'y arrive toujours pas  :'(
Title: Re: MAJ de Coppermine: probleme de MOD
Post by: mirtil on February 11, 2007, 01:47:18 AM
Svp... pouvez vous m'orienter pour résoudre mon problème ?  :-\
Title: Re: MAJ de Coppermine: probleme de MOD
Post by: François Keller on February 11, 2007, 10:35:47 AM
Bonjour,

C'est dificile de dire, en tout cas, ce n'est pas le bon procédé que vous utilisez. Vous ne pouvez pas remplacer le code par celui du plugin, celui ci faisant appel à des fonctions propres à lui. Il faudrait regarder comment le plugin récupère la valeur et intégrer celà dans le code. L'idéal étant de faire un plugin ce qui permets une mise à jour plus facile.
Mais pour ça il faut du temps....
Title: Re: MAJ de Coppermine: probleme de MOD
Post by: mirtil on March 03, 2007, 03:51:21 AM
Arrggghhh... bon ben tant pis, j'attendrai.  :-\

Si quelqu'un a une idée pour le créer, je suis prêt à bosser dessus.  :)
Title: Re: MAJ de Coppermine: probleme de MOD
Post by: François Keller on March 03, 2007, 09:11:53 AM
Pour l'écriture des plugins, il y a un debut d'article sur le wiki (http://frantzk.free.fr/WikiFree/index.php?title=Ecrire_un_plugin)
Ensuite, il faut faire des essais pour intégrer le code