Pith - miter
miter/back/admin/icons_list.php [2.9 kb]
Modified: 17:48:38 114 026 (11 Jul 026)
14 Days Ago
<?php
declare(strict_types=1);
session_start();

if (empty($_SESSION['miter'])) {
	header('Location: ../../index.php');
	exit;
}

function formatbytes(int $bytes, int $precision = 2): string { 
	$units = array('b', 'kb', 'mb', 'gb', 'tb'); 
	$bytes = max($bytes, 0); 
	$pow = floor(($bytes ? log($bytes) : 0) / log(1024)); 
	$pow = (int)min($pow, count($units) - 1); 
	$bytes /= (1 << (10 * $pow)); 
	return round($bytes, $precision) . ' ' . $units[$pow]; 
}

if (!function_exists('calculate_directory_size')) {
	function calculate_directory_size(string $dir): int {
		$total_size = 0;
		$files = glob($dir . '/*');
		if ($files !== false) {
			foreach ($files as $path) {
				if (is_file($path)) {
					$total_size += filesize($path);
				} elseif (is_dir($path) && function_exists('get_dir_size')) {
					$total_size += get_dir_size($path);
				}
			}
		}
		return $total_size;
	}
}
$icons_count = count(glob('images/icons/*.*') ?: []);
$icons_dir_size = calculate_directory_size('images/icons');
$icons_size = formatbytes($icons_dir_size);

?>

<div class='tenon_header'>
	<div class='tenon_header_td'>
		<span class='title'>Upload <span style='opacity: 0.5;'>| images/icons/</span></span>
	</div>
</div>
<div class='full_tenon_table'>
	<div class='full_upload_td'>
		<form name='upform' enctype='multipart/form-data' method='post' action='back/admin/icons_upload.php' target='_blank' onsubmit='setTimeout(function(){window.location.reload();},800);'>
			<input type='file' name='iconfiles[]' id='iconfiles' class='upload_file_field' multiple>
	</div>
</div>
		<input type='submit' name='submit' class='full_submit_button' value='Upload Icon(s)'>
		</form>

<div class='bump'></div>

<div class='tenon_header'>
	<div class='tenon_header_td'>
		<span class='title'>Icons <span style='opacity: 0.5;'>| <?php echo $icons_count . " - " . $icons_size; ?></span></span>
	</div>
</div>
<div class='tenon_table'>
	<div class='tenon_td'>
<?php
	if (function_exists('isMobile') && isMobile()) {
		$char_count = 25;
		} else {
		$char_count = 45;
	}

	$i = 1;
	$file_list = glob("images/icons/*.*");	

	if (is_array($file_list)) {
		foreach($file_list as $file_name) {
			$file_name = str_replace("images/icons/","",$file_name);
			$file_loc = "images/icons/" . $file_name;
			
			if (file_exists($file_loc) && is_file($file_loc)) {
				$file_size = filesize($file_loc);
				echo "<div class='list_doc'><div class='list_doc_left'><span class='text'>" . $i++ . ". </span><a href='images/icons/" . htmlspecialchars($file_name, ENT_QUOTES, 'UTF-8') . "' target='_blank'>" . htmlspecialchars(substr($file_name, 0, $char_count), ENT_QUOTES, 'UTF-8') . "</a></div>";
				echo "<span class='span_right'><span class='grey'>" . formatbytes($file_size) . "</span> <a href='back/admin/icons_delete.php?d=" . urlencode($file_name) . "' onclick='return confirm_delete()'><img src='images/icons/delete_line.png' class='tenon_list_button_end' alt='delete'></a></span>";
				echo "</div>";
			}
		}
	}
?>
	</div>
</div>
Updates
Wedge - Android 126.026
Wedge - Linux 124.026
Shim - Android 117.026
Miter - 114.026
Kerf - Android 112.026
Dev
TVShow (227) 'CSA'
TVShow (228) 'APT'
TVProgram (83) 'BXT'
Miter Update(s)
Peen (Messaging)

Menu
Calendar
Project Tin (024/029)
Miter
RSS Feed