Bonsoir,
J'ai peut-être trouvé une solution mais cela nécessite de modifier le code.
Je vous livre ici la modif.
La lecture des dernières images chargées (lastup), des images aléatoires (random), des dernières images commentées (lastcom)...etc,etc....est réalisée dans la fonction
get_pic_data($album, &$count, &$album_name, $limit1=-1, $limit2=-1, $set_caption = true) du script
functions.inc.phpA chaque bloc à afficher (les méta-albums tels que dernières images chargées, derniers commentaires.....) est réservée une lecture de la base par une requête SELECT pour trouver les références des images.
La table qui est lue est cpgxxx_pictures. En consultant les infos contenues dans la table, je me suis aperçu que les fichiers du type pdf, avi, mp3 (3 types de fichiers que j'ai testé) ont, contrairement aux fichiers de type images, les infos de taille largeur (pwidth) et hauteur (pheight) initialisées à 0.
Dans ce cas, la requête SELECT à l'origine de la lecture des images à afficher peut être alors compléter par une condition de ne sélectionner que les enregistrements dont la largeur et/ou la hauteur sont différents de 0.
Est ce que tout le monde suit ?
oui ? alors passons à la pratique...
Dans le cas de Kawaman76, il faut chercher les blocs sur lesquels ils ne désirent pas afficher les vignettes de ce type de fichiers. Ce qui donne pour le bloc des dernières images chargées (lastup) le code suivant :
case 'lastup': // Last uploads
if ($META_ALBUM_SET && $CURRENT_CAT_NAME) {
$album_name = $lang_meta_album_names['lastup'].' - '. $CURRENT_CAT_NAME;
} else {
$album_name = $lang_meta_album_names['lastup'];
}
$query = "SELECT COUNT(*) from {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' $META_ALBUM_SET";
$result = cpg_db_query($query);
$nbEnr = mysql_fetch_array($result);
$count = $nbEnr[0];
mysql_free_result($result);
//if($select_columns != '*' ) $select_columns .= ',title, caption, owner_id, owner_name, aid';
$select_columns = '*'; //allows building any data into any thumbnail caption
$query = "SELECT $select_columns FROM {$CONFIG['TABLE_PICTURES']} WHERE pwidth<>0 and approved = 'YES' $META_ALBUM_SET ORDER BY pid DESC $limit";
$result = cpg_db_query($query);
$rowset = cpg_db_fetch_rowset($result);
mysql_free_result($result);
if ($set_caption) build_caption($rowset,array('ctime'));
$rowset = CPGPluginAPI::filter('thumb_caption_lastup',$rowset);
return $rowset;
break;
La modif se trouve dans la 2eme requête SELECT :
$query = "SELECT $select_columns FROM {$CONFIG['TABLE_PICTURES']} WHERE
pwidth<>0 AND approved = 'YES' $META_ALBUM_SET ORDER BY pid DESC $limit";
Si on le désire, il suffit de faire la même chose dans le bloc des images aléatoires , dans la partie du code qui comment par
case 'random'.
La aussi c'est la 2eme requête SELECT qu'il faut modifier comme suit :
$query = "SELECT $select_columns FROM {$CONFIG['TABLE_PICTURES']} WHERE
pwidth<>0 AND approved = 'YES' $META_ALBUM_SET ORDER BY RAND() LIMIT $limit2";
Je n'ai pas essayé avec d'autres types de fichiers (word ou texte) mais il y a fort à parier que les champs largeur et hauteur soient aussi fixées à 0.