Comptabilisez les vues en Mode SlideShow
Cpg 1.3.x & Cpg 1.4.x
Que fait ce MOD ? :
Il n'est pas prévu dans le code de Coppermine de comptabiliser les images vues pendant un Diaporama !
Pourtant ces images sont effectivement bien vues !
Avec ce MOD, Coppermine décomptera les images vues durant le diaporama.
Les dernières images vues sont également prises en compte (lashits)
1/ Editez include/slideshow.inc.php mais faites une sauvegarde de votre fichier :
Recherchez :
<script language="JavaScript" type="text/JavaScript">
?
immédiatement après, ajoutez ceci :
var x1;
x1 = createRequestObject();
function createRequestObject() {
var x = false;
try {
x = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
x = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
x = false;
}
}
if (!x && typeof XMLHttpRequest != "undefined") {
x = new XMLHttpRequest();
}
return x;
}
function addHit(pid) {
x1.open('get','addHit.php?pid='+pid);
x1.onreadystatechange = function() {
if (x1.readyState == 4) {
return (x1.responseText);
}
}
x1.send(null);
}
Recherchez :
var Pic = new Array() // don't touch this
juste après la ligne ci-dessus, ajoutez :
var Pid = new Array()
Trouvez :
echo "Pic[$i] = '" . $picture_url . "'\n";
à la suite de quoi vous ajouterez ceci :
echo "Pid[$i] = '" . $picture['pid'] . "'\n";
Remplacez (ou mettez en commentaire) ceci :
if (xIE4Up){
document.images.SlideShow.filters.blendTrans.Play()
}
par ceci :
if (xIE4Up){
document.images.SlideShow.filters.blendTrans.Play()
}
addHit(Pid[j])
2/ Créez un nouveau fichier nommez-le addHit.php. Vous le placerez à la racine de votre Coppermine.
<?php
define('IN_COPPERMINE', true);
require('include/init.inc.php');
if (isset($_GET['pid'])) {
// Add 1 to hit counter
$pid = (int)$_GET['pid'];
if (!in_array($pid, $USER['liv']) && isset($HTTP_COOKIE_VARS[$CONFIG['cookie_name'] . '_data'])) {
add_hit($pid);
if (count($USER['liv']) > 4) array_shift($USER['liv']);
array_push($USER['liv'], $pid);
user_save_profile();
}
}
?>
PYAP