View file wu-engine/wu-actions/acc_avatar_upload.php

File size: 2.31Kb
<?php
require_once('../wu_init.php');
if (!wu_token()) { exit('wu-error'); }
if (!USER_LOGGED) { exit('wu-error'); }
require('../wu-functions/wu_resize_crop.php');

//Допустимые форматы
$valid_types = array('gif', 'jpg', 'png', 'jpeg');
$path = '../../wu-uploads/avatars/full/';
$path_thumbs = '../../wu-uploads/avatars/thumbs/';
if (empty($_FILES['avatar']['tmp_name'])) { wu_log_act(1, 'Пытался ничего не загрузить в качестве аватара'); exit('5'); }
$si = getimagesize($_FILES['avatar']['tmp_name']);
$exts = strtolower(substr($_FILES['avatar']['name'], 1 + strrpos($_FILES['avatar']['name'], ".")));
$size = $_FILES['avatar']['size'];
if($size>(1024*1024)) { $ksize = $size/1024; wu_log_act(1, 'Пытался загрузить аватар больше 1 Мб ('.number_format($ksize, 2, '.', '').' Кб)'); exit('2'); }
if (!in_array($exts, $valid_types)) { wu_log_act(2, 'Пытался загрузить в качестве аватара '.wu_filter($_FILES['avatar']['name'])); exit('0'); }
if(!stristr($_FILES['avatar']['type'], 'image/')) { wu_log_act(2, 'Пытался загрузить в качестве аватара '.wu_filter($_FILES['avatar']['name']).' с MIME типом '.wu_filter($_FILES['avatar']['type'])); exit('0'); }
if ($si[0] < 50 || $si[1] < 50) { wu_log_act(1, 'Пытался загрузить в качестве аватара '.wu_filter($_FILES['avatar']['name']).', размер картинки менее 50x50 пикселей'); exit('4'); }

//Сохранение изображения
$rand = rand(0,999);
$src_s = $path.$dt.'_'.$rand.'.'.$exts;
$srcs = $dt.'_'.$rand.'.'.$exts;
if (move_uploaded_file($_FILES["avatar"]["tmp_name"], $src_s)) {
$src_thumb = $path_thumbs.$srcs;
resize($src_s, $src_thumb, 50, 0);

$now_av = mysqli_fetch_assoc(mysqli_query($connect_db, "SELECT uid,av FROM ".DB_PREFIX."_users WHERE uid='$u_id' LIMIT 1"));
mysqli_query($connect_db, "UPDATE `".DB_PREFIX."_users` SET `av` = '$srcs' WHERE uid='$u_id' LIMIT 1");

if (empty($now_av['av'])) {
wu_log_act(0, 'Загрузил аватар');
} else {
wu_log_act(0, 'Перезагрузил аватар');
unlink($path.$now_av['av']);
unlink($path_thumbs.$now_av['av']);
}
exit('1');
} else {
wu_log_act(1, 'Не смог загрузить аватар');
exit('wu-error'); }
?>