Файл: Kulinar/inc/upl_a2.php
Строк: 234
<?
if ($dir_id['stat']==1)
{
if (user_access('lib_stat_zip') && isset($_GET['act']) && $_GET['act']=='upload_zip' && isset($_GET['ok']) && isset($_FILES['file']) && @preg_match('#.zip$#i',$_FILES['file']['name']))
{
$set['avatar_s']=1000;
$set['avatar_w']=1000;
$k_new_dir=0;
$k_new_st=0;
if (function_exists('set_time_limit'))
{
@set_time_limit(600);
}
include_once H.'sys/inc/zip.php';
$zip=new PclZip($_FILES['file']['tmp_name']);
$list=$zip->listContent();
$dirs=null;
for ($i=0; $i<sizeof($list); $i++)
{
if ($list[$i]['folder']==1)
{
$dirs[]=(function_exists('iconv'))?@iconv('cp866', 'utf-8', $list[$i]['filename']):$list[$i]['filename'];
}
else if (preg_match('#.txt$#i',$list[$i]['filename']))
{
$files_id[]=$list[$i]['index'];
$files[]=(function_exists('iconv'))?@iconv('cp866', 'utf-8', $list[$i]['filename']):$list[$i]['filename'];
}
}
for ($i=0;$i<sizeof($dirs);$i++)
{
$dir=preg_replace('#/+#','/','/'.$dirs[$i].'/');
$dir_arr=explode('/', $dir);
$path_osn=$l.'/';
for ($id=1;$id<count($dir_arr)-1;$id++)
{
$dirname=preg_replace('#[^A-zА-я0-9()-_ .?]#ui', null, $dir_arr[$id]);
$path_dir=$path_osn.retranslit($dir_arr[$id]).'/';
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `Kulinar_dir` WHERE `dir` = '".$path_dir."' AND `dir_osn` = '".$path_osn."'"),0)==0)
{
mysql_query("INSERT INTO `Kulinar_dir` (`name` , `dir` , `dir_osn` ) VALUES ('".$dirname."', '".$path_dir."', '".$path_osn."')");
$k_new_dir++;
}
$path_osn=$path_dir;
}
}
for ($i=0;$i<sizeof($files);$i++)
{
$file=preg_replace("#.*/#",NULL,urldecode($files[$i]));
$name=preg_replace('#.[^.]*$#i', NULL, $file);
$dir=preg_replace('#/+#','/','/'.$files[$i]);
$dir_arr=explode('/', $dir);
$path_dir=$l.'/';
for ($id=1;$id<count($dir_arr)-1;$id++)
{
$path_dir=$path_dir.retranslit($dir_arr[$id]).'/';
}
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `Kulinar_dir` WHERE `dir` = '".$path_dir."' LIMIT 1"),0)!=0)
{
$dir_id2=mysql_fetch_assoc(mysql_query("SELECT * FROM `lib_dir` WHERE `dir` = '".$path_dir."' LIMIT 1"));
$list = $zip->extract(PCLZIP_OPT_BY_INDEX, $files_id[$i],PCLZIP_OPT_EXTRACT_AS_STRING);
$text=$list[0]['content'];
if (function_exists('iconv') && isset($_POST['charset']))
{
$text=@iconv($_POST['charset'], 'utf-8', $text);
}
if (isset($_POST['name_of']) && $_POST['name_of']=='string')
{
$name_1=split("(n|r)+", $text);
if ($name_1[0]!=NULL)
{
$name=$name_1[0];
}
else if($name_1[1]!=NULL)
{
$name=$name_1[1];
}
}
$name=preg_replace('#[^A-zА-я0-9()-_ ]#ui', null, $name);
mysql_query("INSERT INTO `Kulinar_files` (`id_dir`, `name`, `time`, `time_last`, `id_user`) VALUES ('".$dir_id2['id']."', '".$name."', '".$time."', '".$time."', '".$user['id']."')");
$stat_id=mysql_insert_id();
if (!@file_put_contents(H."sys/lib/stats/$stat_id.txt.gz", gzencode($text,9)))
{
mysql_query("DELETE FROM `Kulinar_files` WHERE `id` = '".$stat_id."'");
$err='Невозможно сохранить рецепт!';
}else{
$k_new_st++;
}
if (isset($_FILES['screen1']) && $imgc=@imagecreatefromstring(file_get_contents($_FILES['screen1']['tmp_name'])))
{
$img_x=imagesx($imgc);
$img_y=imagesy($imgc);
if ($img_x==$img_y)
{
$dstW=$set['avatar_s'];
$dstH=$set['avatar_w'];
}
else if ($img_x>$img_y)
{
$prop=$img_x/$img_y;
$dstW=$set['avatar_s'];
$dstH=ceil($dstW/$prop);
}else{
$prop=$img_y/$img_x;
$dstH=$set['avatar_w'];
$dstW=ceil($dstH/$prop);
}
$screen1=imagecreatetruecolor($dstW, $dstH);
imagecopyresampled($screen1, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
imagedestroy($imgc);
$screen1=img_copyright($screen1);
imagegif($screen1,H."sys/lib_scr/".$stat_id.".1.gif");
imagedestroy($screen1);
}
if (isset($_FILES['screen2']) && $imgc=@imagecreatefromstring(file_get_contents($_FILES['screen2']['tmp_name'])))
{
$img_x=imagesx($imgc);
$img_y=imagesy($imgc);
if ($img_x==$img_y)
{
$dstW=$set['avatar_s'];
$dstH=$set['avatar_w'];
}
else if ($img_x>$img_y)
{
$prop=$img_x/$img_y;
$dstW=$set['avatar_s'];
$dstH=ceil($dstW/$prop);
}else{
$prop=$img_y/$img_x;
$dstH=$set['avatar_w'];
$dstW=ceil($dstH/$prop);
}
$screen2=imagecreatetruecolor($dstW, $dstH);
imagecopyresampled($screen2, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
imagedestroy($imgc);
$screen2=img_copyright($screen2);
imagegif($screen2,H."sys/lib_scr/".$stat_id.".2.gif");
imagedestroy($screen2);
}
if (isset($_FILES['screen3']) && $imgc=@imagecreatefromstring(file_get_contents($_FILES['screen3']['tmp_name'])))
{
$img_x=imagesx($imgc);
$img_y=imagesy($imgc);
if ($img_x==$img_y)
{
$dstW=$set['avatar_s'];
$dstH=$set['avatar_w'];
}
else if ($img_x>$img_y)
{
$prop=$img_x/$img_y;
$dstW=$set['avatar_s'];
$dstH=ceil($dstW/$prop);
}else{
$prop=$img_y/$img_x;
$dstH=$set['avatar_w'];
$dstW=ceil($dstH/$prop);
}
$screen3=imagecreatetruecolor($dstW, $dstH);
imagecopyresampled($screen3, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
imagedestroy($imgc);
$screen3=img_copyright($screen3);
imagegif($screen3,H."sys/lib_scr/".$stat_id.".3.gif");
imagedestroy($screen3);
}
}
}
admin_log('Кулинария','Создание рецептов',"Выгружен ZIP-архив ".$k_new_dir." папок, ".$k_new_st." рецептов");
if ($k_new_dir!=0)
{
msg("Успешно создано ".$k_new_dir." папок");
}
if ($k_new_st!=0)
{
msg("Успешно выгружено ".$k_new_st." рецептов");
}
}
if (user_access('lib_stat_txt') && isset($_GET['act']) && $_GET['act']=='upload_txt' && isset($_GET['ok']) && isset($_FILES['file']))
{
$set['avatar_s']=1000;
$set['avatar_w']=1000;
$file=preg_replace('#[^A-zА-я0-9()-_ .]#ui', null, $_FILES['file']['name']);
$name=preg_replace('#.[^.]*$#i', NULL, $file);
$ras=strtolower(preg_replace('#^.*.#i', NULL, $file));
$text=file_get_contents($_FILES['file']['tmp_name']);
if (function_exists('iconv') && isset($_POST['charset']))
{
$text=@iconv($_POST['charset'], 'utf-8', $text);
}
if ($name==NULL)
{
$err='Название файла пусто или состоит из запрещенных символов!';
}
if (!preg_match('#^txt$#i',$ras))
{
$err='Неверный формат файла!';
}
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `Kulinar_files` WHERE `id_dir` = '".$id_dir."' AND `name` = '".$name."'"), 0)!=0)
{
$err='Блюдо с таким названием уже есть в этой папке!';
}
if ($text==NULL)
{
$err='Текст рецепта пуст!';
}else{
mysql_query("INSERT INTO `Kulinar_files` (`id_dir`, `name`, `time`, `time_last`, `id_user`) VALUES ('".$dir_id['id']."', '".$name."', '".$time."', '".$time."', '".$user['id']."')");
$stat_id=mysql_insert_id();
if (!@file_put_contents(H."sys/lib/stats/".$stat_id.".txt.gz", gzencode($text,9)))
{
mysql_query("DELETE FROM `Kulinar_files` WHERE `id` = '".$stat_id."'");
$err='Нет прав на запись (sys/lib/stats/)!';
}else{
admin_log('Кулинария','Создание рецепта',"Добавление рецепта (txt) '".$name."'");
msg('Рецепт успешно добавлен');
}
if (isset($_FILES['screen1']) && $imgc=@imagecreatefromstring(file_get_contents($_FILES['screen1']['tmp_name'])))
{
$img_x=imagesx($imgc);
$img_y=imagesy($imgc);
if ($img_x==$img_y)
{
$dstW=$set['avatar_s'];
$dstH=$set['avatar_w'];
}
else if ($img_x>$img_y)
{
$prop=$img_x/$img_y;
$dstW=$set['avatar_s'];
$dstH=ceil($dstW/$prop);
}else{
$prop=$img_y/$img_x;
$dstH=$set['avatar_w'];
$dstW=ceil($dstH/$prop);
}
$screen1=imagecreatetruecolor($dstW, $dstH);
imagecopyresampled($screen1, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
imagedestroy($imgc);
$screen1=img_copyright($screen1);
imagegif($screen1,H."sys/lib_scr/".$stat_id.".1.gif");
imagedestroy($screen1);
}
if (isset($_FILES['screen2']) && $imgc=@imagecreatefromstring(file_get_contents($_FILES['screen2']['tmp_name'])))
{
$img_x=imagesx($imgc);
$img_y=imagesy($imgc);
if ($img_x==$img_y)
{
$dstW=$set['avatar_s'];
$dstH=$set['avatar_w'];
}
else if ($img_x>$img_y)
{
$prop=$img_x/$img_y;
$dstW=$set['avatar_s'];
$dstH=ceil($dstW/$prop);
}else{
$prop=$img_y/$img_x;
$dstH=$set['avatar_w'];
$dstW=ceil($dstH/$prop);
}
$screen2=imagecreatetruecolor($dstW, $dstH);
imagecopyresampled($screen2, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
imagedestroy($imgc);
$screen2=img_copyright($screen2);
imagegif($screen2,H."sys/lib_scr/".$stat_id.".2.gif");
imagedestroy($screen2);
}
if (isset($_FILES['screen3']) && $imgc=@imagecreatefromstring(file_get_contents($_FILES['screen3']['tmp_name'])))
{
$img_x=imagesx($imgc);
$img_y=imagesy($imgc);
if ($img_x==$img_y)
{
$dstW=$set['avatar_s'];
$dstH=$set['avatar_w'];
}
else if ($img_x>$img_y)
{
$prop=$img_x/$img_y;
$dstW=$set['avatar_s'];
$dstH=ceil($dstW/$prop);
}else{
$prop=$img_y/$img_x;
$dstH=$set['avatar_w'];
$dstW=ceil($dstH/$prop);
}
$screen3=imagecreatetruecolor($dstW, $dstH);
imagecopyresampled($screen3, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
imagedestroy($imgc);
$screen3=img_copyright($screen3);
imagegif($screen3,H."sys/lib_scr/".$stat_id.".3.gif");
imagedestroy($screen3);
}
}
}
if (user_access('Kulinar_stat_create') && isset($_GET['act']) && $_GET['act']=='create_stat' && isset($_GET['ok']) && isset($_POST['name']) && isset($_POST['text']))
{
$set['avatar_s']=1000;
$set['avatar_w']=1000;
$name=preg_replace('#[^A-zА-я0-9()-_ ]#ui', null, $_POST['name']);
$text=trim($_POST['text']);
if ($name==NULL)
{
$err='Введите название блюдо!';
}
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `Kulinar_files` WHERE `id_dir` = '".$id_dir."' AND `name` = '".$name."'"), 0)!=0)
{
$err='Блюдо с таким названием уже есть в этой папке!';
}
if ($text==NULL)
{
$err='Текст рецепта пуст!';
}else{
mysql_query("INSERT INTO `Kulinar_files` (`id_dir`, `name`, `time`, `time_last`, `id_user`) VALUES ('".$dir_id['id']."', '".$name."', '".$time."', '".$time."', '".$user['id']."')");
$stat_id=mysql_insert_id();
if (!@file_put_contents(H."sys/lib/stats/".$stat_id.".txt.gz", gzencode($text,9)))
{
mysql_query("DELETE FROM `lib_files` WHERE `id` = '".$stat_id."'");
$err='Нет прав на запись (sys/lib/stats/)!';
}else {
admin_log('Кулинария','Создание рецептов',"Добавление рецепта (создание) '".$name."'");
msg('Рецепт успешно добавлен');
}
}
if (isset($_FILES['screen1']) && $imgc=@imagecreatefromstring(file_get_contents($_FILES['screen1']['tmp_name'])))
{
$img_x=imagesx($imgc);
$img_y=imagesy($imgc);
if ($img_x==$img_y)
{
$dstW=$set['avatar_s'];
$dstH=$set['avatar_w'];
}
else if ($img_x>$img_y)
{
$prop=$img_x/$img_y;
$dstW=$set['avatar_s'];
$dstH=ceil($dstW/$prop);
}else{
$prop=$img_y/$img_x;
$dstH=$set['avatar_w'];
$dstW=ceil($dstH/$prop);
}
$screen1=imagecreatetruecolor($dstW, $dstH);
imagecopyresampled($screen1, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
imagedestroy($imgc);
$screen1=img_copyright($screen1);
imagegif($screen1,H."sys/lib_scr/".$stat_id.".1.gif");
imagedestroy($screen1);
}
if (isset($_FILES['screen2']) && $imgc=@imagecreatefromstring(file_get_contents($_FILES['screen2']['tmp_name'])))
{
$img_x=imagesx($imgc);
$img_y=imagesy($imgc);
if ($img_x==$img_y)
{
$dstW=$set['avatar_s'];
$dstH=$set['avatar_w'];
}
else if ($img_x>$img_y)
{
$prop=$img_x/$img_y;
$dstW=$set['avatar_s'];
$dstH=ceil($dstW/$prop);
}else{
$prop=$img_y/$img_x;
$dstH=$set['avatar_w'];
$dstW=ceil($dstH/$prop);
}
$screen2=imagecreatetruecolor($dstW, $dstH);
imagecopyresampled($screen2, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
imagedestroy($imgc);
$screen2=img_copyright($screen2);
imagegif($screen2,H."sys/lib_scr/".$stat_id.".2.gif");
imagedestroy($screen2);
}
if (isset($_FILES['screen3']) && $imgc=@imagecreatefromstring(file_get_contents($_FILES['screen3']['tmp_name'])))
{
$img_x=imagesx($imgc);
$img_y=imagesy($imgc);
if ($img_x==$img_y)
{
$dstW=$set['avatar_s'];
$dstH=$set['avatar_w'];
}
else if ($img_x>$img_y)
{
$prop=$img_x/$img_y;
$dstW=$set['avatar_s'];
$dstH=ceil($dstW/$prop);
}else{
$prop=$img_y/$img_x;
$dstH=$set['avatar_w'];
$dstW=ceil($dstH/$prop);
}
$screen3=imagecreatetruecolor($dstW, $dstH);
imagecopyresampled($screen3, $imgc, 0, 0, 0, 0, $dstW, $dstH, $img_x, $img_y);
imagedestroy($imgc);
$screen3=img_copyright($screen3);
imagegif($screen3,H."sys/lib_scr/".$stat_id.".3.gif");
imagedestroy($screen3);
}
}
}
?>