function wp_get_files_in_directory($directory, $sortby = 'name', $sortdir = 'asc', $file_types = '')
{
    $filelist = array();
    $handle = opendir($directory);
    $i = 0;
    while (false !== ($file = readdir($handle))) {
        $extension = strrchr(strtolower($file), '.');
        if (is_file($directory . $file) && $file != "." && $file != ".." && !strstr($file, '.TEMP')) {
            if (!empty($file_types)) {
                if (!wp_extension_ok($extension, $file_types)) {
                    continue;
                }
            }
            $file_info = wp_get_fileinfo($extension);
            $filelist[$i]['name'] = $file;
            $filelist[$i]['icon'] = $file_info['icon'];
            $filelist[$i]['type'] = $file_info['description'];
            $filelist[$i]['preview'] = $file_info['preview'];
            $i++;
        }
    }
    closedir($handle);
    // do sorting...
    if ($sortby != 'name' && $sortby != 'type') {
        $sortby = 'name';
    }
    if (strtolower($sortdir) == 'asc') {
        $sortflag = SORT_ASC;
    } else {
        $sortflag = SORT_DESC;
    }
    $filelist = wp_array_csort($filelist, $sortby, $sortflag);
    return $filelist;
}
Пример #2
0
    if (is_uploaded_file($_FILES['document_field']['tmp_name'])) {
        $extension = strrchr(strtolower($_FILES['document_field']['name']), '.');
        //exit ($_FILES['document_field']['tmp_name']);
        // check filetype against accepted files
        if (!wp_extension_ok($extension, $document_types)) {
            document_exit('<p>&nbsp;</p>
			<div class="helpMessage">
			<form>
			<p> ' . wp_var_replace($lang['bad_filetype'], array('filetypes' => $document_types)) . ' </p>
			<input class="button" type="button" name="Continue" value="' . $lang['ok'] . '" onClick="document.location.replace(\'' . WP_WEB_DIRECTORY . 'document.php' . $query_string . '\')">
			</form>
			</div>');
            break;
        }
        // check if there is an icon for this filetype and whether we can safely show a preview of it.
        $file_info = wp_get_fileinfo($extension);
        $icon = $file_info['icon'];
        $filetype = $file_info['description'];
        $preview = $file_info['preview'];
        if ($_FILES['document_field']['size'] >= $max_documentfile_size) {
            document_exit('<p>&nbsp;</p>
			<div class="helpMessage">
			<form>
			<p> ' . wp_var_replace($lang['file_too_large'], array('max_size' => $max_documentfile_size / 1000)) . ' </p>
			<input class="button" type="button" name="Continue" value="' . $lang['ok'] . '" onClick="document.location.replace(\'' . WP_WEB_DIRECTORY . 'document.php' . $query_string . '\')">
			</form>
			</div>');
        } else {
            $name = $_FILES['document_field']['name'];
            // somepeople like to spit out an error if file have bad characters, I prefer to quetly rename their file.
            $name = str_replace(array('/', '\\', '?', '&', '%', '#', '~', ':', '<', '>', '*', '+', '@', '"', "'", '|', "\r", "\n", "\t"), '', $name);