Merge branch 'MDL-27559-master-v2' of https://github.com/mackensen/moodle
authorSam Hemelryk <sam@moodle.com>
Tue, 5 Jun 2012 20:51:11 +0000 (08:51 +1200)
committerSam Hemelryk <sam@moodle.com>
Tue, 5 Jun 2012 20:51:11 +0000 (08:51 +1200)
1  2 
lib/filelib.php
lib/moodlelib.php
lib/rsslib.php
lib/webdavlib.php

diff --cc lib/filelib.php
Simple merge
@@@ -8029,7 -8005,10 +8029,10 @@@ function get_list_of_plugins($directory
      }
  
      if (file_exists($basedir) && filetype($basedir) == 'dir') {
-         $dirhandle = opendir($basedir);
+         if (!$dirhandle = opendir($basedir)) {
 -            debugging("Could not open $basedir");
++            debugging("Directory permission error for plugin ({$directory}). Directory exists but cannot be read.", DEBUG_DEVELOPER);
+             return array();
+         }
          while (false !== ($dir = readdir($dirhandle))) {
              $firstchar = substr($dir, 0, 1);
              if ($firstchar === '.' or $dir === 'CVS' or $dir === '_vti_cnf' or $dir === 'simpletest' or $dir === 'yui' or $dir === 'phpunit' or $dir === $exclude) {
diff --cc lib/rsslib.php
@@@ -110,7 -110,10 +110,10 @@@ function rss_delete_file($componentname
  
      $dirpath = "$CFG->cachedir/rss/$componentname";
      if (is_dir($dirpath)) {
-         $dh  = opendir($dirpath);
+         if (!$dh = opendir($dirpath)) {
 -            error_log("Could not open $dirpath");
++            error_log("Directory permission error. RSS directory store for component '{$componentname}' exists but cannot be opened.", DEBUG_DEVELOPER);
+             return;
+         }
          while (false !== ($filename = readdir($dh))) {
              if ($filename!='.' && $filename!='..') {
                  if (preg_match("/{$instance->id}_/", $filename)) {
@@@ -946,7 -946,10 +946,10 @@@ EOD
              if ($result) {
                  // recurse directories
                  if (is_dir($localpath)) {
-                     $dp = opendir($localpath);
+                     if (!$dp = opendir($localpath)) {
 -                        error_log("Could not open $localpath");
++                        $this->_error_log("Could not open localpath for reading");
+                         return false;
+                     }
                      $fl = array();
                      while($filename = readdir($dp)) {
                          if ((is_file($localpath."/".$filename) || is_dir($localpath."/".$filename)) && $filename!="." && $filename != "..") {