function watupro_copy_exam() { global $wpdb, $user_ID; $multiuser_access = 'all'; if (watupro_intel()) { $multiuser_access = WatuPROIMultiUser::check_access('exams_access'); } $own_sql = $multiuser_access == 'own' ? $wpdb->prepare(" AND editor_id=%d ", $user_ID) : ""; $exam = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . WATUPRO_EXAMS . " WHERE ID=%d", $_GET['id'])); $grades = $wpdb->get_results($wpdb->prepare("SELECT * FROM " . WATUPRO_GRADES . " WHERE exam_id=%d order by ID ", $exam->ID)); $questions = $wpdb->get_results($wpdb->prepare("SELECT cat_id, question, ID FROM " . WATUPRO_QUESTIONS . " WHERE exam_id=%d ORDER BY sort_order, ID", $exam->ID)); $cids = array(0); foreach ($questions as $question) { if (!in_array($question->cat_id, $cids)) { $cids[] = $question->cat_id; } } $cidsql = implode(", ", $cids); // select question categories to group questions by cats $qcats = $wpdb->get_results("SELECT * FROM " . WATUPRO_QCATS . " WHERE ID IN ({$cidsql}) ORDER BY name"); // add Uncategorized $qcats[] = (object) array("ID" => 0, "name" => __('Uncategorized', 'watupro')); $other_exams = $wpdb->get_results("SELECT * FROM " . WATUPRO_EXAMS . " WHERE ID!='" . $exam->ID . "' {$own_sql} ORDER BY name"); if (!empty($_POST['copy_exam'])) { try { $copy_to = $_POST['copy_option'] == 'new' ? 0 : $_POST['copy_to']; WTPExam::copy($exam->ID, $copy_to); $_SESSION['flash'] = __("The exam was successfully copied!", 'watupro'); watupro_redirect("admin.php?page=watupro_exams"); } catch (Exception $e) { $error = $e->getMessage(); } } if (@file_exists(get_stylesheet_directory() . '/watupro/copy-exam-form.html.php')) { require get_stylesheet_directory() . '/watupro/copy-exam-form.html.php'; } else { require WATUPRO_PATH . "/views/copy-exam-form.html.php"; } }