Affichez la liste complête de vos Mots-Clefs Coppermine (SEARCH.PHP) Affichez la liste complête de vos Mots-Clefs Coppermine (SEARCH.PHP)
 

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Main Menu

Affichez la liste complête de vos Mots-Clefs Coppermine (SEARCH.PHP)

Started by Pascal YAP, December 17, 2004, 10:41:01 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Pascal YAP

Bonjour à toutes et à tous,
NOTE : Fonction implémentée dans Coppermine 1.4.x
SUJET : AFFICHER la Liste de tous les Mots-clefs de votre Base Coppermine.
page "Recherchez", fichier SEARCH.PHP

Ce sujet sur la modification de SEARCH.PHP, donne suite à une judicieuse remarque de Poubao dans un sujet de ce Forum, intitulé "Google Coppermine Expo Photos". (ici)
Poubao nous fait remarquer que depuis la modif de son SEARCH.PHP, l'utilisation de sa fonction "Recherche" a été multiplié par 30 !

Il parait donc motivant pour chacun d'entre vous de connaitre le moyen d'afficher tous les mots-clef, avec leurs liens, sur votre page "Recherchez".

1/ Renommez votre SEARCH.PHP d'origine en SEARCH_ORIGINAL.PHP
2/ Copiez et Collez le code suivant dans un fichier vierge. Modifiez si vous le désirez certains champs selon votre littérature personnelle.
3/ Sauvegardez sous SEARCH.PHP
4/ Uploadez SEARCH.PHP vers votre serveur.
5/ C'est tout !
6/ Testez votre nouvelle fonction "La Pompe à Google" !
7/ ou avant de modifier quelque chose, visitez l'exemple de PYAP http://expo.pays-dignois.com/search.php

[add by PYAP]
Quote// Résultats vers la table, et affichage de la liste de mots clefs
echo "<tr><td class=\"keylink\"><p align=justify>" ;

J'ai oublié de signaler la présence de la class perso .KEYLINK que vous devez créer dans le fichier STYLE.CSS de votre Thème.
[/add by PYAP]

Amusez-vous bien !

Pascal


<?php
// ------------------------------------------------------------------------- //
// Coppermine Photo Gallery 1.3.1                                            //
// ------------------------------------------------------------------------- //
// Copyright (C) 2002,2004 Gregory DEMAR <gdemar@wanadoo.fr>                 //
// http://www.chezgreg.net/coppermine/                                       //
// ------------------------------------------------------------------------- //
// 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.                                       //
// ------------------------------------------------------------------------- //

//***************************************************************************//
//* Touched by PYAP on November 2004 . . .                                  *// 
//* this Mod/Hack on SEARCH.PHP, it's a fine Google pump !                  *// 
//* EXEMPLE : http://expo.pays-dignois.com.search.php for exemple           *//
//***************************************************************************//
//*          Si vous rencontrez un problème avec Coppermine,                *//
//*   n'hésitez pas à visiter le Forum COPPERMINE EN FRANCAIS ci-dessous    *//
//*      http://forum.coppermine-gallery.net/index.php?board=38.0       *//
//*                                MERCI                                    *//
//***************************************************************************//

define('IN_COPPERMINE'true);
define('SEARCH_PHP'true);

require(
'include/init.inc.php');

pageheader($lang_search_php[0]);

starttable("500""<center>$lang_search_php[0]</center>");
echo <<< EOT
<tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td></tr>
<tr>
<form method="get" action="thumbnails.php">
<input type="hidden" name="album" value="search">
<input type="hidden" name="type" value="full">
<td class="tableb" align="center" height="60">
<input type="input" style="width: 90%" name="search" maxlength="255" value="" class="textinput">
</td>
</tr>
<tr>
<td colspan="8" align="center" class="tablef">
<input type="submit" value="
{$lang_search_php[0]}" class="button">
</td>
</form>
</tr>

EOT;
endtable();
echo 
"<br>";
// Select all keywords
starttable("500""<center>Notre liste de liens, par Mot-Clef de A-Z à a-z</center><br>"1,"");

$result mysql_query("select keywords from {$CONFIG['TABLE_PICTURES']}");
if (!
mysql_num_rows($result)) cpg_die(ERROR$lang_errors['non_exist_ap']);

// Find unique keywords
$keywords_array = array();

while (list(
$keywords) = mysql_fetch_row($result)) {
 
       $array explode(" ",$keywords);

 
       foreach($array as $word)
 
       {
 
       if (!in_array($word,$keywords_array)) $keywords_array[] = $word;
 
      }
}

sort($keywords_array);
$count count($keywords_array);
//echo "<br>";
echo    "$count Mots-Clef dans notre base de données";
// Result to table
echo "<tr><td class=\"keylink\"><p align=justify>" ;
for (
$i 0$i $count$i++) {
 
 echo "<a href=\"thumbnails.php?album=search&search=$keywords_array[$i] \" >$keywords_array[$i]</a> " ;

}
echo 
"</p></td></tr>" ;
endtable();

pagefooter();
ob_end_flush();

?>



François Keller

Bonjour Pyap

Merci de nous faire partager tes astuces. :)
Encore une fonction qu'il va falloir que je mette en place sur mon site dès que j'en aurais le temps
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

Frantz,
Quote..il va falloir que je mette en place sur mon site dès que j'en aurais le temps
Il n'y a pas beaucoup de boulot avant de voir le résultat, juste un Copier/coller du code ci-dessus, c'est tout !
Il y a encore quelque bricoles de textes à modifier, rien de plus ....

Soit grosso-modo le temps qu'il t'aura fallu pour consulter ce nouveau sujet et formuler ta réponse !  ;)

 Pascal

François Keller

Pyap

QuoteIl n'y a pas beaucoup de boulot avant de voir le résultat, juste un Copier/coller du code ci-dessus, c'est tout !

Je viens de faire ce que tu dis mais j'obtiens un message d'erreur

QuoteParse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /data/members/free/multimania/fr/p/h/o/photosfrantz/htdocs/search.php on line 59
???

J'avoue ne pas comprendre ce que ça veut dire.

Peut être pourras tu m'aider ?
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

Frantz,

Désolé pour le désagrément !
Je ne comprends pas pourquoi tu obtiens ce message d'erreur.
J'ai fait un Copier/Coller depuis le SEARCH.PHP qui est en ligne sur ma Galerie.

Le message que tu reçois en erreur, signale un problème de connexion avec ta table de base de données.
Quelle version de Coppermine utilise-tu ?
  J'ai la version Coppermine 1.3.1 !

Pascal

François Keller

Pyap,

QuoteQuelle version de Coppermine utilise-tu ?

c'est la version 1.3.2

QuoteDésolé pour le désagrément !

C'est pas bien grave ;)
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

Frantz,

Décidément, j'ai vérifié une nouvelle le fichier ci-dessus, il est rigoureuseument identique à celui en ligne : je ne comprends pas le soucis dont tu es victime  >:( strange !

Pascal

François Keller

Pyap,

Quoteje ne comprends pas le soucis dont tu es victime

Moi non plus  ??? d'autant plus que si je fais une requete sql sur ma base, ça marche (select 'keywords' from ....)
Mais je ne connais pas grand chose au PhP  :-\\
En attendant d'avoir trouvé une solution je ne mettrais pas cette possibilité sur mon module de recherche.
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

François Keller

Pyap,

Quote
Quoteje ne comprends pas le soucis dont tu es victime

Moi non plus  ??? d'autant plus que si je fais une requete sql sur ma base, ça marche (select 'keywords' from ....)
Mais je ne connais pas grand chose au PhP  :-\\
En attendant d'avoir trouvé une solution je ne mettrais pas cette possibilité sur mon module de recherche.

Désolé, j'ai fais une bétise et posté deux fois :-\\
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

Frantz,

Attendons le retour de Chtito qui est en congé de Noel en France.
Il nous en dira nettement plus l'année prochaine !

Pascal

chtito

Salut Frantz,

Je ne vois pas non plus trop ce que le problème peut être. Ça doit simplement être une erreur de syntaxe (vous utilisez probablement des versions de php différentes, toi et PYAP). Essaie de remplacer

$result 
mysql_query("select keywords from {$CONFIG['TABLE_PICTURES']}");

par

$result 
mysql_query("select keywords from " $CONFIG['TABLE_PICTURES']);

Si ça ne marche pas, j'aurais besoin que tu me dises exactement où se trouve la ligne 59 dans ton fichier. Si tu as exactement copié le code de PYAP, la ligne 59 désigne une ligne parfaitement inoffensive ???

Bon courage !
Vous pouvez poser vos questions en français sur le forum francophone !

François Keller

Salut Chtito,

Merci pour ton aide, mais ç ane marche pas. Si je fais la modif indiquée, j'ai la même erreur mais à la ligne 58.
je mets ci-dessous mon code su fichier SEARCH.PHP
Quote<?php
// ------------------------------------------------------------------------- //
// Coppermine Photo Gallery 1.3.1                                            //
// ------------------------------------------------------------------------- //
// Copyright (C) 2002,2004 Gregory DEMAR <gdemar@wanadoo.fr>                 //
// http://www.chezgreg.net/coppermine/                                       //
// ------------------------------------------------------------------------- //
// 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.                                       //
// ------------------------------------------------------------------------- //

//***************************************************************************//
//* Touched by PYAP on November 2004 . . .                                  *//
//* this Mod/Hack on SEARCH.PHP, it's a fine Google pump !                  *//
//* EXEMPLE : http://expo.pays-dignois.com.search.php for exemple           *//
//***************************************************************************//
//*          Si vous rencontrez un problème avec Coppermine,                *//
//*   n'hésitez pas à visiter le Forum COPPERMINE EN FRANCAIS ci-dessous    *//
//*      http://forum.coppermine-gallery.net/index.php?board=38.0       *//
//*                                MERCI                                    *//
//***************************************************************************//

define('IN_COPPERMINE', true);
define('SEARCH_PHP', true);

require('include/init.inc.php');

pageheader($lang_search_php[0]);
// Déclaration de la FORM search
starttable("500", "<center>$lang_search_php[0]</center>");
echo <<< EOT
        <tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td></tr>
        <tr>
                <form method="get" action="thumbnails.php">
               <input type="hidden" name="album" value="search">
               <input type="hidden" name="type" value="full">
        <td class="tableb" align="center" height="60">
                <input type="input" style="width: 90%" name="search" maxlength="255" value="" class="textinput">
                </td>
        </tr>
        <tr>
                <td colspan="8" align="center" class="tablef">
                        <input type="submit" value="{$lang_search_php[0]}" class="button">
                </td>
                </form>
        </tr>

EOT;endtable();
echo "<br>";


// Selection de tous les keywords
// et Déclaration de la Table affichant la liste de mots clefs
starttable("500", "<center>Notre liste de mots en base de données Coppermine</center><br>", 1,"");

$result = mysql_query("select keywords from {$CONFIG['TABLE_PICTURES']}");
if (!mysql_num_rows($result)) cpg_die(ERROR, $lang_errors['non_exist_ap']);

// Find unique keywords
$keywords_array = array();

while (list($keywords) = mysql_fetch_row($result)) {
        $array = explode(" ",$keywords);

        foreach($array as $word)
        {
        if (!in_array($word,$keywords_array)) $keywords_array[] = $word;
       }
}

sort($keywords_array);
$count = count($keywords_array);
// echo "<br>";
// echo    "$count Mots-Clef dans notre base de données"; // Supprimez les commentaires pour afficher le nombre de mots-clefs
// Résultats vers la table, et affichage de la liste de mots clefs
echo "<tr><td class=\"keylink\">; //<p align=justify>" ;
for ($i = 0; $i < $count; $i++) {
  echo "<a href=\"thumbnails.php?album=search&search=$keywords_array[$i] \" >$keywords_array[$i]</a> " ;

}
echo "</p></td></tr>" ;
endtable();

pagefooter();
ob_end_flush();
?>
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

chtito

Étrange... La ligne 59 se trouve juste avant la modif que je te conseillais de faire. L'erreur que tu as est typique d'une erreur de syntaxe php. Pour localiser ça, essaye de commenter la ligne incriminée pour voir si l'erreur disparaît. Dans ton cas, il s'agirait de la ligne avec starttable, qui est tout a fait inoffensive. Tu peux commenter sans danger (pour voir si l'erreur est vraiment là).

Je ne vois pas du tout pourquoi on passe de la ligne 59 à la ligne 58 ?? Rajoutes-tu une ligne quand tu fais la modif ?

Donc essaye de localiser un peu plus en n'hésitant pas à commenter s'il faut, et poste volontiers tes résultats de tes investigations ici, pour qu'on puisse aider plus.

Bon courage !
Vous pouvez poser vos questions en français sur le forum francophone !

Pascal YAP

Chtito , Frantz,

Je testé de nouveau le fichier en question mais en local cette fois-ci, et je n'ai rencontré aucun problème !
Bizarre bizarre autant qu'étrange !
Chtito, as-tu testé le fichier SEARCH.PHP de cet exemple ?

[edit/PYAP]
Arès une autre vérification, il apparait que les espaces avant et après echo <<<EOT et EOT; sont fatals !
Donc, beaucoup de méfiance avec le caractère invisible !
[edit/PYAP]
Pascal

François Keller

Chtito, Pyayp,

en local ou sur le serveur distant, toujours le même problème ???
Si je mets la ligne incriminée en commentaire, j'ai toujours la même erreur (c'est à n'y rien comprendre, puisque la commande est désactivée).
J'ai refais un copier coller du fichier donné par Pyap, et toujours la même erreur (ligne 56 car à force de bidouiller j'avais du mettre des lignes vides) :-\\
Vous pouvez vous rendre compte de ce que ça donne sur mon site ICI
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

chtito

Tiens, en effet, j'ai exactement la même erreur... Je vais voir ça.
Vous pouvez poser vos questions en français sur le forum francophone !

poubao

bonsoir,
moi aussi je viens juste de faire le test même erreur ???
poubao
L'incohérence de ceux qui nous dirigent, l'incompétence de ceux qui nous commandent,sont un vibrant hommage pour ceux qui exécutent.
                                          **Général Patton**

François Keller

Quotemoi aussi je viens juste de faire le test même erreur Huh
ca me rassure ;)
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

chtito

C'est tout simplement qu'il y avait des caractères illégaux dans le code.

J'uploade le code nettoyé.

Remarque : ce mod. n'est pas très propre. J'uploade le fichier encodé en utf-8, puisque c'est l'encodage international, mais il se peut que ça ne vous convienne pas.
Vous pouvez poser vos questions en français sur le forum francophone !

poubao

bonsoir,
j'avais pensé à ce genre d'erreur, mais dans les mots clé, car je sais que j'ai dans ma liste des mots avec des caractéres invalides. (je suis entrain de les corriger  :-\\ )
Le mod que j'utilise me les sort, sans afficher les images lorsque l'on suit le lien.
poubao
L'incohérence de ceux qui nous dirigent, l'incompétence de ceux qui nous commandent,sont un vibrant hommage pour ceux qui exécutent.
                                          **Général Patton**