$smarty->assign('error_submit', 641); include "footer.php"; } $message = array(); $steps = he_quiz::check_steps($quiz_id); if ($task == 'save_general') { $name = trim($_POST['name']); $description = trim($_POST['description']); $cat_id = (int) $_POST['cat_id']; $photo = $_FILES['photo']; $result = he_quiz::save_quiz($quiz_id, $user->user_info['user_id'], $name, $description, $cat_id); $quiz_id = !$quiz_id && $result ? $result : $quiz_id; if (!$result) { $message = array('type' => 'error', 'title' => SE_Language::get(690691090), 'text' => SE_Language::get(690691094)); } else { $file_upload = he_quiz::save_photo($quiz_id, $photo); if (!$file_upload['result'] && $photo['name']) { $message = array('type' => 'notice', 'text' => $file_upload['error']); $redirect_url = "quiz_general.php?quiz_id={$quiz_id}"; } else { $redirect_url = "quiz_results.php?quiz_id={$quiz_id}"; } header("Location: {$redirect_url}"); } } $general_info = $quiz_id ? he_quiz::general_info($quiz_id) : $_POST; $quiz_cats = he_quiz::find_cats(); $smarty->assign('quiz_id', $quiz_id); $smarty->assign('general_info', $general_info); $smarty->assign('steps', $steps); $smarty->assign('message', $message);
function save_questions($quiz_id, $question_arr) { if (!$quiz_id || !$question_arr) { return false; } $question_ids = array(); foreach ($question_arr as $question) { $question_id = $question['id']; $question_ids[] = $question_id; if ($question_id) { he_quiz::update_question($question['id'], $question['text']); } else { $question_id = he_quiz::create_question($quiz_id, $question['text']); $question_ids[] = $question_id; } $photo = $question['filename']; if (isset($_FILES[$photo]['error']) && $_FILES[$photo]['error'] == 0) { $tmp_file = $_FILES[$photo]; he_quiz::save_photo($question_id, $tmp_file, 'question', $photo, 200); } foreach ($question['answers'] as $answer) { $answer_id = $answer['id']; if ($answer_id) { he_quiz::update_answer($answer_id, $answer['label']); } else { $answer_id = he_quiz::create_answer($question_id, $answer['result_id'], $answer['label']); } } } if (!$question_ids) { return false; } $question_str = implode(', ', $question_ids); //get removed questions $query = he_database::placeholder("SELECT `id` FROM `se_he_quiz_question`\r\n WHERE `id` NOT IN ({$question_str}) AND `quiz_id`=?", $quiz_id); $removed_ids = he_database::fetch_column($query); he_quiz::delete_questions($removed_ids); }