mirrored from git://git.moodle.org/moodle.git
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MDL-71516 core_question: Qbank api implementation
This commit implements the qbank api so that any plugin can implement its own question bank. This api currently works parallely with the moodle core classes and the added qbank in the core, means the moment a plugin is installed, that object is replaced with the object from the plugin instead of core, which means the api has flexibility till the plugins are integrated and the plugins can be integrated in any order. All the old classes are still there and not deprecated as there is a different tracker for the changes to the quiz and another tracker for class deprecation and class renaming. Core question units tests are pointing to the new api structure but the classes are pointing to the location related to the plugin availability. Co-Authored-By: Luca Bösch <luca.boesch@bfh.ch> Co-Authored-By: Guillermo Gomez Arias <guillermogomez@catalyst-au.net> one more array fix
- Loading branch information
1 parent
351176b
commit dfed4fd
Showing
56 changed files
with
1,838 additions
and
862 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
<?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/>. | ||
|
||
/** | ||
* A column type for the name of the question name. | ||
* | ||
* @package core_question | ||
* @copyright 2009 Tim Hunt | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
|
||
namespace mod_quiz\question\bank; | ||
defined('MOODLE_INTERNAL') || die(); | ||
|
||
|
||
/** | ||
* A column type for the name of the question name. | ||
* | ||
* @copyright 2009 Tim Hunt | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
* @todo MDL-72004 delete the class and add it to lib/db/renameclasses.php pointing to the plugin | ||
*/ | ||
class question_name_column extends \core_question\bank\column_base { | ||
protected $checkboxespresent = null; | ||
|
||
public function get_name() { | ||
return 'questionname'; | ||
} | ||
|
||
protected function get_title() { | ||
return get_string('question'); | ||
} | ||
|
||
protected function label_for($question) { | ||
if (is_null($this->checkboxespresent)) { | ||
$this->checkboxespresent = $this->qbank->has_column('core_question\bank\checkbox_column'); | ||
} | ||
if ($this->checkboxespresent) { | ||
return 'checkq' . $question->id; | ||
} else { | ||
return ''; | ||
} | ||
} | ||
|
||
protected function display_content($question, $rowclasses) { | ||
$labelfor = $this->label_for($question); | ||
if ($labelfor) { | ||
echo '<label for="' . $labelfor . '">'; | ||
} | ||
echo format_string($question->name); | ||
if ($labelfor) { | ||
echo '</label>'; | ||
} | ||
} | ||
|
||
public function get_required_fields() { | ||
return array('q.id', 'q.name'); | ||
} | ||
|
||
public function is_sortable() { | ||
return 'q.name'; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.