Пример #1
0
<?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);
    }
}
Пример #2
0
<?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