Exemplo n.º 1
0
function chmodDir($dir)
{
    $current_dir = opendir($dir);
    while ($entryname = readdir($current_dir)) {
        if (is_dir("{$dir}/{$entryname}") and ($entryname != "." and $entryname != "..")) {
            //	echo "${dir}/${entryname}#<br>";
            chmod("{$dir}/{$entryname}", 0777);
            chmodDir("{$dir}/{$entryname}");
        } elseif ($entryname != "." and $entryname != "..") {
            // echo "${dir}/${entryname}@<br>";
            chmod("{$dir}/{$entryname}", 0777);
        }
    }
    chmod($dir, 0777);
    closedir($current_dir);
}
Exemplo n.º 2
0
 /**
  * NEEDS A REWRITE, DOES NOT FUNCTION PROPERLY
  * Function tries to set the correct permissions on a directory
  * @param string Directory to change permissions on
  * @param int Warning number
  * @todo Rewrite this to function properly. Error trapping is different in class now
  */
 function setDirPermsOnGallery($dir, &$warning_num)
 {
     global $ftpIsAvailable, $ftpUse;
     if (file_exists($dir)) {
         if (is_dir($dir)) {
             // check for correct permissions on the dir
             @chmod($dir, 0777);
             if ((fileperms($dir) & 0777) != 0777) {
                 // can't change file perms, so see if
                 // safemode patch installed and try it thru
                 // ftp assist
                 if (isset($ftpIsAvailable) && $ftpIsAvailable && $ftpUse && function_exists('chmodDir')) {
                     chmodDir($dir, '777');
                 }
             }
             if (fileperms($dir) & 0777 != 0777) {
                 // issue warning about not being able to change gallery dir perms to 777
                 // this may or may NOT be a problem.  Let user decide.
                 $warning_num = 2;
                 return false;
             } else {
                 return true;
             }
         } else {
             // existing gallery is a file rather than a directory
             // needs to be corrected by user first
             $warning_num = 1;
             return false;
         }
     }
     return true;
 }