Skip to content
Extraits de code Groupes Projets
piwik.php 2,94 ko
Newer Older
johmathe's avatar
johmathe a validé
/**
 * Piwik - free/libre analytics platform
johmathe's avatar
johmathe a validé
 * @link http://piwik.org
 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
robocoder's avatar
robocoder a validé
 * @package Piwik
johmathe's avatar
johmathe a validé
 */
mattab's avatar
mattab a validé

Thomas Steur's avatar
Thomas Steur a validé
use Piwik\Tracker\RequestSet;
Thomas Steur's avatar
Thomas Steur a validé
use Piwik\Tracker\Handler;
// Note: if you wish to debug the Tracking API please see this documentation:
// http://developer.piwik.org/api-reference/tracking-api#debugging-the-tracker

diosmosis's avatar
diosmosis a validé
if (!defined('PIWIK_DOCUMENT_ROOT')) {
diosmosis's avatar
diosmosis a validé
    define('PIWIK_DOCUMENT_ROOT', dirname(__FILE__) == '/' ? '' : dirname(__FILE__));
}

if (file_exists(PIWIK_DOCUMENT_ROOT . '/bootstrap.php')) {
    require_once PIWIK_DOCUMENT_ROOT . '/bootstrap.php';
error_reporting(E_ALL | E_NOTICE);
mattpiwik's avatar
mattpiwik a validé
@ini_set('xdebug.show_exception_trace', 0);
@ini_set('magic_quotes_runtime', 0);
if (!defined('PIWIK_USER_PATH')) {
    define('PIWIK_USER_PATH', PIWIK_DOCUMENT_ROOT);
if (!defined('PIWIK_INCLUDE_PATH')) {
    define('PIWIK_INCLUDE_PATH', PIWIK_DOCUMENT_ROOT);
@ignore_user_abort(true);
if (file_exists(PIWIK_INCLUDE_PATH . '/vendor/autoload.php')) {
    $vendorDirectory = PIWIK_INCLUDE_PATH . '/vendor';
} else {
    $vendorDirectory = PIWIK_INCLUDE_PATH . '/../..';
}
require_once $vendorDirectory . '/autoload.php';

require_once PIWIK_INCLUDE_PATH . '/core/Plugin/Controller.php';
require_once PIWIK_INCLUDE_PATH . '/core/Plugin/ControllerAdmin.php';

\Piwik\Plugin\ControllerAdmin::disableEacceleratorIfEnabled();

require_once PIWIK_INCLUDE_PATH . '/libs/upgradephp/upgrade.php';
require_once PIWIK_INCLUDE_PATH . '/core/testMinimumPhpVersion.php';
require_once PIWIK_INCLUDE_PATH . '/core/Singleton.php';
require_once PIWIK_INCLUDE_PATH . '/core/Plugin/Manager.php';
require_once PIWIK_INCLUDE_PATH . '/core/Plugin.php';
require_once PIWIK_INCLUDE_PATH . '/core/Common.php';
mattab's avatar
mattab a validé
require_once PIWIK_INCLUDE_PATH . '/core/Piwik.php';
require_once PIWIK_INCLUDE_PATH . '/core/IP.php';
require_once PIWIK_INCLUDE_PATH . '/core/UrlHelper.php';
mattab's avatar
mattab a validé
require_once PIWIK_INCLUDE_PATH . '/core/Url.php';
require_once PIWIK_INCLUDE_PATH . '/core/SettingsPiwik.php';
Thomas Steur's avatar
Thomas Steur a validé
require_once PIWIK_INCLUDE_PATH . '/core/SettingsServer.php';
require_once PIWIK_INCLUDE_PATH . '/core/Tracker.php';
require_once PIWIK_INCLUDE_PATH . '/core/Config.php';
require_once PIWIK_INCLUDE_PATH . '/core/Translate.php';
require_once PIWIK_INCLUDE_PATH . '/core/Tracker/Cache.php';
require_once PIWIK_INCLUDE_PATH . '/core/Tracker/Request.php';
require_once PIWIK_INCLUDE_PATH . '/core/Cookie.php';
session_cache_limiter('nocache');
mattpiwik's avatar
mattpiwik a validé
@date_default_timezone_set('UTC');
try {
    Tracker::loadTrackerEnvironment();
} catch (Exception $e) {
    // eg. Piwik is not installed yet
}

Thomas Steur's avatar
Thomas Steur a validé
$tracker    = new Tracker();
$requestSet = new RequestSet();
Thomas Steur's avatar
Thomas Steur a validé
ob_start();
Thomas Steur's avatar
Thomas Steur a validé
try {
    $handler  = Handler\Factory::make();
    $response = $tracker->main($handler, $requestSet);
mattab's avatar
mattab a validé

Thomas Steur's avatar
Thomas Steur a validé
    if (!is_null($response)) {
        echo $response;
    }
mattab's avatar
mattab a validé

Thomas Steur's avatar
Thomas Steur a validé
} catch (Exception $e) {
    echo "Error:" . $e->getMessage();
    exit(1);
Thomas Steur's avatar
Thomas Steur a validé
if (ob_get_level() > 1) {
Thomas Steur's avatar
Thomas Steur a validé
}