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

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

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 ?  :-\