예제 #1
0
 function chmod($permission)
 {
     $permission = (int) $permission & 0777;
     // First, try simple chmod
     if (@chmod($this->_filename, $permission)) {
         return true;
     } else {
         // try FTP
         $ftp =& JD_Ftp::getFtpHandle();
         // FTP Mode enabled
         if ($ftp) {
             $file = JD_Ftp::translatePath($this->_filename);
             // ignore ftp errors messages
             JD_Error::unsetErrorHandlers();
             $result = $ftp->chmod($file, $permission);
             JD_Error::putErrorHandlersBack();
             if (false === $result) {
                 $this->setError($this->_getPersmissionError($permission));
                 return false;
             }
             return true;
         } else {
             // Return the error
             $error = $this->_getPersmissionError($permission);
             $this->setError($error);
             return false;
         }
     }
 }