Exemplo n.º 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);
    }
}
Exemplo n.º 2
0
        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
        $cronRow = implode(':', $requestTokens);
        HomeControl::cronAdd($cronRow);
        $response['message'] = 'queued';
    } else {
        // execute
        $response['message'] = HomeControl::runAction(array_search($requestTokens[0], HomeControl::$actions), @$requestTokens[1] ?: null);
    }
} catch (\Exception $e) {
    $response['message'] = $e->getMessage();
}
header('Content-Type: application/json; charset: utf-8');
echo json_encode($response);