• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP make_unique_id_code函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中make_unique_id_code函数的典型用法代码示例。如果您正苦于以下问题:PHP make_unique_id_code函数的具体用法?PHP make_unique_id_code怎么用?PHP make_unique_id_code使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了make_unique_id_code函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: get_test_question_data

 /**
  * @return object the data to construct a question like
  * {@link qtype_gapselect_test_helper::make_a_gapselect_question()}.
  */
 protected function get_test_question_data()
 {
     global $USER;
     $gapselect = new stdClass();
     $gapselect->id = 0;
     $gapselect->category = 0;
     $gapselect->contextid = 0;
     $gapselect->parent = 0;
     $gapselect->questiontextformat = FORMAT_HTML;
     $gapselect->generalfeedbackformat = FORMAT_HTML;
     $gapselect->defaultmark = 1;
     $gapselect->penalty = 0.3333333;
     $gapselect->length = 1;
     $gapselect->stamp = make_unique_id_code();
     $gapselect->version = make_unique_id_code();
     $gapselect->hidden = 0;
     $gapselect->timecreated = time();
     $gapselect->timemodified = time();
     $gapselect->createdby = $USER->id;
     $gapselect->modifiedby = $USER->id;
     $gapselect->name = 'Selection from drop down list question';
     $gapselect->questiontext = 'The [[1]] brown [[2]] jumped over the [[3]] dog.';
     $gapselect->generalfeedback = 'This sentence uses each letter of the alphabet.';
     $gapselect->qtype = 'gapselect';
     $gapselect->options = new stdClass();
     $gapselect->options->shuffleanswers = true;
     test_question_maker::set_standard_combined_feedback_fields($gapselect->options);
     $gapselect->options->answers = array((object) array('answer' => 'quick', 'feedback' => '1'), (object) array('answer' => 'fox', 'feedback' => '2'), (object) array('answer' => 'lazy', 'feedback' => '3'), (object) array('answer' => 'assiduous', 'feedback' => '3'), (object) array('answer' => 'dog', 'feedback' => '2'), (object) array('answer' => 'slow', 'feedback' => '1'));
     return $gapselect;
 }
开发者ID:ndunand,项目名称:moodle-qtype_gapselect,代码行数:34,代码来源:questiontype_test.php


示例2: get_unknown_questiondata

 protected function get_unknown_questiondata()
 {
     $questiondata = new stdClass();
     $questiondata->id = 0;
     $questiondata->category = 0;
     $questiondata->contextid = 0;
     $questiondata->parent = 0;
     $questiondata->name = 'Test';
     $questiondata->questiontext = 'This is the question text.';
     $questiondata->questiontextformat = FORMAT_HTML;
     $questiondata->generalfeedback = 'This is the general feedback.';
     $questiondata->generalfeedbackformat = FORMAT_HTML;
     $questiondata->defaultmark = 1;
     $questiondata->penalty = 0.3333333;
     $questiondata->qtype = 'strange_unknown';
     $questiondata->length = 1;
     $questiondata->stamp = make_unique_id_code();
     $questiondata->version = make_unique_id_code();
     $questiondata->hidden = 0;
     $questiondata->timecreated = 0;
     $questiondata->timemodified = 0;
     $questiondata->createdby = 0;
     $questiondata->modifiedby = 0;
     return $questiondata;
 }
开发者ID:evltuma,项目名称:moodle,代码行数:25,代码来源:missingtype_test.php


示例3: get_linkerdesc_question_data_info

 /**
  * Get the question data, as it would be loaded by get_question_options.
  * @return object
  */
 public static function get_linkerdesc_question_data_info()
 {
     global $USER;
     $qdata = new stdClass();
     $qdata->id = 0;
     $qdata->contextid = 0;
     $qdata->category = 0;
     $qdata->parent = 0;
     $qdata->stamp = make_unique_id_code();
     $qdata->version = make_unique_id_code();
     $qdata->timecreated = time();
     $qdata->timemodified = time();
     $qdata->createdby = $USER->id;
     $qdata->modifiedby = $USER->id;
     $qdata->qtype = 'linkerdesc';
     $qdata->name = 'Description';
     $qdata->questiontext = 'Here is some information about the questions you are about to attempt.';
     $qdata->questiontextformat = FORMAT_HTML;
     $qdata->generalfeedback = 'And here is some more text shown only on the review page.';
     $qdata->generalfeedbackformat = FORMAT_HTML;
     $qdata->defaultmark = 0;
     $qdata->length = 0;
     $qdata->penalty = 0;
     $qdata->hidden = 0;
     $qdata->hints = array();
     $qdata->options = new stdClass();
     $qdata->options->answers = array();
     return $qdata;
 }
开发者ID:fontinixxl,项目名称:moodle-qtype_linkerdesc,代码行数:33,代码来源:helper.php


示例4: get_test_question_data

 /**
  * @return object the data to construct a question like
  * {@link qtype_ddwtos_test_helper::make_ddwtos_question_fox()}.
  */
 protected function get_test_question_data()
 {
     global $USER;
     $dd = new stdClass();
     $dd->id = 0;
     $dd->category = 0;
     $dd->contextid = 0;
     $dd->parent = 0;
     $dd->questiontextformat = FORMAT_HTML;
     $dd->generalfeedbackformat = FORMAT_HTML;
     $dd->defaultmark = 1;
     $dd->penalty = 0.3333333;
     $dd->length = 1;
     $dd->stamp = make_unique_id_code();
     $dd->version = make_unique_id_code();
     $dd->hidden = 0;
     $dd->timecreated = time();
     $dd->timemodified = time();
     $dd->createdby = $USER->id;
     $dd->modifiedby = $USER->id;
     $dd->name = 'Drag-and-drop words into sentences question';
     $dd->questiontext = 'The [[1]] brown [[2]] jumped over the [[3]] dog.';
     $dd->generalfeedback = 'This sentence uses each letter of the alphabet.';
     $dd->qtype = 'ddwtos';
     $dd->options = new stdClass();
     $dd->options->shuffleanswers = true;
     test_question_maker::set_standard_combined_feedback_fields($dd->options);
     $dd->options->answers = array((object) array('answer' => 'quick', 'feedback' => 'O:8:"stdClass":2:{s:9:"draggroup";s:1:"1";s:8:"infinite";i:0;}'), (object) array('answer' => 'fox', 'feedback' => 'O:8:"stdClass":2:{s:9:"draggroup";s:1:"2";s:8:"infinite";i:0;}'), (object) array('answer' => 'lazy', 'feedback' => 'O:8:"stdClass":2:{s:9:"draggroup";s:1:"3";s:8:"infinite";i:0;}'), (object) array('answer' => 'assiduous', 'feedback' => 'O:8:"stdClass":2:{s:9:"draggroup";s:1:"3";s:8:"infinite";i:0;}'), (object) array('answer' => 'dog', 'feedback' => 'O:8:"stdClass":2:{s:9:"draggroup";s:1:"2";s:8:"infinite";i:0;}'), (object) array('answer' => 'slow', 'feedback' => 'O:8:"stdClass":2:{s:9:"draggroup";s:1:"1";s:8:"infinite";i:0;}'));
     return $dd;
 }
开发者ID:antoniorodrigues,项目名称:redes-digitais,代码行数:34,代码来源:questiontype_test.php


示例5: get_test_question_data

 protected function get_test_question_data()
 {
     global $USER;
     $q = new stdClass();
     $q->id = 0;
     $q->name = 'Gapfill Question';
     $q->category = 0;
     $q->contextid = 0;
     $q->parent = 0;
     $q->questiontext = 'The [cat] sat on the [mat]';
     $q->questiontextformat = FORMAT_HTML;
     $q->generalfeedback = 'General feedback.';
     $q->generalfeedbackformat = FORMAT_HTML;
     $q->defaultmark = 1;
     $q->penalty = 0.3333333;
     $q->length = 1;
     $q->stamp = make_unique_id_code();
     $q->version = make_unique_id_code();
     $q->hidden = 0;
     $q->timecreated = time();
     $q->timemodified = time();
     $q->createdby = $USER->id;
     $q->modifiedby = $USER->id;
     $q->options = new stdClass();
     test_question_maker::set_standard_combined_feedback_fields($q->options);
     $q->options->displayanswers = 0;
     $q->options->delimitchars = "[]";
     return $q;
 }
开发者ID:dthies,项目名称:moodle-qtype_gapfill,代码行数:29,代码来源:questiontype_test.php


示例6: get_test_question_data

 protected function get_test_question_data()
 {
     global $USER;
     $q = new stdClass();
     $q->id = 0;
     $q->name = 'Drag and drop matching question';
     $q->category = 0;
     $q->contextid = 0;
     $q->parent = 0;
     $q->questiontext = 'Classify the animals.';
     $q->questiontextformat = FORMAT_HTML;
     $q->generalfeedback = 'General feedback.';
     $q->generalfeedbackformat = FORMAT_HTML;
     $q->defaultmark = 1;
     $q->penalty = 0.3333333;
     $q->length = 1;
     $q->stamp = make_unique_id_code();
     $q->version = make_unique_id_code();
     $q->hidden = 0;
     $q->timecreated = time();
     $q->timemodified = time();
     $q->createdby = $USER->id;
     $q->modifiedby = $USER->id;
     $q->options = new stdClass();
     $q->options->shuffleanswers = false;
     test_question_maker::set_standard_combined_feedback_fields($q->options);
     $q->options->subquestions = array(14 => (object) array('id' => 14, 'questiontext' => 'frog', 'questiontextformat' => FORMAT_HTML, 'answertext' => 'amphibian', 'answertextformat' => FORMAT_HTML), 15 => (object) array('id' => 15, 'questiontext' => 'cat', 'questiontextformat' => FORMAT_HTML, 'answertext' => 'mammal', 'answertextformat' => FORMAT_HTML), 16 => (object) array('id' => 16, 'questiontext' => 'newt', 'questiontextformat' => FORMAT_HTML, 'answertext' => 'amphibian', 'answertextformat' => FORMAT_HTML), 17 => (object) array('id' => 17, 'questiontext' => '', 'questiontextformat' => FORMAT_HTML, 'answertext' => 'insect', 'answertextformat' => FORMAT_HTML));
     return $q;
 }
开发者ID:VERSION2-Inc,项目名称:moodle-qtype_ddmatch,代码行数:29,代码来源:questiontype_test.php


示例7: create_question_category

 /**
  * Create a new question category.
  * @param array|stdClass $record
  * @return stdClass question_categories record.
  */
 public function create_question_category($record = null)
 {
     global $DB;
     $this->categorycount++;
     $defaults = array('name' => 'Test question category ' . $this->categorycount, 'contextid' => context_system::instance()->id, 'info' => '', 'infoformat' => FORMAT_HTML, 'stamp' => make_unique_id_code(), 'parent' => 0, 'sortorder' => 999);
     $record = $this->datagenerator->combine_defaults_and_record($defaults, $record);
     $record['id'] = $DB->insert_record('question_categories', $record);
     return (object) $record;
 }
开发者ID:evltuma,项目名称:moodle,代码行数:14,代码来源:lib.php


示例8: get_test_question_data

    protected function get_test_question_data() {
        global $USER;
        $q = new stdClass();
        $q->id = 0;
        $q->name = 'Simple multianswer';
        $q->category = 0;
        $q->contextid = 0;
        $q->parent = 0;
        $q->questiontext =
                'Complete this opening line of verse: "The {#1} and the {#2} went to sea".';
        $q->questiontextformat = FORMAT_HTML;
        $q->generalfeedback = 'Generalfeedback: It\'s from "The Owl and the Pussy-cat" by Lear: ' .
                '"The owl and the pussycat went to see';
        $q->generalfeedbackformat = FORMAT_HTML;
        $q->defaultmark = 2;
        $q->penalty = 0.3333333;
        $q->length = 1;
        $q->stamp = make_unique_id_code();
        $q->version = make_unique_id_code();
        $q->hidden = 0;
        $q->timecreated = time();
        $q->timemodified = time();
        $q->createdby = $USER->id;
        $q->modifiedby = $USER->id;

        $sadata = new stdClass();
        $sadata->id = 1;
        $sadata->qtype = 'shortanswer';
        $sadata->defaultmark = 1;
        $sadata->options->usecase = true;
        $sadata->options->answers[1] = (object) array('answer' => 'Bow-wow', 'fraction' => 0);
        $sadata->options->answers[2] = (object) array('answer' => 'Wiggly worm', 'fraction' => 0);
        $sadata->options->answers[3] = (object) array('answer' => 'Pussy-cat', 'fraction' => 1);

        $mcdata = new stdClass();
        $mcdata->id = 1;
        $mcdata->qtype = 'multichoice';
        $mcdata->defaultmark = 1;
        $mcdata->options->single = true;
        $mcdata->options->answers[1] = (object) array('answer' => 'Dog', 'fraction' => 0);
        $mcdata->options->answers[2] = (object) array('answer' => 'Owl', 'fraction' => 1);
        $mcdata->options->answers[3] = (object) array('answer' => '*', 'fraction' => 0);

        $q->options->questions = array(
            1 => $sadata,
            2 => $mcdata,
        );

        return $q;
    }
开发者ID:JP-Git,项目名称:moodle,代码行数:50,代码来源:questiontype_test.php


示例9: make_test_question

 public function make_test_question() {
     global $USER;
     $q = new stdClass();
     $q->id = 0;
     $q->contextid = 0;
     $q->category = 0;
     $q->parent = 0;
     $q->questiontextformat = FORMAT_HTML;
     $q->generalfeedbackformat = FORMAT_HTML;
     $q->defaultmark = 1;
     $q->penalty = 0.3333333;
     $q->length = 1;
     $q->stamp = make_unique_id_code();
     $q->version = make_unique_id_code();
     $q->hidden = 0;
     $q->timecreated = time();
     $q->timemodified = time();
     $q->createdby = $USER->id;
     $q->modifiedby = $USER->id;
     return $q;
 }
开发者ID:Jtgadbois,项目名称:Pedadida,代码行数:21,代码来源:xmlformat_test.php


示例10: get_default_question_category

/**
* Gets the default category in a course
*
* It returns the first category with no parent category. If no categories
* exist yet then one is created.
* @return object The default category
* @param integer $courseid  The id of the course whose default category is wanted
*/
function get_default_question_category($courseid)
{
    // If it already exists, just return it.
    if ($category = get_records_select("question_categories", "course = '{$courseid}' AND parent = '0'", 'id', '*', '', 1)) {
        return reset($category);
    }
    // Otherwise, we need to make one
    $category = new stdClass();
    $category->name = get_string("default", "quiz");
    $category->info = get_string("defaultinfo", "quiz");
    $category->course = $courseid;
    $category->parent = 0;
    $category->sortorder = 999;
    // By default, all categories get this number, and are sorted alphabetically.
    $category->publish = 0;
    $category->stamp = make_unique_id_code();
    if (!($category->id = insert_record("question_categories", $category))) {
        notify("Error creating a default category!");
        return false;
    }
    return $category;
}
开发者ID:veritech,项目名称:pare-project,代码行数:30,代码来源:editlib.php


示例11: question_make_default_categories

/**
* Gets the default category in the most specific context.
* If no categories exist yet then default ones are created in all contexts.
*
* @param array $contexts  The context objects for this context and all parent contexts.
* @return object The default category - the category in the course context
*/
function question_make_default_categories($contexts)
{
    $toreturn = null;
    // If it already exists, just return it.
    foreach ($contexts as $key => $context) {
        if (!($categoryrs = get_recordset_select("question_categories", "contextid = '{$context->id}'", 'sortorder, name', '*', '', 1))) {
            error('error getting category record');
        } else {
            if (!($category = rs_fetch_record($categoryrs))) {
                // Otherwise, we need to make one
                $category = new stdClass();
                $contextname = print_context_name($context, false, true);
                $category->name = addslashes(get_string('defaultfor', 'question', $contextname));
                $category->info = addslashes(get_string('defaultinfofor', 'question', $contextname));
                $category->contextid = $context->id;
                $category->parent = 0;
                $category->sortorder = 999;
                // By default, all categories get this number, and are sorted alphabetically.
                $category->stamp = make_unique_id_code();
                if (!($category->id = insert_record('question_categories', $category))) {
                    error('Error creating a default category for context ' . print_context_name($context));
                }
            }
        }
        if ($context->contextlevel == CONTEXT_COURSE) {
            $toreturn = clone $category;
        }
    }
    return $toreturn;
}
开发者ID:e-rasvet,项目名称:reader,代码行数:37,代码来源:questionlib.php


示例12: addRandomQuizQuestions

function addRandomQuizQuestions($cmid, $cat_id)
{
    global $QTYPES;
    $result = true;
    $recurse = 1;
    list($quiz, $cm) = get_module_from_cmid($cmid);
    if ($rs = get_records('question_categories', 'parent', $cat_id, 'sortorder')) {
        $course = get_record('course', 'id', $quiz->course);
        foreach ($rs as $cat) {
            $categoryid = $cat->id;
            $randomcount = 1;
            // load category
            if (!($category = get_record('question_categories', 'id', $categoryid))) {
                error('Category ID is incorrect');
            }
            $catcontext = get_context_instance_by_id($category->contextid);
            require_capability('moodle/question:useall', $catcontext);
            $category->name = addslashes($category->name);
            // Find existing random questions in this category that are not used by any quiz.
            if ($existingquestions = get_records_sql("SELECT * FROM " . $CFG->prefix . "question q\n                        WHERE qtype = '" . RANDOM . "'\n                            AND category = {$category->id}\n                            AND " . sql_compare_text('questiontext') . " = '{$recurse}'\n                            AND NOT EXISTS (SELECT * FROM " . $CFG->prefix . "quiz_question_instances WHERE question = q.id)\n                        ORDER BY id")) {
                // Take as many of these as needed.
                while ($existingquestion = array_shift($existingquestions) and $randomcount > 0) {
                    if (!quiz_add_quiz_question($existingquestion->id, $quiz)) {
                        $result = false;
                    }
                    $randomcount--;
                }
            }
            // If more are needed, create them.
            if ($randomcount > 0) {
                //echo "NOT EXISTING:".$cat->id."<br/>";
                $form->questiontext = $recurse;
                // we use the questiontext field to store the info
                // on whether to include questions in subcategories
                $form->questiontextformat = 0;
                $form->image = '';
                $form->defaultgrade = 1;
                $form->hidden = 1;
                for ($i = 0; $i < $randomcount; $i++) {
                    $form->category = "{$category->id},{$category->contextid}";
                    $form->stamp = make_unique_id_code();
                    // Set the unique code (not to be changed)
                    $question = new stdClass();
                    $question->qtype = RANDOM;
                    $question = $QTYPES[RANDOM]->save_question($question, $form, $course);
                    if (!isset($question->id)) {
                        error('Could not insert new random question!');
                        $result = false;
                    }
                    //quiz_add_quiz_question($question->id, $quiz);
                    if (!quiz_add_quiz_question($question->id, $quiz)) {
                        $result = false;
                    }
                }
            }
            $significantchangemade = true;
        }
    }
    return $result;
    /*
        $result = true;
        $recurse = 1;
       list($quiz, $cm) = get_module_from_cmid($cmid);
       if ($rs = get_recordset('question_categories','parent',$cat_id)) {
               $course = get_record('course','id',$quiz->course);
                foreach ($rs as $category) {
                        echo $category->name."<br/>";
                        /// Add random questions to the quiz
                        // - Source from: /mod/quiz/edit.php
                        $randomcount = 1;
                        // load category
                       //$catcontext = get_context_instance_by_id($category->contextid);
                        //require_capability('moodle/question:useall', $catcontext);
                        $category->name = $category->name;
                        // Find existing random questions in this category that are
                        // not used by any quiz.
                        if ($existingquestions = get_records_sql(
                                "SELECT q.id,q.qtype FROM {question} q
                                WHERE qtype = '" . RANDOM . "'
                                    AND category = ?
                                    AND " . $DB->sql_compare_text('questiontext') . " = ?
                                    AND NOT EXISTS (SELECT * FROM {quiz_question_instances} WHERE question = q.id)
                                ORDER BY id", array($category->id, $recurse))) {
                            // Take as many of these as needed.
                            while (($existingquestion = array_shift($existingquestions)) && $randomcount > 0) {
                                //quiz_add_quiz_question($existingquestion->id, $quiz);
                                if(!quiz_add_quiz_question($existingquestion->id, $quiz)){
                                    $result = false;
                                }
                                $randomcount--;
                            }
                        }
                       // If more are needed, create them.
                        if ($randomcount > 0) {
                           $form->questiontext = $recurse; // we use the questiontext field
                                    // to store the info on whether to include
                                    // questions in subcategories
                            $form->questiontextformat = 0;
                            $form->image = '';
                            $form->defaultgrade = 1;
//.........这里部分代码省略.........
开发者ID:arshanam,项目名称:Moodle-ITScholars-LMS,代码行数:101,代码来源:special.php


示例13: question_make_default_categories

/**
 * Gets the default category in the most specific context.
 * If no categories exist yet then default ones are created in all contexts.
 *
 * @param array $contexts  The context objects for this context and all parent contexts.
 * @return object The default category - the category in the course context
 */
function question_make_default_categories($contexts)
{
    global $DB;
    static $preferredlevels = array(CONTEXT_COURSE => 4, CONTEXT_MODULE => 3, CONTEXT_COURSECAT => 2, CONTEXT_SYSTEM => 1);
    $toreturn = null;
    $preferredness = 0;
    // If it already exists, just return it.
    foreach ($contexts as $key => $context) {
        if (!($exists = $DB->record_exists("question_categories", array('contextid' => $context->id)))) {
            // Otherwise, we need to make one
            $category = new stdClass();
            $contextname = $context->get_context_name(false, true);
            $category->name = get_string('defaultfor', 'question', $contextname);
            $category->info = get_string('defaultinfofor', 'question', $contextname);
            $category->contextid = $context->id;
            $category->parent = 0;
            // By default, all categories get this number, and are sorted alphabetically.
            $category->sortorder = 999;
            $category->stamp = make_unique_id_code();
            $category->id = $DB->insert_record('question_categories', $category);
        } else {
            $category = question_get_default_category($context->id);
        }
        $thispreferredness = $preferredlevels[$context->contextlevel];
        if (has_any_capability(array('moodle/question:usemine', 'moodle/question:useall'), $context)) {
            $thispreferredness += 10;
        }
        if ($thispreferredness > $preferredness) {
            $toreturn = $category;
            $preferredness = $thispreferredness;
        }
    }
    if (!is_null($toreturn)) {
        $toreturn = clone $toreturn;
    }
    return $toreturn;
}
开发者ID:tyleung,项目名称:CMPUT401MoodleExams,代码行数:44,代码来源:questionlib.php


示例14: initialise_question_data

 public static function initialise_question_data($qdata)
 {
     global $USER;
     $qdata->id = 0;
     $qdata->category = 0;
     $qdata->contextid = 0;
     $qdata->parent = 0;
     $qdata->questiontextformat = FORMAT_HTML;
     $qdata->generalfeedbackformat = FORMAT_HTML;
     $qdata->defaultmark = 1;
     $qdata->penalty = 0.3333333;
     $qdata->length = 1;
     $qdata->stamp = make_unique_id_code();
     $qdata->version = make_unique_id_code();
     $qdata->hidden = 0;
     $qdata->timecreated = time();
     $qdata->timemodified = time();
     $qdata->createdby = $USER->id;
     $qdata->modifiedby = $USER->id;
     $qdata->hints = array();
 }
开发者ID:gabrielrosset,项目名称:moodle,代码行数:21,代码来源:helpers.php


示例15: xmldb_main_upgrade


//.........这里部分代码省略.........
            }
            $stattask->nextruntime = $nextruntime;
            $stattask->minute = $minute;
            $stattask->hour = $hour;
            $stattask->customised = 1;
            $DB->update_record('task_scheduled', $stattask);
        }
        // These settings are no longer used.
        unset_config('statsruntimestarthour');
        unset_config('statsruntimestartminute');
        unset_config('statslastexecution');
        upgrade_main_savepoint(true, 2016081700.02);
    }
    if ($oldversion < 2016082200.0) {
        // An upgrade step to remove any duplicate stamps, within the same context, in the question_categories table, and to
        // add a unique index to (contextid, stamp) to avoid future stamp duplication. See MDL-54864.
        // Extend the execution time limit of the script to 2 hours.
        upgrade_set_timeout(7200);
        // This SQL fetches the id of those records which have duplicate stamps within the same context.
        // This doesn't return the original record within the context, from which the duplicate stamps were likely created.
        $fromclause = "FROM (\n                        SELECT min(id) AS minid, contextid, stamp\n                            FROM {question_categories}\n                            GROUP BY contextid, stamp\n                        ) minid\n                        JOIN {question_categories} qc\n                            ON qc.contextid = minid.contextid AND qc.stamp = minid.stamp AND qc.id > minid.minid";
        // Get the total record count - used for the progress bar.
        $countduplicatessql = "SELECT count(qc.id) {$fromclause}";
        $total = $DB->count_records_sql($countduplicatessql);
        // Get the records themselves.
        $getduplicatessql = "SELECT qc.id {$fromclause} ORDER BY minid";
        $rs = $DB->get_recordset_sql($getduplicatessql);
        // For each duplicate, update the stamp to a new random value.
        $i = 0;
        $pbar = new progress_bar('updatequestioncategorystamp', 500, true);
        foreach ($rs as $record) {
            // Generate a new, unique stamp and update the record.
            do {
                $newstamp = make_unique_id_code();
            } while (isset($usedstamps[$newstamp]));
            $usedstamps[$newstamp] = 1;
            $DB->set_field('question_categories', 'stamp', $newstamp, array('id' => $record->id));
            // Update progress.
            $i++;
            $pbar->update($i, $total, "Updating duplicate question category stamp - {$i}/{$total}.");
        }
        unset($usedstamps);
        // The uniqueness of each (contextid, stamp) pair is now guaranteed, so add the unique index to stop future duplicates.
        $table = new xmldb_table('question_categories');
        $index = new xmldb_index('contextidstamp', XMLDB_INDEX_UNIQUE, array('contextid', 'stamp'));
        if (!$dbman->index_exists($table, $index)) {
            $dbman->add_index($table, $index);
        }
        // Savepoint reached.
        upgrade_main_savepoint(true, 2016082200.0);
    }
    if ($oldversion < 2016091900.0) {
        // Removing the themes from core.
        $themes = array('base', 'canvas');
        foreach ($themes as $key => $theme) {
            if (check_dir_exists($CFG->dirroot . '/theme/' . $theme, false)) {
                // Ignore the themes that have been re-downloaded.
                unset($themes[$key]);
            }
        }
        if (!empty($themes)) {
            // Hacky emulation of plugin uninstallation.
            foreach ($themes as $theme) {
                unset_all_config_for_plugin('theme_' . $theme);
            }
        }
开发者ID:dg711,项目名称:moodle,代码行数:67,代码来源:upgrade.php


示例16: add_category

 /**
  * Creates a new category with given params
  *
  */
 function add_category($newparent, $newcategory, $newinfo)
 {
     if (empty($newcategory)) {
         print_error('categorynamecantbeblank', 'quiz');
     }
     list($parentid, $contextid) = explode(',', $newparent);
     //moodle_form makes sure select element output is legal no need for further cleaning
     require_capability('moodle/question:managecategory', get_context_instance_by_id($contextid));
     if ($parentid) {
         if (!(get_field('question_categories', 'contextid', 'id', $parentid) == $contextid)) {
             error("Could not insert the new question category '{$newcategory}' illegal contextid '{$contextid}'.");
         }
     }
     $cat = new object();
     $cat->parent = $parentid;
     $cat->contextid = $contextid;
     $cat->name = $newcategory;
     $cat->info = $newinfo;
     $cat->sortorder = 999;
     $cat->stamp = make_unique_id_code();
     if (!insert_record("question_categories", $cat)) {
         error("Could not insert the new question category '{$newcategory}'");
     } else {
         redirect($this->pageurl->out());
         //always redirect after successful action
     }
 }
开发者ID:kai707,项目名称:ITSA-backup,代码行数:31,代码来源:category_class.php


示例17: importprocess


//.........这里部分代码省略.........
                 $fractionset = 0;
                 for ($i = 4; $i <= 7; $i++) {
                     if ($qrec[$i] != "") {
                         $question->answer[$i - 3] = addslashes($qrec[$i]);
                         if ($qrec[8] == $i - 3) {
                             // if this is the index of CorrectAnswer
                             $question->fraction[$i - 3] = 1;
                             $fractionset = 1;
                         } else {
                             $question->fraction[$i - 3] = 0;
                         }
                         $question->feedback[$i - 3] = ($qrec[8] == $i - 3 ? "Correct. " : "Incorrect. ") . $ref;
                     }
                 }
                 if ($fractionset == 0) {
                     $question->fraction[1] = 1;
                 }
                 break;
             case 2:
                 // TRUE FALSE
                 $question->qtype = TRUEFALSE;
                 $question->questiontext = addslashes(trim($qrec[2]));
                 $question->name = preg_replace("/<br />/", "", $question->questiontext);
                 // for TF, $question->answer should be 1 for true, 0 for false
                 if ($qrec[8] == "T") {
                     $question->answer = 1;
                 } else {
                     $question->answer = 0;
                 }
                 // for TF, use $question->feedbacktrue and feedbackfalse
                 $question->feedbacktrue = ($qrec[8] == "T" ? "Correct. " : "Incorrect. ") . $ref;
                 $question->feedbackfalse = ($qrec[8] == "F" ? "Correct. " : "Incorrect. ") . $ref;
                 break;
             case 3:
                 $question->qtype = SHORTANSWER;
                 $question->questiontext = addslashes(trim($qrec[2]));
                 //          echo "<pre>";echo $question->questiontext; echo "</pre>";
                 $question->name = preg_replace("/<br />/", "", $question->questiontext);
                 $question->usecase = 0;
                 // Ignore case -- for SHORT ANSWER questions
                 $answers = explode("~", $qrec[8]);
                 $question->answer[0] = " ";
                 $question->fraction[0] = 1;
                 for ($i = 0; $i < count($answers); $i++) {
                     $question->answer[$i] = addslashes(trim($answers[$i]));
                     $question->feedback[$i] = $ref;
                     $question->fraction[$i] = 1;
                     // 1 for 100%, 0 for none or somewhere in between
                 }
                 break;
             case 4:
                 $question = 0;
                 notify("Cannot use essay questions - skipping question " . $qrec[2] . " " . $ref);
                 break;
             default:
                 $question = 0;
                 notify("Misformatted Record.  Question Skipped.");
                 break;
         }
         if ($question) {
             $questions[] = $question;
         }
     }
     $count = 0;
     // process all the questions
     if (PHP_OS == "WINNT") {
         $filename = str_replace("\\\\", "\\", $filename);
         $filename = str_replace("/", "\\", $filename);
     }
     foreach ($questions as $question) {
         // Process and store each question
         $count++;
         echo "<hr /><p><b>{$count}</b>. " . stripslashes($question->questiontext) . "</p>";
         $question->category = $this->category->id;
         $question->stamp = make_unique_id_code();
         // Set the unique code (not to be changed)
         $question->createdby = $USER->id;
         $question->timecreated = time();
         if (!($question->id = insert_record("question", $question))) {
             error("Could not insert new question!");
         }
         $this->questionids[] = $question->id;
         // Now to save all the answers and type-specific options
         $result = save_question_options($question);
         if (!empty($result->error)) {
             notify($result->error);
             $this->deletedatabase($filename);
             return false;
         }
         if (!empty($result->notice)) {
             notify($result->notice);
             $this->deletedatabase($filename);
             return true;
         }
         // Give the question a unique version stamp determined by question_hash()
         set_field('question', 'version', question_hash($question), 'id', $question->id);
     }
     $this->deletedatabase($filename);
     return true;
 }
开发者ID:BackupTheBerlios,项目名称:samouk-svn,代码行数:101,代码来源:format.php


示例18: quiz_add_random_questions

function quiz_add_random_questions($quiz, $addonpage, $categoryid, $number,
        $includesubcategories) {
    global $DB;

    $category = $DB->get_record('question_categories', array('id' => $categoryid));
    if (!$category) {
        print_error('invalidcategoryid', 'error');
    }

    $catcontext = get_context_instance_by_id($category->contextid);
    require_capability('moodle/question:useall', $catcontext);

    // Find existing random questions in this category that are
    // not used by any quiz.
    if ($existingquestions = $DB->get_records_sql(
            "SELECT q.id, q.qtype FROM {question} q
            WHERE qtype = 'random'
                AND category = ?
                AND " . $DB->sql_compare_text('questiontext') . " = ?
                AND NOT EXISTS (
                        SELECT *
                          FROM {quiz_question_instances}
                         WHERE question = q.id)
            ORDER BY id", array($category->id, $includesubcategories))) {
        // Take as many of these as needed.
        while (($existingquestion = array_shift($existingquestions)) && $number > 0) {
            quiz_add_quiz_question($existingquestion->id, $quiz, $addonpage);
            $number -= 1;
        }
    }

    if ($number <= 0) {
        return;
    }

    // More random questions are needed, create them.
    for ($i = 0; $i < $number; $i += 1) {
        $form = new stdClass();
        $form->questiontext = array('text' => $includesubcategories, 'format' => 0);
        $form->category = $category->id . ',' . $category->contextid;
        $form->defaultmark = 1;
        $form->hidden = 1;
        $form->stamp = make_unique_id_code(); // Set the unique code (not to be changed).
        $question = new stdClass();
        $question->qtype = 'random';
        $question = question_bank::get_qtype('random')->save_question($question, $form);
        if (!isset($question->id)) {
            print_error('cannotinsertrandomquestion', 'quiz');
        }
        quiz_add_quiz_question($question->id, $quiz, $addonpage);
    }
}
开发者ID:nigeli,项目名称:moodle,代码行数:52,代码来源:editlib.php


示例19: restore_question_category

function restore_question_category($category, $restore)
{
    $status = true;
    //Skip empty categories (some backups can contain them)
    if (!empty($category->id)) {
        //Get record from backup_ids
        $data = backup_getid($restore->backup_unique_code, "question_categories", $category->id);
        if ($data) {
            //Now get completed xmlized object
            $info = $data->info;
            //traverse_xmlize($info);                                                                     //Debug
            //print_object ($GLOBALS['traverse_array']);                                                  //Debug
            //$GLOBALS['traverse_array']="";                                                              //Debug
            //Now, build the question_categories record structure
            $question_cat = new stdClass();
            $question_cat->name = backup_todb($info['QUESTION_CATEGORY']['#']['NAME']['0']['#']);
            $question_cat->info = backup_todb($info['QUESTION_CATEGORY']['#']['INFO']['0']['#']);
            $question_cat->stamp = backup_todb($info['QUESTION_CATEGORY']['#']['STAMP']['0']['#']);
            //parent is fix 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP make_upload_directory函数代码示例发布时间:2022-05-15
下一篇:
PHP make_timestamp函数代码示例发布时间:2022-05-15
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap