<?php include 'lib.php'; foreach (HomeControl::cronList() as $cronRow) { $cronAction = explode(':', $cronRow); if ($cronAction[2] <= time()) { // execute HomeControl::runAction(array_search($cronAction[0], HomeControl::$actions), @$cronAction[1] ?: null); // clear cron job HomeControl::cronRemove($cronRow); } }
<?php include 'lib.php'; $response = array('status' => false, 'message' => null); try { $requestTokens = explode(':', @$_REQUEST['x']); if (count($requestTokens) < 1 || !$requestTokens[0]) { throw new \Exception('no action given'); } if ($requestTokens[0] === 'cronList') { $response['status'] = true; $response['cron'] = HomeControl::cronList(); throw new \Exception(null); } elseif ($requestTokens[0] === 'cronRemove' && count($requestTokens) === 2) { $response['status'] = true; HomeControl::cronRemove(str_replace('-', ':', $requestTokens[1])); throw new \Exception(null); } if (!in_array($requestTokens[0], HomeControl::$actions)) { throw new \Exception('unknown action given'); } // all seems fine so far $response['status'] = true; // time in minutes to wait before execution if (@$requestTokens[2] > 0) { // queue // set time for execution $requestTokens[2] *= 60; // convert into minues $requestTokens[2] += time(); // add current time