]> git.mjollnir.org Git - moodle.git/commitdiff
navigation MDL-21177 Removed erroneous DB queries from module extension calls
authorSam Hemelryk <sam@moodle.com>
Thu, 24 Dec 2009 02:06:05 +0000 (02:06 +0000)
committerSam Hemelryk <sam@moodle.com>
Thu, 24 Dec 2009 02:06:05 +0000 (02:06 +0000)
mod/choice/lib.php
mod/data/lib.php
mod/folder/lib.php
mod/glossary/lib.php
mod/imscp/lib.php
mod/lesson/lib.php
mod/page/lib.php
mod/quiz/lib.php
mod/scorm/lib.php
mod/survey/lib.php
mod/url/lib.php

index 4fdc1986e1383fb9fbbb55f93a77b96e65b6fb9a..e3bf7ed478361f0114fd3a43eab0d99c2e4fe53a 100644 (file)
@@ -927,9 +927,8 @@ function choice_supports($feature) {
 }
 
 function choice_extend_settings_navigation($settings, $module) {
-    global $PAGE, $USER, $OUTPUT, $CFG, $DB;
+    global $PAGE, $OUTPUT, $CFG;
 
-    $choice = $DB->get_record('choice', array('id'=>$PAGE->cm->instance));
     $choicenavkey = $settings->add(get_string('choiceadministration', 'choice'));
     $choicenav = $settings->get($choicenavkey);
     $choicenav->forceopen = true;
@@ -940,6 +939,9 @@ function choice_extend_settings_navigation($settings, $module) {
         if ($groupmode) {
             groups_get_activity_group($PAGE->cm, true);
         }
+        // We only actually need the choice id here
+        $choice = new stdClass;
+        $choice->id = $PAGE->cm->instance;
         $allresponses = choice_get_response_data($choice, $PAGE->cm, $groupmode);   // Big function, approx 6 SQL calls per user
 
         $responsecount =0;
index a9ec74b3bc4f49f4b43b5e0378822eb0af7b6826..a62bc8fbae2d354edd7e4f2ad42340b4354f0a86 100755 (executable)
@@ -2860,9 +2860,12 @@ function data_extend_navigation($navigation, $course, $module, $cm) {
 }
 
 function data_extend_settings_navigation($settings, $module) {
-    global $PAGE, $USER, $OUTPUT, $CFG, $DB;
+    global $PAGE, $OUTPUT, $CFG;
+
+    // We only actually need the id here for functions
+    $data = new stdClass;
+    $data->id = $PAGE->cm->instance;
 
-    $data = $DB->get_record('data', array('id'=>$PAGE->cm->instance));
     $datanavkey = $settings->add(get_string('dataadministration', 'data'));
     $datanav = $settings->get($datanavkey);
     $datanav->forceopen = true;
index 895417daae6c438b2cb61da0ad42d869dc4ee292..e0289e2a12603713d2a78979537ffad6e122618e 100644 (file)
@@ -337,10 +337,8 @@ function folder_extend_navigation($navigation, $course, $module, $cm) {
  * @param stdClass $module
  */
 function folder_extend_settings_navigation($settings, $module) {
-    global $PAGE, $CFG, $DB;
+    global $PAGE, $CFG;
 
-    // Load the folder instance from the database
-    $folder = $DB->get_record('folder', array('id'=>$PAGE->cm->instance));
     // Add a folder node to the settings navigation.
     $foldernavkey = $settings->add(get_string('folderadministration', 'folder'));
     $foldernav = $settings->get($foldernavkey);
index af4f0c11f0094cc6f5aafdadf26ad765b5a3e81a..57b8fd38cfa936e53226c55d1957d19dbf33d271 100644 (file)
@@ -2684,12 +2684,11 @@ function glossary_extend_navigation($navigation, $course, $module, $cm) {
 }
 
 function glossary_extend_settings_navigation($settings, $module) {
-    global $PAGE, $DB, $CFG, $USER;
+    global $PAGE, $DB, $CFG;
 
     $mode = optional_param('mode', '', PARAM_ALPHA);
     $hook = optional_param('hook', 'ALL', PARAM_CLEAN);
 
-    $glossary = $DB->get_record('glossary', array('id'=>$PAGE->cm->instance));
     $glossarynavkey = $settings->add(get_string('glossaryadministration', 'glossary'));
     $glossarynav = $settings->get($glossarynavkey);
     $glossarynav->forceopen = true;
@@ -2702,7 +2701,7 @@ function glossary_extend_settings_navigation($settings, $module) {
         $glossarynav->add(get_string('exportentries', 'glossary'), new moodle_url($CFG->wwwroot.'/mod/glossary/export.php', array('id'=>$PAGE->cm->id, 'mode'=>$mode, 'hook'=>$hook)));
     }
 
-    if (has_capability('mod/glossary:approve', $PAGE->cm->context) && ($hiddenentries = $DB->count_records('glossary_entries', array('glossaryid'=>$glossary->id, 'approved'=>0)))) {
+    if (has_capability('mod/glossary:approve', $PAGE->cm->context) && ($hiddenentries = $DB->count_records('glossary_entries', array('glossaryid'=>$PAGE->cm->instance, 'approved'=>0)))) {
         $glossarynav->add(get_string('waitingapproval', 'glossary'), new moodle_url($CFG->wwwroot.'/mod/glossary/view.php', array('id'=>$PAGE->cm->id, 'mode'=>'approval')));
     }
 
index 25f5173b5099354b5f6e15502daafc894b3f7442..e572a7afd25041a2c5a7ca5df3efaa2dd7fcbc33 100644 (file)
@@ -404,10 +404,8 @@ function imscp_extend_navigation($navigation, $course, $module, $cm) {
  * @param stdClass $module
  */
 function imscp_extend_settings_navigation($settings, $module) {
-    global $PAGE, $CFG, $DB;
+    global $PAGE, $CFG;
 
-    // Load the imscp instance from the database
-    $imscp = $DB->get_record('imscp', array('id'=>$PAGE->cm->instance));
     // Add a imscp node to the settings navigation.
     $imscpnavkey = $settings->add(get_string('imscpadministration', 'imscp'));
     $imscpnav = $settings->get($imscpnavkey);
index bc35e229e2b9fb7793f840f93e97214ce4d70113..46436e8e08f2116e143cd3845031ba7ac0756546 100644 (file)
@@ -799,9 +799,8 @@ function lesson_extend_navigation($navigation, $course, $module, $cm) {
  * @param stdClass $module
  */
 function lesson_extend_settings_navigation($settings, $module) {
-    global $PAGE, $CFG, $DB, $USER, $OUTPUT;
+    global $PAGE, $CFG, $USER, $OUTPUT;
 
-    $lesson = $DB->get_record('lesson', array('id'=>$PAGE->cm->instance));
     $lessonnavkey = $settings->add(get_string('lessonadministration', 'lesson'));
     $lessonnav = $settings->get($lessonnavkey);
     $lessonnav->forceopen = true;
index 5507f00386c3ff75d264e65c45b85f66751227a3..e8d6b13691e34d46c3fcee9b8340c5a16341e1df 100644 (file)
@@ -410,10 +410,8 @@ function page_extend_navigation($navigation, $course, $module, $cm) {
  * @param stdClass $module
  */
 function page_extend_settings_navigation($settings, $module) {
-    global $PAGE, $CFG, $DB;
+    global $PAGE, $CFG;
 
-    // Load the page instance from the database
-    $page = $DB->get_record('page', array('id'=>$PAGE->cm->instance));
     // Add a page node to the settings navigation.
     $pagenavkey = $settings->add(get_string('pageadministration', 'page'));
     $pagenav = $settings->get($pagenavkey);
index bee1a73300bac2035891e7f5956eb5c9eb1a95f1..74453ef4be104af8159ffe3b214e61da1e6d1bce 100644 (file)
@@ -1453,9 +1453,8 @@ function quiz_extend_navigation($navigation, $course, $module, $cm) {
  * @param stdClass $module
  */
 function quiz_extend_settings_navigation($settings, $module) {
-    global $PAGE, $CFG, $DB, $USER, $OUTPUT;
+    global $PAGE, $CFG, $OUTPUT;
 
-    $quiz = $DB->get_record('quiz', array('id'=>$PAGE->cm->instance));
     $quiznavkey = $settings->add(get_string('quizadministration', 'quiz'));
     $quiznav = $settings->get($quiznavkey);
     $quiznav->forceopen = true;
@@ -1465,13 +1464,13 @@ function quiz_extend_settings_navigation($settings, $module) {
         $quiznav->add(get_string('info', 'quiz'), $url, navigation_node::TYPE_SETTING, null, null, $OUTPUT->pix_url('i/info'));
     }
     if (has_capability('mod/quiz:viewreports', $PAGE->cm->context)) {
-        $url = new moodle_url($CFG->wwwroot.'/mod/quiz/report.php', array('q'=>$quiz->id));
+        $url = new moodle_url($CFG->wwwroot.'/mod/quiz/report.php', array('q'=>$PAGE->cm->instance));
         $reportkey = $quiznav->add(get_string('results', 'quiz'), $url, navigation_node::TYPE_SETTING, null, null, $OUTPUT->pix_url('i/report'));
 
         require_once($CFG->dirroot.'/mod/quiz/report/reportlib.php');
         $reportlist = quiz_report_list($PAGE->cm->context);
         foreach ($reportlist as $report) {
-            $url = new moodle_url($CFG->wwwroot.'/mod/quiz/report.php', array('q'=>$quiz->id, 'mode'=>$report));
+            $url = new moodle_url($CFG->wwwroot.'/mod/quiz/report.php', array('q'=>$PAGE->cm->instance, 'mode'=>$report));
             $quiznav->get($reportkey)->add(get_string($report, 'quiz_'.$report), $url, navigation_node::TYPE_SETTING, null, null, $OUTPUT->pix_url('i/item'));
         }
     }
index 42c90a8367686544e3444e86a3728845896ef337..b2fbeb066554175a722175460685de536e37b497 100755 (executable)
@@ -969,10 +969,8 @@ function scorm_extend_navigation($navigation, $course, $module, $cm) {
  * @param stdClass $module
  */
 function scorm_extend_settings_navigation($settings, $module) {
-    global $PAGE, $CFG, $DB;
+    global $PAGE, $CFG;
 
-    // Load the scorm instance from the database
-    $scorm = $DB->get_record('scorm', array('id'=>$PAGE->cm->instance));
     // Add a scorm node to the settings navigation.
     $scormnavkey = $settings->add(get_string('scormadministration', 'scorm'));
     $scormnav = $settings->get($scormnavkey);
index dec4dbc32add6e418180523cd4e90c1eb4687721..53236a1d25cb0081406c0b8d79b74097e76e5c27 100644 (file)
@@ -822,9 +822,8 @@ function survey_extend_navigation($navigation, $course, $module, $cm) {
  * @param stdClass $module
  */
 function survey_extend_settings_navigation($settings, $module) {
-    global $PAGE, $CFG, $DB, $USER, $OUTPUT;
+    global $PAGE, $CFG, $OUTPUT;
 
-    $survey = $DB->get_record('quiz', array('id'=>$PAGE->cm->instance));
     $surveynavkey = $settings->add(get_string('surveyadministration', 'survey'));
     $surveynav = $settings->get($surveynavkey);
     $surveynav->forceopen = true;
index 7bcdbcc1cc9cdb288a975a9d7c207aeea3160e36..bfe0387763fb6cab41e855634e64081e3da38eac 100644 (file)
@@ -316,10 +316,8 @@ function url_extend_navigation($navigation, $course, $module, $cm) {
  * @param stdClass $module
  */
 function url_extend_settings_navigation($settings, $module) {
-    global $PAGE, $CFG, $DB;
+    global $PAGE, $CFG;
 
-    // Load the url instance from the database
-    $url = $DB->get_record('url', array('id'=>$PAGE->cm->instance));
     // Add a url node to the settings navigation.
     $urlnavkey = $settings->add(get_string('urladministration', 'url'));
     $urlnav = $settings->get($urlnavkey);