forum.coppermine-gallery.net

Support => Français (French) => Language Specific Support => cpg1.4.x Français (French) => Topic started by: Titooy on October 25, 2005, 09:48:59 am

Title: [MOD] Thèmes différents par catégorie
Post by: Titooy on October 25, 2005, 09:48:59 am
L'idée de ce mod est de pouvoir choisir un thème différent pour certaines catégories de votre galerie. Exactement comme le proposent tous les systèmes de forums modernes.

Ajoutez un champ theme dans votre table "categories".

<coppermine>/include/init.inc.php
Trouvez
// Process theme selection if present in URI or in user profile
if (!empty($_GET['theme'])) {
    $USER['theme'] = $_GET['theme'];
}
// Load theme file
if (isset($USER['theme']) && !strstr($USER['theme'], '/') && is_dir('themes/' . $USER['theme'])) {
    $CONFIG['theme'] = strtr($USER['theme'], '$/\\:*?"\'<>|`', '____________');
} else {
    unset($USER['theme']);
}

Si vous ne voulez pas que les visiteurs puissent choisir eux-même le thème (en ajoutant &theme=blabla à la fin de l'URL), supprimez cette section ou mettez-la en commentaire.

Ajoutez avant
// Looks if there's a sub-theme for that category
if (!empty($_GET['cat'])) {
   $result = cpg_db_query("SELECT parent,theme FROM {$CONFIG['TABLE_CATEGORIES']} WHERE cid = '{$_GET['cat']}'");
   $row = mysql_fetch_array($result);
   if (!empty($row['theme']) && !isset($theme_temp))
      $theme_temp = $row['theme'];
   mysql_free_result($result);
   while($row['parent'] != 0)
   {
      $result = cpg_db_query("SELECT parent,theme FROM {$CONFIG['TABLE_CATEGORIES']} WHERE cid = '{$row['parent']}'");
      $row = mysql_fetch_array($result);
      mysql_free_result($result);
      if (isset($row['theme']) && !isset($theme_temp))
         $theme_temp = $row['theme'];
   } // while
   if (isset($theme_temp))
      $CONFIG['theme'] = $theme_temp;
}

// Looks if there's a sub-theme for that album
if (!empty($_GET['album'])) {
   $result = cpg_db_query("SELECT category FROM {$CONFIG['TABLE_ALBUMS']} WHERE aid = '{$_GET['album']}'");
   $row = mysql_fetch_array($result);
   mysql_free_result($result);
   $row['parent'] =  $row['category'];
   while($row['parent'] != 0)
   {
      $result = cpg_db_query("SELECT parent,theme FROM {$CONFIG['TABLE_CATEGORIES']} WHERE cid = '{$row['parent']}'");
      $row = mysql_fetch_array($result);
      mysql_free_result($result);
      if (isset($row['theme']) && !isset($theme_temp))
         $theme_temp = $row['theme'];
   } // while
   if (isset($theme_temp))
      $CONFIG['theme'] = $theme_temp;
}



<coppermine>/catmgr.php
Trouvez
function display_cat_list() {
Ajoutez avant
function form_sub_theme() {
    global $CONFIG, $lang_catmgr_php, $current_category;

    $theme_dir = 'themes/';

    $dir = opendir($theme_dir);
    while ($file = readdir($dir)) {
        if (is_dir($theme_dir . $file) && $file != "." && $file != "..") {
            $theme_array[] = $file;
        }
    }
    closedir($dir);

    natcasesort($theme_array);

    echo <<<EOT
        <tr>
            <td class="tableb" width="60%">
                        {$lang_catmgr_php['cat_theme']}
        </td>
        <td class="tableb" valign="top">
                        <select name="theme" class="listbox">
EOT;
    echo "                    <option value=\"\"></option>\n";
    foreach ($theme_array as $theme) {
        echo "                                <option value=\"$theme\" " . ($theme == $current_category['theme'] ? 'selected="selected"' : '') . ">" . strtr(ucfirst($theme), '_', ' ') . "</option>\n";
    }
    echo <<<EOT
                        </select>
                </td>
        </tr>

EOT;
}



Trouvez
$current_category = array('cid' => '0', 'name' => '', 'parent' => '0', 'description' => '');
Remplacez par
$current_category = array('cid' => '0', 'name' => '', 'parent' => '0', 'description' => '', 'theme' => '');

Trouvez
        $result = cpg_db_query("SELECT cid, name, parent, description, thumb FROM {$CONFIG['TABLE_CATEGORIES']} WHERE cid = '$cid' LIMIT 1");
Remplacez par
        $result = cpg_db_query("SELECT cid, name, parent, description, thumb, theme FROM {$CONFIG['TABLE_CATEGORIES']} WHERE cid = '$cid' LIMIT 1");

Trouvez 2 fois
        if (!isset($_POST['cid']) || !isset($_POST['parent']) || !isset($_POST['name']) || !isset($_POST['description']))
Remplacez par
        if (!isset($_POST['cid']) || !isset($_POST['parent']) || !isset($_POST['name']) || !isset($_POST['description']) || !isset($_POST['theme']))

Trouvez 2 fois
                $description = addslashes($_POST['description']);
Ajoutez après
                $theme = addslashes($_POST['theme']);


Trouvez
                cpg_db_query("UPDATE {$CONFIG['TABLE_CATEGORIES']} SET parent='$parent', name='$name', description='$description', thumb='$thumb' WHERE cid = '$cid' LIMIT 1");
                }else{
                        cpg_db_query("UPDATE {$CONFIG['TABLE_CATEGORIES']} SET name='$name', description='$description', thumb='$thumb' WHERE cid = '$cid' LIMIT 1");

Remplacez par
                cpg_db_query("UPDATE {$CONFIG['TABLE_CATEGORIES']} SET parent='$parent', name='$name', description='$description', thumb='$thumb', theme='$theme' WHERE cid = '$cid' LIMIT 1");
                }else{
                        cpg_db_query("UPDATE {$CONFIG['TABLE_CATEGORIES']} SET name='$name', description='$description', thumb='$thumb', theme='$theme' WHERE cid = '$cid' LIMIT 1");


Trouvez
        cpg_db_query("INSERT INTO {$CONFIG['TABLE_CATEGORIES']} (pos, parent, name, description) VALUES ('10000', '$parent', '$name', '$description')");
Remlacez par
        cpg_db_query("INSERT INTO {$CONFIG['TABLE_CATEGORIES']} (pos, parent, name, description, theme) VALUES ('10000', '$parent', '$name', '$description', '$theme')");

Trouvez
form_alb_thumb();
Ajoutez avant
form_sub_theme();


<coppermine>/lang/french.php (et toutes les langues qui sont utilisées par des administrateurs)
Trouvez
  'cat_desc' => 'Description de la catégorie',
Ajoutez après
  'cat_theme' => 'Thème de la catégorie',

Et voilà !
Title: Re: [MOD] Thèmes différents par catégorie
Post by: FixB on January 24, 2006, 09:54:29 pm
Alors je ne sais pas si je devrais poster ici, mais je tenais à dire : MERCI !!!
C'est tout simplement excellent ! Aucun souci pour appliquer la manip, et franchement c'est une fonctionnalité très très intéressante !

 ;D
Title: Re: [MOD] Thèmes différents par catégorie
Post by: François Keller on January 25, 2006, 07:38:08 am
Bonjour,

Quote
Alors je ne sais pas si je devrais poster ici, mais je tenais à dire : MERCI !!!

Si si, c'est bien là  :D
Title: Re: [MOD] Thèmes différents par catégorie
Post by: seb1002 on November 30, 2008, 09:08:55 pm
Bonjour un petit souci avec ce code....

je suis les étapes et à :

Trouvez 2 fois
        if (!isset($_POST['cid']) || !isset($_POST['parent']) || !isset($_POST['name']) || !isset($_POST['description']))
Remplacez par
        if (!isset($_POST['cid']) || !isset($_POST['parent']) || !isset($_POST['name']) || !isset($_POST['description']) || !isset($_POST['theme']))


je bloque car je ne le trouve qu'une seule fois et ce, à la ligne 303 du fichier catmgr de base de coppermine

J'utilise la dernière version

Une idée ???

un grand merci

seb
Title: Re: [MOD] Thèmes différents par catégorie
Post by: François Keller on November 30, 2008, 09:15:38 pm
dans la dernière version, il n'y a en effet qu'une seule occurence de cette ligne. Essayez si ça marche en faisant tout le reste...
Title: Re: [MOD] Thèmes différents par catégorie
Post by: seb1002 on November 30, 2008, 10:49:05 pm
Justement j'ai essayé mais cela ne fonctionne pas car j'ai FATAL ERROR quand je veux aller sur une categorie

merci

seb
Title: Re: [MOD] Thèmes différents par catégorie
Post by: François Keller on November 30, 2008, 11:08:18 pm
j'ai jamais utilisé ce mod qui date déjà un peu et il est possible que le code ait été modifié ailleurs lors des mises à jour
Title: Re: [MOD] Thèmes différents par catégorie
Post by: seb1002 on November 30, 2008, 11:15:18 pm
je ne trouve pas de mise a jour ... je croise les doigts pour que Titooy passe par ici et pour qu'il ait peut etre une petite réponse ;)
Title: Re: [MOD] Thèmes différents par catégorie
Post by: BEO on January 11, 2010, 03:33:00 pm
Ce plugin est très pratique, seulement, il affiche le thème par defaut une fois qu'on va dans un album.

En gros, le thème perso est mis dans la catégorie et quand on va dans un album de la catégorie, il prend plus en compte le thème.