Modification Coppermine Photo Gallery

Modification Coppermine Photo Gallery - PHP - Programmation

Marsh Posté le 08-09-2005 à 08:45:05    

Bonjour a tous,
 
je voudrais savoir, si qqn utilise ce script pour ses galleries photos, et si qqn l'a déjà modifier.
je voudrais notemment modifier l'affichage des categories, car je trouve ca pas tres comode  :pt1cable:  
Mais j'ai beaucoup de mal avec le code source sur la partie de l'affichage.
 
si qqn a deja procédé a ce genre de modif,  
merci de me conseiller.

Reply

Marsh Posté le 08-09-2005 à 08:45:05   

Reply

Marsh Posté le 08-09-2005 à 08:47:05    

Desolé , lis la charte, ici on est un forum de programmation, pas un service de modif de scripts téléchargés ... demande sur le forum lié au produit


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 08-09-2005 à 08:50:39    

jvois pas ou ets le probleme pour uns cript sous license GNU/GPL mais bon, si tu le dit

Reply

Marsh Posté le 08-09-2005 à 08:58:23    

Le problème est pas vraiment une question de licence ...
Le truc c'est que beaucoup (de plus en plus) de gens viennent ici avec des codes téléchargés qui ne marchent pas/pas comme ils veulent et nous  demandent de les modifier/corriger .. Si on acceptait on ne ferait plus que ça ... Désolé ..


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 08-09-2005 à 09:01:39    

je demande pas de me le faire
je demande de me conseiller
c'est pas pareil.

Reply

Marsh Posté le 08-09-2005 à 09:02:51    

Ok ... apprend le PHP pour pouvoir le modifier ... C'est pas ça que tu attendais comme conseil j'imagine? Pourtant c'est a peu pres le seul que tu auras sur un forum comme celui ci


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 08-09-2005 à 09:13:40    

tellier a écrit :

je demande pas de me le faire
je demande de me conseiller
c'est pas pareil.


commence par regarder la structure de la chose. Organisation des fichiers de configuration, fonction etc. Puis lis patiemment le code. Attention, Si tu veux modifier trop en profondeur le code, tu auras plus vite fait d'en recoder un de zéro...
 


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 08-09-2005 à 09:14:56    

oé oé, bien sur

Reply

Marsh Posté le 08-09-2005 à 09:17:21    

ben quoi. y'a pas d'autres solutions hein... [:jagstang]


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 08-09-2005 à 09:21:07    

merci jagstang
le oé oé bien sur c'était pour esox_ch
 
Je sais bien qu'il faut que j'étudie le code,
c'est ce que je fais.
mais je n'arrive pas.  
Surtout avec la manière dont les infos sur les categories sont enregistrées dans la base de données.

Reply

Marsh Posté le 08-09-2005 à 09:21:07   

Reply

Marsh Posté le 08-09-2005 à 09:23:29    

la table categories contient: l'id de la categorie, le nom de la categorie, la position de la categorie et la categorie mere.
Mon probleme est de pouvoir connaitre le nombre de niveau par exemple.


Message édité par tellier le 08-09-2005 à 09:25:06
Reply

Marsh Posté le 08-09-2005 à 09:24:01    

c'est ce que je dis, si tu veux trop customiser, c'est quasi impossible à débugguer par la suite (surtout si ça été "mal" codé)
 
quel est ton niveau en PHP ?


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 08-09-2005 à 09:25:53    

mon niveau?
pas suffisant pour des script pareil,
mais bon je suis en stage, donc la pour apprendre

Reply

Marsh Posté le 08-09-2005 à 09:27:13    

Honnetement je te conseille de le recoder from scratch ... ce genre de script est tres souvent mal codé ... Et difficile a comprendre meme pour un avancé...


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 08-09-2005 à 09:29:16    

tu ferais mieux d'en faire un toi même alors. C'est clair que c'est pas évident. Mais commence simple. Tu ne le regretteras pas.


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 08-09-2005 à 09:30:49    

je peux pas
mon projet c'est de dire ces la modification de l'affichage est faisable, ou si ca risque detre trop compliqué
donc c'est sur que je ne recoderai pas ce script.

Reply

Marsh Posté le 08-09-2005 à 09:32:01    

tant pis [:jagstang]


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 08-09-2005 à 09:32:12    

Mais si je trouvais un moyen de trouver le nombre de niveau dans l'arborescence et d'afficher l'arborescnce correctement
ca serait deja super.
 
parce que la, j'y arrive vu que je connai les categorie presente. Donc je cherche a automatiser cette affichage.

Reply

Marsh Posté le 08-09-2005 à 09:35:01    

juste une question hors sujet:
vous l'avez déjà vu se script? et si oui, vous trouvez qu'il est mal codé?
allez rassurer moi svp!

Reply

Marsh Posté le 08-09-2005 à 09:41:21    

nop jamais regarder ... met en ligne un peu de source qu'on matte


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 08-09-2005 à 09:43:54    

la petite fonction que je pense devoir modifier:
 

Code :
  1. function get_cat_list(&$breadcrumb, &$cat_data, &$statistics)
  2. {
  3.     global $HTTP_GET_VARS, $CONFIG, $ALBUM_SET, $CURRENT_CAT_NAME, $BREADCRUMB_TEXT, $STATS_IN_ALB_LIST, $FORBIDDEN_SET;
  4.     global $HIDE_USER_CAT,$cpg_show_private_album;
  5.     global $cat;
  6.     global $lang_list_categories, $lang_errors;
  7.     // Build the breadcrumb
  8.     breadcrumb($cat, $breadcrumb, $BREADCRUMB_TEXT);
  9.     // Build the category list
  10.     $cat_data = array();
  11.     $album_set_array = array();
  12.     get_subcat_data($cat, $cat_data, $album_set_array, $CONFIG['subcat_level']);
  13.     $album_filter='';
  14.     $pic_filter='';
  15.     $cat = (int) $cat;
  16.     if (!empty($FORBIDDEN_SET) && !$cpg_show_private_album) {
  17.         $album_filter = ' and '.str_replace('p.','a.',$FORBIDDEN_SET);
  18.         $pic_filter = ' and '.$FORBIDDEN_SET;
  19.     }
  20.     // Add the albums in the current category to the album set
  21.     //if ($cat) {
  22.         if ($cat == USER_GAL_CAT) {
  23.             $sql = "SELECT aid FROM {$CONFIG['TABLE_ALBUMS']} as a WHERE category >= " . FIRST_USER_CAT.$album_filter;
  24.             $result = db_query($sql);
  25.         } else {
  26.             $sql = "SELECT aid FROM {$CONFIG['TABLE_ALBUMS']} as a WHERE category = '$cat'".$album_filter;
  27.             $result = db_query($sql);
  28.         }
  29.         while ($row = mysql_fetch_array($result)) {
  30.             $album_set_array[] = $row['aid'];
  31.         } // while
  32.         mysql_free_result($result);
  33.     //}
  34.     if (count($album_set_array)&&$cat) {
  35.         $set = '';
  36.         foreach ($album_set_array as $album) $set .= $album . ',';
  37.         $set = substr($set, 0, -1);
  38.         $current_album_set = "AND aid IN ($set) ";
  39.         $ALBUM_SET .= $current_album_set;
  40.     } elseif ($cat) {
  41.         $current_album_set = "AND aid IN (-1) ";
  42.         $ALBUM_SET .= $current_album_set;
  43.     }
  44.     // Gather gallery statistics
  45.     if ($cat == 0) {
  46.         $result = db_query("SELECT count(*) FROM {$CONFIG['TABLE_ALBUMS']} as a WHERE 1".$album_filter);
  47.         $nbEnr = mysql_fetch_array($result);
  48.         $album_count = $nbEnr[0];
  49.         mysql_free_result($result);
  50.         $sql = "SELECT count(*) FROM {$CONFIG['TABLE_PICTURES']} as p ".
  51.                 'LEFT JOIN '.$CONFIG['TABLE_ALBUMS'].' as a '.
  52.                 'ON a.aid=p.aid '.
  53.                 'WHERE 1'.$pic_filter;
  54.         $result = db_query($sql);
  55.         $nbEnr = mysql_fetch_array($result);
  56.         $picture_count = $nbEnr[0];
  57.         mysql_free_result($result);
  58.         $sql = "SELECT count(*) FROM {$CONFIG['TABLE_COMMENTS']} as c ".
  59.                 'LEFT JOIN '.$CONFIG['TABLE_PICTURES'].' as p '.
  60.                 'ON c.pid=p.pid '.
  61.                 'LEFT JOIN '.$CONFIG['TABLE_ALBUMS'].' as a '.
  62.                 'ON a.aid=p.aid '.
  63.                 'WHERE 1'.$pic_filter;
  64.         $result = db_query($sql);
  65.         $nbEnr = mysql_fetch_array($result);
  66.         $comment_count = $nbEnr[0];
  67.         mysql_free_result($result);
  68.         $sql = "SELECT count(*) FROM {$CONFIG['TABLE_CATEGORIES']} WHERE 1";
  69.         $result = db_query($sql);
  70.         $nbEnr = mysql_fetch_array($result);
  71.         $cat_count = $nbEnr[0] - $HIDE_USER_CAT;
  72.         mysql_free_result($result);
  73.         $sql = "SELECT sum(hits) FROM {$CONFIG['TABLE_PICTURES']} as p ".
  74.                 'LEFT JOIN '.$CONFIG['TABLE_ALBUMS'].' as a '.
  75.                 'ON p.aid=a.aid '.
  76.                 'WHERE 1'.$pic_filter;
  77.         $result = db_query($sql);
  78.         $nbEnr = mysql_fetch_array($result);
  79.         $hit_count = (int)$nbEnr[0];
  80.         mysql_free_result($result);
  81.         if (count($cat_data)) {
  82.             $statistics = strtr($lang_list_categories['stat1'], array('[pictures]' => $picture_count,
  83.                     '[albums]' => $album_count,
  84.                     '[cat]' => $cat_count,
  85.                     '[comments]' => $comment_count,
  86.                     '[views]' => $hit_count));
  87.         } else {
  88.             $STATS_IN_ALB_LIST = true;
  89.             $statistics = strtr($lang_list_categories['stat3'], array('[pictures]' => $picture_count,
  90.                     '[albums]' => $album_count,
  91.                     '[comments]' => $comment_count,
  92.                     '[views]' => $hit_count));
  93.         }
  94.     } elseif ($cat >= FIRST_USER_CAT && $ALBUM_SET) {
  95.         $result = db_query("SELECT count(*) FROM {$CONFIG['TABLE_ALBUMS']} WHERE 1 $current_album_set" );
  96.         $nbEnr = mysql_fetch_array($result);
  97.         $album_count = $nbEnr[0];
  98.         mysql_free_result($result);
  99.         $result = db_query("SELECT count(*) FROM {$CONFIG['TABLE_PICTURES']} WHERE 1 $current_album_set" );
  100.         $nbEnr = mysql_fetch_array($result);
  101.         $picture_count = $nbEnr[0];
  102.         mysql_free_result($result);
  103.         $result = db_query("SELECT sum(hits) FROM {$CONFIG['TABLE_PICTURES']} WHERE 1 $current_album_set" );
  104.         $nbEnr = mysql_fetch_array($result);
  105.         $hit_count = (int)$nbEnr[0];
  106.         mysql_free_result($result);
  107.         $statistics = strtr($lang_list_categories['stat2'], array('[pictures]' => $picture_count,
  108.                 '[albums]' => $album_count,
  109.                 '[views]' => $hit_count));
  110.     } else {
  111.         $statistics = '';
  112.     }
  113. }


 
le probleme, c'est que ca utilise des dizaine de variables globales,...

Reply

Marsh Posté le 08-09-2005 à 09:54:28    

Perso je trouve mal ecrit ... pas de commentaires ... ni de doc ...


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 08-09-2005 à 09:55:44    

de plus, ça ne sert à rien de comment if ($cat), il y a certainement des modifs à faire dans la base de données.  
 
Moi je dis, tu vas perdre bcp de temps à essayer de modifier ce script...


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 08-09-2005 à 09:59:01    

et encore vous avez rien vu
c'est pire ailleurs!

Reply

Marsh Posté le 08-09-2005 à 10:05:09    

Ben alors man conseil...fait en une seul...c'est la meilleur des soluces...
 
Car laisse tomber, si tu es novice..tu va te perdre avec toutes ces variables appellé de partout...
 
Car si tu n'a pas d'expérience...laisse tomber , tu vas pas avoir les bon automatisme, pour savoir quoi chercher et ou chercher....
 
Bonne chance...

Reply

Marsh Posté le 08-09-2005 à 10:09:32    

pour linstant
je suis bloqué à partir de la base de données:
je ne trouve pas comment connaitre le nombre de niveau dans l'arborescence des categories

Reply

Marsh Posté le 09-09-2005 à 13:23:22    

ya pas de communauté coppermine francophone? moi j'en trouve pas sur google.

Reply

Marsh Posté le 09-09-2005 à 16:54:39    

regarde catmgr.php
il fait un get_subcat_data(0) qui est fonction récursive..
c'est une gestion (classique?) de catégorie avec un parent_id
tu fous une variable comme compteur bien placé et t'as ton nombre de niveau dans l'arbo..
 

Code :
  1. function get_subcat_data($parent, $ident = '')
  2. {
  3.     global $CONFIG, $CAT_LIST;
  4.     $sql = "SELECT cid, name, description " . "FROM {$CONFIG['TABLE_CATEGORIES']} " . "WHERE parent = '$parent' " . "ORDER BY pos";
  5.     $result = db_query($sql);
  6.     if (($cat_count = mysql_num_rows($result)) > 0) {
  7.         $rowset = db_fetch_rowset($result);
  8.         $pos = 0;
  9.         foreach ($rowset as $subcat) {
  10.             if ($pos > 0) {
  11.                 $CAT_LIST[] = array('cid' => $subcat['cid'],
  12.                     'parent' => $parent,
  13.                     'pos' => $pos++,
  14.                     'prev' => $prev_cid,
  15.                     'cat_count' => $cat_count,
  16.                     'name' => $ident . $subcat['name']);
  17.                 $CAT_LIST[$last_index]['next'] = $subcat['cid'];
  18.             } else {
  19.                 $CAT_LIST[] = array('cid' => $subcat['cid'],
  20.                     'parent' => $parent,
  21.                     'pos' => $pos++,
  22.                     'cat_count' => $cat_count,
  23.                     'name' => $ident . $subcat['name']);
  24.             }
  25.             $prev_cid = $subcat['cid'];
  26.             $last_index = count($CAT_LIST) -1;
  27.             get_subcat_data($subcat['cid'], $ident . '   ');
  28.         }
  29.     }
  30. }


 
j'ai déja fais des modifs de coppermine.. parce que je trouvais les fonctions de gallerie pas mal
mtnt c vrai que y'a du bordel un peu partout
mais bon comme on l'a dis si t'as pas d'xp tu vas t'y perdre très vite
 
bonne chance pour la suite coco
mais ne compte pas sur moi pour t'aider a t'expliquer tous les scripts non plus hein ;)

Reply

Marsh Posté le 12-09-2005 à 14:07:50    

pour trouver le nombre de niveau, j'avais reussi.
j'ai ensuite essayer de refaire une fonction d'affichage de la liste des categorie qui a fonctionner.
 
ensuite j'ai voulu inserer des <div style="display: none"><>/div>
pour pouvoir afficher ou masquer les parties de l'arborescence avec une fonction javascript, mais vu que c'est une fonction recursive, je n'arrive pas à placer les div au bonne endroit. au final je n'ai pas ce que je souhaite.
Mais j'ai abandonné vu que je n'avais que jusqu a la fin de la semaine derniere.
 
merci quand meme.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed