mirror of
				https://github.com/jcampbell1/simple-file-manager.git
				synced 2025-02-20 22:00:04 +01:00 
			
		
		
		
	feat: default sort ordering is directory first, then name
This commit is contained in:
		
							
								
								
									
										35
									
								
								index.php
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								index.php
									
									
									
									
									
								
							| @@ -69,21 +69,26 @@ if($_GET['do'] == 'list') { | ||||
| 		$result = []; | ||||
| 		$files = array_diff(scandir($directory), ['.','..']); | ||||
| 		foreach ($files as $entry) if (!is_entry_ignored($entry, $allow_show_folders, $hidden_patterns)) { | ||||
| 		$i = $directory . '/' . $entry; | ||||
| 		$stat = stat($i); | ||||
| 	        $result[] = [ | ||||
| 	        	'mtime' => $stat['mtime'], | ||||
| 	        	'size' => $stat['size'], | ||||
| 	        	'name' => basename($i), | ||||
| 	        	'path' => preg_replace('@^\./@', '', $i), | ||||
| 	        	'is_dir' => is_dir($i), | ||||
| 	        	'is_deleteable' => $allow_delete && ((!is_dir($i) && is_writable($directory)) || | ||||
|                                                            (is_dir($i) && is_writable($directory) && is_recursively_deleteable($i))), | ||||
| 	        	'is_readable' => is_readable($i), | ||||
| 	        	'is_writable' => is_writable($i), | ||||
| 	        	'is_executable' => is_executable($i), | ||||
| 	        ]; | ||||
| 	    } | ||||
| 			$i = $directory . '/' . $entry; | ||||
| 			$stat = stat($i); | ||||
| 			$result[] = [ | ||||
| 				'mtime' => $stat['mtime'], | ||||
| 				'size' => $stat['size'], | ||||
| 				'name' => basename($i), | ||||
| 				'path' => preg_replace('@^\./@', '', $i), | ||||
| 				'is_dir' => is_dir($i), | ||||
| 				'is_deleteable' => $allow_delete && ((!is_dir($i) && is_writable($directory)) || | ||||
| 														(is_dir($i) && is_writable($directory) && is_recursively_deleteable($i))), | ||||
| 				'is_readable' => is_readable($i), | ||||
| 				'is_writable' => is_writable($i), | ||||
| 				'is_executable' => is_executable($i), | ||||
| 			]; | ||||
| 		} | ||||
| 		usort($result,function($f1,$f2){ | ||||
| 			$f1_key = ($f1['is_dir']?:2) . $f1['name']; | ||||
| 			$f2_key = ($f2['is_dir']?:2) . $f2['name']; | ||||
| 			return $f1_key > $f2_key; | ||||
| 		}); | ||||
| 	} else { | ||||
| 		err(412,"Not a Directory"); | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user