Changeset View
Changeset View
Standalone View
Standalone View
tools/run_event.php
<?php | <?php | ||||
/** | /** | ||||
* @version $Id$ | * @version $Id$ | ||||
* @package In-Portal | * @package In-Portal | ||||
* @copyright Copyright (C) 1997 - 2011 Intechnic. All rights reserved. | * @copyright Copyright (C) 1997 - 2015 Intechnic. All rights reserved. | ||||
* @license GNU/GPL | * @license GNU/GPL | ||||
* In-Portal is Open Source software. | * In-Portal is Open Source software. | ||||
* This means that this software may have been modified pursuant | * This means that this software may have been modified pursuant | ||||
* the GNU General Public License, and as distributed it includes | * the GNU General Public License, and as distributed it includes | ||||
* or is derivative of works licensed under the GNU General Public License | * or is derivative of works licensed under the GNU General Public License | ||||
* or other free or open source software licenses. | * or other free or open source software licenses. | ||||
* See http://www.in-portal.org/license for copyright notices and details. | * See http://www.in-portal.org/license for copyright notices and details. | ||||
*/ | */ | ||||
exit_code(1, 'This script needs to be enabled manually !'); | if ( PHP_SAPI !== 'cli' ) { | ||||
echo 'This script is intended to be used from command-line only !'; | |||||
if ( php_sapi_name() != 'cli' ) { | exit(64); | ||||
exit_code(2, 'This script is intended to be used from command-line only !'); | |||||
} | } | ||||
$start = microtime(true); | |||||
define('CRON', 1); | |||||
define('ADMIN', 1); | |||||
define('FULL_PATH', realpath(dirname(__FILE__) . '/..')); | define('FULL_PATH', realpath(dirname(__FILE__) . '/..')); | ||||
define('DBG_SKIP_REPORTING', 1); | |||||
$_SERVER['HTTP_USER_AGENT'] = 'gecko'; | |||||
// in command line, then 2nd argument is password | |||||
$password = isset($argv) && isset($argv[2]) ? $argv[2] : ''; | |||||
if ( $password != 'b674006f3edb1d9cd4d838c150b0567d' ) { | |||||
exit_code(3, 'Bad key'); | |||||
} | |||||
include_once(FULL_PATH . '/core/kernel/startup.php'); | |||||
$application =& kApplication::Instance(); | |||||
$application->Init(); | |||||
$application->StoreVar('user_id', USER_ROOT, true); | /* | ||||
* Arguments: | |||||
$run_event = new kEvent($argv[1]); // event name in form "prefix[.special]:event_name" | * 1 - event name | ||||
$application->HandleEvent($run_event); | * 2 - password | ||||
* 3 - ip address for deployment (not handled) | |||||
$application->Done(); | */ | ||||
$exit_code = 0; | |||||
$event_name = isset($argv[1]) ? $argv[1] : ''; | |||||
passthru(FULL_PATH . '/in-portal event:run ' . escapeshellarg($event_name), $exit_code); | |||||
exit($exit_code); | |||||
$end = microtime(true); | $end = microtime(true); | ||||
exit_code($run_event->status == kEvent::erSUCCESS ? 0 : 4); | |||||
function exit_code($code, $msg = '') | |||||
{ | |||||
if ( $msg ) { | |||||
echo $msg . PHP_EOL; | |||||
} | |||||
exit($code); | |||||
} | |||||
$end = microtime(true); | |||||
No newline at end of file |