<?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;
$bid = (isset($_GET['bid'])) ? abs(intval($_GET['bid'])) : 0;
show_title('Доска объявлений');
############################################################################################
## Вывод перечня категорий ##
############################################################################################
if ($act == 'index') {
if (file_exists(DATADIR."/board/database.dat")) {
$lines = file(DATADIR."/board/database.dat");
$total = count($lines);
if ($total>0) {
foreach($lines as $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="index.php?act=board&id='.$data[2].'">'.$data[0].'</a></b> ('.(int)$totalboard.')</div>';
echo '<div>'.$data[1].'<br />';
if($totalboard>0){
$fileboard = file(DATADIR."/board/$data[2].dat");
$lostlist = explode("|",end($fileboard));
if (utf_strlen($lostlist[0])>35) {$lostlist[0]=utf_substr($lostlist[0],0,30); $lostlist[0].="...";}
echo 'Тема: <a href="index.php?act=view&id='.$lostlist[6].'&bid='.$lostlist[5].'">'.$lostlist[0].'</a><br />';
echo 'Объявление: '.profile($lostlist[1]).' <small>('.date_fixed($lostlist[3]).')</small>';
} else {echo 'Рубрика пуста, объявлений нет!';}
echo '</div>';
}
echo '<p>Всего рубрик: <b>'.(int)$total.'</b></p>';
} else {show_error('Доска объявлений пуста, рубрики еще не созданы!');}
} else {show_error('Доска объявлений пуста, рубрики еще не созданы!');}
}
############################################################################################
## Вывод объявлений в текущей категории ##
############################################################################################
if ($act == "board"){
$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="index.php">Объявления</a> / ';
echo '<a href="index.php?act=new&id='.$id.'">Добавить</a>';
if (is_admin()){
echo ' / <a href="/admin/board.php?act=board&id='.$id.'">Управление</a>';
}
echo '<hr />';
if (file_exists(DATADIR."/board/$id.dat")){
$files = file(DATADIR."/board/$id.dat");
//---------------Функция автоудаления--------------------//
$newlines = array();
foreach($files as $bkey=>$bvalue){
$bdata = explode("|", $bvalue);
if($bdata[4]<SITETIME){
$newlines[] = (int)$bkey;
}
}
if(count($newlines)>0){
delete_lines(DATADIR."/board/$id.dat", $newlines);
}
//------------------------------------------------------//
$files = array_reverse($files);
$total = count($files);
if ($total>0) {
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("|",$files[$i]);
if (utf_strlen($data[2])>100) {
$data[2] = utf_substr($data[2],0,100); $data[2].="...";
}
echo '<div class="b">';
echo '<img src="/images/img/forums.gif" alt="image" /> '.($i+1).'. ';
echo '<b><a href="index.php?act=view&id='.$id.'&bid='.$data[5].'&start='.$start.'">'.$data[0].'</a></b> ';
echo '<small>('.date_fixed($data[3]).')</small></div>';
echo 'Текст объявления: '.$data[2].'<br />';
echo 'Автор объявления: '.profile($data[1]).'<br />';
}
page_strnavigation('index.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('Ошибка! Данной рубрики не существует!');}
}
############################################################################################
## Просмотр объявления в текущей категории ##
############################################################################################
if($act == "view"){
if (file_exists(DATADIR."/board/$id.dat")){
$string = search_string(DATADIR."/board/database.dat", $id, 2);
if ($string) {
$bstr = search_string(DATADIR."/board/$id.dat", $bid, 5);
if ($bstr) {
$config['header'] = $bstr[0];
echo '<a href="#down"><img src="/images/img/downs.gif" alt="image" /></a> ';
echo '<a href="index.php">Объявления</a> / ';
echo '<a href="index.php?act=board&id='.$id.'">'.$string[0].'</a> / ';
echo '<a href="index.php?act=new&id='.$id.'">Добавить</a><hr />';
echo $bstr[2].'<br />';
echo 'Автор: '.profile($bstr[1]).'<br />';
echo 'Размещено: '.date_fixed($bstr[3]).'<br />';
echo '<small>Дата удаления: <b>'.date_fixed($bstr[4]).'</b></small><br /><br />';
} else {show_error('Ошибка! Данного объявления не существует!');}
} else {show_error('Ошибка! Данной рубрики не существует!');}
} else {show_error('Ошибка! Данной рубрики не существует!');}
}
############################################################################################
## Форма добавления объявления ##
############################################################################################
if ($act == "new"){
$config['header'] = 'Добавление объявления';
if (is_user()){
if (search_string(DATADIR."/board/database.dat", $id, 2)) {
echo '<div class="form">';
echo '<form action="index.php?act=add&id='.$id.'" method="post">';
echo '<b>Заголовок:</b><br /><input type="text" name="zag" maxlength="50" /><br />';
echo '<b>Объявление:</b><br /><textarea cols="25" rows="3" name="msg"></textarea><br />';
echo '<b>Срок показа:</b><br /><select name="days">';
for($i=5; $i<=$config['boarddays']; $i=$i+5){
echo '<option value="'.$i.'">'.$i.' дней</option>';
}
echo '</select><br /> (Максимальный срок показа - <b>'.(int)$config['boarddays'].'</b> дней.)<br />';
echo '<input type="submit" value="Добавить" /></form></div><br />';
} else {show_error('Ошибка! Данного раздела не существует!');}
} else {show_login('Вы не авторизованы, чтобы добавить объявление, необходимо');}
echo '<img src="/images/img/back.gif" alt="image" /> <a href="index.php?act=board&id='.$id.'">Вернуться</a><br />';
}
############################################################################################
## Добавление объявления ##
############################################################################################
if ($act == "add"){
$config['header'] = 'Добавление объявления';
if (is_user()){
if (search_string(DATADIR."/board/database.dat", $id, 2)) {
$zag = check($_POST['zag']);
$msg = check($_POST['msg']);
$days = (int)$_POST['days'];
if (utf_strlen(trim($zag))>=5 && utf_strlen($zag)<=50){
if (utf_strlen(trim($msg))>=10 && utf_strlen($msg)<=1000){
if ($days>0 && $days<=$config['boarddays']){
$deltime = SITETIME + ($days * 86400);
$msg = no_br($msg);
$unifile = unifile(DATADIR."/board/$id.dat", 5);
$text = no_br($zag.'|'.$log.'|'.$msg.'|'.SITETIME.'|'.$deltime.'|'.$unifile.'|'.$id.'|');
write_files(DATADIR."/board/$id.dat", "$text\r\n", 0, 0666);
notice('Объявление успешно размещено!');
redirect("index.php?act=board&id=$id");
} else {show_error('Ошибка, не указано число дней показа объявления!');}
} else {show_error('Слишком длинное или короткое объявление (Необходимо от 10 до 1000 символов)');}
} else {show_error('Слишком длинный или короткий заголовок (Необходимо от 5 до 50 символов)');}
} else {show_error('Ошибка! Данной рубрики не существует!');}
} else {show_login('Вы не авторизованы, чтобы добавить объявление, необходимо');}
echo '<img src="/images/img/back.gif" alt="image" /> <a href="index.php?act=new&id='.$id.'">Вернуться</a><br />';
}
echo '<img src="/images/img/homepage.gif" alt="image" /> <a href="/index.php">На главную</a><br />';
include_once ("../themes/footer.php");
?>