<?php
/**
* @version   $Id: run_event.php 16680 2021-03-15 08:08:07Z alex $
* @package   In-Portal
* @copyright   Copyright (C) 1997 - 2011 Intechnic. All rights reserved.
* @license      GNU/GPL
* In-Portal is Open Source software.
* This means that this software may have been modified pursuant
* the GNU General Public License, and as distributed it includes
* or is derivative of works licensed under the GNU General Public License
* or other free or open source software licenses.
* 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_name() != 'cli' ) {
	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('DBG_SKIP_REPORTING', 1);
define('SKIP_OUT_COMPRESSION', 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);

$run_event = new kEvent($argv[1]); // event name in form "prefix[.special]:event_name"
$application->HandleEvent($run_event);

$application->Done();

$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);