require_once PIWIK_INCLUDE_PATH . '/core/Common.php'; if (!empty($_SERVER['argv'][0])) { $callee = $_SERVER['argv'][0]; } else { $callee = ''; } if (false !== strpos($callee, 'archive.php')) { $piwikHome = PIWIK_INCLUDE_PATH; echo "\n-------------------------------------------------------\nUsing this 'archive.php' script is no longer recommended.\nPlease use '/path/to/php {$piwikHome}/console core:archive " . implode('', array_slice($_SERVER['argv'], 1)) . "' instead.\nTo get help use '/path/to/php {$piwikHome}/console core:archive --help'\nSee also: http://piwik.org/docs/setup-auto-archiving/\n\nIf you cannot use the console because it requires CLI\ntry 'php archive.php --url=http://your.piwik/path'\n-------------------------------------------------------\n\n\n"; } if (Piwik\Common::isPhpCliMode()) { require_once PIWIK_INCLUDE_PATH . "/core/bootstrap.php"; $console = new Piwik\Console(); // manipulate command line arguments so CoreArchiver command will be executed $script = array_shift($_SERVER['argv']); array_unshift($_SERVER['argv'], 'core:archive'); array_unshift($_SERVER['argv'], $script); $console->run(); } else { // if running via web request, use CoreAdminHome.runCronArchiving method Piwik\Common::sendHeader('Content-type: text/plain'); $_GET['module'] = 'API'; $_GET['method'] = 'CoreAdminHome.runCronArchiving'; $_GET['format'] = 'console'; // will use Content-type text/plain if (!isset($_GET['token_auth'])) { echo "\n<b>You must specify the Super User token_auth as a parameter to this script, eg. <code>?token_auth=XYZ</code> if you wish to run this script through the browser. </b><br>\nHowever it is recommended to run it <a href='http://piwik.org/docs/setup-auto-archiving/'>via cron in the command line</a>, since it can take a long time to run.<br/>\nIn a shell, execute for example the following to trigger archiving on the local Piwik server:<br/>\n<code>\$ /path/to/php /path/to/piwik/console core:archive --url=http://your-website.org/path/to/piwik/</code>\n\n\n"; exit; } require_once PIWIK_INCLUDE_PATH . "/index.php"; }
echo " ------------------------------------------------------- Using this 'archive.php' script is no longer recommended. Please use '/path/to/php $piwikHome/console core:archive " . implode('', array_slice($_SERVER['argv'], 1)) . "' instead. To get help use '/path/to/php $piwikHome/console core:archive --help' See also: http://piwik.org/docs/setup-auto-archiving/ If you cannot use the console because it requires CLI try 'php archive.php --url=http://your.piwik/path' ------------------------------------------------------- \n\n"; } require_once PIWIK_INCLUDE_PATH . '/core/Common.php'; if (Piwik\Common::isPhpCliMode()) { require_once PIWIK_INCLUDE_PATH . "/core/bootstrap.php"; $console = new Piwik\Console(); // manipulate command line arguments so CoreArchiver command will be executed $script = array_shift($_SERVER['argv']); array_unshift($_SERVER['argv'], 'core:archive'); array_unshift($_SERVER['argv'], $script); $console->run(); } else { // if running via web request, use CoreAdminHome.runCronArchiving method $_GET['module'] = 'API'; $_GET['method'] = 'CoreAdminHome.runCronArchiving'; require_once PIWIK_INCLUDE_PATH . "/index.php";
public function test_request_shouldWorkInCaseItDoesNotRunFromCli() { $urls = $this->buildUrls('getAnswerToLife', 'getAnswerToLife'); \Piwik\Common::$isCliMode = false; $this->assertRequestReturnsValidResponses($urls, array('getAnswerToLife', 'getAnswerToLife')); }
require_once PIWIK_INCLUDE_PATH . "/index.php"; } if (!empty($_SERVER['argv'][0])) { $callee = $_SERVER['argv'][0]; } else { $callee = ''; } if (false !== strpos($callee, 'archive.php')) { $piwikHome = PIWIK_INCLUDE_PATH; echo "\n-------------------------------------------------------\nUsing this 'archive.php' script is no longer recommended.\nPlease use '/path/to/php {$piwikHome}/console core:archive " . implode('', array_slice($_SERVER['argv'], 1)) . "' instead.\nTo get help use '/path/to/php {$piwikHome}/console core:archive --help'\nSee also: http://piwik.org/docs/setup-auto-archiving/\n\nIf you cannot use the console because it requires CLI\ntry 'php archive.php -- url=http://your.piwik/path'\n-------------------------------------------------------\n\n\n"; } if (isset($_SERVER['argv']) && Piwik\Console::isSupported()) { $console = new Piwik\Console(); $console->init(); // manipulate command line arguments so CoreArchiver command will be executed $script = array_shift($_SERVER['argv']); array_unshift($_SERVER['argv'], 'core:archive'); array_unshift($_SERVER['argv'], $script); $console->run(); } else { // if running via web request, use CronArchive directly $archiver = new Piwik\CronArchive(); $token_auth = Piwik\Common::getRequestVar('token_auth', '', 'string'); if ($token_auth !== $archiver->getTokenAuth() || strlen($token_auth) != 32) { die('<b>You must specify the Super User token_auth as a parameter to this script, eg. <code>?token_auth=XYZ</code> if you wish to run this script through the browser. </b><br> However it is recommended to run it <a href="http://piwik.org/docs/setup-auto-archiving/">via cron in the command line</a>, since it can take a long time to run.<br/> In a shell, execute for example the following to trigger archiving on the local Piwik server:<br/> <code>$ /path/to/php /path/to/piwik/console core:archive --url=http://your-website.org/path/to/piwik/</code>'); } $archiver->main(); }