Example #1
0
 function setAccess($directory, $mode, $setself = true)
 {
     if (substr($directory, -1) == '/') {
         $directory = substr($directory, 0, -1);
     }
     // if the path is not valid or is not a directory ...
     if (!file_exists($directory) || !is_dir($directory)) {
         // ... we return false and exit the function
         return FALSE;
         // ... if the path is not readable
     } elseif (!is_readable($directory)) {
         // ... we return false and exit the function
         return FALSE;
         // ... else if the path is readable
     } else {
         // we open the directory
         $handle = opendir($directory);
         // and scan through the items inside
         while (FALSE !== ($item = readdir($handle))) {
             // if the filepointer is not the current directory
             // or the parent directory
             if ($item != '.' && $item != '..') {
                 // we build the new path to delete
                 $path = $directory . '/' . $item;
                 // if the new path is a directory
                 if (is_dir($path)) {
                     chmod($path, $mode);
                     // we call this function with the new path
                     HandleAdAgencyPlugins::setAccess($path, $mode);
                     // if the new path is a file
                 } else {
                     // we remove the file
                     chmod($path, $mode);
                 }
             }
         }
         // close the directory
         closedir($handle);
         // if the option to empty is not set to true
         if ($setself == TRUE) {
             // try to delete the now empty directory
             if (!chmod($directory, $mode)) {
                 // return false if not possible
                 return FALSE;
             }
         }
         // return success
         return TRUE;
     }
 }