Merge branch 'wip-MDL-41196-m26' of git://github.com/samhemelryk/moodle
authorDamyon Wiese <damyon@moodle.com>
Thu, 22 Aug 2013 03:19:55 +0000 (11:19 +0800)
committerDamyon Wiese <damyon@moodle.com>
Thu, 22 Aug 2013 03:19:55 +0000 (11:19 +0800)
lib/formslib.php
lib/setup.php
lib/tests/weblib_test.php
lib/weblib.php
mod/forum/classes/post_form.php

index a32fa30..a0db43a 100644 (file)
@@ -2221,7 +2221,7 @@ function validate_' . $this->_formName . '_' . $escapedElementName . '(element)
   ret = validate_' . $this->_formName . '_' . $escapedElementName.'(frm.elements[\''.$elementName.'\']) && ret;
   if (!ret && !first_focus) {
     first_focus = true;
-    frm.elements[\'id_error_'.$elementName.'\'].focus();
+    document.getElementById(\'id_error_'.$elementName.'\').focus();
   }
 ';
 
index f0ba4a5..ecf4917 100644 (file)
@@ -339,7 +339,7 @@ if (isset($CFG->debug)) {
 } else {
     $CFG->debug = 0;
 }
-$CFG->debugdeveloper = ($CFG->debug & E_ALL and $CFG->debug & E_STRICT); // DEBUG_DEVELOPER is not available yet.
+$CFG->debugdeveloper = (($CFG->debug & (E_ALL | E_STRICT)) === (E_ALL | E_STRICT)); // DEBUG_DEVELOPER is not available yet.
 
 if (!defined('MOODLE_INTERNAL')) { // Necessary because cli installer has to define it earlier.
     /** Used by library scripts to check they are being called by Moodle. */
@@ -599,7 +599,7 @@ if (isset($CFG->debug)) {
 }  else {
     $CFG->debug = 0;
 }
-$CFG->debugdeveloper = ($CFG->debug & DEBUG_DEVELOPER);
+$CFG->debugdeveloper = (($CFG->debug & DEBUG_DEVELOPER) === DEBUG_DEVELOPER);
 
 // Find out if PHP configured to display warnings,
 // this is a security problem because some moodle scripts may
index e335f22..a43dfc6 100644 (file)
@@ -428,4 +428,44 @@ class core_weblib_testcase extends advanced_testcase {
         $this->assertSame("do\n  re\n    mi\n", $trace2->get_buffer());
         $this->expectOutputString('');
     }
+
+    public function test_set_debugging() {
+        global $CFG;
+
+        $this->resetAfterTest();
+
+        $this->assertEquals(DEBUG_DEVELOPER, $CFG->debug);
+        $this->assertTrue($CFG->debugdeveloper);
+        $this->assertNotEmpty($CFG->debugdisplay);
+
+        set_debugging(DEBUG_DEVELOPER, true);
+        $this->assertEquals(DEBUG_DEVELOPER, $CFG->debug);
+        $this->assertTrue($CFG->debugdeveloper);
+        $this->assertNotEmpty($CFG->debugdisplay);
+
+        set_debugging(DEBUG_DEVELOPER, false);
+        $this->assertEquals(DEBUG_DEVELOPER, $CFG->debug);
+        $this->assertTrue($CFG->debugdeveloper);
+        $this->assertEmpty($CFG->debugdisplay);
+
+        set_debugging(-1);
+        $this->assertEquals(-1, $CFG->debug);
+        $this->assertTrue($CFG->debugdeveloper);
+
+        set_debugging(DEBUG_ALL);
+        $this->assertEquals(DEBUG_ALL, $CFG->debug);
+        $this->assertFalse($CFG->debugdeveloper);
+
+        set_debugging(DEBUG_NORMAL);
+        $this->assertEquals(DEBUG_NORMAL, $CFG->debug);
+        $this->assertFalse($CFG->debugdeveloper);
+
+        set_debugging(DEBUG_MINIMAL);
+        $this->assertEquals(DEBUG_MINIMAL, $CFG->debug);
+        $this->assertFalse($CFG->debugdeveloper);
+
+        set_debugging(DEBUG_NONE);
+        $this->assertEquals(DEBUG_NONE, $CFG->debug);
+        $this->assertFalse($CFG->debugdeveloper);
+    }
 }
index 2b6c7d7..fdde141 100644 (file)
@@ -2802,7 +2802,7 @@ function set_debugging($level, $debugdisplay = null) {
     global $CFG;
 
     $CFG->debug = (int)$level;
-    $CFG->debugdeveloper = ($CFG->debug & DEBUG_DEVELOPER);
+    $CFG->debugdeveloper = (($CFG->debug & DEBUG_DEVELOPER) === DEBUG_DEVELOPER);
 
     if ($debugdisplay !== null) {
         $CFG->debugdisplay = (bool)$debugdisplay;
index 1bbf16b..6840446 100644 (file)
@@ -25,6 +25,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 require_once($CFG->libdir . '/formslib.php');
+require_once($CFG->dirroot . '/repository/lib.php');
 
 /**
  * Class to post in a forum.