<?php
	function translit($text)
	{
		$find=array('А','а','Б','б','В','в','Г','г','Д','д','Е','е','Ё','ё',
			'Ж','ж','З','з','И','и','Й','й','К','к','Л','л','М','м',
			'Н','н','О','о','П','п','Р','р','С','с','Т','т','У','у',
			'Ф','ф','Х','х','Ц','ц','Ч','ч','Ш','ш','Щ','щ','Ъ','ъ',
			'Ы','ы','Ь','ь','Э','э','Ю','ю','Я','я', '№',' ','.');
	 
		$replace=array('A','a','B','b','V','v','G','g','D','d','E','e','Yo','yo',
			'Zh','zh','Z','z','I','i','J','j','K','k','L','l','M','m',
			'N','n','O','o','P','p','R','r','S','s','T','t','U','u','F',
			'f','H','h','Ts','ts','Ch','ch','Sh','sh','Sch','sch',
			'','','Y','y','','','E','e','Yu','yu','Ya','ya', '','_','_');
	 
	   return strtolower(preg_replace('/[^\w\d\s_-]*/','',str_replace($find,$replace,$text)));
	}
	if(isset($_GET['edit']) AND $_GET['edit'] != ''){
		$path_dir = 'crmdata/upload/' . $aliases_arr[1] . '_' . $_GET['edit'];
	}
	if(isset($_GET['view']) AND $_GET['view'] != ''){
		$path_dir = 'crmdata/upload/' . $aliases_arr[1] . '_' . $_GET['view'];
	}
	$path_file = $path_dir . '/';
	
	// ограничение размера файла
	$limit_size = $nCRMfilesize*1024*1024; // 10 Mb
	// корректные форматы файлов
	$valid_format = explode(',', $nCRMfiletype);
	//$valid_format = array('jpeg', 'jpg', 'gif', 'png', 'psd', 'cdr', 'ai', 'txt', 'pdf', 'doc', 'docx', 'xls', 'xlsx', 'zip', '7z', 'rar');
	// имя нового файла
	//$info = pathinfo();
	if(isset($_FILES['upload_file'])){
		$rand_name = translit($_FILES['upload_file']['name']);
	}

	// если есть отправленные файлы
	if(isset($_FILES['upload_file'])){
		
		// путь до нового файла
		if (!is_dir($path_dir)){
			$gr_path = mkdir($path_dir);
			if($gr_path) {
				$notices[] = 'Директория создана';
			} else {
				$notices_er[] = 'Не удалось создать директорию';
			}
		}
		
		// валидация размера файла
		if($_FILES['upload_file']['size'] > $limit_size){
			$notices_er[] = 'Вес файла больше '.$nCRMfilesize.' Мб!';
		}
		// валидация формата файла
		$format = end(explode(".", $_FILES['upload_file']['name']));
		if(!in_array($format, $valid_format)){
			$notices_er[] = 'Формат файла не допустимый!';
		}
		// если не было ошибок
		if(empty($notices_er)){
			// проверяем загружен ли файл
			if(is_uploaded_file($_FILES['upload_file']['tmp_name'])){
				// сохраняем файл
				move_uploaded_file($_FILES['upload_file']['tmp_name'], $path_file . substr($rand_name, 0, -strlen('.'.$format)) . ".$format");
				$notices[] = 'Файл успешно загружен';
			}else{
				// Если файл не загрузился
				$notices_er[] = 'Ошибка загрузки!';
			}
		}		
	}
	if(isset($_POST['delFileName'])){
		if (file_exists($$path_file . $_POST['delFileName'])) { 
			unlink($_POST['delFileName']);
			$notices[] = 'Файл успешно удален';
		} else { 
			$notices_er[] = 'Ошибка при удалении файла';
		}
	}
	if(isset($_POST['DelTaskFiles'])){
		foreach (glob($path_dir, GLOB_BRACE) as $item) {
			if (is_dir($item)) {
				$files = glob($item."/*");
				foreach ($files as $file) {      
					if (file_exists($file) AND strpos($file, 'page_description') === false) {
						unlink($file);
					}   
				}
				if(strpos($item, 'tasks') === false){
					rmdir($item);
				}
			}
		}
	}
	$filelist = glob("$path_dir/*");
	
	$format_list = implode(", ", $valid_format);
?>

		<? if (isset($Login) AND $LoginCheck == $Login or isset($TaskUser) AND $LoginCheck = $TaskUser or isset($TaskUserS) AND $LoginCheck = $TaskUserS  or isset($eventUser) AND $LoginCheck = $eventUser  or $aliases_arr[1] =='notes'  or $GroupCheck == 'admin' or $GroupCheck == 'manager') { ?>
			<? if($nCRMloadfile == 'on') {?>
			<form method="POST" enctype="multipart/form-data">
				<div class="row">
					<div class="col-lg-9" style="margin-bottom:10px;">
						<input type="file" name="upload_file" class="filestyle" data-icon="true">
					</div>
					<div class="col-lg-3" style="margin-bottom:10px;">
						<div class="input-group" style="width:100%;margin-bottom:0px;">
							<div class="input-group-btn" style="width:calc(100% - 34px);">
								<button class="btn btn-block btn-info" type="submit">Загрузить файл</button>
							</div>
							<span class="input-group-addon" style="width:34px;padding: 3px 3px 1px 3px!important;">
								<form method="POST">
									<button type="submit" name="DelTaskFiles" class="btn btn-xs btn-link" title="Удалить все файлы" onclick="return confirm('Вы уверены что хотите удалить все файлы?')"><i class="fa fa-times clr_high" aria-hidden="true"></i></button>
								</form>
							</span>
						</div>
					</div>
				</div>
			</form>
			<small style="color:#999;">Максимальный размер файла: <?php echo format_size($limit_size);?>. Допустимые форматы файлов: <?php echo $format_list;?></small><br/>
			<? } else { echo '<p>Загрузка файлов в данный момент не доступна. Обратитесь к администратору.</p><br/>'; }  ?>
		<? } ?>
		
		<?php if($filelist) { ?>
			<small style="color:#999;">Общий вес прикрепленных файлов: <? if (file_exists($path_file)) { echo format_size(dir_size(ROOT . $path_file)); } ?></small>
			<div class="table-responsive" style="margin-top:20px;">
			<table class="table table-hover" style="margin:0;">
				<thead>
					<tr>
						<th>Наименование файла</th>
						<th width="15%" class="hidden-xs">Размер файла</th>
						<th width="17%" class="hidden-xs">Дата загрузки</th>
						<th width="6%"></th>
					</tr>
				</thead>
				<tbody>
					<?php
					if($handle = opendir($path_file)){
						global $path_file;
						while(false !== ($file = readdir($handle))) {
							if($file != '.' && $file != '..'){
								$fex = pathinfo($file, PATHINFO_EXTENSION);
								if($file == 'page_description.xml'){
									echo '<tr>';
									echo '<td><i class="fa fa-fw fa-file-text-o"></i> Файл описания к материалу</td>';
									echo '<td class="hidden-xs">' . format_size(filesize($path_file . $file)) . '</td>';
									echo '<td class="hidden-xs"><div class="rem_days_body" ><div class="txt">' . date('d.m.Y H:i', filemtime($path_file . $file)).'</div></div></td>';
									echo '<td><button class="btn btn-link" style="text-decoration:none;" type="button"><i class="fa fa-ban" title="Удалить"></i></button></td>';
									echo '<tr>';
								} else {
									echo '<tr>';
									echo '<td>'; 
									if($fex == 'txt'){echo '<i class="fa fa-fw fa-file-text-o"></i> ';} 
									elseif($fex == 'pdf'){echo '<i class="fa fa-fw fa-file-pdf-o"></i> ';}
									elseif($fex == 'doc' or $fex == 'docx'){echo '<i class="fa fa-fw fa-file-word-o"></i> ';}
									elseif($fex == 'xls' or $fex == 'xlsx'){echo '<i class="fa fa-fw fa-file-excel-o"></i> ';} 
									elseif($fex == 'jpeg' or $fex == 'jpg' or $fex == 'gif' or $fex == 'png' or $fex == 'psd' or $fex == 'cdr' or $fex == 'ai'){echo '<i class="fa fa-fw fa-file-image-o"></i> ';} 
									elseif($fex == 'zip' or $fex == '7z' or $fex == 'rar'){echo '<i class="fa fa-fw fa-file-archive-o"></i> ';}
									else{echo '<i class="fa fa-fw fa-file"></i>';}
									echo '<a href="../' . $path_file . $file . '" target="_blank">' . $file . '</a></td>';
									echo '<td class="hidden-xs">' . format_size(filesize($path_file . $file)) . '</td>';
									echo '<td class="hidden-xs"><div class="rem_days_body" ><div class="txt">' . date('d.m.Y H:i', filemtime($path_file . $file)).'</div></div></td>';
									echo '<td>'; if($GroupCheck == 'admin' or $GroupCheck == 'manager' or isset($_GET["edit"])){ echo '<form method="post" style="margin:0;"><input type="hidden" name="delFileName" value="' . $path_file . $file . '"><button class="btn btn-link" style="text-decoration:none;" type="submit" name="delFile" onclick="return confirm(\'Удалить файл # ' . $file . '?\')"><i class="fa fa-times" title="Удалить"></i></button></form>'; } echo '</td>';
									echo '<tr>';
								}
							}
						}
					}
					?>
				</tbody>
			</table>
			</div>
			<?php } ?>