Merge branch 'wip-mdl-23504' of git://github.com/rajeshtaneja/moodle
[moodle.git] / lib / adminlib.php
index a0766b7..736f6e7 100644 (file)
@@ -123,6 +123,9 @@ define('INSECURE_DATAROOT_ERROR', 2);
 function uninstall_plugin($type, $name) {
     global $CFG, $DB, $OUTPUT;
 
+    // This may take a long time.
+    @set_time_limit(0);
+
     // recursively uninstall all module/editor subplugins first
     if ($type === 'mod' || $type === 'editor') {
         $base = get_component_directory($type . '_' . $name);
@@ -929,6 +932,11 @@ class admin_category implements parentable_part_of_admin_tree {
                 debugging('error - parts of tree can be inserted only into parentable parts');
                 return false;
             }
+            if (debugging('', DEBUG_DEVELOPER) && !is_null($this->locate($something->name))) {
+                // The name of the node is already used, simply warn the developer that this should not happen.
+                // It is intentional to check for the debug level before performing the check.
+                debugging('Duplicate admin page name: ' . $something->name, DEBUG_DEVELOPER);
+            }
             $parent->children[] = $something;
             if (is_array($this->category_cache) and ($something instanceof admin_category)) {
                 if (isset($this->category_cache[$something->name])) {
@@ -3600,7 +3608,7 @@ class admin_setting_emoticons extends admin_setting {
     public function output_html($data, $query='') {
         global $OUTPUT;
 
-        $out  = html_writer::start_tag('table', array('border' => 1, 'class' => 'generaltable'));
+        $out  = html_writer::start_tag('table', array('border' => 1, 'id' => 'emoticonsetting', 'class' => 'admintable generaltable'));
         $out .= html_writer::start_tag('thead');
         $out .= html_writer::start_tag('tr');
         $out .= html_writer::tag('th', get_string('emoticontext', 'admin'));
@@ -5039,8 +5047,9 @@ class admin_setting_manageenrols extends admin_setting {
 
         $table = new html_table();
         $table->head  = array(get_string('name'), $strusage, $strenable, $strup.'/'.$strdown, $strsettings, $struninstall);
-        $table->align = array('left', 'center', 'center', 'center', 'center', 'center');
-        $table->width = '90%';
+        $table->colclasses = array('leftalign', 'centeralign', 'centeralign', 'centeralign', 'centeralign', 'centeralign');
+        $table->id = 'courseenrolmentplugins';
+        $table->attributes['class'] = 'admintable generaltable';
         $table->data  = array();
 
         // iterate through enrol plugins and add to the display table
@@ -5572,9 +5581,10 @@ class admin_setting_manageauths extends admin_setting {
 
         $table = new html_table();
         $table->head  = array($txt->name, $txt->enable, $txt->updown, $txt->settings);
-        $table->align = array('left', 'center', 'center', 'center');
+        $table->colclasses = array('leftalign', 'centeralign', 'centeralign', 'centeralign');
         $table->data  = array();
-        $table->attributes['class'] = 'manageauthtable generaltable';
+        $table->attributes['class'] = 'admintable generaltable';
+        $table->id = 'manageauthtable';
 
         //add always enabled plugins first
         $displayname = "<span>".$displayauths['manual']."</span>";
@@ -5752,8 +5762,9 @@ class admin_setting_manageeditors extends admin_setting {
 
         $table = new html_table();
         $table->head  = array($txt->name, $txt->enable, $txt->updown, $txt->settings, $struninstall);
-        $table->align = array('left', 'center', 'center', 'center', 'center');
-        $table->width = '90%';
+        $table->colclasses = array('leftalign', 'centeralign', 'centeralign', 'centeralign');
+        $table->id = 'editormanagement';
+        $table->attributes['class'] = 'admintable generaltable';
         $table->data  = array();
 
         // iterate through auth plugins and add to the display table
@@ -5887,8 +5898,9 @@ class admin_setting_managelicenses extends admin_setting {
 
         $table = new html_table();
         $table->head  = array($txt->name, $txt->enable);
-        $table->align = array('left', 'center');
-        $table->width = '100%';
+        $table->colclasses = array('leftalign', 'centeralign');
+        $table->id = 'availablelicenses';
+        $table->attributes['class'] = 'admintable generaltable';
         $table->data  = array();
 
         foreach ($licenses as $value) {
@@ -6092,8 +6104,7 @@ class admin_page_managefilters extends admin_externalpage {
                 $found = true;
                 break;
             }
-            list($type, $filter) = explode('/', $path);
-            if (strpos($filter, $query) !== false) {
+            if (strpos($path, $query) !== false) {
                 $found = true;
                 break;
             }
@@ -7220,9 +7231,9 @@ class admin_setting_manageexternalservices extends admin_setting {
 
             $table = new html_table();
             $table->head  = array($strservice, $strplugin, $strfunctions, $strusers, $stredit);
-            $table->align = array('left', 'left', 'center', 'center', 'center');
-            $table->size = array('30%', '20%', '20%', '20%', '10%');
-            $table->width = '100%';
+            $table->colclasses = array('leftalign service', 'leftalign plugin', 'centeralign functions', 'centeralign users', 'centeralign ');
+            $table->id = 'builtinservices';
+            $table->attributes['class'] = 'admintable externalservices generaltable';
             $table->data  = array();
 
             // iterate through auth plugins and add to the display table
@@ -7260,9 +7271,9 @@ class admin_setting_manageexternalservices extends admin_setting {
 
         $table = new html_table();
         $table->head  = array($strservice, $strdelete, $strfunctions, $strusers, $stredit);
-        $table->align = array('left', 'center', 'center', 'center', 'center');
-        $table->size = array('30%', '20%', '20%', '20%', '10%');
-        $table->width = '100%';
+        $table->colclasses = array('leftalign service', 'leftalign plugin', 'centeralign functions', 'centeralign users', 'centeralign ');
+        $table->id = 'customservices';
+        $table->attributes['class'] = 'admintable externalservices generaltable';
         $table->data  = array();
 
         // iterate through auth plugins and add to the display table
@@ -7381,9 +7392,9 @@ class admin_setting_webservicesoverview extends admin_setting {
         $table = new html_table();
         $table->head = array(get_string('step', 'webservice'), get_string('status'),
             get_string('description'));
-        $table->size = array('30%', '10%', '60%');
-        $table->align = array('left', 'left', 'left');
-        $table->width = '90%';
+        $table->colclasses = array('leftalign step', 'leftalign status', 'leftalign description');
+        $table->id = 'onesystemcontrol';
+        $table->attributes['class'] = 'admintable wsoverview generaltable';
         $table->data = array();
 
         $return .= $brtag . get_string('onesystemcontrollingdescription', 'webservice')
@@ -7505,9 +7516,9 @@ class admin_setting_webservicesoverview extends admin_setting {
         $table = new html_table();
         $table->head = array(get_string('step', 'webservice'), get_string('status'),
             get_string('description'));
-        $table->size = array('30%', '10%', '60%');
-        $table->align = array('left', 'left', 'left');
-        $table->width = '90%';
+        $table->colclasses = array('leftalign step', 'leftalign status', 'leftalign description');
+        $table->id = 'userasclients';
+        $table->attributes['class'] = 'admintable wsoverview generaltable';
         $table->data = array();
 
         $return .= $brtag . get_string('userasclientsdescription', 'webservice') .
@@ -7692,8 +7703,9 @@ class admin_setting_managewebserviceprotocols extends admin_setting {
 
         $table = new html_table();
         $table->head  = array($strprotocol, $strversion, $strenable, $struninstall, $strsettings);
-        $table->align = array('left', 'center', 'center', 'center', 'center');
-        $table->width = '100%';
+        $table->colclasses = array('leftalign', 'centeralign', 'centeralign', 'centeralign', 'centeralign');
+        $table->id = 'webserviceprotocols';
+        $table->attributes['class'] = 'admintable generaltable';
         $table->data  = array();
 
         // iterate through auth plugins and add to the display table
@@ -7806,8 +7818,9 @@ class admin_setting_managewebservicetokens extends admin_setting {
 
         $table = new html_table();
         $table->head  = array($strtoken, $struser, $strservice, $striprestriction, $strvaliduntil, $stroperation);
-        $table->align = array('left', 'left', 'left', 'center', 'center', 'center');
-        $table->width = '100%';
+        $table->colclasses = array('leftalign', 'leftalign', 'leftalign', 'centeralign', 'centeralign', 'centeralign');
+        $table->id = 'webservicetokens';
+        $table->attributes['class'] = 'admintable generaltable';
         $table->data  = array();
 
         $tokenpageurl = "$CFG->wwwroot/$CFG->admin/webservice/tokens.php?sesskey=" . sesskey();