<?
if (!defined('SECURED'))
{
die("Unknown Error!");
}
include'includes/func_formatsize.php';
title('Загрузка файла');
div('Загрузка файла','b');
if($ver=='wml')
{
echo'Закачка файлов возможна только в <a href="'.$_SERVER['PHP_SELF'].'?mode=upload&id='.$category['id'].'&xhtml&'.SID.'">xHTML</a> версии.<br/>';
}
else
{
if(!empty($_GET['id']))
{
$id=intval($_GET['id']);
list($refcat, $cat_name)=mysql_fetch_array(mysql_query("select parent,name from categorys where id='".$id."';"));
if($refcat==0)
{
echo'Неизвестная ошибка';
footer();
exit;
}
list($refcat_name, $acc_ext)=mysql_fetch_array(mysql_query("select name,acc_ext from categorys where id='".$refcat."';"));
div("» <b>$refcat_name</b>/<b>$cat_name</b>",'g');
if(!isset($_POST['upl_type']))
{
div('<b>Правила загрузки:</b><br/>
1. Все поля обязательны к заполнению.<br/>
2. Файлы к которым нет обращения больше '.($config['max_keep']/3600/24).' дней удаляются автоматически.<br/>
3. Строго запрещается заливать в обменник файлы, содержащие детскую порнографию, зоофилию, разжигающие межнациональные конфликты, противоречащие законам РФ!<br/>
4. Администрация вправе удалить любой файл без уведомления лица, залившего его в обменник.<br/>
5. Расширения, допустимые к загрузке в данной категорий: <b>'.strtoupper(str_replace('|',', ',$acc_ext)).'</b>','a');
if(isset($_GET['operamini'])) echo'» <a href="'.$_SERVER['PHP_SELF'].'?mode=upload&id='.$id.'&'.$rand.'&'.SID.'">Обычная закачка</a>';
else echo'» <a href="'.$_SERVER['PHP_SELF'].'?mode=upload&id='.$id.'&operamini&'.$rand.'&'.SID.'">Закачка с Opera Mini</a>';
echo $separator;
echo'<form enctype="multipart/form-data" action="'.$_SERVER['PHP_SELF'].'?mode=upload&id='.$id.'&'.SID.'" method="post">
• <b>Форма загрузки:</b><br/>
» Описание:<br/>
<textarea name="info" cols="15" rows="3"></textarea><br/>
<input type="checkbox" name="tr_info" value="1"/>Транслит<br/>';
echo'» Ваше имя (ник): ';
if(!$sid)
{
echo'<br/><input type="text" name="nickname"/><br/>';
}
else
{
echo'<b>'.$login.'</b><br/>';
}
echo'» Файл (не более '.formatsize($config['max_filesize']).'):<br/>';
if(isset($_GET['operamini']))
{
echo'<input type="text" name="file"/><br/>
<a href="op:fileselect">Обзор...</a><br/>
<input name="upl_type" type="hidden" value="2"/>';
}
else
{
echo'<input type="file" name="file"/><br/>
<input name="upl_type" type="hidden" value="1"/>';
}
echo'<img src="pic.php?'.session_id().'" alt="kod"/><br/>
» Код с картинки:<br/>
<input name="kod" type="text" size="5"/><br/>
<input type="submit" name="submit" value="Загрузить"/>
</form>';
echo $separator;
}
else
{
$uploaded=false;
if($_SESSION['ref']!=$_POST['kod'])
{
$error='Неверно введен код с картинки!<br/>';
}
if(!$sid)
{
$nickname = val($_POST['nickname']);
list($check_if_exists)=mysql_fetch_array(mysql_query("select id from users where login='".$nickname."';"));
if(mysql_affected_rows()!=0) $error.='Вы не можете использовать этот ник для добавления файлов, т.к. он зарегистрирован!<br/>';
else $nickname="0|$nickname";
}
else $nickname = $user['id']."|$login";
if($error)
{
echo $error;
echo '<a href="'.$_SERVER['PHP_SELF'].'?mode=upload&id='.$id.'&'.$rand.'&'.SID.'">Назад</a>'.$separator;
footer();
exit;
}
switch($_POST['upl_type'])
{
default:
require "includes/fileupload-class.php";
$destination='files/'.$refcat.'/'.$id;
$my_uploader = new uploader('ru');
$my_uploader->max_filesize($config['max_filesize']);
$my_uploader->accepted_extensions(explode('|',$acc_ext));
if ($my_uploader->upload("file", '', ''))
{
$my_uploader->save_file($destination, 2);
}
if ($my_uploader->error)
{
echo $my_uploader->error.'<br/>';
echo '<a href="'.$_SERVER['PHP_SELF'].'?mode=upload&id='.$id.'&'.$rand.'&'.SID.'">Назад</a>'.$separator;
}
else
{
$uploaded=true;
$file_path=$destination.'/'.$my_uploader->file['name'];
}
break;
case '2':
include "includes/inc_om_upload.php";
list($uploaded_state,$msg)=om_upload($_POST['file'],$destination,$config['max_filesize'],explode('|',$acc_ext));
if($uploaded_state==true)
{
$uploaded=true;
$file_path=$destination.'/'.$msg;
}
else
{
echo $msg.'<br/>';
echo '<a href="'.$_SERVER['PHP_SELF'].'?mode=upload&id='.$id.'&'.$rand.'&'.SID.'">Назад</a>'.$separator;
}
break;
}
if($uploaded==true)
{
include"includes/func_translit.php";
include"includes/inc_make_jad.php";
include"includes/inc_make_preview.php";
$ext=strtolower(pathinfo($file_path,PATHINFO_EXTENSION));
//скриншот для видео или картинки
if(in_array($ext,$extensions['video']) || in_array($ext,$extensions['pics']))
{
$screenshot = make_preview($file_path,$destination);
}
else $screenshot='';
//jad файл для java файла
if($ext=='jar')
{
$jad = make_jad($file_path,$destination,'http://'.$config['fs_path'].'/'.$file_path);
}
else $jad='';
//запись копирайтов в id3 музыкальных файлов
if(in_array($ext,$extensions['audio']))
{
$siteurl=str_replace('http://', null, $config['url']);
include'includes/inc_mp3_class.php';
$id3 = new MP3_Id();
$result = $id3->read($file_path);
$id3->setTag('name', $siteurl);
$id3->setTag('artists', $siteurl);
$id3->setTag('album', $siteurl);
$id3->setTag('comment', $config['url']);
$result = $id3->write();
}
$info = val($_POST['info']);
if($_POST['tr_info']==1) $info = tr($info);
if(empty($info)) $info='[без описания]';
mysql_query("update `users` set `upl_files` = `upl_files` + 1, `upl_files_size` = `upl_files_size` + ".filesize($file_path)." where `id`='".$user['id']."';");
mysql_query("INSERT INTO `files` ( `id` , `cat` , `refcat` , `filename` , `desc` , `screen` , `jad` , `downloads` , `uploaded` , `author` , `ip` , `soft` ) VALUES (0, '$id', '$refcat', '$file_path', '$info', '$screenshot', '$jad', '0', '".time()."', '$nickname', '$ip', '$agent');");
echo "Файл успешно загружен под названием <b>".basename($file_path)."</b>!<br/>";
echo '<a href="'.$_SERVER['PHP_SELF'].'?mode=file&id='.mysql_insert_id().'&'.SID.'">Перейти к файлу</a><br/>';
echo '<a href="'.$_SERVER['PHP_SELF'].'?mode=upload&id='.$id.'&'.$rand.'&'.SID.'">Загрузить еще!</a>'.$separator;
unset($_SESSION['ref']);
}
}
echo '» <a href="'.$_SERVER['PHP_SELF'].'?mode=cat&id='.$id.'&'.SID.'">'.$cat_name.'</a><br/>';
echo '» <a href="'.$_SERVER['PHP_SELF'].'?mode=cat&id='.$refcat.'&'.SID.'">'.$refcat_name.'</a><br/>';
}
else
{
if(!empty($_GET['cid']))
{
$cid=intval($_GET['cid']);
list($this_cat_name)=mysql_fetch_array(mysql_query("select name from categorys where id='".$cid."';"));
echo'<img src="images/up.gif" alt="[UP]"/> <b><a href="'.$_SERVER['PHP_SELF'].'?mode=upload&'.SID.'">'.$this_cat_name.'</a></b>';
echo $separator;
echo'Выберите подкатегорию:<br/>';
$q=mysql_query("select * from categorys where parent='".$cid."' order by position;");
while($category=mysql_fetch_array($q))
{
$text='<img src="images/dir.gif" alt="[DIR]"/> ';
if($category['adult']==1) $text.='[18+]';
$text.='<b><a href="'.$_SERVER['PHP_SELF'].'?mode=upload&id='.$category['id'].'&'.SID.'">'.$category['name'].'</a></b><br/>';
echo $text;
}
}
else
{
echo'Выберите категорию:<br/>';
$q=mysql_query("select * from categorys where parent='0' order by position;");
while($category=mysql_fetch_array($q))
{
$text='<img src="images/dir.gif" alt="[DIR]"/> ';
$text.='<b><a href="'.$_SERVER['PHP_SELF'].'?mode=upload&cid='.$category['id'].'&'.SID.'">'.$category['name'].'</a></b><br/>';
echo $text;
}
}
}
}
echo $separator;
echo $goback;
?>