<?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&edit=1" class="app-btn-white">Изменить позицию</a>
<a href="<?=$thisLink?>?page=cover&delete=1&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');