114 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
| <!DOCTYPE html>
 | |
| <html>
 | |
| <?php
 | |
| 
 | |
| include 'include/header.php';
 | |
| include 'include/utils.php';
 | |
| 
 | |
| /* Functions */
 | |
| function link_from_file(string $filename, string $name = null, string $css_class = null ) : string {
 | |
| 	// Check if css_class is null
 | |
| 	$css_class = $css_class ? " class=\"$css_class\"" : '';
 | |
| 	// Check if name is null
 | |
| 	$name = $name ?: basename($filename);
 | |
| 	return sprintf('<a href=%s%s>%s</a>', $filename, $css_class, $name);
 | |
| }
 | |
| 
 | |
| function filter_files_dir($files_array, string $path) : array {
 | |
| 	$ret_array = ['dir' => [], 'file' => []];
 | |
| 	foreach($files_array as $file) {
 | |
| 		// Hidden Files are not shown
 | |
| 		if(substr($file, 0, 1) == '.') {
 | |
| 			continue;
 | |
| 		}
 | |
| 		if(is_dir($path . $file)) {
 | |
| 			// Append dir to array
 | |
| 			$ret_array['dir'][] = $file;
 | |
| 		}
 | |
| 		else {
 | |
| 			// Append file to array
 | |
| 			$ret_array['file'][] = $file;
 | |
| 		}
 | |
| 	}
 | |
| 	return $ret_array;
 | |
| }
 | |
| 
 | |
| 
 | |
| // HTML Head
 | |
| echo($header);
 | |
| echo("\n");
 | |
| 
 | |
| /* Misc. Variables */
 | |
| $not_found_error = '<h1>File not found, error 404</h1>';
 | |
| 
 | |
| $basedir = 'content';
 | |
| $request_uri = $_SERVER['REQUEST_URI'];
 | |
| 
 | |
| $path = $basedir . $request_uri;
 | |
| /**/
 | |
| 
 | |
| // Check if URI is correct
 | |
| if(!is_dir($path)) {
 | |
| 	echo($not_found_error);
 | |
| 	die();
 | |
| }
 | |
| 
 | |
| $files_in_folder = scandir($path);
 | |
| $resource_array = filter_files_dir($files_in_folder, $path);
 | |
| 
 | |
| /* Debug */
 | |
| /* var_dump($_SERVER);
 | |
|  * var_dump($files_in_folder); */
 | |
| 
 | |
| ?>
 | |
| <body>
 | |
| <h1>Magatzem de Dusk</h1>
 | |
| <?php
 | |
| // Show folder links
 | |
| {
 | |
| 	if(!empty($resource_array['dir'])) {
 | |
| 		echo('<h2>Directoris</h2>');
 | |
| 	}
 | |
| 	echo('<ul>');
 | |
| 	foreach($resource_array['dir'] as $dir) {
 | |
| 		echo('<li>' . link_from_file($request_uri . $dir, null, "dir_link") . '</li>');
 | |
| 		echo('<br/>');
 | |
| 	}
 | |
| 	echo('</ul>');
 | |
| }
 | |
| 
 | |
| echo("\n");
 | |
| 
 | |
| //Show file links
 | |
| {
 | |
| 	if(!empty($resource_array['file'])) {
 | |
| 		echo('<h2>Fitxers</h2>');
 | |
| 	}
 | |
| 	echo('<ul>');
 | |
| 	foreach($resource_array['file'] as $file) {
 | |
| 		echo('<li>' . link_from_file($request_uri . $file, null, 'file_link') . '</li>');
 | |
| 		echo('<br/>');
 | |
| 	}
 | |
| 	echo('</ul>');
 | |
| }
 | |
| 
 | |
| echo("\n");
 | |
| 
 | |
| $base_url = base_url(get_protocol());
 | |
| $parent_url = parent_url(get_protocol());
 | |
| 
 | |
| //Navigation
 | |
| echo <<<NAV
 | |
| <nav>
 | |
| <ul>
 | |
| <li><a href={$base_url}>Inici</a></li>
 | |
| <li><a href={$parent_url}>Arrere</a></li>
 | |
| </ul>
 | |
| </nav>
 | |
| 
 | |
| NAV;
 | |
| 
 | |
| ?>
 | |
| </body>
 | |
| </html>
 |