Beispiel #1
0
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";
    }
}