[MOD/HACK] Comptabilisez les vues en Mode SlideShow [MOD/HACK] Comptabilisez les vues en Mode SlideShow
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

[MOD/HACK] Comptabilisez les vues en Mode SlideShow

Started by Pascal YAP, September 07, 2006, 10:30:56 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Pascal YAP

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']) > 4array_shift($USER['liv']);
      
array_push($USER['liv'], $pid);
      
user_save_profile();
  }  
}
?>



PYAP

marcoz71

super !!!
je l'ai prouvé, mais il comptes en mode slideshow seulement si je souis logged in... c'est possible ?  :-\