<?php
#---------------------------------------------#
# ********* RotorCMS ********* #
# Author : Vantuz #
# Email : [email protected] #
# Site : http://visavi.net #
# ICQ : 36-44-66 #
# Skype : vantuzilla #
#---------------------------------------------#
require_once ('../includes/start.php');
require_once ('../includes/functions.php');
require_once ('../includes/header.php');
include_once ('../themes/header.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;
if (is_admin()){
show_title('Доска объявлений');
############################################################################################
## Главная страница ##
############################################################################################
if ($act == 'index') {
$is_admin = is_admin(array(101,102));
if (file_exists(DATADIR."/board/database.dat")) {
$lines = file(DATADIR."/board/database.dat");
$total = count($lines);
if ($total>0) {
if ($is_admin) {echo '<form action="board.php?act=delrub&uid='.$_SESSION['token'].'" method="post">';}
foreach($lines as $key=>$boardval){
$data = explode("|", $boardval);
$totalboard = counter_string(DATADIR."/board/$data[2].dat");
echo '<div class="b"><img src="/images/img/forums.gif" alt="image" /> ';
echo '<b><a href="board.php?act=board&id='.$data[2].'">'.$data[0].'</a></b> ('.(int)$totalboard.')';
if ($is_admin){
echo '<br /><input type="checkbox" name="del[]" value="'.$key.'" /> ';
if ($key != 0){echo '<a href="board.php?act=move&id='.$key.'&where=0&uid='.$_SESSION['token'].'">Вверх</a> / ';} else {echo 'Вверх / ';}
if ($total > ($key+1)){echo '<a href="board.php?act=move&id='.$key.'&where=1&uid='.$_SESSION['token'].'">Вниз</a>';} else {echo 'Вниз';}
echo ' / <a href="board.php?act=edit&id='.$key.'">Редактировать</a>';
}
echo '</div>';
echo '<div>'.$data[1].'</div>';
}
if ($is_admin) {echo '<br /><input type="submit" value="Удалить выбранное" /></form>';}
echo '<p>Всего рубрик: <b>'.(int)$total.'</b></p>';
} else {show_error('Доска объявлений пуста, рубрики еще не созданы!');}
} else {show_error('Доска объявлений пуста, рубрики еще не созданы!');}
if ($is_admin) {echo '<img src="/images/img/edit.gif" alt="image" /> <a href="board.php?act=add">Добавить</a><br />';}
}
############################################################################################
## Просмотр рубрики ##
############################################################################################
if ($act=="board") {
if ($id!=""){
$string = search_string(DATADIR."/board/database.dat", $id, 2);
if ($string) {
$config['header'] = $string[0];
$config['subheader'] = $string[1];
echo '<a href="#down"><img src="/images/img/downs.gif" alt="image" /></a> ';
echo '<a href="board.php">Объявления</a> / ';
echo '<a href="/board/index.php?act=new&id='.$id.'">Добавить</a> / ';
echo '<a href="/board/index.php?act=board&id='.$id.'">Обзор</a><br /><hr />';
if (file_exists(DATADIR."/board/$id.dat")){
$lines = file(DATADIR."/board/$id.dat");
$lines = array_reverse($lines);
$total = count($lines);
if ($total>0) {
echo '<form action="board.php?act=deltop&id='.$id.'&start='.$start.'&uid='.$_SESSION['token'].'" method="post">';
if ($start < 0 || $start > $total){$start = 0;}
if ($total < $start + $config['boardspost']){ $end = $total; }
else {$end = $start + $config['boardspost']; }
for ($i = $start; $i < $end; $i++){
$data = explode("|",$lines[$i]);
$num = $total - $i - 1;
if (utf_strlen($data[2])>100) {
$data[2] = utf_substr($data[2],0,100); $data[2].="...";
}
echo '<div class="b">';
echo '<input type="checkbox" name="del[]" value="'.$num.'" /> ';
echo '<img src="/images/img/forums.gif" alt="image" /> '.($i+1).'. ';
echo '<b><a href="/board/index.php?act=view&id='.$id.'&bid='.$data[5].'&start='.$start.'">'.$data[0].'</a></b> ';
echo '(<small>'.date_fixed($data[3]).'</small>)</div>';
echo '<div>Текст объявления: '.$data[2].'<br />';
echo 'Автор объявления: '.profile($data[1]).'</div>';
}
echo '<br /><input type="submit" value="Удалить выбранное" /></form><br />';
page_strnavigation('board.php?act=board&id='.$id.'&', $config['boardspost'], $start, $total);
echo '<p>Всего объявлений: <b>'.(int)$total.'</b></p>';
} else {show_error('Объявлений еще нет!');}
} else {show_error('Объявлений еще нет!');}
} else {show_error('Ошибка! Данной рубрики не существует!');}
} else {show_error('Ошибка! Не выбрана рубрика для просмотра!');}
echo '<img src="/images/img/back.gif" alt="image" /> <a href="board.php">Вернуться</a><br />';
}
############################################################################################
## Подготовка к добавлению ##
############################################################################################
if ($act=="add") {
if (is_admin(array(101,102))){
echo '<b><big>Добавление рубрики</big></b><br /><br />';
echo '<div class="form">';
echo '<form action="board.php?act=addrub&uid='.$_SESSION['token'].'" method="post">';
echo 'Название: <br /><input type="text" name="zag" /><br />';
echo 'Описание: <br /><input type="text" name="msg" /><br />';
echo '<input type="submit" value="Добавить" /></form></div><br />';
} else {show_error('Ошибка! Добавлять рубрики могут только администраторы!');}
echo '<img src="/images/img/back.gif" alt="image" /> <a href="board.php">Вернуться</a><br />';
}
############################################################################################
## Добавление ##
############################################################################################
if ($act=="addrub") {
$uid = check($_GET['uid']);
$zag = check($_POST['zag']);
$msg = check($_POST['msg']);
if (is_admin(array(101,102))){
if ($uid==$_SESSION['token']){
if (utf_strlen(trim($zag))>=3 && utf_strlen($zag)<50){
if (utf_strlen(trim($msg))>=5 && utf_strlen($msg)<50){
$unifile = unifile(DATADIR."/board/database.dat", 2);
$text = no_br($zag.'|'.$msg.'|'.$unifile.'|');
write_files(DATADIR."/board/database.dat", "$text\r\n", 0, 0666);
notice('Новый раздел успешно создан!');
redirect("board.php");
} else {show_error('Ошибка! Слишком длинное или короткое описание рубрики!');}
} else {show_error('Ошибка! Слишком длинное или короткое название рубрики!');}
} else {show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');}
} else {show_error('Ошибка! Добавлять рубрики могут только администраторы!');}
echo '<img src="/images/img/reload.gif" alt="image" /> <a href="board.php?act=add">Вернуться</a><br />';
echo '<img src="/images/img/back.gif" alt="image" /> <a href="board.php">К объявлениям</a><br />';
}
############################################################################################
## Редактирование ##
############################################################################################
if ($act=="edit") {
if (is_admin(array(101,102))){
if ($id!==""){
$file = file(DATADIR."/board/database.dat");
if (isset($file[$id])){
$data = explode("|", $file[$id]);
echo '<b><big>Редактирование рубрики</big></b><br /><br />';
echo '<div class="form"><form action="board.php?id='.$id.'&act=addedit&uid='.$_SESSION['token'].'" method="post">';
echo 'Название: <br /><input type="text" name="zag" value="'.$data[0].'" /><br />';
echo 'Описание: <br /><input type="text" name="msg" value="'.$data[1].'" /><br />';
echo '<input type="submit" value="Изменить" /></form></div><br />';
} else {show_error('Ошибка! Данной рубрики не существует!');}
} else {show_error('Ошибка! Не выбрана рубрика для редактирования!');}
} else {show_error('Ошибка! Редактировать рубрики могут только администраторы!');}
echo '<img src="/images/img/back.gif" alt="image" /> <a href="board.php?">Вернуться</a><br />';
}
############################################################################################
## Изменение рубрики ##
############################################################################################
if ($act=="addedit") {
$uid = check($_GET['uid']);
$zag = check($_POST['zag']);
$msg = check($_POST['msg']);
if (is_admin(array(101,102))){
if ($uid==$_SESSION['token']){
if ($id!==""){
if (utf_strlen(trim($zag))>=3 && utf_strlen($zag)<50){
if (utf_strlen(trim($msg))>=5 && utf_strlen($msg)<50){
$file = file(DATADIR."/board/database.dat");
if (isset($file[$id])){
$data = explode("|", $file[$id]);
$text = no_br($zag.'|'.$msg.'|'.$data[2].'|');
replace_lines(DATADIR."/board/database.dat", $id, $text);
notice('Раздел успешно изменен!');
redirect("board.php");
} else {show_error('Ошибка! Рубрики для редактирования не существует!');}
} else {show_error('Ошибка! Слишком длинное или короткое описание рубрики!');}
} else {show_error('Ошибка! Слишком длинное или короткое название рубрики!');}
} else {show_error('Ошибка! Не выбрана рубрика для редактирования!');}
} else {show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');}
} else {show_error('Ошибка! Редактировать рубрики могут только администраторы!');}
echo '<img src="/images/img/reload.gif" alt="image" /> <a href="board.php?act=add">Вернуться</a><br />';
echo '<img src="/images/img/back.gif" alt="image" /> <a href="board.php">К объявлениям</a><br />';
}
############################################################################################
## Сдвиг рубрик ##
############################################################################################
if ($act=="move"){
$uid = check($_GET['uid']);
$where = (isset($_REQUEST['where'])) ? abs(intval($_REQUEST['where'])) : "";
if (is_admin(array(101,102))){
if ($uid==$_SESSION['token']){
if ($id!==""){
if ($where!==""){
move_lines(DATADIR."/board/database.dat", $id, $where);
notice('Раздел успешно перемещен!');
redirect("board.php");
} else {show_error('Ошибка! Не выбрано действие для сдвига!');}
} else {show_error('Ошибка! Не выбрана строка для сдвига!');}
} else {show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');}
} else {show_error('Ошибка! Двигать рубрики могут только администраторы!');}
echo '<img src="/images/img/back.gif" alt="image" /> <a href="board.php">Вернуться</a><br />';
}
############################################################################################
## Удаление рубрики ##
############################################################################################
if ($act=="delrub") {
$uid = check($_GET['uid']);
$del = (isset($_REQUEST['del'])) ? intar($_REQUEST['del']) : "";
if (is_admin(array(101,102))){
if ($uid==$_SESSION['token']){
if ($del!==""){
$file = file(DATADIR."/board/database.dat");
foreach($del as $val){
$data = explode("|", $file[$val]);
if(file_exists(DATADIR."/board/$data[2].dat")){
unlink (DATADIR."/board/$data[2].dat");
}}
delete_lines(DATADIR."/board/database.dat", $del);
notice('Раздел успешно удален!');
redirect("board.php");
} else {show_error('Ошибка удаления! Отсутствуют выбранные рубрики!');}
} else {show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');}
} else {show_error('Ошибка! Удалять рубрики могут только администраторы!');}
echo '<img src="/images/img/back.gif" alt="image" /> <a href="board.php">Вернуться</a><br />';
}
############################################################################################
## Удаление объявлений ##
############################################################################################
if ($act=="deltop") {
$uid = check($_GET['uid']);
$del = (isset($_REQUEST['del'])) ? intar($_REQUEST['del']) : "";
if ($uid==$_SESSION['token']){
if ($id!=""){
if ($del!==""){
delete_lines(DATADIR."/board/$id.dat", $del);
notice('Объявление успешно удалено!');
redirect("board.php?act=board&id=$id&start=$start");
} else {show_error('Ошибка! Отсутствуют выбранные объявления!');}
} else {show_error('Ошибка! Не выбрана рубрика для удаления!');}
} else {show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');}
echo '<img src="/images/img/back.gif" alt="image" /> <a href="board.php?act=board&id='.$id.'&start='.$start.'">Вернуться</a><br />';
}
//----------------------- Концовка -------------------------//
echo '<img src="/images/img/panel.gif" alt="image" /> <a href="index.php">В админку</a><br />';
echo '<img src="/images/img/homepage.gif" alt="image" /> <a href="/index.php">На главную</a><br />';
} else {
redirect('/index.php');
}
include_once ("../themes/footer.php");
?>