Файл: upload.php
Строк: 159
<?php
session_start();
require('includes/db.php');
require('includes/config.php');
require('includes/header.php');
$message = '';
$error = '';
if(($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['login']) && isset($_POST['pass'])) || (isset($_SESSION['login']) && isset($_SESSION['pass'])))
{
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['login']) && isset($_POST['pass']))
$users = mysql_query('SELECT id, login FROM users WHERE login = "' . addslashes($_POST['login']) . '" AND password = "' . md5($_POST['pass']) . '"');
else
$users = mysql_query('SELECT id, login FROM users WHERE login = "' . addslashes($_SESSION['login']) . '" AND password = "' . md5($_SESSION['pass']) . '"');
if(mysql_num_rows($users) > 0)
{
if(!(isset($_SESSION['login']) && isset($_SESSION['pass'])))
{
$_SESSION['login'] = addslashes($_POST['login']);
$_SESSION['pass'] = addslashes($_POST['pass']);
}
$user = mysql_fetch_array($users, MYSQL_ASSOC);
$id = $user['id'];
$login = $user['login'];
if(isset($_GET['del']))
{
// deleting file
if(!strstr($_GET['del'], '..'))
unlink("$login/files/$_GET[del]");
}
$n = 0;
$files = '';
$total_size = 0;
if ($handle = opendir("$login/files/"))
{
while (false !== ($file = readdir($handle)))
{
if($file != '.' && $file != '..')
{
$filesize = filesize("$login/files/$file");
$total_size += $filesize;
$files .= <<<FILEDATA
<TR>
<TD ALIGN="left"><b><a href="http://$server_name/wb/$login/files/$file">$file</a></b></TD><TD ALIGN="left"><b>$filesize байт</b></TD><TD ALIGN="left"><b><a href="upload.php?del=$file">Удалить</a></b></TD>
</TR>
FILEDATA;
$n++;
}
}
closedir($handle);
}
$free_space = $files_size - $total_size;
if(isset($_FILES['filename']) && is_uploaded_file($_FILES['filename']['tmp_name']))
{
if(!file_exists($_FILES['filename']['name']))
{
preg_match('/.(.*?)$/', $_FILES['filename']['name'], $res);
$file_ext = $res[1];
if(!in_array($file_ext, $file_extensions))
{
$message = 'Недопустимое расширение файла';
}
else if(filesize($_FILES['filename']['tmp_name']) > $free_space)
{
$message = 'Файл превышает допустимый размер';
}
else
{
copy($_FILES['filename']['tmp_name'], $login . '/files/' . $_FILES['filename']['name']);
$filename = $_FILES['filename']['name'];
$message = 'Файл загружен';
}
}
else
{
$message = 'Ошибка загрузки файла';
}
}
echo <<<UPLOADPAGE
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<TITLE>Контент-менеджер</TITLE>
<style TYPE="text/css"><!--
.body{ text-align: center; font-family: Arial; font-size: 12pt;}
A:Link{ Color: #B30000; text-decoration: none;}
A:Visited{ Color: #B30000; text-decoration: none;}
A:Active{ Color: #05FA30;}
A:hover{ Color: #05FA30}
BODY{Margin-Left: 0; Margin-Right:0; Margin-Top: 0; Margin-Bottom: 10;}
--></style>
</HEAD>
<BODY TEXT="BLACK" BGCOLOR="#F7EDCE" BACKGROUND="07000000.gif">
<div class="body">
<font color="#346767" size="7"><b><i>WAP-BUILDER</i></b></font><br>
<font color="#000000" size="4"><b>Контент менеджер</b></font><br>
<font color="#CA0000" size="4"><a href="http://$server_name/wb/$login">"http://$server_name/wb/$login"</a></font><br>
<font color="#000000" size="3"><b>Для закачки и хранения файлов вам выделяется 2мб свободного места,<br>так же разрешено закачивать только некоторые типы файлов, со следующими расширениями:<br>mmf, mid, jpf, gif, png, mp3, sis, mpn, jar, jad, wml.<br>Делать ссылки на ваши файлы надо так:<br>http://$server_name/wb/$login/files/ваш_файл или просто(в панели редактора) files/ваш_файл</b></font><br>
<font color="#007900" size="5"><b>$message</b></font><br>
<font color="#346767" size="5"><b>Ваши файлы:</b></font><br>
UPLOADPAGE;
$n = 0;
$files = '';
$total_size = 0;
if ($handle = opendir("$login/files/"))
{
while (false !== ($file = readdir($handle)))
{
if($file != '.' && $file != '..')
{
$filesize = filesize("$login/files/$file");
$total_size += $filesize;
$files .= <<<FILEDATA
<TR>
<TD ALIGN="left"><b><a href="http://$server_name/wb/$login/files/$file">$file</a></b></TD><TD ALIGN="left"><b>$filesize байт</b></TD><TD ALIGN="left"><b><a href="upload.php?del=$file">Удалить</a></b></TD>
</TR>
FILEDATA;
$n++;
}
}
closedir($handle);
}
$free_space = $files_size - $total_size;
if($n > 0)
{
echo <<<FILETABLE
<TABLE WIDTH="100%" BORDER=2 BGCOLOR="#C0C0C0" CELLSPACING=1 CELLPADDING=1>
<TR>
<TD ALIGN="left"><font color="#D7006B" size="4"><b>Файл</b></font></TD><TD ALIGN="left"><font color="#D7006B" size="4"><b>Размер(байт)</b></font></TD><TD ALIGN="left"><font color="#D7006B" size="4"><b>Удаление</b></font></TD>
</TR>
$files
</TABLE>
FILETABLE;
}
echo <<<UPLOADPAGE
<b>Всего в директории http://$server_name/wb/$login/files $n файлов<br>Свободно $free_space байт<br>Занято $total_size байт</b><br>
<br><form ENCTYPE="multipart/form-data" action="upload.php" method="post">
<b>Загрузить файл:</b><br>
<b>(Максимальный размер: $free_space байт):</b><br>
<INPUT NAME="filename" TYPE="file" SIZE="20"><br>
<input type="submit" name="go" value="Отправить" onMouseOver="style.color='#00FF40'" onMouseOut="style.color='black'">
</form>
</BODY>
</HTML>
UPLOADPAGE;
exit;
}
else
{
$error = 'Неправильный логин/пароль';
}
}
?>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<TITLE>Контент-менеджер</TITLE>
<style TYPE="text/css"><!--
.body{ text-align: center; font-family: Arial; font-size: 12pt;}
A:Link{ Color: #FF4A4A; text-decoration: none;}
A:Visited{ Color: #FF4A4A;; text-decoration: none;}
A:Active{ Color: #05FA30;}
A:hover{ Color: #05FA30}
BODY{Margin-Left: 0; Margin-Right:0; Margin-Top: 0; Margin-Bottom: 10;}
--></style>
</HEAD>
<BODY TEXT="BLACK" BGCOLOR="#F7EDCE" BACKGROUND="07000000.gif">
<div class="body">
<font color="#346767" size="7"><b><i>Конструктор сайтов WIN.B9M.RU</i></b></font><br>
<font color="#000000" size="4"><b>Контент менеджер</b></font><br>
<?php
if($error != '')
echo '<font color="#D7006B" size="5"><b>' . $error . '</b></font><br><font color="#B31C7D" size="5">Авторизация:</font>';
?>
<b><form method="POST" action="upload.php" name="auth">
Логин:<br>
<input type="text" name="login" maxlength="15" size="15"><br>
Пароль:<br>
<input type="password" name="pass" maxlength="15" size="15"><br>
<input type="submit" value="Вход" name="enter"
onMouseOver="style.color='#00FF40'" onMouseOut="style.color='black'"></b>
</BODY>
</HTML>