Просмотр файла files.php

Размер файла: 30.87Kb
<?php
 ##############################################################################
##                                                                            ##
##                                  P C M S                                   ##
##    Движок на файлах                                                        ##
##    Скрипт распространяется бесплатно!                                      ##
##    Запрещается продавать его и вносить изменения в код!                    ##
##                                                                            ##
##    Автор скрипта: Proton (http://wap-svoboda.com                           ##
##    Создан в ноябре 2009 года.                                              ##
##                                                                            ##
 ##############################################################################
 
$path=$_SERVER['DOCUMENT_ROOT'];
include $path.'/config.php';
include $path.'/functions.php';
$act=@$_GET['act']?htmlspecialchars($_GET['act']):'';
if (empty($act)) {
################################################################################
///////////////////////////////////Загрузки/////////////////////////////////////
################################################################################
echo head_tags('Загрузки').'
<div class="t1">
<div class="t2">
<div class="t3">
<div class="bg2">
<div class="cs">
';
$page=@$_GET['page']?htmlspecialchars($_GET['page']):1;
$count=0;
if ($file=@file($path.'/data/files/base.dat')) {
$count=count($file);
$file=array_reverse($file);
$obsum=$page*7;
$nasum=$obsum-7;
for($i=$nasum;$i<$obsum;$i++) {
if (!empty($file[$i])) {
// начало строк
echo '<div class="t3">
';
$str=trim($file[$i]);
$array=explode('||',$str);
$id_user=$array[0];
$user=search_user($id_user);
$topic_id=$array[1];
$time_topic=$array[1];
$time=date("H:i d/m/y",$array[1]);
$id_mess=$i+1;
$topic=trim(stripslashes($array[2]));
$topic=htmlspecialchars($topic);
$file_topic=@file($path.'/data/files/'.$topic_id.'.dat');
$count_mess=count($file_topic)-1;
$page_nav=ceil($count_mess/7);
echo '&#187; <a href="files.php?act=viewtopic&amp;topic_id='.$time_topic.'">'.$topic.'</a> (<a href="files.php?act=viewtopic&amp;topic_id='.$time_topic.'&amp;page='.$page_nav.'">'.$count_mess.'</a>)';
if ($status=='Admin') {
echo ' (<a href="files.php?act=topic_set&amp;topic_id='.$id_mess.'">?</a>)'; 
}
echo '<br />
';
// Конец строк
echo '</div>
';
}}

echo '</div></div>
</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
';
$page_nav=ceil($count/7);
if ($page<=$page_nav and $page_nav>1) {
echo 'Страницы: ';
$pages=3;
$link=0;
$link2=0;
if ($page>($page_nav-$pages)) {
$link2=$page_nav-$page;
$link2=$pages-$link2;
}
if ($page>($pages+1) and $page_nav>7) {
echo '<a href="files.php?page=1">1</a> ';
}
if (($page-$pages)>2 and $page_nav>8) {
echo ' ... ';
}
for ($i=(($page-$pages)-$link2); $i<$page; $i++) {
if ($i>0) {
echo '<a href="files.php?page='.$i.'">'.$i.'</a> ';
$link++;
}}
$link=$pages-$link;
echo '<b>'.$page.'</b> ';
for ($i=($page+1); $i<((($page+$pages)+1)+$link); $i++) {
if ($i<=$page_nav) {
echo '<a href="files.php?page='.$i.'">'.$i.'</a> ';
}}
if (($page+$pages)<($page_nav-1) and $page_nav>8) {
echo ' ... ';
}
if ($page<($page_nav-$pages) and $page_nav>7) {
echo '<a href="files.php?page='.$page_nav.'">'.$page_nav.'</a>';
}
echo '<br />
';
}} else {
echo '<div class="bg2">
<div class="cs">
Категорий нет!<br />
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
';
}
if ($status=='Admin') {
echo '<a href="files.php?act=new_topic">Создать категорию</a><br />
';
}
echo '<a href="/">Главная</a><br />
</div> 
</div>
</div>
</div>
</div>
</div>

'.foot_tags($timestart);
} else if ($act=="new_topic") {
################################################################################
///////////////////////////////Создаем категорию////////////////////////////////
################################################################################
if ($status=='Admin') {
if (empty($_POST['submit'])) {
echo head_tags('Форма ввода').'
<div class="t1">
<div class="t2">
<div class="t3">
<div class="tcs">
<div class="t2">
<div class="bg1">
<form action="files.php?act=new_topic" method="post">
Категория:<br />
<input type="text" name="topic" /><br />
<input type="submit" value="Создать" name="submit" />
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
<a href="files.php?">Категории</a><br />
<a href="/">Главная</a><br />
</div>
</div>
</div>
</div>
</div>
</div>
'.foot_tags($timestart);
} else {
if (!empty($_POST['topic'])) {
$topic=stripslashes(trim($_POST['topic']));
$topic=substr($topic,0,200);
$topic=str_replace(array("\r\n","\n","
","\r"),"",$topic);
$topic=str_replace('||','II',$topic);
if ($file=@file($path.'/data/files/base.dat')) {
$count=count($file);
/*
if ($count>250) {
unset($file[0]);
@file_put_contents($path.'/data/files/base.dat',$file);
}
*/
$file=array_reverse($file);
for($i=0;$i<3;$i++) {
if (!empty($file[$i])) {
$str=trim($file[$i]);
$array=explode('||',$str);
$check_mess=$array[2];
if ($topic==$check_mess) {
echo head_tags('Ошибка записи').'
<div class="t1">
<div class="t2">
<div class="t3">
<div class="bg2">
<div class="cs">
Вы пишете предыдущее сообщение!<br />
</div>
</div>
</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
<a href="files.php?">Категории</a><br />
<a href="/">Главная</a><br />
</div> 
</div>
</div>
</div>
</div>
</div>
'.foot_tags($timestart); exit;
}}}}
if ($fopen=fopen($path.'/data/files/base.dat','a')) {
fputs($fopen,"$id||$time||$topic\r\n");
fclose($fopen);
$_SESSION['text']='Категория успешно создана!<br />';
$fopen=fopen($path.'/data/files/'.$time.'.dat','a');
fputs($fopen,"$id||$time||||$topic||||\r\n");
fclose($fopen);
}}
header("location: files.php?act=&rand=".rand(1111,9999)."&".SID); exit;
}}} else if ($act=="topic_set") {
################################################################################
/////////////////////////////Редактор Категории/////////////////////////////////
################################################################################
if ($status=='Admin') {
$topic_id=htmlspecialchars($_GET['topic_id']);
if (empty($_POST['topic'])) {
$file=@file($path.'/data/files/base.dat');
$file=array_reverse($file);
$str=trim($file[$topic_id-1]);
$array=explode('||',$str);
$topic=htmlspecialchars($array[2]);
$topic=str_replace('[br/]',"\r\n",$topic);
echo head_tags('Редактор').'
<div class="t1">
<div class="t2">
<div class="t3">
<div class="tcs">
<div class="t2">
<div class="bg1">
<form action="files.php?act=topic_set&amp;topic_id='.$topic_id.'" method="post">
Категория:<br />
<input type="text" name="topic" value="'.$topic.'" /><br />
<input type="submit" value="Изменить" /> 
<input type="submit" name="del" value="Удалить" />
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
<a href="files.php?">Категории</a><br />
<a href="/">Главная</a><br />
</div> 
</div>
</div>
</div>
</div>
</div>
'.foot_tags($timestart);
} elseif (empty($_POST['del'])) {
$file=@file($path.'/data/files/base.dat');
$file=array_reverse($file);
$str=trim($file[$topic_id-1]);
$array=explode('||',$str);
$id_user=$array[0];
$time=$array[1];
$topic=stripslashes(trim($_POST['topic']));
$topic=substr($topic,0,1500);
$topic=str_replace(array("\r\n","\n","
","\r"),"[br/]",$topic);
$topic=str_replace('||','II',$topic);
$file[$topic_id-1]="$id_user||$time||$topic\r\n";
$file=array_reverse($file);
if (@file_put_contents($path.'/data/files/base.dat',$file)) {
$file=@file($path.'/data/files/'.$time.'.dat');
$count=count($file);
$id_mess=0;
$str=trim($file[$id_mess]);
$array=explode('||',$str);
$id_user=$array[0];
$time=$array[1];
$mess=$array[2];
$file[$id_mess]="$id_user||$time||$mess||$topic\r\n";
@file_put_contents($path.'/data/files/'.$time.'.dat',$file);
$_SESSION['text']='Категория изменена!<br />';
}
header("location: files.php?act=&rand=".rand(1111,9999)."&".SID); exit;
} else {
$file=@file($path.'/data/files/base.dat');
$file=array_reverse($file);
$str=trim($file[$topic_id-1]);
$array=explode('||',$str);
$time_topic=$array[1];
$array_file=file($path.'/data/files/'.$time_topic.'.dat');
$count=count($array_file);
for ($i=0; $i<$count; $i++) {
$str=trim($array_file[$i]);
$arr=explode('||',$str);
$post['file']=@$arr[4];
@unlink($path.'/upload/'.$post['file']);
}
unset($file[$topic_id-1]);
@unlink($path.'/data/files/'.$time_topic.'.dat');
$file=array_reverse($file);
@file_put_contents($path.'/data/files/base.dat',$file);
$messages=@file_get_contents($path.'/data/files/topic_count.dat')-($count-1);
@file_put_contents($path.'/data/files/topic_count.dat',$messages);
$_SESSION['text']='Категория удалена!<br />';
header("location: files.php?act=&rand=".rand(1111,9999)."&".SID); exit;
}}} else if ($act=='viewtopic') {
################################################################################
////////////////////////////////Категории///////////////////////////////////////
################################################################################
$topic_id=htmlspecialchars($_GET['topic_id']);
$file=@file($path.'/data/files/'.$topic_id.'.dat');
$str=trim($file[0]);
$array=explode('||',$str);
$topic_name=@$array[3];
$topic_name=iconv('utf-8','windows-1251',$topic_name);
if (strlen($topic_name)>=30){
$topic_name=substr($topic_name,0,30).'...';
}
$topic_name=iconv('windows-1251','utf-8',$topic_name);
//echo $time_topic;
if (!file_exists($path.'/data/files/'.$topic_id.'.dat')) { exit; }
echo head_tags($topic_name).'
<div class="t1">
<div class="t2">
<div class="t3">
';
$page=@$_GET['page']?htmlspecialchars($_GET['page']):1;
$count_mess=0;
$file=@file($path.'/data/files/'.$topic_id.'.dat');
$count_mess=$count=count($file)-1;
if (!empty($count)) {
$file=array_reverse($file);
$obsum=$page*7;
$nasum=$obsum-7;
for($i=$nasum;$i<$obsum;$i++) {
if (!empty($file[$i])) {
// начало строк
$str=trim($file[$i]);
$array=explode('||',$str);
$post['user']=$array[0];
$post['time']=$array[1];
$post['mess']=@$array[2];
$post['topic']=@$array[3];
$post['file']=@$array[4];
$post['load']=@$array[5]+0;
if (empty($post['topic'])) {
echo '<div class="bg2">
<div class="cs">
';
$id_user=$post['user'];
$user=search_user($id_user);
$time=date("H:i d/m/y",$post['time']);
$id_mess=$i+1;
$mess=trim(stripslashes($post['mess']));
$mess=htmlspecialchars($mess);
$mess=str_replace('[br/]',"<br />\r\n",$mess);
$mess=smile($mess);
$mess=preg_replace('|http://([0-9a-z\-\.\?\/\=\+\_\&\;\:\%\#\-\)\(\!\,\]\[\~]+)|i','<a href="http://$1">http://$1</a>',$mess);
$mess=iconv('utf-8','windows-1251',$mess);
if (strlen($mess)>=150){
$mess=substr($mess,0,150).'...';
}
$mess=iconv('windows-1251','utf-8',$mess);
$filename=$post['file'];
$path_parts=pathinfo($filename);
$filetype=$path_parts['extension'];
echo '<b>'.preg_replace('|^([0-9]{3})\_(.*)$|i','$2',$filename).'</b>';
if ($status=='Admin') {
echo ' (<a href="files.php?act=set_mess&amp;id_mess='.$id_mess.'&amp;topic_id='.$topic_id.'">?</a>)'; 
}
echo '<br />
';
if (preg_match('/jpg|gif|png|jpeg/i',$filetype)) {
echo '<center><a href="files.php?act=load&amp;load='.$post['time'].'&amp;topic_id='.$topic_id.'"><img src="files.php?act=preview&amp;file='.$filename.'" alt="" /></a><br /></center>
';
}
echo 'Вес файла: '.ceil(filesize($path.'/upload/'.$filename)/1024).'kb<br />
Добавил: <a href="/user.php?user='.$id_user.'">'.$user.'</a><br />
Время: '.$time.'<br />
';
if (!empty($mess)) {
echo 'Описание: '.$mess.'<br />
';
}
echo '&#187; <a href="files.php?act=info&amp;load='.$post['time'].'&amp;topic_id='.$topic_id.'">Подробно</a><br />
&#187; <a href="files.php?act=load&amp;load='.$post['time'].'&amp;topic_id='.$topic_id.'">Скачать</a><br />
Скачано: '.$post['load'].' раз(а)<br />
';
// Конец строк
echo '<div class="line"></div>
</div></div>
';
}}}

echo '</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
';
$page_nav=ceil($count_mess/7);
if ($page<=$page_nav and $page_nav>1) {
echo 'Страницы: ';
$pages=3;
$link=0;
$link2=0;
if ($page>($page_nav-$pages)) {
$link2=$page_nav-$page;
$link2=$pages-$link2;
}
if ($page>($pages+1) and $page_nav>7) {
echo '<a href="files.php?page=1&amp;act='.$act.'&amp;topic_id='.$topic_id.'">1</a> ';
}
if (($page-$pages)>2 and $page_nav>8) {
echo ' ... ';
}
for ($i=(($page-$pages)-$link2); $i<$page; $i++) {
if ($i>0) {
echo '<a href="files.php?page='.$i.'&amp;act='.$act.'&amp;topic_id='.$topic_id.'">'.$i.'</a> ';
$link++;
}}
$link=$pages-$link;
echo '<b>'.$page.'</b> ';
for ($i=($page+1); $i<((($page+$pages)+1)+$link); $i++) {
if ($i<=$page_nav) {
echo '<a href="files.php?page='.$i.'&amp;act='.$act.'&amp;topic_id='.$topic_id.'">'.$i.'</a> ';
}}
if (($page+$pages)<($page_nav-1) and $page_nav>8) {
echo ' ... ';
}
if ($page<($page_nav-$pages) and $page_nav>7) {
echo '<a href="files.php?page='.$page_nav.'&amp;act='.$act.'&amp;topic_id='.$topic_id.'">'.$page_nav.'</a>';
}
echo '<br />
';
}} else {
echo '<div class="bg2">
<div class="cs">
Файлов нет!<br />
</div>
</div>
</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
';
}
if ($status=='Admin') {
echo '<a href="files.php?act=new_mess&amp;topic_id='.$topic_id.'">Добавить файл</a><br />
';
}
echo '<a href="files.php">Категории</a><br />
<a href="/">Главная</a><br />
</div> 
</div>
</div>
</div>
</div>
</div>
'.foot_tags($timestart);
} else if ($act=="new_mess") {
################################################################################
////////////////////////////////Создаем Сообщение///////////////////////////////
################################################################################
if ($status=='Admin') {
$topic_id=htmlspecialchars($_GET['topic_id']);
if (!file_exists($path.'/data/files/'.$topic_id.'.dat')) { exit; }
$file=@file($path.'/data/files/'.$topic_id.'.dat');
$count=count($file);
$page_nav=ceil($count/7);
if (empty($_POST['submit'])) {
echo head_tags('Форма ввода').'
<div class="t1">
<div class="t2">
<div class="t3">
<div class="tcs">
<div class="t2">
<div class="bg1">
<form enctype="multipart/form-data" action="files.php?act=new_mess&amp;topic_id='.$topic_id.'" method="post">
Описание:<br />
<textarea cols="25" rows="2" name="mess"></textarea><br />
Файл:<br />
';
if(!stristr($_SERVER["HTTP_USER_AGENT"],'opera mini') or stristr($_SERVER["HTTP_USER_AGENT"],'opera mini/4.1')) {
echo '<input type="file" name="file"><br />
';
} else {
echo '<input type="text" name="file"> 
<a href="op:fileselect">выбрать файл</a><br />
';
}
echo '<input type="submit" value="Отправить" name="submit" />
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
<a href="files.php?act=viewtopic&amp;topic_id='.$topic_id.'">Файлы</a><br />
<a href="files.php">Категории</a><br />
<a href="/">Главная</a><br />
</div> 
</div>
</div>
</div>
</div>
</div>
'.foot_tags($timestart);
} else {
$mess='';
if (!empty($_POST['mess'])) {
$mess=stripslashes(trim($_POST['mess']));
$mess=substr($mess,0,1500);
$mess=str_replace(array("\r\n","\n","
","\r"),"[br/]",$mess);
$mess=str_replace('||','II',$mess);
/*
if ($count>24) {
unset($file[0]);
@file_put_contents($path.'/data/mini_chat.dat',$file);
}
*/
$file=array_reverse($file);
for($i=0;$i<3;$i++) {
if (!empty($file[$i])) {
$str=trim($file[$i]);
$array=explode('||',$str);
$check_mess=$array[2];
if ($mess==$check_mess) {
echo head_tags('Ошибка записи').'
<div class="t1">
<div class="t2">
<div class="t3">
<div class="bg2">
<div class="cs">
Вы пишете предыдущее сообщение!<br />
</div>
</div>
</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
<a href="files.php?act=viewtopic&amp;topic_id='.$topic_id.'&amp;page='.$page_nav.'">Файлы</a><br />
<a href="files.php?">Категории</a><br />
<a href="/">Главная</a><br />
</div> 
</div>
</div>
</div>
</div>
</div>
'.foot_tags($timestart); exit;
}}}}
$upload=0;
if (!empty($_FILES['file'])) {
/////////////////////////////////Files File/////////////////////////////////////
$file_tmp_name=$_FILES['file']['tmp_name'];
$file_name=$_FILES['file']['name'];
$file_size=$_FILES['file']['size'];
$file_name=upload_file_name($file_name);
$filesize=ceil($file_size/1024);
if ($filesize>0.02 and $filesize<$max_file_size)
{ } else {
echo head_tags('Ошибка записи').'
<div class="t1">
<div class="t2">
<div class="t3">
<div class="bg2">
<div class="cs">
Предельно-допустимый размер файла меньше погружаемого!<br />
</div>
</div>
</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
<a href="files.php?act=viewtopic&amp;topic_id='.$topic_id.'&amp;page='.$page_nav.'">Файлы</a><br />
<a href="files.php?">Категории</a><br />
<a href="/">Главная</a><br />
</div> 
</div>
</div>
</div>
</div>
</div>
'.foot_tags($timestart); exit;
}
$path_parts=pathinfo($file_name);
$filetype=$path_parts['extension'];
$basename=$path_parts['basename'];
//echo $basename; exit;
if (!preg_match('/jpg|jpeg|gif|png|wbmp|bmp|sis|zip|txt|jar|jad|3gp|mp3|mid|midi|rar|amr|sisx|avi|mp4|wav|exe|ico|pdf|tar|gz|tgz|nth|thm|js|css|xml|dat/i',$filetype)) {
echo head_tags('Ошибка записи').'
<div class="t1">
<div class="t2">
<div class="t3">
<div class="bg2">
<div class="cs">
Расширение файла запрещено!<br />
</div>
</div>
</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
<a href="files.php?act=viewtopic&amp;topic_id='.$topic_id.'&amp;page='.$page_nav.'">Файлы</a><br />
<a href="files.php?">Категории</a><br />
<a href="/">Главная</a><br />
</div> 
</div>
</div>
</div>
</div>
</div>
'.foot_tags($timestart); exit;
}
if (move_uploaded_file($file_tmp_name, $file_name)) {
$upload=1;
}} else if (!empty($_POST['file'])) {
//////////////////////////////////////Post File/////////////////////////////////
$file=$_POST['file'];
$array=explode('file=',$file);
$filename=$array[0];
$file=base64_decode($array[1]);
$file_name=upload_file_name($filename);
$path_parts=pathinfo($file_name);
$filetype=$path_parts['extension'];
$basename=$path_parts['basename'];
if (!preg_match('/jpg|jpeg|gif|png|wbmp|bmp|sis|zip|txt|jar|jad|3gp|mp3|mid|midi|rar|amr|sisx|avi|mp4|wav|exe|ico|pdf|tar|gz|tgz|nth|thm|js|css|xml|dat/i',$filetype)) {
echo head_tags('Ошибка записи').'
<div class="t1">
<div class="t2">
<div class="t3">
<div class="bg2">
<div class="cs">
Расширение файла запрещено!<br />
</div>
</div>
</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
<a href="files.php?act=viewtopic&amp;topic_id='.$topic_id.'&amp;page='.$page_nav.'">Файлы</a><br />
<a href="files.php?">Категории</a><br />
<a href="/">Главная</a><br />
</div> 
</div>
</div>
</div>
</div>
</div>
'.foot_tags($timestart); exit;
}
if ($fopen=fopen($file_name,"w")) {
fwrite($fopen,$file);
fclose($fopen);
$upload=1;
}
$filesize=ceil(filesize($file_name)/1024);
if ($filesize>0.02 and $filesize<$max_file_size)
{ } else {
$_SESSION['text']='';
@unlink($file_name);
echo head_tags('Ошибка записи').'
<div class="t1">
<div class="t2">
<div class="t3">
<div class="bg2">
<div class="cs">
Предельно-допустимый размер файла меньше погружаемого!<br />
</div>
</div>
</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
<a href="files.php?act=viewtopic&amp;topic_id='.$topic_id.'&amp;page='.$page_nav.'">Файлы</a><br />
<a href="files.php?">Категории</a><br />
<a href="/">Главная</a><br />
</div> 
</div>
</div>
</div>
</div>
</div>
'.foot_tags($timestart); exit;
}}
////////////////////////////////////////////////////////////////////////////////
if ($fopen=fopen($path.'/data/files/'.$topic_id.'.dat','a') and !empty($upload)) {
fputs($fopen,"$id||$time||$mess||||$basename||0\r\n");
fclose($fopen);
$_SESSION['text']='Файл успешно добавлен!<br />';
$messages=@file_get_contents($path.'/data/files/topic_count.dat')+1;
@file_put_contents($path.'/data/files/topic_count.dat',$messages);
$file=@file($path.'/data/files/'.$topic_id.'.dat');
$count=count($file);
$page_nav=ceil($count/7);
} else {
$_SESSION['text']='Файл не добавлен!<br />';
}
header("location: files.php?act=viewtopic&topic_id=$topic_id&page=1&rand=".rand(1111,9999)."&".SID); exit;
}}} else if ($act=="set_mess") {
################################################################################
///////////////////////////////////Редактор/////////////////////////////////////
################################################################################
if ($status=='Admin') {
$id_mess=htmlspecialchars($_GET['id_mess']);
$topic_id=htmlspecialchars($_GET['topic_id']);
if (!file_exists($path.'/data/files/'.$topic_id.'.dat')) { exit; }
if (empty($_POST['file'])) {
$file=@file($path.'/data/files/'.$topic_id.'.dat');
$count=count($file);
$file=array_reverse($file);
$str=trim($file[$id_mess-1]);
$array=explode('||',$str);
$post['user']=$array[0];
$post['time']=$array[1];
$post['mess']=@$array[2];
$post['topic']=@$array[3];
$post['file']=@$array[4];
$post['load']=@$array[5]+0;
$mess=htmlspecialchars($post['mess']);
$mess=str_replace('[br/]',"\r\n",$mess);
echo head_tags('Редактор').'
<div class="t1">
<div class="t2">
<div class="t3">
<div class="tcs">
<div class="t2">
<div class="bg1">
<form action="files.php?act=set_mess&amp;topic_id='.$topic_id.'&amp;id_mess='.$id_mess.'" method="post">
Файл:<br />
<input type="text" name="file" value="'.$post['file'].'" /><br />
Описание:<br />
<textarea cols="25" rows="3" name="mess">'.$mess.'</textarea><br />
Число скачиваний:<br />
<input type="text" size="4" name="load" value="'.$post['load'].'" /><br />
<input type="submit" value="Изменить" /> 
<input type="submit" name="del" value="Удалить" />
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
<a href="files.php?act=viewtopic&amp;topic_id='.$topic_id.'">Файлы</a><br />
<a href="files.php?">Категории</a><br />
<a href="/">Главная</a><br />
</div> 
</div>
</div>
</div>
</div>
</div>
'.foot_tags($timestart);
} elseif (empty($_POST['del'])) {
$file=@file($path.'/data/files/'.$topic_id.'.dat');
$file=array_reverse($file);
$id_mess=$_GET['id_mess'];
$str=trim($file[$id_mess-1]);
$array=explode('||',$str);
$id_user=$array[0];
$time=$array[1];
$topic=@$array[3];
$mess=stripslashes(trim($_POST['mess']));
$mess=substr($mess,0,1500);
$mess=str_replace(array("\r\n","\n","
","\r"),"[br/]",$mess);
$mess=str_replace('||','II',$mess);
$filename=$_POST['file'];
$load=$_POST['load'];
$file[$id_mess-1]="$id_user||$time||$mess||$topic||$filename||$load\r\n";
$file=array_reverse($file);
if (@file_put_contents($path.'/data/files/'.$topic_id.'.dat',$file)) {
rename($path.'/upload/'.$array[4],$path.'/upload/'.$filename);
$_SESSION['text']='Сообщение исправлено!<br />';
}
header("location: files.php?act=viewtopic&topic_id=$topic_id&page=1&rand=".rand(1111,9999)."&".SID); exit;
} else {
$id_mess=$_GET['id_mess'];
$file=@file($path.'/data/files/'.$topic_id.'.dat');
$file=array_reverse($file);
$str=trim($file[$id_mess-1]);
$array=explode('||',$str);
$post['file']=@$array[4];
unset($file[$id_mess-1]);
$file=array_reverse($file);
@unlink($path.'/upload/'.$post['file']);
@file_put_contents($path.'/data/files/'.$topic_id.'.dat',$file);
$messages=@file_get_contents($path.'/data/files/topic_count.dat')-1;
@file_put_contents($path.'/data/files/topic_count.dat',$messages);
$_SESSION['text']='Файл удален!<br />';
header("location: files.php?act=viewtopic&topic_id=$topic_id&rand=".rand(1111,9999)."&".SID); exit;
}}} else if ($act=='load') {
################################################################################
////////////////////////////////////Скачать/////////////////////////////////////
################################################################################
$load=htmlspecialchars($_GET['load']);
$topic_id=htmlspecialchars($_GET['topic_id']);
if (!file_exists($path.'/data/files/'.$topic_id.'.dat')) { exit; }
$file=@file($path.'/data/files/'.$topic_id.'.dat');
$count=count($file);
for ($i=0; $i<$count; $i++) {
$str=trim($file[$i]);
$array=explode('||',$str);
$post['user']=$array[0];
$post['time']=$array[1];
$post['mess']=@$array[2];
$post['topic']=@$array[3];
$post['file']=@$array[4];
$post['load']=@$array[5]+1;
if ($post['time']==$load) {
$file[$i]=$post['user']."||".$post['time']."||".$post['mess']."||".$post['topic']."||".$post['file']."||".$post['load']."\r\n";
@file_put_contents($path.'/data/files/'.$topic_id.'.dat',$file);
header("location: /upload/".$post['file']);
break;
}}} else if ($act=='info') {
################################################################################
///////////////////////////////////Подробно/////////////////////////////////////
################################################################################
$load=htmlspecialchars($_GET['load']);
$topic_id=htmlspecialchars($_GET['topic_id']);
if (!file_exists($path.'/data/files/'.$topic_id.'.dat')) { exit; }
$file=@file($path.'/data/files/'.$topic_id.'.dat');
$count=count($file);
$file=array_reverse($file);
for ($i=0; $i<$count; $i++) {
$str=trim($file[$i]);
$array=explode('||',$str);
$post['user']=$array[0];
$post['time']=$array[1];
$post['mess']=@$array[2];
$post['topic']=@$array[3];
$post['file']=@$array[4];
$post['load']=@$array[5]+1;
if ($post['time']==$load) {
$id_user=$post['user'];
$user=search_user($id_user);
$time=date("H:i d/m/y",$post['time']);
$id_mess=$i+1;
$mess=trim(stripslashes($post['mess']));
$mess=htmlspecialchars($mess);
$mess=str_replace('[br/]',"<br />\r\n",$mess);
$mess=smile($mess);
$mess=preg_replace('|http://([0-9a-z\-\.\?\/\=\+\_\&\;\:\%\#\-\)\(\!\,\]\[\~]+)|i','<a href="http://$1">http://$1</a>',$mess);
$filename=$post['file'];
$path_parts=pathinfo($filename);
$filetype=$path_parts['extension'];

echo head_tags('Загрузки').'
<div class="t1">
<div class="t2">
<div class="t3">
<div class="bg2">
<div class="cs">
';
if (preg_match('/jpg|gif|png|jpeg/i',$filetype)) {
echo 'Файл: <a href="files.php?act=load&amp;load='.$post['time'].'&amp;topic_id='.$topic_id.'"><img src="files.php?act=preview&amp;file='.$filename.'" alt="" /></a><br />
';
}
echo 'Имя файла: '.preg_replace('|^([0-9]{3})\_(.*)$|i','$2',$filename).'<br />
Вес: '.ceil(filesize($path.'/upload/'.$filename)/1024).'kb<br />
Добавил: <a href="/user.php?user='.$id_user.'">'.$user.'</a><br />
Время: '.$time.'<br />
';
if (!empty($mess)) {
echo 'Описание: '.$mess.'<br />
';
}
echo '&#187; <a href="files.php?act=load&amp;load='.$post['time'].'&amp;topic_id='.$topic_id.'">Скачать</a><br />
Скачано: '.$post['load'].' раз(а)<br />
Страница: <input type="text" value="http://'.$host.'/files.php?act=load&amp;load='.$post['time'].'&amp;topic_id='.$topic_id.'" /><br />
Файл: <input type="text" value="http://'.$host.'/upload/'.$filename.'" /><br />
';
if ($status=='Admin') {
echo '&#187; <a href="files.php?act=set_mess&amp;id_mess='.$id_mess.'&amp;topic_id='.$topic_id.'">Редактор</a><br />
'; 
}
// Конец строк
echo '</div></div>
</div>
</div>
</div>
<div class="t1">
<div class="t2">
<div class="t3">
<div class="t4">
<div class="tcs">
<div class="bg3">
<a href="files.php?act=viewtopic&amp;topic_id='.$topic_id.'">Файлы</a><br />
<a href="files.php?">Категории</a><br />
<a href="/">Главная</a><br />
</div> 
</div>
</div>
</div>
</div>
</div>
'.foot_tags($timestart);
break;
}}} else if ($act=='preview') {
################################################################################
/////////////////////////////////////Rsize//////////////////////////////////////
################################################################################
error_reporting(0);
$path=$_SERVER['DOCUMENT_ROOT'];
$filename=$path.'/upload/'.$_GET['file'];
$path_parts=pathinfo($filename);
$filetype=$path_parts['extension'];
$w=128;
$h=128;
$q=95;
if ($filetype=='jpg' or $filetype=='jpeg') {
$src=imagecreatefromjpeg($filename);
} else if ($filetype=='png') {
$src=imagecreatefrompng($filename);
} else if ($filetype=='gif') {
$src=imagecreatefromgif($filename);
}
$w_src = imagesx($src); 
$h_src = imagesy($src);
if ($w_src>$h_src) {
$ratio = $w_src/$w; 
} else {
$ratio = $h_src/$h;
}
$w_dest = round($w_src/$ratio); 
$h_dest = round($h_src/$ratio); 
$dest = imagecreatetruecolor($w_dest,$h_dest); 
imagecopyresized($dest, $src, 0, 0, 0, 0, $w_dest, $h_dest, $w_src, $h_src); 
if ($filetype=="png") {
header("Content-type: image/png");
imagepng($dest);
} else if ($filetype=="gif") {
header("Content-type: image/gif");
imagegif($dest);
} else if ($filetype=='jpeg' or $filetype='jpg') {
header("Content-type: image/jpeg");
imagejpeg($dest,"",$q);
}
imagedestroy($dest); 
imagedestroy($src); 
}









?>