ke_stats mit naw_securedl. Download Counter nicht funktioniert

  • 0 x
    112 Beiträge
    0 Hilfreiche Beiträge
    12. 01. 2013, 23:00

    Hallo Zusammen,

    bei mir zählt ke_stats Downloads von secured file links nicht.

    Beim direkten download Link funktioniert Zähler wohl: mysite.de/uploads/myfile.pdf (der Zähler wird auf +1 hochgezählt.)

    Beim secured download Link funktioniert Zähler nicht: mysite.de/index.php?eID=tx_nawsecuredl&u=345&file=uploads/myfile.pdf&t=1358114440&hash=4170121359c8f4256b1fb23c7d1b06665a3cff18

    Wie kann man Download counter am laufen bekommen ?

    Vielen Dank

    P.S.

    in htaccess habe ich rewrite von ke_stats:

    RewriteRule ^(.*)\.(doc|odt|pdf)$ index.php?eID=tx_kestats_filecounter [L]

    und Verbot auf direkten Dateizugriff
    <FilesMatch ".(xlsx|gz|pdf|zip|rar|txt|odt|ppt|pptx|docx|doc)$" >
    order allow,deny
    deny from all
    Allow from localhost
    </FilesMatch>


  • 1
  • 0 x
    25 Beiträge
    0 Hilfreiche Beiträge
    14. 01. 2013, 09:00

    Das geht tatsächlich nicht so einfach out-of-the-box, da ja naw_securedl auch die Ausgabe der Dateien umlenkt, genau wie ke_stats.

    Der sauberste Weg wäre, über einen Hook in naw_securedl die Zählung in ke_stats anzustoßen.

    Ein anderer Weg ist, die Extension naw_securedl zu patchen, das wäre so zu lösen:

    In "class.tx_nawsecuredl_output.php", Funktion "logDownload" folgendes eintragen (wobei unter "pid" die ID des Sys-Folders einzutragen ist, auf der die Daten im Backend abrufbar sein sollen):

    if (t3lib_extMgm::isLoaded('ke_stats')) {
    $keStatsObj = t3lib_div::getUserObj('EXT:ke_stats/pi1/class.tx_kestats_pi1.php:tx_kestats_pi1');
    $keStatsObj->initApi();
    $keStatsObj->statData['year'] = date('Y');
    $keStatsObj->statData['month'] = date('n');
    $keStatsObj->increaseCounter(
    'Downloads', // category
    'element_title,year,month', // comparefieldlist
    basename($this->file), // title
    0, // uid
    123, // pid
    0, // lang
    0, // type
    'extension' // stat type
    );
    unset($keStatsObj);
    }

  • 1