Bonjour à tous,
ayant récemment installé une galerie Coppermine (que j'ai bridgée avec succès à Joomla! et phpBB3), j'ai eu beau chercher dans le forum la solution pour lui faire afficher la focale équivalente en 35mm selon l'apn utilisé. J'ai bien dégoté un post en allemand pour les anciennes versions de CPG, mais rien pour les versions récentes. Donc j'ai écrit ce petit bout de code qui fonctionne parfaitement pour la 1.4.18 (stable).
Ouvrez include/exif_php.inc.php et cherchez :
foreach ($exif as $key => $val) {
if (strpos($showExifStr,"|".$key) && isset($val)){
$exifParsed[$lang_picinfo[$key]] = $val;
//$exifParsed[$key] = $val;
}
}
APRES, insérez :
//Equiv 35 mm
if (isset($exif['FocalLength']) && preg_match("/FinePix S5Pro/i",$exif['Model'])) $exifParsed[$lang_picinfo['FocalLength']] = $exif['FocalLength'] . " - (" . number_format($exif['FocalLength']*1.5,0) . " mm équiv.)";
else if (isset($exif['FocalLength']) && preg_match("/FinePix S9600/i",$exif['Model'])) $exifParsed[$lang_picinfo['FocalLength']] = $exif['FocalLength'] . " - (" . number_format($exif['FocalLength']*4.5,0) . " mm équiv.)";
else if (isset($exif['FocalLength']) && preg_match("/DiMAGE Z10/i",$exif['Model'])) $exifParsed[$lang_picinfo['FocalLength']] = $exif['FocalLength'] . " - (" . number_format($exif['FocalLength']*6.04,0) . " mm équiv.)";
Dans ce code d'exemple, on a un FinePix S5Pro avec un coeff. de 1.5, un FinePix S9600 avec un coeff. de 4.5 etc... Attention à bien utiliser un point comme séparateur décimal pour le coefficient et non pas une virgule !
Il vous suffit d'adapter le nom du modèle correspondant à celui que vous affiche CPG dans les exif de la photo (à insérer entre / et /i de preg_match) et à rechercher le coefficient multiplicateur pour l'apn concerné (à insérer entre * et ,0 de number_format).
Vous pourrez rajouter autant de lignes else if ... que vous avez de modèles différents dans votre galerie.
Quelques exemples sur la galerie
Fuji Passion.
Have fun !