[MOD / HACK] SEARCH.PHP :: Cherchez par Couleurs Dominantes !MOD / HACK réservé aux "Experts"Le principe de ce MOD / HACK n'est pas de rechercher des Mot-Clefs dans votre base de données Coppermine, mais bien de rechercher les couleurs dominantes de toutes vos images en fonction de votre choix (vignettes de couleur cliquables).
Exemple dans la Galerie perso de PYAP : http://expo.pays-dignois.com/searchbycolor.php1 / Décompressez l'archive
SEARCH-by-COLOR-HUE_fr.ZIP quelque part sur votre disque dur. (joint en fin de ce post)
2 / Placez les fichiers "
indexHue.php", "
hue.php", "
searchbyhue.php" à la racine de votre dossier Coppermine.
Placez "
searchbycolor.inc.php" dans le dossier "
votre_Coppermine/include/".
Placez le fichier "
transparent.gif" dans le dossier "
votre_Coppermine/images/".
3/ Depuis votre phpMyAdmin exécutez la commande SQL suivante :
CREATE TABLE IF NOT EXISTS CPG_colors (
`pid` int(11) NOT NULL default '0',
`aid` int(11) NOT NULL default '0',
`hue` smallint(6) NOT NULL default '0',
`percent` float(5,2) NOT NULL default '0.00',
PRIMARY KEY (`pid`)
);
4 / Ouvrez le fichier
THUMBNAIL.PHPRecherchez le code suivant (~ ligne 80) :
if (isset($_GET['search'])) {
$USER['search'] = $_GET['search'];
if (isset($_GET['type']) && $_GET['type'] == 'full') {
$USER['search'] = '###' . $USER['search'];
}
}
Ajoutez le code suivant :
elseif (isset($_GET["hue"]) && !empty($_GET["hue"])) {
$USER["hue"] = (int)$_GET["hue"];
}
5 / Editez le fichier include/
FUNCTIONS.INC.PHPAjoutez le code suivant après le
break; de case 'favpics': // Favourite Pictures
case 'hueSearch' : // Recherchez par couleurs dominantes or Search by hue
$colorArr = array (
"0" => "#ff0000", "10" => "#ff2a00", "20" => "#ff5500", "30" => "#ff8000", "40" => "#ffaa00", "50" => "#ffd500", "60" => "#ffff00", "70" => "#d4ff00", "80" => "#aaff00", "90" => "#80ff00", "100" => "#55ff00", "110" => "#55ff00", "120" => "#00ff00", "130" => "#00ff2a", "140" => "#00ff55", "150" => "#00ff80", "160" => "#00ffaa", "170" => "#00ffd5", "180" => "#00ffff", "190" => "#00d5ff", "200" => "#00aaff", "210" => "#0080ff", "220" => "#0055ff", "230" => "#002aff", "240" => "#0000ff", "250" => "#2b00ff", "260" => "#5500ff", "270" => "#8000ff", "280" => "#aa00ff", "290" => "#d400ff", "300" => "#ff00ff", "310" => "#ff00d4", "320" => "#ff00aa", "330" => "#ff0080", "340" => "#ff0055", "350" => "#ff002b"
);
$rowset = array();
if (isset($_GET["hue"])) {
$hue = (int)$_GET["hue"];
} elseif (isset($USER["hue"])) {
$hue = $USER["hue"];
} else {
$count = 0;
return $rowset;
}
$album_name = "Résultats de la Recherche pour cette <span style='color: {$colorArr[$hue]}'> # Couleur</span>";
include ("include/searchbycolor.inc.php");
return $rowset;
break;
6 / Editez
SEARCH.PHP (sauvegardez l'ancien par SEARCH_ORI.PHP)Recherchez :
<tr>
<td colspan="8" align="center" class="tablef">
<input type="submit" value="{$lang_search_php[0]}" class="button">
</td>
</form>
</tr>
EOT;
endtable();
et immédiatement après placez le code suivant :
// echo "<br>";
starttable('700px', "Recherchez des images en fonction de la couleur dominante !<br>Cliquez le bandeau ci-dessous :", 36);
echo <<<EOT
<tr>
<td bgcolor="#ff0000">
<a href="thumbnails.php?album=hueSearch&hue=0"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#ff2a00">
<a href="thumbnails.php?album=hueSearch&hue=10"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#ff5500">
<a href="thumbnails.php?album=hueSearch&hue=20"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#ff8000">
<a href="thumbnails.php?album=hueSearch&hue=30"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#ffaa00">
<a href="thumbnails.php?album=hueSearch&hue=40"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#ffd500">
<a href="thumbnails.php?album=hueSearch&hue=50"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#ffff00">
<a href="thumbnails.php?album=hueSearch&hue=60"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#d4ff00">
<a href="thumbnails.php?album=hueSearch&hue=70"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#aaff00">
<a href="thumbnails.php?album=hueSearch&hue=80"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#80ff00">
<a href="thumbnails.php?album=hueSearch&hue=90"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#55ff00">
<a href="thumbnails.php?album=hueSearch&hue=100"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#2bff00">
<a href="thumbnails.php?album=hueSearch&hue=110"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#00ff00">
<a href="thumbnails.php?album=hueSearch&hue=120"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#00ff2a">
<a href="thumbnails.php?album=hueSearch&hue=130"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#00ff55">
<a href="thumbnails.php?album=hueSearch&hue=140"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#00ff80">
<a href="thumbnails.php?album=hueSearch&hue=150"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#00ffaa">
<a href="thumbnails.php?album=hueSearch&hue=160"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#00ffd5">
<a href="thumbnails.php?album=hueSearch&hue=170"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#00ffff">
<a href="thumbnails.php?album=hueSearch&hue=180"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#00d5ff">
<a href="thumbnails.php?album=hueSearch&hue=190"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#00aaff">
<a href="thumbnails.php?album=hueSearch&hue=200"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#0080ff">
<a href="thumbnails.php?album=hueSearch&hue=210"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#0055ff">
<a href="thumbnails.php?album=hueSearch&hue=220"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#002aff">
<a href="thumbnails.php?album=hueSearch&hue=230"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#0000ff">
<a href="thumbnails.php?album=hueSearch&hue=240"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#2b00ff">
<a href="thumbnails.php?album=hueSearch&hue=250"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#5500ff">
<a href="thumbnails.php?album=hueSearch&hue=260"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#8000ff">
<a href="thumbnails.php?album=hueSearch&hue=270"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#aa00ff">
<a href="thumbnails.php?album=hueSearch&hue=280"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#d400ff">
<a href="thumbnails.php?album=hueSearch&hue=290"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#ff00ff">
<a href="thumbnails.php?album=hueSearch&hue=300"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#ff00d4">
<a href="thumbnails.php?album=hueSearch&hue=310"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#ff00aa">
<a href="thumbnails.php?album=hueSearch&hue=320"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#ff0080">
<a href="thumbnails.php?album=hueSearch&hue=330"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#ff0055">
<a href="thumbnails.php?album=hueSearch&hue=340"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
<td bgcolor="#ff002b">
<a href="thumbnails.php?album=hueSearch&hue=350"><img src="images/transparent.gif" border="0" height="10" width="20"></a>
</td>
</tr>
EOT;
endtable();
----------------------------------------------------------------------------------------
Mise en route du processus d'indéxation des couleurs :A / Après l'installation de ces différents codes,
connectez-vous en tant qu'Admin et exécutez indexHue.php (fichier placé à la racine de votre Coppermine)
Sélectionnez l'Album que vous voulez scanner (ou indéxer, nuance de vocabulaire)
Cliquez le bouton "
Index Album Pictures".
Le script va dès maintenant parcourir toutes les images de l'Album sélectionné, et stocker les valeurs de
Couleur Dominante dans la table SQL
CPG_colors.
Renouvellez l'indexation pour tous vos Albums.
*Il y a une option qui vous permettra lors de futurs scans, de ne pas prendre en compte les images déjà scannées.
B / Vous pouvez scanner les Albums Privés. Le script de recherche prendra des précautions quand aux privilèges dépendant des Utilisateurs CPG.
C / Lorsque l'indéxation de vos images sera effectuée,
exécutez en tant qu'Utilisateur lambda le fichier SEARCH.PHP.
Inutile de préciser qu'il faut cliquer le bandeau dont les Couleurs sont de nouveaux Mot-Clefs . . . wow!:-)
Les résultats de la recherche seront affichés traditionnellement par
thumbnail.php----------------------------------------------------------------------------------------
----------------------------------------
:: LIMITATIONS DIVERSES ::----------------------------------------
1. Les images en échelle de gris (greyscale) ne sont pas indéxées, les images GIF non plus,
uniquement les images JPEG sont scannées.
3. Ce MOD / HACK ne fonctionne qu'avec PHP et la librairie GD.
4. La qualité du résultat de la recherche par couleur dépends essentiellement du nombre total d'images de votre Galerie.
Plus le nombre d'images est grand, plus le résultat ressemblera au cahier des charges de ce MOD / HACK.
5. Il faut donner le nom du fichier scan,
indexHUE.php à vos utilisateurs afin qu'ils scannent et indexent eux-même leur Album.
Ou bien
Cochez TOUS vos Utilisateurs en
MODE ADMIN... mais ça, personne ne va le faire ! (et il vaut mieux)
PYAP
------------
LICENCE :
------------------------------------------------------------------------------------------------------
http://opensource.org/licenses/gpl-license.php GNU General Public License
------------------------------------------------------------------------------------------------------