Example #1
0
         $minutenew = intval($_GPC['minute']);
         $minutenew = $minutenew >= 0 && $minutenew < 60 ? $minutenew : '';
     }
     $data['minute'] = $minutenew;
     if ($id > 0) {
         $data['id'] = $cron['cloudid'];
         $status = cloud_cron_update($data);
         if (is_error($status)) {
             message($status['message'], '', 'error');
         }
         $data['id'] = $id;
         unset($data['cloudid']);
         pdo_update('core_cron', $data, array('id' => $id, 'uniacid' => $_W['uniacid']));
         message('编辑计划任务成功', url('cron/display/list'), 'success');
     } else {
         $status = cloud_cron_create($data);
         if (is_error($status)) {
             message($status['message'], '', 'error');
         }
         $data['cloudid'] = $status['cron_id'];
         pdo_insert('core_cron', $data);
         message('添加计划任务成功', url('cron/display/list'), 'success');
     }
 }
 $modules_temp = uni_modules();
 $modules['task'] = array('name' => 'task', 'title' => '系统任务');
 foreach ($modules_temp as $module) {
     if (!$module['issystem']) {
         $modules[$module['name']] = array('name' => $module['name'], 'title' => $module['title']);
     }
 }
Example #2
0
function cron_add($data)
{
    global $_W;
    load()->model('cloud');
    if (empty($data['uniacid'])) {
        $data['uniacid'] = $_W['uniacid'];
    }
    if (empty($data['name'])) {
        return error(-1, '任务名称不能为空');
    }
    if (empty($data['filename'])) {
        return error(-1, '任务脚本不能为空');
    }
    if (empty($data['module'])) {
        return error(-1, '任务所属模块不能为空');
    }
    if (empty($data['type']) || !in_array($data['type'], array(1, 2))) {
        return error(-1, '任务的类型不能为空');
    }
    if ($data['type'] == 1 && $data['lastruntime'] <= TIMESTAMP) {
        return error(-1, '定时任务的执行时间不能小于当前时间');
    } else {
        $data['nextruntime'] = $data['lastruntime'];
    }
    $data['day'] = intval($data['weekday']) == -1 ? intval($data['day']) : -1;
    $data['weekday'] = intval($data['weekday']);
    $data['hour'] = intval($data['hour']);
    $data['module'] = trim($data['module']);
    $data['minute'] = str_replace(',', ',', $data['minute']);
    if (strpos($data['minute'], ',') !== FALSE) {
        $minutenew = explode(',', $data['minute']);
        foreach ($minutenew as $key => $val) {
            $minutenew[$key] = $val = intval($val);
            if ($val < 0 || $val > 59) {
                unset($minutenew[$key]);
            }
        }
        $minutenew = array_slice(array_unique($minutenew), 0, 2);
        $minutenew = implode("\t", $minutenew);
    } else {
        $minutenew = intval($data['minute']);
        $minutenew = $minutenew >= 0 && $minutenew < 60 ? $minutenew : '';
    }
    $data['minute'] = $minutenew;
    $data['createtime'] = TIMESTAMP;
    $data = array_elements(array('uniacid', 'name', 'filename', 'module', 'type', 'status', 'day', 'weekday', 'hour', 'minute', 'status', 'lastruntime', 'nextruntime', 'createtime', 'extra'), $data);
    $status = cloud_cron_create($data);
    if (is_error($status)) {
        return $status;
    }
    $data['cloudid'] = $status['cron_id'];
    pdo_insert('core_cron', $data);
    return pdo_insertid();
}