Назад');
require ('../incfiles/end.php');
exit;
}
// Проверка записи на существование
if ( (mysql_result(mysql_query("SELECT COUNT(*) FROM `blogs` WHERE `id` = '" . $id . "'"), 0 ) == 0) && $mod != 'add') {
require ('../incfiles/head.php');
echo functions::display_error('Объект не найден', 'Назад');
require ('../incfiles/end.php');
exit;
}
switch ($mod) {
/**
* Добавление записи
*/
case 'add':
$textl = 'Блоги | Добавить запись';
require ('../incfiles/head.php');
echo '
Блоги | Добавление записи
';
if (!empty($_POST)) {
// Проверяем и добавляем данные
$flood = functions::antiflood();
if ($flood) {
echo functions::display_error('Вы не можете так часто добавлять сообщения
Пожалуйста подождите' .
$flood . ' сек.',
'Повторить');
require('../incfiles/end.php');
exit;
}
if (empty($_POST['title']) || empty($_POST['text']) || empty($_POST['tags'])) {
echo functions::display_error('Не все поля заполнены!',
'Попробовать еще раз');
require ('../incfiles/end.php');
exit;
}
$error = array();
$title = functions::check($_POST['title']);
$text = mysql_real_escape_string(trim($_POST['text']));
$tags = functions::check($_POST['tags']);
if (mb_strlen($title) > 25 || mb_strlen($title) < 2)
$error[] = 'Длина заголовка должна содержать от 2-х до 25-ти символов';
if (mb_strlen($text) > $bset['post_len'])
$error[] = 'Длина поста не должна превышать ' . $bset['post_len'] . ' символов';
if (mb_strlen($tags) > 60)
$error[] = 'Содержимое меток не должно превышать 60 символов';
if (!empty($error)) {
echo functions::display_error($error, 'Повторить');
require ('../incfiles/end.php');
exit;
}
mysql_query("INSERT INTO `blogs` SET
`title` = '" . $title . "',
`text` = '" . $text . "',
`tags` = '" . $tags . "',
`author_id` = '" . $user_id . "',
`author_name` = '" . $login . "',
`time` = '" . time() . "'
");
$pid = mysql_insert_id();
if (isset($_POST['addfile'])) {
header('Location: ?act=addfile&id=' . $pid);
exit;
}
echo '';
} else {
// Форма добавления
echo '';
}
echo '';
break;
/**
* Редактирование записи
*/
case 'edit':
$textl = 'Блоги | Редактирование записи';
require ('../incfiles/head.php');
echo 'Блоги | Редактирование записи
';
$text = mysql_fetch_assoc(mysql_query("SELECT * FROM `blogs` WHERE `id` = '" . $id . "'"));
$a_user = functions::get_user($text['author_id']);
// Проверка доступа к редактированию
if (($text['author_id'] != $user_id && $rights < 7) || ($a_user['rights'] > $rights && $rights < 7)) {
echo functions::display_error('Доступ запрещен', 'Назад');
require ('../incfiles/end.php');
exit;
}
if (!empty($_POST)) {
// Проверка и запись данных
if (empty($_POST['title']) || empty($_POST['text']) || empty($_POST['tags'])) {
echo functions::display_error('Не все поля заполнены!',
'Попробовать еще раз');
require ('../incfiles/end.php');
exit;
}
$error = array();
$title = functions::check($_POST['title']);
$text = mysql_real_escape_string(trim($_POST['text']));
$tags = functions::check($_POST['tags']);
if (mb_strlen($title) > 25 || mb_strlen($title) < 2)
$error[] = 'Длина заголовка должна содержать от 2-х до 25-ти символов';
if (mb_strlen($text) > $bset['post_len'])
$error[] = 'Длина поста не должна превышать ' . $bset['post_len'] . ' символов';
if (mb_strlen($tags) > 60)
$error[] = 'Содержимое меток не должно превышать 60 символов';
if (!empty($error)) {
echo functions::display_error($error, 'Повторить');
require ('../incfiles/end.php');
exit;
}
mysql_query("UPDATE `blogs` SET
`title` = '" . $title . "',
`text` = '" . $text . "',
`tags` = '" . $tags . "'
WHERE `id` = '" . $id . "'
");
echo '';
} else {
// Форма редактирования
echo '';
}
echo '';
break;
/**
* Удаление записи
*/
case 'delete':
$textl = 'Блоги | Удаление записи';
require ('../incfiles/head.php');
$text = mysql_fetch_assoc(mysql_query("SELECT `author_id` FROM `blogs` WHERE `id` = '" . $id . "'"));
$a_user = functions::get_user($text['author_id']);
// Проверка доступа
if (($text['author_id'] != $user_id && $rights < 7) || ($a_user['rights'] > $rights && $rights < 7)) {
echo functions::display_error('Доступ запрещен', 'Назад');
require ('../incfiles/end.php');
exit;
}
echo '';
if (!empty($_POST)) {
mysql_query("DELETE FROM `blogs_votes` WHERE `post_id` = '" . $id . "'");
mysql_query("DELETE FROM `blogs` WHERE `id` = '" . $id . "'");
echo '';
} else {
// Форма подтверждения
echo '';
}
echo '';
break;
/**
* Просмотр записи
*/
default:
// Данные записи
$text = mysql_fetch_assoc(mysql_query("SELECT * FROM `blogs` WHERE `id` = '" . $id . "'"));
// Заголовок страницы
$textl = strtr($text['title'], array('"' => '',
'&' => '',
'<' => '',
'>' => '',
''' => '',
'\' => ''));
$textl = functions::checkout($textl);
require ('../incfiles/head.php');
/**
* Счетчик прочтений
*/
if ( !isset($_SESSION['blogs_view']) || ( isset($_SESSION['blogs_view']) && $_SESSION['blogs_view'] != $id ) ) {
$_SESSION['blogs_view'] = $id;
mysql_query("UPDATE `blogs` SET `views` = '" . (intval($text['views']) + 1) . "' WHERE `id` = '" . $id . "'");
}
echo '' . functions::smileys(functions::checkout($text['text'], 1, 1)) .
'
' . functions::display_date($text['time']) .
'
Метки: ' . $text['tags'] .
'
Прочтений: ' . $text['views'] .
'
Рейтинг: ' .
' ' . ($text['rate_p'] - $text['rate_m']) .
' ' .
'
Комментарии: (' . $text['count_comm']. ')';
/**
* Прикрепленные файлы
*/
$b_files = mysql_query("SELECT * FROM `blogs_files` WHERE `refid` = '" . $id . "'");
if (mysql_num_rows($b_files)) {
echo '
Прикрепленные файлы:
';
while ($res_f = mysql_fetch_assoc($b_files)) {
echo '' . htmlentities($res_f['filename']) . '
';
}
}
echo ' ';
$a_user = functions::get_user($text['author_id']);
if ($text['author_id'] == $user_id || ($a_user['rights'] < $rights && $rights >= 7)) {
echo '';
}
break;
}
?>