static function mark_review() { global $wpdb; $_watu = new WatuPRO(); // this will only happen for logged in users if (!is_user_logged_in()) { return false; } $taking_id = $_watu->add_taking($_POST['exam_id'], 1); // select current data if any $marked_for_review = $wpdb->get_var($wpdb->prepare("SELECT marked_for_review FROM " . WATUPRO_TAKEN_EXAMS . "\n\t\t\tWHERE ID=%d", $taking_id)); if (empty($marked_for_review)) { $marked_for_review = array("question_ids" => array(), "question_nums" => array()); } else { $marked_for_review = unserialize($marked_for_review); } if ($_POST['act'] == 'mark') { $marked_for_review['question_ids'][] = $_POST['question_id']; $marked_for_review['question_nums'][] = $_POST['question_num']; } else { // unmark foreach ($marked_for_review['question_ids'] as $cnt => $id) { if ($id == $_POST['question_id']) { unset($marked_for_review['question_ids'][$cnt]); } } foreach ($marked_for_review['question_nums'] as $cnt => $num) { if ($num == $_POST['question_num']) { unset($marked_for_review['question_nums'][$cnt]); } } } // now save $wpdb->query($wpdb->prepare("UPDATE " . WATUPRO_TAKEN_EXAMS . " SET marked_for_review=%s WHERE ID=%d", serialize($marked_for_review), $taking_id)); }
function watupro_store_all($question_ids) { if (!is_user_logged_in()) { exit; } $_watu = new WatuPRO(); $taking_id = $_watu->add_taking($_POST['exam_id'], 1); $qids = $_POST['question_ids']; foreach ($qids as $qid) { $answer = serialize($_POST['answer-' . $qid]); $_watu->store_details($_POST['exam_id'], $taking_id, $qid, $answer); } }