Пример #1
0
            //If there is a task running and the action!=continue,
            //we stop to avoid multiple task instance being ran at same time.
            exit;
        }
        if (($taskID = isTaskRunning($conn)) == 0) {
            //if no task is running, create a new one.
            $taskID = createTask($conn, count($users));
        }
        if ($taskID != 0) {
            for ($i = getTaskUserCountProgress($conn, $taskID); $i < count($users); $i++) {
                //If time elapsed is more than 15 seconds, rerun the script to bypass PHP timeout
                if (time() - $startTime > 15) {
                    asyncExecuteScript('update_user_stats.php?action=continue');
                    exit('Script continuing on another process.');
                }
                updateTaskProgress($conn, $taskID, $users[$i]['id']);
                $newUserStats = fetchUserStatsFromKid($users[$i]['invite_url']);
                updateUserStats($conn, $users[$i]['username'], explode(';', $newUserStats)[0], explode(';', $newUserStats)[1]);
            }
            setTaskFinished($conn, $taskID, -1);
            exit('Update finished.');
        } else {
            exit('error : Couldn\'t create task in database.');
        }
    }
} else {
    exit('error : Couldn\'t connect to database.');
}
/**
 * The reason why we don't want sorting is because the script calls itself after having updated a few
 * users. This can change the index order.
Пример #2
0
    $task_is_complete = isset($task_is_complete) ? $task_is_complete : $_GET['task_is_complete'];
    $task_date_completed = isset($task_date_completed) ? $task_date_completed : $_GET['task_date_completed'];
    $module_progress = isset($module_progress) ? $module_progress : $_GET['module_progress'];
    $module_is_complete = isset($module_is_complete) ? $module_is_complete : $_GET['module_is_complete'];
    $module_date_completed = isset($module_date_completed) ? $module_date_completed : $_GET['module_date_completed'];
    if ($step_action == "record") {
        $step_updated = recordStepProgress($step_id, $user_id, $step_is_complete, $step_date_completed);
        $message = "Tep has been recorded successfully";
    } else {
        if ($step_action == "remove") {
            $step_updated = removeStepProgress($step_id, $user_id);
            $message = "Tep has been removed successfully";
        }
    }
    if ($step_updated) {
        $task_updated = updateTaskProgress($task_id, $user_id, $task_progress, $task_is_complete, $task_date_completed);
        if ($task_updated) {
            $module_updated = updateModuleProgress($module_id, $user_id, $module_progress, $module_is_complete, $module_date_completed);
            if ($module_updated) {
                $response = '{"status": "ok", "message": "' . $message . '"}';
            } else {
                $response = '{"status": "error", "message": "The module progress could not be updated. Please try again later."}';
            }
        } else {
            $response = '{"status": "error", "message": "The task progress could not be updated. Please try again later."}';
        }
    } else {
        $response = '{"status": "error", "message": "The step progress could not be recorded. Please try again later."}';
    }
} else {
    if ($module_id) {