/** * Store a newly created resource in storage. * * @return Response */ public function store(Request $request) { $insert = $request->all(); $safeName = false; //upload image if ($file = Input::file('image')) { $fileName = $file->getClientOriginalName(); $extension = $file->getClientOriginalExtension() ?: 'png'; $folderName = '/uploads/'; $destinationPath = Config::get('app.path') . $folderName; $safeName = time() . "_" . str_random(10) . '.' . $extension; $file->move($destinationPath, $safeName); $insert['image'] = $safeName ? $folderName . $safeName : ''; } else { $insert['image'] = ""; } foreach (Exercise::$boolean as $field) { if (isset($insert[$field]) && $insert[$field] == "on") { $insert[$field] = 1; } } exercise::create($insert); return redirect('admin/exercises')->with('success', Lang::get('message.success.create')); }
} } if ($page > $total_pages) { $page = $total_pages; } $start = $limit * $page - $limit; if ($start < 0) { $start = 0; } $sql = "SELECT exe_id,\n exe_user_id,\n firstname,\n lastname,\n aa.status,\n start_date,\n exe_result,\n exe_weighting,\n exe_result/exe_weighting as score,\n exe_duration,\n questions_to_check,\n orig_lp_id\n FROM {$user_table} u\n INNER JOIN (\n SELECT t.exe_id, t.exe_user_id, status,\n start_date, exe_result, exe_weighting, exe_result/exe_weighting as score, exe_duration, questions_to_check, orig_lp_id\n FROM {$track_exercise} t LEFT JOIN {$track_attempt} a ON (a.exe_id = t.exe_id AND t.exe_user_id = a.user_id )\n WHERE t.status = 'incomplete' AND\n {$where_condition}\n GROUP BY exe_user_id\n ) as aa\n ON aa.exe_user_id = user_id\n ORDER BY {$sidx} {$sord} LIMIT {$start}, {$limit}"; $result = Database::query($sql); $results = array(); while ($row = Database::fetch_array($result, 'ASSOC')) { $results[] = $row; } $oExe = new exercise(); $oExe->read($exercise_id); $response = new stdClass(); $response->page = $page; $response->total = $total_pages; $response->records = $count; $i = 0; if (!empty($results)) { foreach ($results as $row) { $sql = "SELECT SUM(count_question_id) as count_question_id FROM (\n SELECT 1 as count_question_id FROM {$track_attempt} a\n WHERE user_id = {$row['exe_user_id']} and exe_id = {$row['exe_id']}\n GROUP by question_id\n ) as count_table"; $result_count = Database::query($sql); $count_questions = Database::fetch_array($result_count, 'ASSOC'); $count_questions = $count_questions['count_question_id']; $row['count_questions'] = $count_questions; $response->rows[$i]['id'] = $row['exe_id']; $remaining = strtotime($row['start_date']) + $oExe->expired_time * 60 - strtotime(api_get_utc_datetime(time()));