diff options
author | Jean-Michel Vedrine <vedrine@vedrine.org> | 2013-01-04 14:24:55 +0100 |
---|---|---|
committer | Jean-Michel Vedrine <vedrine@vedrine.org> | 2013-01-04 14:24:55 +0100 |
commit | 5712bf7b91964e6dbbd2afdead94bb3dd8c0030a (patch) | |
tree | 2e87f78dc6c740e9a9d4c90166ec939e86575f13 /backup | |
parent | c4791e4bfdb54e6c1e2eeb1567196cc76662c28f (diff) |
Ability to use Mathjax for TeX rendering
Diffstat (limited to 'backup')
-rw-r--r-- | backup/moodle1/lib.php | 38 | ||||
-rw-r--r-- | backup/moodle2/backup_qtype_algebra_plugin.class.php | 65 | ||||
-rw-r--r-- | backup/moodle2/restore_qtype_algebra_plugin.class.php | 60 |
3 files changed, 83 insertions, 80 deletions
diff --git a/backup/moodle1/lib.php b/backup/moodle1/lib.php index d9a6406..9ffe528 100644 --- a/backup/moodle1/lib.php +++ b/backup/moodle1/lib.php @@ -1,5 +1,4 @@ <?php - // This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify @@ -16,9 +15,8 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * @package qtype - * @subpackage algebra - * @copyright 2011 David Mudrak <david@moodle.com> + * @package qtype_algebra + * @copyright Roger Moore <rwmoore@ualberta.ca> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ @@ -44,36 +42,36 @@ class moodle1_qtype_algebra_handler extends moodle1_qtype_handler { * Appends the algebra specific information to the question */ public function process_question(array $data, array $raw) { - // convert and write the answers first + // Convert and write the answers first. if (isset($data['answers'])) { $this->write_answers($data['answers'], $this->pluginname); } - - // convert and write the algebra variables + + // Convert and write the algebra variables. if (isset($data['algebra'][0]['varlist']['variable'])) { $variables = $data['algebra'][0]['varlist']['variable']; } else { $variables = array(); } - $this->xmlwriter->begin_tag('algebra_variables'); + $this->xmlwriter->begin_tag('algebra_variables'); foreach ($variables as $variable) { $this->xmlwriter->begin_tag('algebra_variable', array('id' => $this->converter->get_nextid())); $this->xmlwriter->full_tag('name', $variable['name']); $this->xmlwriter->full_tag('min', $variable['min']); - $this->xmlwriter->full_tag('max', $variable['max']); + $this->xmlwriter->full_tag('max', $variable['max']); $this->xmlwriter->end_tag('algebra_variable'); } $this->xmlwriter->end_tag('algebra_variables'); - - // and finally the algebra options - $options = $data['algebra'][0]; - $this->xmlwriter->begin_tag('algebra', array('id' => $this->converter->get_nextid())); - $this->xmlwriter->full_tag('compareby', $options['compareby']); - $this->xmlwriter->full_tag('nchecks', $options['nchecks']); - $this->xmlwriter->full_tag('tolerance', $options['tolerance']); - $this->xmlwriter->full_tag('disallow', $options['disallow']); - $this->xmlwriter->full_tag('allowedfuncs', $options['allowedfuncs']); - $this->xmlwriter->full_tag('answerprefix', $options['answerprefix']); - $this->xmlwriter->end_tag('algebra'); + + // And finally the algebra options. + $options = $data['algebra'][0]; + $this->xmlwriter->begin_tag('algebra', array('id' => $this->converter->get_nextid())); + $this->xmlwriter->full_tag('compareby', $options['compareby']); + $this->xmlwriter->full_tag('nchecks', $options['nchecks']); + $this->xmlwriter->full_tag('tolerance', $options['tolerance']); + $this->xmlwriter->full_tag('disallow', $options['disallow']); + $this->xmlwriter->full_tag('allowedfuncs', $options['allowedfuncs']); + $this->xmlwriter->full_tag('answerprefix', $options['answerprefix']); + $this->xmlwriter->end_tag('algebra'); } } diff --git a/backup/moodle2/backup_qtype_algebra_plugin.class.php b/backup/moodle2/backup_qtype_algebra_plugin.class.php index 9e08467..e55e1e0 100644 --- a/backup/moodle2/backup_qtype_algebra_plugin.class.php +++ b/backup/moodle2/backup_qtype_algebra_plugin.class.php @@ -1,16 +1,25 @@ <?php +// This file is part of Moodle - http://moodle.org/ +// +// Moodle is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Moodle is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Moodle algebra question type class. - * - * @copyright © 2010 Hon Wai, Lau - * @author Hon Wai, Lau <lau65536@gmail.com> - * @license http://www.gnu.org/copyleft/gpl.html GNU Public License version 3 - * @package questionbank - * @subpackage questiontypes - * @copyright 2010 onwards Eloy Lafuente (stronk7) {@link http://stronk7.com} + * @package qtype_algebra + * @copyright Roger Moore <rwmoore@ualberta.ca> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ + defined('MOODLE_INTERNAL') || die(); /** @@ -23,40 +32,40 @@ class backup_qtype_algebra_plugin extends backup_qtype_plugin { */ protected function define_question_plugin_structure() { - // Define the virtual plugin element with the condition to fulfill + // Define the virtual plugin element with the condition to fulfill. $plugin = $this->get_plugin_element(null, '../../qtype', 'algebra'); - // Create one standard named plugin element (the visible container) + // Create one standard named plugin element (the visible container). $pluginwrapper = new backup_nested_element($this->get_recommended_name()); - // connect the visible container ASAP + // Connect the visible container ASAP. $plugin->add_child($pluginwrapper); - - // This qtype uses standard question_answers, add them here - // to the tree before any other information that will use them + + // This qtype uses standard question_answers, add them here + // to the tree before any other information that will use them. $this->add_question_question_answers($pluginwrapper); - // Now create the qtype own structures - - $algebravariables = new backup_nested_element('algebra_variables'); - - $algebravariable = new backup_nested_element('algebra_variable', array('id'), array( + // Now create the qtype own structures. + + $algebravariables = new backup_nested_element('algebra_variables'); + + $algebravariable = new backup_nested_element('algebra_variable', array('id'), array( 'name', 'min', 'max')); - - $algebra = new backup_nested_element('algebra', array('id'), array( + + $algebra = new backup_nested_element('algebra', array('id'), array( 'compareby', 'nchecks', 'tolerance', 'disallow', 'allowedfuncs', 'answerprefix')); - // Now the own qtype tree - $pluginwrapper->add_child($algebravariables); + // Now the own qtype tree. + $pluginwrapper->add_child($algebravariables); $algebravariables->add_child($algebravariable); - $pluginwrapper->add_child($algebra); + $pluginwrapper->add_child($algebra); - // set source to populate the data - $algebra->set_source_table('question_algebra', array('questionid' => backup::VAR_PARENTID)); - $algebravariable->set_source_table('question_algebra_variables', array('question' => backup::VAR_PARENTID)); + // Set source to populate the data. + $algebra->set_source_table('qtype_algebra', array('questionid' => backup::VAR_PARENTID)); + $algebravariable->set_source_table('qtype_algebra_variables', array('question' => backup::VAR_PARENTID)); - // don't need to annotate ids nor files + // Don't need to annotate ids nor files. return $plugin; } diff --git a/backup/moodle2/restore_qtype_algebra_plugin.class.php b/backup/moodle2/restore_qtype_algebra_plugin.class.php index 5c2d567..58acf2d 100644 --- a/backup/moodle2/restore_qtype_algebra_plugin.class.php +++ b/backup/moodle2/restore_qtype_algebra_plugin.class.php @@ -1,5 +1,4 @@ <?php - // This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify @@ -16,16 +15,15 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * @package moodlecore - * @subpackage backup-moodle2 - * @copyright 2010 onwards Eloy Lafuente (stronk7) {@link http://stronk7.com} + * @package qtype_algebra + * @copyright Roger Moore <rwmoore@ualberta.ca> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); /** - * restore plugin class that provides the necessary information + * Restore plugin class that provides the necessary information * needed to restore one algebra qtype plugin */ class restore_qtype_algebra_plugin extends restore_qtype_plugin { @@ -36,19 +34,19 @@ class restore_qtype_algebra_plugin extends restore_qtype_plugin { protected function define_question_plugin_structure() { $paths = array(); - - // This qtype uses question_answers, add them + + // This qtype uses question_answers, add them. $this->add_question_question_answers($paths); - // Add own qtype stuff + // Add own qtype stuff. $elename = 'algebravariable'; - $elepath = $this->get_pathfor('/algebra_variables/algebra_variable'); // we used get_recommended_name() so this works + $elepath = $this->get_pathfor('/algebra_variables/algebra_variable'); // We used get_recommended_name() so this works. $paths[] = new restore_path_element($elename, $elepath); - $elename = 'algebra'; - $elepath = $this->get_pathfor('/algebra'); // we used get_recommended_name() so this works + $elename = 'algebra'; + $elepath = $this->get_pathfor('/algebra'); // We used get_recommended_name() so this works. $paths[] = new restore_path_element($elename, $elepath); - return $paths; // And we return the interesting paths + return $paths; // And we return the interesting paths. } /** @@ -59,25 +57,24 @@ class restore_qtype_algebra_plugin extends restore_qtype_plugin { $data = (object)$data; $oldid = $data->id; - // Detect if the question is created or mapped + // Detect if the question is created or mapped. $oldquestionid = $this->get_old_parentid('question'); $newquestionid = $this->get_new_parentid('question'); $questioncreated = $this->get_mappingid('question_created', $oldquestionid) ? true : false; - // If the question has been created by restore, we need to create its question_algebra too + // If the question has been created by restore, we need to create its qtype_algebra too. if ($questioncreated) { - // Adjust some columns + // Adjust some columns. $data->questionid = $newquestionid; - // Insert record - $newitemid = $DB->insert_record('question_algebra', $data); - // Create mapping (needed for decoding links) - $this->set_mapping('question_algebra', $oldid, $newitemid); - } else { - // Nothing to remap if the question already existed + // Insert record. + $newitemid = $DB->insert_record('qtype_algebra', $data); + // Create mapping (needed for decoding links). + $this->set_mapping('qtype_algebra', $oldid, $newitemid); } + // Nothing to remap if the question already existed. } - - /** + + /** * Process the qtype/algebravariable element */ public function process_algebravariable($data) { @@ -86,21 +83,20 @@ class restore_qtype_algebra_plugin extends restore_qtype_plugin { $data = (object)$data; $oldid = $data->id; - // Detect if the question is created or mapped + // Detect if the question is created or mapped. $oldquestionid = $this->get_old_parentid('question'); $newquestionid = $this->get_new_parentid('question'); $questioncreated = $this->get_mappingid('question_created', $oldquestionid) ? true : false; - // If the question has been created by restore, we need to create its question_algebra_variables too + // If the question has been created by restore, we need to create its qtype_algebra_variables too. if ($questioncreated) { - // Adjust some columns + // Adjust some columns. $data->question = $newquestionid; - // Insert record - $newitemid = $DB->insert_record('question_algebra_variables', $data); - // Create mapping - $this->set_mapping('question_algebra_variable', $oldid, $newitemid); - } else { - // Nothing to remap if the question already existed + // Insert record. + $newitemid = $DB->insert_record('qtype_algebra_variables', $data); + // Create mapping. + $this->set_mapping('qtype_algebra_variable', $oldid, $newitemid); } + // Nothing to remap if the question already existed. } } |