Вход Регистрация
Файл: lib/inc/upload_act.php
Строк: 115
<?
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']))
{
$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'];
}
elseif (
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.tr_loads(retranslit($dir_arr[$id])).'/';

if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `lib_dir` WHERE `dir` = '$path_dir' AND `dir_osn` = '$path_osn'"),0)==0)
{
mysql_query("INSERT INTO `lib_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.tr_loads(retranslit($dir_arr[$id])).'/';
}



if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `lib_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];
elseif(
$name_1[1]!=NULL)$name=$name_1[1];
}
$name=preg_replace('#[^A-zА-я0-9()-_ ]#ui'null$name);


mysql_query("INSERT INTO `lib_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 `lib_files` WHERE `id` = '$stat_id'");
$err[]='Невозможно сохранить статью';
}
else
{
$k_new_st++;
}

}
}


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']))
{
$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='Название файла пусто или состоит из запрещенных символов';
elseif (!
preg_match('#^txt$#i',$ras))$err='Неверный формат файла';
elseif (
mysql_result(mysql_query("SELECT COUNT(*) FROM `lib_files` WHERE `id_dir` = '$id_dir' AND `name` = '$name'"), 0)!=0)$err='Статья с таким названием уже есть в этой папке';
elseif (
$text==NULL)$err='Текст статьи пуст';
else
{

mysql_query("INSERT INTO `lib_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('Библиотека','Создание статей',"Добавление статьи (txt) '$name'");
msg('Статья успешно добавлена');
}


}



}





if (
user_access('lib_stat_create') && isset($_GET['act']) && $_GET['act']=='create_stat' && isset($_GET['ok']) && isset($_POST['name']) && isset($_POST['text']))
{
$name=preg_replace('#[^A-zА-я0-9()-_ ]#ui'null$_POST['name']);

$text=trim($_POST['text']);




if (
$name==NULL)$err[]='Введите название статьи';
elseif (
mysql_result(mysql_query("SELECT COUNT(*) FROM `lib_files` WHERE `id_dir` = '$id_dir' AND `name` = '$name'"), 0)!=0)$err[]='Статья с таким названием уже есть в этой папке';
elseif (
$text==NULL)$err[]='Текст статьи пуст';
else
{

mysql_query("INSERT INTO `lib_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('Статья успешно добавлена');
}

}
}



?>
Онлайн: 1
Реклама