haxorqt
Home
Console
Upload
information
Create File
Create Folder
About
:
/
home
/
sc1jaqa5103
/
prod.puv-editions.fr
/
wp-content
/
plugins
/
wp-piwik
/
classes
/
WP_Piwik
/
Request
/
Filename :
Php.php
back
Copy
<?php namespace WP_Piwik\Request; class Php extends \WP_Piwik\Request { /** * @var mixed */ private static $piwik_environment = false; protected function request( $id ) { $count = 0; $url = self::$settings->get_global_option( 'piwik_url' ); foreach ( self::$requests as $request_id => $config ) { if ( ! isset( self::$results[ $request_id ] ) ) { if ( '' !== self::$settings->get_global_option( 'filter_limit' ) && is_numeric( self::$settings->get_global_option( 'filter_limit' ) ) ) { $config['parameter']['filter_limit'] = self::$settings->get_global_option( 'filter_limit' ); } $params = $this->get_url_params( $config ); $params['module'] = 'API'; $params['format'] = 'json'; $map[ $count ] = $request_id; $result = $this->call( $id, $url, $params ); self::$results[ $map[ $count ] ] = $result; ++$count; } } } private function call( $id, $url, $params ) { if ( ! defined( 'PIWIK_INCLUDE_PATH' ) ) { return false; } if ( PIWIK_INCLUDE_PATH === false ) { return array( 'result' => 'error', 'message' => __( 'Could not resolve', 'wp-piwik' ) . ' "' . htmlentities( self::$settings->get_global_option( 'piwik_path' ) ) . '": ' . __( 'realpath() returns false', 'wp-piwik' ) . '.', ); } if ( file_exists( PIWIK_INCLUDE_PATH . '/index.php' ) ) { require_once PIWIK_INCLUDE_PATH . '/index.php'; } if ( file_exists( PIWIK_INCLUDE_PATH . '/core/API/Request.php' ) ) { require_once PIWIK_INCLUDE_PATH . '/core/API/Request.php'; } if ( class_exists( '\Piwik\Application\Environment' ) && ! self::$piwik_environment ) { // Piwik 2.14.* compatibility fix self::$piwik_environment = new \Piwik\Application\Environment( null ); self::$piwik_environment->init(); } if ( class_exists( 'Piwik\FrontController' ) ) { \Piwik\FrontController::getInstance()->init(); } else { return array( 'result' => 'error', 'message' => __( 'Class Piwik\FrontController does not exists.', 'wp-piwik' ), ); } if ( class_exists( 'Piwik\API\Request' ) ) { $params['token_auth'] = self::$settings->get_global_option( 'piwik_token' ); $request = new \Piwik\API\Request( $params ); } else { return array( 'result' => 'error', 'message' => __( 'Class Piwik\API\Request does not exists.', 'wp-piwik' ), ); } $result = $request->process(); if ( ! headers_sent() ) { header( 'Content-Type: text/html', true ); } $result = $this->unserialize( $result ); if ( $GLOBALS ['wp-piwik_debug'] ) { self::$debug[ $id ] = [ $this->build_debug_params( $params ) ]; } return $result; } /** * Render the parameters of a request for debug output, with the auth token masked. * * @param array $params request parameters, including the auth token. * @return string */ protected function build_debug_params( $params ) { if ( isset( $params['token_auth'] ) ) { $params['token_auth'] = '...'; } return http_build_query( $params, '', '&' ); } public function reset() { if ( class_exists( '\Piwik\Application\Environment' ) && self::$piwik_environment instanceof \Piwik\Application\Environment ) { self::$piwik_environment->destroy(); } if ( class_exists( 'Piwik\FrontController' ) ) { \Piwik\FrontController::unsetInstance(); } parent::reset(); } }