<?php
if (defined('BASEDIR')) {
exit (header('Location: /index.php'));
}
$headmod = 'pub';
$textl = 'Публикации';
require_once ('../includes/start.php');
require_once ('../includes/functions.php');
require_once ('../includes/header.php');
include_once ('../themes/header.php');
require_once ("./inc/conf.php");
$act = isset($_GET['act']) ? check($_GET['act']) : 'index' ;
$start = isset($_GET['start']) ? abs(intval($_GET['start'])) : 0 ;
$id = isset($_GET['id']) ? abs(intval($_GET['id'])) : 0;
$set_user = 6;
if (is_admin(array(101)) || is_admin(array(102))) {
if (empty($id)) {
echo '<div class="rmenu">ОШИБКА!!!<br /></div>';
} else {
switch ($act) {
######################################################################
## Подготовка к редактированию ##
######################################################################
case "editfile":
//r_show_title('','Редактирование ожидающей публикации');
$config['newtitle'] = 'Редактирование ожидающей публикации';
$new = DB::run() -> queryFetch("SELECT * FROM `pub_arts` WHERE `id` = '".$id."' AND `type` = 'file' LIMIT 1;", array($id));
$cat = DB::run() -> queryFetch("SELECT * FROM `pub_arts` WHERE `type`= 'dir' AND `id` =?;", array($new['fid']));
if (!empty($new)) {
$downs = DB::run() -> query("SELECT `id`, `fid`, `name` FROM `pub_arts` WHERE `type`= 'dir' ORDER BY `ord` ASC;") -> fetchAll();
if (count($downs) > 0) {
//if ($new['avtor'] == $log) {
echo '<a href="#down">Вниз</a> | <a href="fileman.php?">М.П.</a> » ';
echo '<a href="fileman.php?id='.$cat['id'].'">'.$cat['name'].'</a> » ';
echo '<a href="read.php?id='.$id.'">Обзор публикации</a><br />';
echo '<div class="b">';
echo '<b><big>Редактирование</big></b></div>';
echo '<div class="form">';
echo '<form action="?act=edit&id='.$id.'&start='.$start.'" method="post">';
echo '<label>Название:</label> <br />';
echo '<input type="text" name="name" value="'.$new['name'].'" class="form-control form-control-lg"/> <br />';
echo '<label>Описание:</label> <br />';
echo '<textarea name="opis" class="form-control form-control-lg">'.$new['opis'].'</textarea> <br />';
echo '<label>Публикация:</label> <br />';
echo '<textarea name="text" rows="'.$set_user['field_h'].'" id="markItUp" class="form-control form-control-lg">'.($new['text']).'</textarea>';
echo '<label>Метки:</label> <br /> <input name="tegs" value="'.$new['tegs'].'" class="form-control form-control-lg"/> <br />';
echo '<label>Автор:</label> <br />';
echo '<input type="text" name="avtor" size="3" maxlength="50" value="'.$new['avtor'].'" /> <br />';
if ($new['moder'] == 1) {
$checked = 'checked="checked"';
$check = ' <label class="text-success">Проверена</label>';
} else {
$checked = '';
$check = ' <label class="text-danger">Не проверена</label>';
}
echo '<p><input name="moder" type="checkbox" value="1" '.$checked.' /> '.$check.' </p>';
echo '<p><input name="trt" type="checkbox" value="1" /> Заменить латинские симолы рускими </p><br />';
echo '<input class="btn btn-primary" value="Изменить" type="submit" /></form></div><br />';
//} else { r_show_error('Ошибка! Изменение невозможно, вы не автор данной публикации!'); }
} else { show_error('Категории публикаций еще не созданы!'); }
} else { show_error('Данной публикации не существует!'); }
echo '<a href="fileman.php?id='.$new['fid'].'&start='.$start.'">Вернуться</a> <br />';
/*
if (mysql_result(mysql_query("select COUNT(*) from `pub_arts` where `id` = '".$id."' and `type` = 'file'"),0) > 0) {
$res = mysql_fetch_array(mysql_query("select * from `pub_arts` where `id` = '".$id."' and `type` = 'file' LIMIT 1"));
$name = htmlentities($res['name'],ENT_QUOTES,'UTF-8');
$opis = htmlentities($res['opis'],ENT_QUOTES,'UTF-8');
$text = htmlentities($res['text'],ENT_QUOTES,'UTF-8');
$tegs = htmlentities($res['tegs'],ENT_QUOTES,'UTF-8');
if (empty($_POST['submit'])) {
echo '<a href="read.php?id='.$id.'">'.$res['name'].'</a>';
echo '<div class="form">';
echo '<form method="post" action="file.php?act=editfile&id='.$id.'">';
echo '<b>Название стаьи</b>: <br /> <input value="'.$name.'" name="name"/> <br />';
echo '<b>Описание стаьи</b>: <br /> <textarea name="opis">'.$opis.'</textarea> <br />';
echo '<b>Статья</b>: <br /> <textarea name="text" rows="'.$set_user['field_h'].'" id="markItUp">'.$text.'</textarea> <br />';
echo '<label>Метки:</label> <br /> <input name="tegs" value="'.$tegs.'" class="form-control form-control-lg"/> <br />';
echo '<input value="Изменить" type="submit" name="submit"/></form> </div>';
} else {
if (!empty($_POST['name']) && !empty($_POST['text'])) {
$name = mysql_real_escape_string(trim($_POST['name']));
$opis = mysql_real_escape_string(trim($_POST['opis']));
$text = mysql_real_escape_string(trim($_POST['text']));
$tegs = mysql_real_escape_string(trim($_POST['tegs']));
if (mysql_query("
update `pub_arts` set
`name` = '".$name."',
`opis` = '".$opis."',
`text` = '".$text."',
`tegs` = '".$tegs."'
where `id` = '".$id."' LIMIT 1
")) {
$fid = $res['fid'];
header("Location: fileman.php?id=$fid");
} else {
echo 'ОШИБКА!!!<a href="file.php?act=editfile&id='.$id.'">Назад</a><br/>';
}
}
}
} else {
echo 'Такой стаьи не существует <br />';
}
echo '<a href="fileman.php?id='.$res['fid'].'">Назад</a><br/>';
*/
break;
######################################################################
## Редактирование ##
######################################################################
case 'edit':
show_title('','Редактирование ожидающей публиуации');
$config['newtitle'] = 'Редактирование ожидающей публикации';
$name = check($_POST['name']);
$opis = check($_POST['opis']);
$trt = (isset($_POST['trt'])) ? 1 : 0 ;
$text = ($trt == 1) ? trt(check($_POST['text'])) : (check($_POST['text']));
$avtor = (!empty($_POST['avtor'])) ? check($_POST['avtor']) : '';
$tegs = (isset($_POST['tegs'])) ? check($_POST['tegs']) : '';
$moder = (isset($_POST['moder'])) ? 1 : 0;
if (utf_strlen($text) >= 10 && utf_strlen($text) <= 500000) {
if (utf_strlen($tegs) <= 250) {
if (utf_strlen($avtor) <= 50) {
$new = DB::run() -> queryFetch("SELECT * FROM `pub_arts` WHERE `id`=? LIMIT 1;", array($id));
if (!empty($new)) {
//if ($new['avtor'] == $user_id) {
$categories = DB::run() -> querySingle("SELECT `id` FROM `pub_arts` WHERE `id`=? LIMIT 1;", array($id));
if (!empty($categories)) {
$newtext = DB::run() -> querySingle("SELECT `text` FROM `pub_arts` WHERE `text`=? AND `id`<>? LIMIT 1;", array($text, $id));
if (empty($newtext)) {
DB::run() -> query("
UPDATE `pub_arts` SET
`name`=?,
`opis`=?,
`text`=?,
`tegs`=?,
`avtor`=?,
`moder`=?
WHERE `id`=?
;",
array($name, $opis, $text, $tegs, $avtor, $moder, $id)
);
notice('Данные успешно изменены!');
redirect('fileman.php?id='.$new['fid'].'&page='.$page.'');
} else {
show_error('Ошибка! Публикация '.$text.' уже имеется в базе!');
}
} else {
show_error('Ошибка! Выбранный вами раздел не существует!');
}
//} else { r_show_error('Ошибка! Изменение невозможно, вы не автор данной публикации!'); }
} else { show_error('Данной публикации не существует!'); }
} else { show_error('Ошибка! Слишком длинный ник (логин) автора (до 50 символов)!'); }
} else { show_error('Ошибка! Слишком длинные метки (до 250 символов)!'); }
} else { show_error('Ошибка! Слишком длинный или короткий текст публикации (от 10 до 500000 символов)!'); }
echo '<a href="fileman.php?id='.$new['fid'].'&page='.$page.'">Вернуться</a> <br />';
break;
## Удаление
case "delfile":
if (DB::run() -> querySingle("select COUNT(*) from `pub_arts` where `id` = '".$id."' and `type` = 'file'") > 0) {
$res = DB::run() -> queryFetch("select * from `pub_arts` where `id` = '".$id."' and `type` = 'file' LIMIT 1");
if (!isset($_GET['yes'])) {
echo 'Вы потверждаете удаление
<a href="file.php?act=delfile&id='.$id.'&yes"><strong>ДА</strong></a> |
<a href="fileman.php?id='.$res['fid'].'"><strong>НЕТ</strong></a>';
} else {
if (DB::run() -> query("DELETE FROM `pub_arts` where `id` = '".$id."' and `type` = 'file' LIMIT 1")) {
$fid = $res['fid'];
header("Location: fileman.php?id=$fid");
} else {
echo 'ОШИБКА!!!<a href="file.php?act=delfile&id='.$id.'">Назад</a> <br />';
}
}
} else {
echo 'Такой стаьи не существует<br/>';
}
break;
#####################################################################
## Перемещение
case "perfile":
if (DB::run() -> querySingle("select COUNT(*) from `pub_arts` where `id` = '".$id."' and `type` = 'file'") > 0) {
$sql = DB::run() -> queryFetch("select * from `pub_arts` where `id` = '".$id."' and `type` = 'file' LIMIT 1");
$sql1 = DB::run() -> query("select * from `pub_arts` where `type` = 'dir'");
if (empty($_POST['submit'])) {
echo '<form method="post" action="file.php?act=perfile&id='.$id.'">';
echo 'Выберете категорию куда переместить: <br />';
echo '<select name="dir">';
while ($res = $sql1 -> fetch()) {
if ($res['fid']!=="0" && $res['id'] !== $sql['fid']) {
echo '<option value="'.$res['id'].'" selecte>'.$res['parent'].') '.$res['name'].' </option> ';
//echo '<option value="t2">'.$res['path'].'</option>';
}
}
echo '<input type="hidden" name="name" value="'.$res['name'].'Vasya">';
echo '</select> <br />';
echo '<input value="Перемистить" type="submit" name="submit"/></form>';
} else {
if (!empty($_POST['dir'])) {
$fid_d = intval($_POST['dir']);
$p = DB::run() -> queryFetch("select * from `pub_arts` where `type` = 'dir' and `id` = ? LIMIT 1;", array($fid_d));
$path = $p['path'];
if (DB::run() -> queryFetch("UPDATE `pub_arts` SET `fid` = '".$fid_d."', `path` = '".$path."' where `id` = '".$id."'")) {
header("Location: fileman.php?id=$fid_d");
} else {
echo 'ОШИБКА!!! <br /> <a href="fileman.php?id='.$id.'">Назад</a> <br />';
}
}
}
} else {
echo 'Такой стаьи не существует<br/>';
}
break;
}
}
}
if (!empty($id) && is_user()) {
switch($act) {
#####################################################################
## Выгрузка
case "upload":
$admin = isset($admin) ? 1 : 0;
$sq = mysql_fetch_array(mysql_query("select `type2` from `pub_arts` where `id` = '".$id."' LIMIT 1"));
if ($sq['type2'] == "YES" || ($rights == 5 || $rights >= 6)) {
$err = '';
$sql = DB::run() -> queryFetch("SELECT `name`, `text` FROM `pub_arts` WHERE `type` = 'dir' AND `id`=? LIMIT 1;", array($id));
$tot_file = DB::run() -> querySingle("SELECT COUNT(*) FROM `pub_arts` WHERE `type` = 'file' AND `fid` = ?;", array($id));
$title = ''.$sql['name'].' #'.($tot_file + 1).'';
if (empty($_POST['submit'])) {
echo '<form method="post" action="file.php?act=upload&id='.$id.'&admin='.$admin.'" enctype="multipart/form-data">';
echo 'Название статьи (MAX:50)<br/><input name="name_stat" value = "'.$title.'"/><br/>';
echo 'Описание статьи (MAX:1000)<br/><textarea name="opis_stat"></textarea><br/>';
echo '<label>Метки:</label> <br /> <input name="tegs" class="form-control form-control-lg"/> <br />';
echo 'Выберите текстовый файл( .txt):<br/><input type="file" name="file"/><br/>';
echo '<input value="Добавить" type="submit" name="submit"/></form>';
} else {
$data = $_FILES['file'];
$originalname = $data['name'];
$filesize = $data['size'];
$filetype = $data['type'];
$file_tmp = $data['tmp_name'];
$file_err = $data['error'];
$file_ext = pathinfo($originalname);
$file_ext = $file_ext['extension'];
$blacklist_ext = array('php','pl');
$mime = array('text/plain');
if (!empty($_POST['name_stat']) && mb_strlen($_POST['name_stat']) < 50) {
$name_stat = trim($_POST['name_stat']);
} else {
@unlink($file_tmp);
$err = 'Вы забыли ввести название статьи или название статьи привыщает 50 символов';
}
//if (!empty($_POST['opis_stat']) && mb_strlen($_POST['opis_stat']) < 1000) {
$opis_stat = trim($_POST['opis_stat']);
//} else {
// @unlink($file_tmp);
// $err = 'Вы забыли ввести описание статьи или название статьи привыщает 1000 символов';
//}
foreach($blacklist_ext as $val) {
if (preg_match("/$val\$/i",$originalname)) {
@unlink($file_tmp);
$err = 'Попытка загрузить файл не поддерживаемого формата';
}
}
if ($filesize == "0") {
@unlink($file_tmp);
$err = 'Слишком маленький вес файла: 0 Байт!';
}
if ($file_err) {
switch ($file_err) {
case "1":
@unlink($file_tmp);
$err = 'Размер принятого файла превысил максимально допустимый размер!';
break;
case "2":
@unlink($file_tmp);
$err = 'Размер принятого файла превысил максимально допустимый размер!';
break;
case "3":
@unlink($file_tmp);
$err = 'Загружаемый файл был получен только частично. ';
break;
case "4":
@unlink($file_tmp);
$err = 'Файл не был загружен. ';
break;
}
}
if (mb_substr_count($originalname,".") > 1 ) {
@unlink($file_tmp);
$err = 'Файл должен иметь одно расширение. ';
}
if (!$file_ext) {
@unlink($file_tmp);
$err = 'Файл должен иметь расширение. ';
}
if (!in_array($filetype,$mime)) {
@unlink($file_tmp);
$err = 'Ошибка, этот файл не поодерживает допустимый mime-type. ';
}
if ($err <> "") {
echo '<div class="rmenu"><p>'.$err.'</p></div>';
} else {
if (is_uploaded_file($file_tmp)) {
$path_file = 'file/'.$user_id.'.txt';
if (file_exists($path_file)) {
@unlink($path_file);
}
if (move_uploaded_file($file_tmp,$path_file)) {
$text = file_get_contents($path_file);
$text = iconv("windows-1251", "UTF-8", $text);
$text = mysql_real_escape_string($text);
$sql = mysql_fetch_array(mysql_query("select `path` from `pub_arts` where `id` = '".$id."' and `type` = 'dir' LIMIT 1"));
$path = $sql['path'];
$file = $originalname;
$moder = ($rights == 5 || $rights >= 6 ? '1' : "0");
$dt = date("d.m.Y");
$tegs = (isset($_POST['tegs'])) ? r_check($_POST['tegs']) : '';
if (mysql_query("
insert into `pub_arts` set
`fid` = '".$id."',
`path` = '".$path."',
`file` = '".$file."',
`type` = 'file',
`type2` = '',
`view` = '0',
`name` = '".$name_stat."',
`opis` = '".$opis_stat."',
`text` = '".$text."',
`tegs` = '".$tegs."',
`ip` = '".$ip."',
`soft` = '".$agn."',
`time` = '".SITETIME."',
`count` = '0',
`id_avtor` = '".$user_id."',
`rating` = '0',
`moder` = '".$moder."',
`dt` = '".$dt."'
;")) {
@unlink($path_file);
if ($admin == 1) {
r_notice('Публикация успешно выгружена!');
r_redirect("fileman.php?id=".$id);
} else {
echo 'Статья успешно загружена, перейти к статье:
<a href="read.php?id='.mysql_insert_id().'">'.$name_stat.'</a> <br />';
}
} else {
@unlink($path_file);
echo 'Ошибка при загрузке статьи! <br />
'.mysql_error().' <br />
<a href="'.(($rights == 5 || $rights >= 6)? 'fileman' : 'index').'.php?id='.$id.'">Назад</a> <br />';
}
}
}
}
}
}
break;
## Написание
case "newstat":
#################################################################
## Подготовка к добавлению ##
#################################################################
$sql = DB::run() -> queryFetch("SELECT `name`, `text` FROM `pub_arts` WHERE `type` = 'dir' AND `id`=? LIMIT 1;", array($id));
$tot_file = DB::run() -> querySingle("SELECT COUNT(*) FROM `pub_arts` WHERE `type` = 'file' AND `fid` = ?;", array($id));
$title = ''.$sql['name'].' #'.($tot_file + 1).'';
echo '<div class="form cut">';
echo '<form action="file.php?act=overwrite&id='.$id.'" method="post" enctype="multipart/form-data">';
echo '<label>Название:</label> <br /> <input name="name" class="form-control form-control-lg" value = "'.$title.'"/> <br />';
echo '<label>Описание:</label>';
echo '<textarea name="opis"></textarea> <br /><br />';
echo '<label>Публикация:</label>';
echo '<textarea name="msg" rows="'.$set_user['field_h'].'" id="markItUp" class="form-control form-control-lg"></textarea> <br />';
echo '<label>Метки:</label> <br /> <input name="tegs" class="form-control form-control-lg"/> <br />';
if (is_admin(array(101))) {
echo '<p><input name="moder" type="checkbox" value="1" checked="checked" /> <label class="text-success">Проверена</label> </p>';
}
echo '<button type="submit" name="submit" class="btn btn-success btn-lg"> Добавить </button><br />';
echo '</form></div>';
break;
#################################################################
## Добавление публикации ##
#################################################################
case 'overwrite':
$sql = DB::run() -> queryFetch("SELECT `name`, `text` FROM `pub_arts` WHERE `type` = 'dir' AND `id`=? LIMIT 1;", array($id));
$tot_file = DB::run() -> querySingle("SELECT COUNT(*) FROM `pub_arts` WHERE `type` = 'file' AND `fid` = ?;", array($id));
$title = ''.$sql['name'].' #'.($tot_file + 1).'';
$name = (isset($_POST['name'])) ? check($_POST['name']) : $title;
$opis = (isset($_POST['opis'])) ? check($_POST['opis']) : '';
$msg = (isset($_POST['msg'])) ? check($_POST['msg']) : '';
$tegs = (isset($_POST['tegs'])) ? check($_POST['tegs']) : '';
$path = DB::run() -> querySingle("SELECT `path` FROM `pub_arts` WHERE `id` = '".$id."' AND `type` = 'dir' LIMIT 1;", array($id));
$file = 'file/'.$log.'_'.$id.'_'.SITETIME.'.txt';
if (is_admin(array(101))) {
$moder = (isset($_POST['moder'])) ? 1 : 0;
} else {
$moder = (is_admin(array(102, 103)) ? "1" : "0");
}
$dt = date("d.m.Y");
$re = DB::run() -> querySingle("SELECT COUNT(*) FROM `pub_arts` WHERE `avtor`=? AND `text`=?;", array($log, $msg));
if (!$re) {
$validation = new Validation();
$validation
-> addRule('string', $name, 'Слишком длинноу или короткоу название!', true, 3, 75)
-> addRule('string', $msg, 'Слишком длинный или короткий текст публикации!', true, 3, 75000);
if ($validation->run()) {
DB::run() -> query("
INSERT INTO `pub_arts` (`fid`,`parent`,`ord`,`path`,`file`,`type`,`type2`,`view`,`name`,`opis`,`text`,`tegs`,`ip`,`soft`,`time`,`count`,`avtor`,`rating`,`moder`,`dt`)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);",
array($id, '0', '0', $path, $file, 'file', '1','0', $name, $opis, $msg, $tegs, $ip, $brow, SITETIME, 0, $log, 0, $moder, $dt)
);
$lastid = DB::run() -> lastInsertId();
notice('Ваша публикация успешно добавлена!');
redirect("index.php?id=".$id);
} else {
show_error($validation->getErrors());
}
} else {
show_error('Ошибка! Даннaя публикация уже была вами отправлена! Возможно она еще не прошла модерацию. Подождите!');
}
echo '<div class="breadcrumb"> <br /> </div>';
echo '<i class="fa fa-arrow-circle-left"></i> <a href="?act=newstat&id='.$id.'">Вернуться</a><br />';
break;
#################################################################
## Прикрепление файла ##
#################################################################
case "precfile":
$sql1 = DB::run() -> queryFetch("select `fid`,`name` from `pub_arts` where `id` = '".$id."'");
$sql = DB::run() -> queryFetch("select `fid`,`name` from `pub_arts` where `id` = '".$sql1['fid']."'");
echo '<ol class="breadcrumb">';
echo '<li><a href="/index.php?"> <i class="fa fa-home fa-lg text-muted"></i> </a></li>';
echo '<li class=""><a href="index.php?">Публикации</a></li>';
echo '<li class="active"><strong>Прикрепление файла</strong></li>';
echo '</ol> ';
if (is_admin(array(101))) {
$err = '';
if (empty($_POST['submit'])) {
echo '<form method="post" action="file.php?act=precfile&id='.$id.'" enctype="multipart/form-data">';
echo '<div class = "form">';
echo '<label>Название для отображения</label>: <br />';
echo '<input name="name"/> <br /><br />';
echo '<label>Выберите файл</label> (.txt .zip .rar .png .jpg .jpeg .gif ): <br />';
echo '<input type="file" name="file"/> <br /><br />';
echo '<input value="Добавить" type="submit" name="submit"/></div></form>';
} else {
$data = $_FILES['file'];
$originalname = $data['name'];
$filesize = $data['size'];
$filetype = $data['type'];
$file_tmp = $data['tmp_name'];
$file_err = $data['error'];
$file_ext = pathinfo($originalname);
$file_ext = isset($file_ext['extension']) ? $file_ext['extension'] : false;
$blacklist_ext = array('php','pl');
$mime = array(
'text/plain',
'application/x-zip-compressed',
'application/zip',
'image/gif',
'image/png',
'image/jpeg',
'application/x-rar-compressed'
);
if (!empty($_POST['name']) && mb_strlen($_POST['name']) < 50) {
$name = trim($_POST['name']);
} else {
@unlink($file_tmp);
$err = 'Вы забыли ввести название статьи или название статьи привыщает 50 символов';
}
foreach ($blacklist_ext as $val) {
if (preg_match("/$val\$/i",$originalname)) {
@unlink($file_tmp);
$err = 'Попытка загрузить файл не поддерживаемого формата';
}
}
if ($filesize == "0") {
@unlink($file_tmp);
$err = 'Слишком маленький вес файла: 0 Байт!';
}
if ($file_err) {
switch ($file_err) {
case "1":
@unlink($file_tmp);
$err = 'Размер принятого файла превысил максимально допустимый размер!';
break;
case "2":
@unlink($file_tmp);
$err = 'Размер принятого файла превысил максимально допустимый размер!';
break;
case "3":
@unlink($file_tmp);
$err = 'Загружаемый файл был получен только частично. ';
break;
case "4":
@unlink($file_tmp);
$err = 'Файл не был загружен. ';
break;
}
}
if (mb_substr_count($originalname,".") > 1) {
@unlink($file_tmp);
$err = 'Файл должен иметь одно расширение. ';
}
if (!$file_ext) {
@unlink($file_tmp);
$err = 'Файл должен иметь расширение. ';
}
if (!in_array($filetype,$mime)) {
@unlink($file_tmp);
$err = 'Ошибка, этот файл не поодерживает допустимый mime-type. ';
}
if ($err <> "") {
show_error(''.$err.'!');
echo '<a href="act=precfile&id='.$id.'">Повторить</a> <br />';
} else {
if (is_uploaded_file($file_tmp)) {
$path_file = $log.'_'.SITETIME.'.'.$file_ext;
if (file_exists('file/'.$path_file)) {
@unlink('file/'.$path_file);
}
$dt = date("d.m.Y");
$format = format($path_file);
$size = filesize($file_tmp);
if (move_uploaded_file($file_tmp,'file/'.$path_file)) {
if (
DB::run() -> query("
INSERT INTO `pub_file` (`fid`, `name`, `file`, `format`, `size`, `last_load`, `time`, `dt`)
VALUES (?, ?, ?, ?, ?, ?, ?, ?);",
array($id, $name, $path_file, $format, $size, '0', SITETIME, $dt)
)
) {
$sql1 = DB::run() -> queryFetch("select `fid`,`name` from `pub_arts` where `id` = '".$id."'");
$sql = DB::run() -> queryFetch("select `fid`,`name` from `pub_arts` where `id` = '".$sql1['fid']."'");
echo 'Файл успешно загружен: <br /> <a href="fileman.php?id='.$sql1['fid'].'">'.$sql['name'].'</a>';
} else {
// header("location: file.php?act=precfile&id=$id");
}
}
}
}
}
}
echo '<a href="fileman.php?id='.$sql1['fid'].'">'.$sql['name'].'</a> <br />';
break;
#################################################################
## Проверяем существование прикрепленного файла ##
#################################################################
case "look":
$yesorno = DB::run() -> querySingle("SELECT COUNT(*) from `pub_file` where `id` =?;", array($id));
if ($yesorno > 0) {
DB::run() -> query("UPDATE `pub_file` SET `last_load`=`last_load`+1 WHERE `id`=?", array($id));
$file = DB::run() -> queryFetch("SELECT * from `pub_file` where `id` =?;", array($id));
$file = './file/'.$file['file'];
if (file_exists($file)) {
header("Location: $file");
//r_redirect("Location: '".$file);
} else { // no Нужда доработка
redirect("Location: '".$file);
} // no name Нужда доработка
} else {
redirect("Location: '".$file);
}
break;
#################################################################
## Управление прикрепленного файла ##
#################################################################
case "editprec":
if (is_admin(array(101))) {
$yesorno = DB::run() -> querySingle("SELECT COUNT(*) FROM `pub_file` WHERE `fid` =?;", array($id));
if ($yesorno > 0) {
$sql = DB::run() -> query("select * from `pub_file` where `fid` = '".$id."'");
$i = 0;
while ($res = $sql -> fetch()) {
echo ($i % 2) ? '<div class="list1">' : '<div class="list2">';
echo '<a href="file.php?act=look&id='.$res['id'].'">'.$res['name'].'</a><br/>';
echo '<a href="file.php?act=editprec&fid='.$res['id'].'&ed&id='.$id.'"><span class="red">Удалить</span></a>';
echo '</div>';
}
if (isset($_GET['ed'])) {
if (file_exists('./file/'.$ed['file'])) {
@unlink('./file/'.$ed['file']);
}
$sql = DB::run() -> query("select * from `pub_file` where `id` = '".intval($_GET['fid'])."'");
$ed = $sql -> fetch();
$dd = DB::run() -> queryFetch("select `fid` from `pub_arts` where `id` = '".$ed['fid']."'");
DB::run() -> query("delete from `pub_file` where `id` = '".intval($_GET['fid'])."'");
header("Location: fileman.php?id=".$dd['fid']);
}
}
}
$sql1 = DB::run() -> queryFetch("select `fid` from `pub_arts` where `id` = '".$id."'");
echo '<a href="fileman.php?id='.$sql1['fid'].'">Назад</a>';
break;
##
case "rat":
if ($_SESSION['rat'] !== $id) {
$_SESSION['rat'] = $id;
$rat = abs(intval($_POST['rat']));
$re = DB::run() -> queryFetch("SELECT * FROM `pub_arts` WHERE `id`=? LIMIT 1;", array($id));
if (!empty($re['rating'])) {
$re1 = explode(":",$re['rating']);
$kol = $re1[0];
$ocenka = $re[1];
$zap = intval(++$kol).':'.intval($ocenka + $rat);
} else {
$kol = 0;
$ocenka = 0;
$zap = intval(++$kol).':'.intval($ocenka + $rat);
}
DB::run() -> query("update `pub_arts` set `rating` = '".$zap."' where `id` = '".$id."'");
$ocenka2 = round($rat/2);
echo ' <br /> Спасибо ваша оценка: <b>"'.$ocenka2.'"</b> принята <br />';
notice('Спасибо ваша оценка: <b>"'.$ocenka2.'"</b> принята!');
redirect('read.php?id='.$id);
//$re = DB::run() -> queryFetch("slect `rating` from `pub_arts` where `id` = '".$id."' LIMIT 1");
$re = DB::run() -> queryFetch("SELECT * FROM `pub_arts` WHERE `id`=?;", array($id));
$re1 = explode(":",$re['rating']);
$tit = round($re1[1]/2/$re1[0],1);
echo 'Всего оценивало: '.(int)$re1[0].' <br />';
echo 'Средняя оценка: '.$tit.' <br />';
} else {
echo 'Вы уже голосовали за эту статью<br/>';
}
echo '<br /> <a href="read.php?id='.$id.'">Вернуться</a>';
break;
}
}
include_once ('../themes/footer.php');
?>