60 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace Zotlabs\Daemon;
 | |
| 
 | |
| if(array_search( __file__ , get_included_files()) === 0) {
 | |
| 	require_once('include/cli_startup.php');
 | |
| 	array_shift($argv);
 | |
| 	$argc = count($argv);
 | |
| 
 | |
| 	if($argc)
 | |
| 		Master::Release($argc,$argv);
 | |
| 	killme();
 | |
| }
 | |
| 
 | |
| 
 | |
| 
 | |
| class Master {
 | |
| 
 | |
| 	static public function Summon($arr) {
 | |
| 		$hookinfo = [
 | |
| 			'argv'=>$arr
 | |
| 		];
 | |
| 
 | |
| 		call_hooks ('daemon_master_summon',$hookinfo);
 | |
| 
 | |
| 		$arr = $hookinfo['argv'];
 | |
| 		$argc = count($arr);
 | |
| 
 | |
| 		if ((!is_array($arr) || (count($arr) < 1))) {
 | |
| 			logger("Summon handled by hook.",LOGGER_DEBUG);
 | |
| 			return;
 | |
| 		}
 | |
| 
 | |
| 		$phpbin = get_config('system','phpbin','php');
 | |
| 		proc_run($phpbin,'Zotlabs/Daemon/Master.php',$arr);
 | |
| 	}
 | |
| 
 | |
| 	static public function Release($argc,$argv) {
 | |
| 		cli_startup();
 | |
| 
 | |
| 		$hookinfo = [
 | |
| 			'argv'=>$argv
 | |
| 		];
 | |
| 
 | |
| 		call_hooks ('daemon_master_release',$hookinfo);
 | |
| 
 | |
| 		$argv = $hookinfo['argv'];
 | |
| 		$argc = count($argv);
 | |
| 
 | |
| 		if ((!is_array($argv) || (count($argv) < 1))) {
 | |
| 			logger("Release handled by hook.",LOGGER_DEBUG);
 | |
| 			return;
 | |
| 		}
 | |
| 
 | |
| 		logger('Master: release: ' . json_encode($argv), LOGGER_ALL,LOG_DEBUG);
 | |
|                 $cls = '\\Zotlabs\\Daemon\\' . $argv[0];
 | |
|                 $cls::run($argc,$argv);
 | |
| 	}
 | |
| }
 |