Файл: _modules/main/donat/ava/index.php
Строк: 71
<?php
# mark core v1.0
# author Drk in
# date 24.10.19
# core
require_once ( $_SERVER['DOCUMENT_ROOT']."/_core/system.php" );
# user
system::access(true);
# meta
$title = 'Магазин - покупка аватара :: '.domain;
# err
$err = null;
# post
if (isset($_POST['CFMS'])):
$photo = system::check($_FILES['photo']['name']);
$CK = system::check($_POST['CK']);
$antiflood = DB :: $dbh -> querySingle("SELECT count(id) FROM journal WHERE user = ? AND time > ?;", array($user['id'],time()-10));
# load class image
$image = new image();
$tp = ['jpg','jpeg','png'];
if (!empty($photo)):
if ($CK == $user['CK']):
# info photo
$info = getimagesize($_FILES['photo']['tmp_name']);
$width = $info[0];
$height = $info[1];
$type = strtolower(preg_replace('/^.*./i', NULL, $photo));
$size = $_FILES['photo']['size'];
if (in_array($type, $tp)):
if ($size <= 20971521): # max - 20 мб
if ($width >= 200 || $height >= 200):
$key = rand(000000000,999999999);
if ($user['bits'] >= $config['price_ava']):
if (empty($antiflood)):
$ava = $user['id']."_{$key}.{$type}";
$ava_min = "min_".$user['id']."_{$key}.{$type}";
# delete ava old
if ($user['ava'] != null):
@unlink(root."css/i/ava/".$user['ava']);
@unlink(root."css/i/ava/min_".$user['ava']);
endif;
# load photo
try{
$image->load($_FILES['photo']['tmp_name']);
$image->resize(138,200);
$image->save(root."css/i/ava/{$ava}");
}catch(Exception $err) {system::header('?','Ошибка загрузки файла');}
try{
$image->load($_FILES['photo']['tmp_name']);
$image->resize(40,40);
$image->save(root."css/i/ava/{$ava_min}");
}catch(Exception $err) {system::header('?','Ошибка загрузки файла');}
DB :: $dbh -> query("UPDATE user SET bits = (bits - '".$config['price_ava']."'), ava = ? WHERE id = ? LIMIT 1;",array($ava,$user['id']));
cache_user::save($user['id']);
# journal
send::journal($user['id'],'Покупка аватара',$config['price_ava']);
system::header('?', 'Аватарка успешно изменена!');
# error
else: system::header('?', 'Не так быстро, подожди не много'); endif;
else: system::header('?', 'Ошибка, не достаточно средств'); endif;
else: system::header('?', 'Ошибка, фото слишком маленькое, загружайте фото не меньше 200x200 (у вас '.$width.'x'.$height.')'); endif;
else: system::header('?', 'Ошибка, выбранное вами фото имеет размер более 20мб'); endif;
else: system::header('?', 'Ошибка, недопустимый тип файла'); endif;
else: system::header('?', 'Ошибка, возможно вам подкинули эту ссылку'); endif;
else: system::header('?', 'Ошибка, файл не выбран'); endif;
endif;
# head
require_once ( head );
echo '
'.system::dis().'
<div class="fights fights-about"><div class="grid">
Стоимость смены аватарки - <font color="#82e42b">'.$config['price_ava'].'</font> <img src="'.ico.'dollar.png" width="10px"></div></div>
<div class="fights fights-about">
'.($user['bits'] < $config['price_ava'] ? 'На вашем счету не достаточно средств - <a href="/main/biling">Пополнить</a>':'
Выберите файл:
<form method="post" enctype="multipart/form-data">
<input type="hidden" name="CK" value="'.$user['CK'].'">
<input name="photo" type="file" accept="image/jpeg, image/png" style="width: 96%;">
<input type="submit" name="CFMS" value="Загрузить">
').'
</div>
<div class="fights-link" style="margin: 5px;"><a href="/main/donat">Вернуться назад</a></div>
<div class="line"></div>
';
# foot
require_once ( foot );
?>