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

File size: 3.14Kb
<?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');
require('../wu-functions/wu_watermark.php');
require('../wu-functions/wu_functions.php');

if(isset($_POST['to']) && isset($_POST['msg_text'])){
if(!empty($_POST['to'])){
$to = intval($_POST['to']);
$text = mysqli_real_escape_string($connect_db, wu_strip(rtrim($_POST['msg_text'])));

$nusr = mysqli_fetch_assoc(mysqli_query($connect_db, "SELECT uid FROM ".DB_PREFIX."_users WHERE uid='$to' LIMIT 1"));
if (empty($nusr['uid']) || $nusr['uid'] == 0) { wu_log_act(2, 'Пытался отправить сообщение несуществующему пользователю с uid '.wu_filter($_POST['to'])); exit('2'); }
if (($_FILES['wu-files']['size'][0] == 0) && empty($text)) { exit('0'); }

//Пути сохранения
$path = '../../wu-uploads/attach/full/';
$path_thumbs = '../../wu-uploads/attach/thumbs/';

$total_files = count($_FILES['wu-files']['name']);
if ($_FILES['wu-files']['size'][0] > 0) {
	
//Допустимые форматы
$valid_types = array('gif','jpg', 'png', 'jpeg', 'doc', 'docx', 'rtf', 'rar', 'zip', '7z', 'pdf', 'ppt', 'pptx', 'txt', 'css');
$img_types = array('gif','jpg','png','jpeg');

//Проверка файлов
for($ipp=0; $ipp<$total_files; $ipp++) {
$exts = strtolower(substr($_FILES['wu-files']['name'][$ipp], 1 + strrpos($_FILES['wu-files']['name'][$ipp], '.')));
if (!in_array($exts, $valid_types)) { wu_log_act(2, 'Пытался загрузить в качестве картинки в прикреплении в сообщении '.wu_filter($_FILES['wu-files']['name'][$ipp])); exit('4'); }
if (in_array($exts, $img_types)) {
if(!stristr($_FILES['wu-files']['type'][$ipp], 'image/')) { wu_log_act(2, 'Пытался загрузить в качестве картинки в прикреплении в сообщении '.wu_filter($_FILES['wu-files']['name'][$ipp]).' с MIME типом '.wu_filter($_FILES['wu-files']['type'][$ipp])); exit('4');
}
}
}

//Сохранение файлов
$all_src = '';
for($i=0; $i<$total_files; $i++) {
$rand = rand(0,999);
$filename = $_FILES['wu-files']['name'][$i];
$filename = str_replace('|','',$filename);
$filename = str_replace(':','',$filename);
$exts = strtolower(substr($_FILES['wu-files']['name'][$i], 1 + strrpos($_FILES['wu-files']['name'][$i], '.')));
$src_s = $path.$dt.'_'.$rand.'.'.$exts;
$all_src .= $dt.'_'.$rand.'.'.$exts.':'.$filename.'|';
move_uploaded_file($_FILES["wu-files"]["tmp_name"][$i], $src_s);

if (in_array($exts, $img_types)) {
if(stristr($_FILES['wu-files']['type'][$i], 'image/')) {

//resize
$src_thumb = $path_thumbs.$dt.'_'.$rand.'.'.$exts;
resize($src_s, $src_thumb, 0, 100);

//Наложение вотемарка
wu_watermark($src_s);
}
}
}

} else { $all_src = ''; }
if (!empty($all_src)) { $all_src = substr($all_src, 0, -1); }
$all_src = mysqli_real_escape_string($connect_db, $all_src);

mysqli_query($connect_db, "INSERT INTO `".DB_PREFIX."_messages` (fr,tou,msg,files,new,dt) VALUES ('$u_id','$to','$text','$all_src','1','$dt')");
exit('1');
} else { exit('0'); }
} else { exit('wu-error'); }
?>