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; } } }