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