def delete(path): """ Delete a file. @param path A string containing a file path. @return True for success, False for failure. """ if (php.is_file(path)): return p.unlink(path)
def load_include(type_, plugin_, name = None): """ Load a plugin include file. @param type The include file's type (file extension). @param plugin The plugin to which the include file belongs. @param name Optionally, specify the file name. If not set, the plugin's name is used. """ if (php.empty(name)): name = plugin_ file = './' + drupal_get_path('plugin', plugin) + "/name.type" if (php.is_file(file)): php.require_once( file ) return file else: return False
def load_include(type_, plugin_, name=None): """ Load a plugin include file. @param type The include file's type (file extension). @param plugin The plugin to which the include file belongs. @param name Optionally, specify the file name. If not set, the plugin's name is used. """ if (php.empty(name)): name = plugin_ file = './' + drupal_get_path('plugin', plugin) + "/name.type" if (php.is_file(file)): php.require_once(file) return file else: return False
watchdog('file system', 'The directory %directory does not exist.', \ {'%directory' : directory}, WATCHDOG_ERROR) return False # Check to see if the directory is writable. if (not php.is_writable(directory._)): if ((mode & FILE_MODIFY_PERMISSIONS) and not php.chmod(directory, 0775)): form_set_error(form_item, t('The directory %directory is not writable', \ {'%directory' : directory._})) watchdog('file system', 'The directory %directory is not writable, ' + \ 'because it does not have the correct permissions set.', \ {'%directory' : directory._}, WATCHDOG_ERROR) return False if ((file_directory_path() == directory._ or \ file_directory_temp() == directory._) and \ not php.is_file("directory/.htaccess")): htaccess_lines = \ "SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006\n" + \ "Options None\nOptions +FollowSymLinks" fp = fopen("directory/.htaccess", 'w') if (fp and fputs(fp, htaccess_lines)): fclose(fp) chmod(directory._ + '/.htaccess', 0664) else: variables = {'%directory' : directory._, \ '!htaccess' : '<br />' + php.nl2br(check_plain(htaccess_lines))} form_set_error(form_item, t("Security warning: " + \ "Couldn't write + htaccess file. " + \ "Please create a .htaccess file in your " + \ "%directory directory which contains the following lines: " + \ "<code>!htaccess</code>", variables))
def check_directory(directory, mode = 0, form_item = None): """ Check that the directory exists and is writable + Directories need to have execute permissions to be considered a directory by FTP servers, etc. @param directory A string containing the name of a directory path. @param mode A Boolean value to indicate if the directory should be created if it does not exist or made writable if it is read-only. @param form_item An optional string containing the name of a form item that any errors will be attached to + This is useful for settings forms that require the user to specify a writable directory + If it can't be made to work, a form error will be set preventing them from saving the settings. @return False when directory not found, or True when directory exists. """ php.Reference.check(directory); directory._ = php.rtrim(directory._, '/\\') # Check if directory exists. if (not php.is_dir(directory._)): if ((mode & FILE_CREATE_DIRECTORY) and mkdir(directory._) != False): chmod(directory._, 0775); # Necessary for non-webserver users. else: if (form_item): form_set_error(form_item, \ t('The directory %directory does not exist.', \ {'%directory' : directory._})) watchdog('file system', 'The directory %directory does not exist.', \ {'%directory' : directory}, WATCHDOG_ERROR); return False # Check to see if the directory is writable. if (not php.is_writable(directory._)): if ((mode & FILE_MODIFY_PERMISSIONS) and not php.chmod(directory, 0775)): form_set_error(form_item, t('The directory %directory is not writable', \ {'%directory' : directory._})) watchdog('file system', 'The directory %directory is not writable, ' + \ 'because it does not have the correct permissions set.', \ {'%directory' : directory._}, WATCHDOG_ERROR) return False if ((file_directory_path() == directory._ or \ file_directory_temp() == directory._) and \ not php.is_file("directory/.htaccess")): htaccess_lines = \ "SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006\n" + \ "Options None\nOptions +FollowSymLinks" fp = fopen("directory/.htaccess", 'w') if (fp and fputs(fp, htaccess_lines)): fclose(fp) chmod(directory._ + '/.htaccess', 0664) else: variables = {'%directory' : directory._, \ '!htaccess' : '<br />' + php.nl2br(check_plain(htaccess_lines))} form_set_error(form_item, t("Security warning: " + \ "Couldn't write + htaccess file. " + \ "Please create a .htaccess file in your " + \ "%directory directory which contains the following lines: " + \ "<code>!htaccess</code>", variables)) watchdog('security', "Security warning: Couldn't write " + \ ".htaccess file. Please create a .htaccess file in " + \ "your %directory directory which contains the " + \ "following lines: <code>not htaccess</code>", \ variables, WATCHDOG_ERROR) return True