File size: 8.75Kb
<?php
#-----------------------------------------------------#
# ********* ROTORCMS Forum Files MOD ********* #
# Made by : WmLiM #
# E-mail : [email protected] #
# Site : http://komwap.ru #
# ICQ : 768-4-736 #
# Вы не имеете право вносить изменения в код скрипта #
# для его дальнейшего распространения. #
# При размещении мода на сторонних сайтах, ссылка на #
# домашнюю страницу http://komwap.ru обязательна! #
#-----------------------------------------------------#
require_once ('../includes/start.php');
require_once ('../includes/functions.php');
require_once ('../includes/header.php');
include_once ('../themes/' . $config['themes'] . '/index.php');
if (isset($_GET['act'])) {
$act = check($_GET['act']);
} else {
$act = 'default';
}
if (isset($_GET['tid'])) {
$tid = abs(intval($_GET['tid']));
} else {
$tid = 0;
}
if (isset($_GET['start'])) {
$start = abs(intval($_GET['start']));
} else {
$start = 0;
}
if (is_user()) {
if (is_admin() || $config['downupload'] == 1) {
switch ($act):
# ###########################################################################################
# # Главная страница ##
# ###########################################################################################
case 'index':
$down = DB :: $dbh -> query("SELECT * FROM `posts` WHERE `posts_id`=? LIMIT 1;", array($tid));
$down = $down -> fetch();
if (($down['posts_user'] == $log)|| is_admin()) {
$config['newtitle'] = 'Прикрепление файла';
echo '<br /><br /><b><big>Прикрепление файла</big></b><br /><br />';
echo '<div class="form">';
echo '<form action="add.php?act=loadfile&tid=' . $tid . '" method="post" enctype="multipart/form-data">'; // . '&uid=' . $_SESSION['token'] . '&' . SID . '
echo 'Прикрепить файл*:<br /><input type="file" name="loadfile" /><br />';
echo '<input value="Загрузить" type="submit" /></form></div><br />';
} else {
$_SESSION['note'] = 'Изменение невозможно, вы не автор данного файла!';
header ("Location: topic.php?tid=$tid&start=$start&" . SID);
exit;
}
break;
# ###########################################################################################
# # Загрузка файла ##
# ###########################################################################################
case 'loadfile':
$config['newtitle'] = 'Загрузка файла';
$down = DB :: $dbh -> query("SELECT * FROM `posts` WHERE `posts_id`=? LIMIT 1;", array($tid));
$down = $down ->fetch();
if (($down['posts_user'] == $log)|| is_admin()) {
if (empty($down['post_file_name'])) {
if (is_uploaded_file($_FILES['loadfile']['tmp_name'])) {
$filename = check(strtolower($_FILES['loadfile']['name']));
if (strlen($filename) <= 50) {
//if (preg_match('|^[a-z0-9_\.\-]+$|i', $filename)) {
$arrext = explode(',', $config['allowextload']);
$ext = strtolower(substr(strrchr($filename, '.'), 1));
if (in_array($ext, $arrext) && $ext != 'php') {
if (!preg_match('/\.(php|pl|cgi|phtml|htaccess)/i', $filename)) {
if ($_FILES['loadfile']['size'] > 0 && $_FILES['loadfile']['size'] <= $config['fileupload']) {
$downlink = DB :: $dbh -> querySingle("SELECT `post_file_name` FROM `posts` WHERE `post_file_name`=? LIMIT 1;", array($filename));
if (empty($downlink)) {
move_uploaded_file($_FILES['loadfile']['tmp_name'], BASEDIR . 'forum/files/' . $filename);
@chmod(BASEDIR . 'forum/files/' . $filename, 0666);
$f = $config['home']. '/forum/files/' . $filename;
$fsize = $_FILES['loadfile']['size'];
DB :: $dbh -> query("UPDATE `posts` SET `post_file`=?, `post_file_size`=?, `post_file_name`=? WHERE `posts_id`=?;", array($f,$fsize,$filename, $tid));
$_SESSION['note'] = 'Файл успешно загружен!';
$pid = DB :: $dbh -> querySingle("SELECT `posts_topics_id` FROM `posts` WHERE `posts_id`=? LIMIT 1;", array($tid));
header ("Location: topic.php?tid=$pid&start=$start&" . SID);
exit;
} else {
show_error('Ошибка! Файл ' . $filename . ' уже имеется в общих файлах!');
}
} else {
show_error('Ошибка! Максимальный размер загружаемого файла ' . formatsize($config['fileupload']) . '!');
}
} else {
show_error('Ошибка! В названии файла присутствуют недопустимые расширения!');
}
} else {
show_error('Ошибка! Недопустимое расширение файла!');
}
/* } else {
show_error('Ошибка! В названии файла присутствуют недопустимые символы!');
}*/
} else {
show_error('Ошибка! Слишком длинное имя файла (не более 50 символов)!');
}
} else {
show_error('Ошибка! Не удалось загрузить файл!');
}
} else {
show_error('Ошибка! Изменение невозможно, вы не автор данного файла!');
}
} else {
show_error('Данного файла не существует!');
}
echo '<img src="../images/img/back.gif" alt="image" /> <a href="topic.php?tid='.$pid.'&start='.$start.'&' . SID.'">Вернуться</a><br />';
break;
# ###########################################################################################
# # Удаление файла ##
# ###########################################################################################
case 'delfile':
$down = DB :: $dbh -> query("SELECT * FROM `posts` WHERE `posts_id`=? LIMIT 1;", array($tid));
$down = $down ->fetch();
if (!empty($down['post_file_name'])) {
if (($down['posts_user'] == $log)|| is_admin()) {
if (!empty($down['post_file']) && file_exists(BASEDIR . 'forum/files/' . $down['post_file_name'])) {
unlink(BASEDIR . 'forum/files/' . $down['post_file_name']);
}
DB :: $dbh -> query("UPDATE `posts` SET `post_file`=?, `post_file_size`=?, `post_file_name`=? WHERE `posts_id`=?;", array('', '','', $tid));
$_SESSION['note'] = 'Файл '.$down['post_file_name'].' успешно удален!';
$pid = DB :: $dbh -> querySingle("SELECT `posts_topics_id` FROM `posts` WHERE `posts_id`=? LIMIT 1;", array($tid));
header ("Location: topic.php?tid=$pid&start=$start&" . SID);
exit;
} else {
show_error('Ошибка! Удаление невозможно, вы не автор данного файла!');
}
} else {
show_error('Ошибка! Данного файла не существует!');
}
echo '<img src="../images/img/back.gif" alt="image" /> <a href="topic.php?tid='.$pid.'&start='.$start.'&' . SID.'">Вернуться</a><br />';
break;
default:
header("location: index.php?" . SID);
exit;
endswitch;
} else {
show_error('Возможность добавление файлов запрещена администрацией сайта');
}
} else {
show_login('Вы не авторизованы, для добавления файла, необходимо');
}
echo '<img src="../images/img/homepage.gif" alt="image" /> <a href="../index.php?' . SID . '">На главную</a>';
include_once ('../themes/' . $config['themes'] . '/foot.php');
?>