<?php
	profile :: is_user(true);
	
	$thisLink = profile :: getLink($user);

	if(isset($_GET['delete']) && $user['cover'] != NULL && isset($_GET['access']) && $_GET['access'] == ACCESS) {
		unlink($lu.'res/'.$user['cover']);
		unlink($lu.$user['cover']);

		DB :: $pdo -> query("UPDATE `users` SET `cover` = ?, `info_cover` = ? WHERE `id` = ? LIMIT 1;", ["",0,$user['id']]);
		system :: redirect("Обложка успешно удалена.", $thisLink);
	}
	if(isset($_GET['edit'])) { $edit = 1; }


	if(isset($_POST['pos'])){
		$from_top = $f = abs($_POST['pos']);
		$default_cover_width = 750;
		$default_cover_height = 150;	
		require_once("thumbncrop.inc.php"); 
		$tb = new ThumbAndCrop();
		$tb->openImg(FILES_PATH."covers/{$user['cover']}");
		$newHeight = $tb->getRightHeight($default_cover_width);
		$tb->creaThumb($default_cover_width, $newHeight);
		$tb->setThumbAsOriginal();
		$tb->cropThumb($default_cover_width, 150, 0, $from_top);
		unlink(FILES_PATH."covers/res/{$user['cover']}");
		$tb->saveThumb(FILES_PATH."covers/res/{$user['cover']}");
		$tb->resetOriginal();
		$tb->closeImg();
		DB :: $pdo -> query("UPDATE `users` SET `info_cover` = ? WHERE `id` = ? LIMIT 1;", [$f,$user['id']]);
		system :: redirect(NULL, $thisLink."?page=cover");
	}


	if (isset($_POST['cfms'])) {
		if (@$_POST['access'] == $user['access']){

		if ($imgc = @imagecreatefromstring(file_get_contents($_FILES['myFile']['tmp_name']))) {
		
		$name = system :: check($_FILES['myFile']['name']);

		$name = preg_replace('/(#|\?)/i', NULL, $name);
		$ras = strtolower(preg_replace('/^.*\./i', NULL, $name));
		$name = preg_replace('/\.[^\.]*$/i', NULL, $name); 
		$size = filesize($_FILES['myFile']['tmp_name']);
		$img_x = imagesx($imgc);
		$img_y = imagesy($imgc);
		
		$lu = FILES_PATH.'covers/';
		
		if ($_FILES['myFile']['size'] < 5000000) {	

		if ($ras!=NULL || $ras!=$name || preg_match("#^([A-z0-9\-\_\(\)\ ])+$#ui", $ras)){
		
		if ($img_y >= 150 && $img_x >= 750) {

			$key = rand(1000000, 10000000);

			$info = getimagesize($_FILES['myFile']['tmp_name']); 
			$width = $info[0];
			$height = $info[1];		
			$type = ".jpg";
			if(@imagejpeg($imgc, $_FILES['myFile']['tmp_name'])) {
			
			$image = new image;
			
			$timeu = time();

			$keyk = md5("covers://{it\'s cover, baby!}".$user['id']."//".$timeu."/".$key).$type;
			
			$image->load($_FILES['myFile']['tmp_name']);	
			$image->preview($width,$height,750);
			$image->save($lu.'res/'.$keyk);	



			// default
			$image->load($_FILES['myFile']['tmp_name']);	
			$image->save($lu.$keyk);

			if($user['cover'] != NULL) {
				unlink($lu.'res/'.$user['cover']);
				unlink($lu.$user['cover']);
			}

			DB :: $pdo -> query("UPDATE `users` SET `cover` = ? WHERE `id` = ? LIMIT 1;", [$keyk,$user['id']]);
			if(AJAX) { die(json_encode(['link'=>$thisLink])); }
			system :: redirect("Обложка успешно добавлена.", $thisLink);
			exit();
			
			} else { $e = "Изображение имеет запрещенный формат."; }
		} else { $e = 'Слишком маленький размер фото, загружайте фото размером более чем 750х150.'; }
		} else { $e = 'Неверное расширение.'; }
		} else { $e = 'Выбранное вами фото имеет размер более 5 Мб.'; }
		} else { $e = 'Выбранный Вами формат изображения не поддерживается.'; }
		} else { $e = 'Вероятно вам подсунули эту ссылку.'; }
		if(AJAX) { die(json_encode(['error'=>$e])); }
	}



	$title = $l = "Редактировать обложку";
	require (CORE.'head.php');
	echo "<div class=\"app-block\">";
	if(isset($e)){system :: show($e);}
	
	?>
	<script type="text/javascript" src="/template/js/jquery-ui.js"></script>
	<script>function repositionCover(){$('.cover-page--element img').css('cursor','s-resize').draggable({scroll:false,axis:"y",cursor:"s-resize",drag:function(event,ui){y1=$('.cover-page--cont').height();y2=$('.cover-page--element').find('img').height();if(ui.position.top>=0){ui.position.top=0;}else if(ui.position.top<=(y1-y2)){ui.position.top=y1-y2;}},stop:function(event, ui) {$('input.cover-position').val(ui.position.top);}});}</script>
	<div class="list _l-padd-n cover-page--on<?=(isset($edit) ? " cover-page--resize" : '')?>" style="position: relative;">
		<div class="_oh" style="    position: relative;">
			<div class="cover-page--cont" style="overflow: hidden;">
				<div class="cover-page--element cover-resize-wrapper" >
					<?php if($user['cover'] != NULL){?><img src="<?=FILES_SERVER?>covers/<?=(empty($edit) ? "res/" : '')."{$user['cover']}?{$user['info_cover']}"?>" style="<?=(isset($edit) ? "top: -{$user['info_cover']}px;" : '')?>" />
					<?php } if(empty($edit)) {?>
					<div class="cover-page--show cover-page--floating ">
						<?php if($user['cover'] != NULL) { ?>
						<a href="<?=$thisLink?>?page=cover&amp;edit=1" class="app-btn-white">Изменить позицию</a>
						<a href="<?=$thisLink?>?page=cover&amp;delete=1&amp;access=<?=ACCESS?>" class="app-btn-white">Удалить</a>
						<?php } ?>
					</div>
					<?php } else { ?>
					
					<div class="cover-page--show cover-page--floating">
						<?php if($user['cover'] != NULL) { ?>
						<script type="text/javascript">repositionCover();</script>
						<form method="post" class="_lh-n" action="">
							<input class="cover-position" name="pos" value="0" type="hidden">
							<input type="submit" name="pos_btn" class="app-btn-white" value="Применить">
							<a href="<?=$thisLink?>?page=cover" class="app-btn-white">Отмена</a>
						</form>
						<?php } ?>
					</div>
					<?php } ?>
				</div>
			</div>
			<div class="_l-padd">
			
			<div style="padding-top: 5px;margin-right: 10px;" class="_fl-l cover-page--avatar">
				<?=(empty($edit) ? profile :: userAvatar($user, 1) : '<div style="width: 150px;    padding: 4px;height: 150px;border-radius: 50%;background: #FFF;margin-top: -70px;position: absolute;"></div>' )?>				
			</div>
				
 			<div class="_fl-" style="overflow: hidden;margin-top: 10px;">
  				<div>
  				<?php if(empty($edit)) { ?>
  				<b style="font-size: 1.2em;font-weight: normal;"><span class="_name size--big"><?=profile :: getFullName($user, false)?></span></b>
  				<div class="_gray"><?=(profile :: getOnline($user) ? "на сайте" : "был на сайте ".system :: times($user['last_time']) )?></div>
  				<?php } else { ?>
  					<div class="_center _gray _font-s">Перетащите и измените положение обложки.</div>
  				<?php } ?>
  				</div>
  			</div>
  	</div>
  	</div>
  	</div>
	<?php if(empty($edit)) {?>  	
	<form id="data-upload-form" method="post" enctype="multipart/form-data">
	<div class="list _l-padd-n">
	
	<div id="data-upload-load"><div class="_l-padd"><div class="_center _gray">
		Выберите фотографию размером не более 5 Мб и формата JPG/JPEG.
		<div class="_m-top-x2">Минимальное разрешение изображения 750×150. <br />
		Для качественного отображения, мы рекомендуем загружать изображения в разрешении 1000×200. </div>
	</div>

	<div class="_m-top-x2">
	<input type="hidden" name="access" value="<?=$user['access']?>">
	<input name="myFile" type="file" id="myFile" accept="image/*">
	</div>
	</div>
	</div>
	<style>
	.photos-upload-file-mini img {max-width: 100%;max-height: 100%;}
	</style>
	<div id="data-upload-file" style="display: none;">
			<div class="_font-s _l-padd" style="margin-bottom: 10px;">
				<a prevent="1" href="#" class="_fl-r data-upload-cancel">Отменить</a>
				<span class="_bold _upper">Загрузка обложки</span>
			</div>
			<div class="_m-top _oh">
			<div>
				<div class="photos-upload-file-mini" style="width: 100%;height: 150px;text-align: center;">
					
				</div>
			</div>
			</div>
			<div style="display: none;" class="photos-upload-file-progress _l-padd"><div class="app-progress-bar"><span class="app-progress-bar">0%</span><div><span></span></div></div></div>

	</div>	
		<div style="margin-top: 15px;margin-bottom: 5px;" class="photos-upload-file-submit _l-padd"><input type="submit" class="main-btn _w-100" name="cfms" value="Загрузить"></div>
		</div>
	</form>
	<?php
	}
	echo "</div>";
	require (CORE.'foot.php');