Файл: diary/index.php
Строк: 432
<?
include('../core/core.php');
include(MAINDIR.'style/head.php');
title('Дневники');
echo '<div class="title">Дневники</div>';
if(is_user()){
$my = DB::run() -> queryFetch("SELECT * FROM `users` WHERE `login`=? LIMIT 1",array(check($_COOKIE['login'])));
$admin = $my['status'];
}
switch ($mode):
case 'index':
echo'<div class="menu">Разделы</div>';
define('TOPAGE',10); $num = TOPAGE;
$links = '?mode=index&page=';
$page = intval($_GET['page']);
$posts = DB::run() -> query("SELECT * FROM `diary`") -> rowCount();
$total = intval(($posts - 1) / $num) + 1;
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;
$themes = DB::run()->query("SELECT * FROM `diary` ORDER BY `id` DESC LIMIT $start,".TOPAGE."");
$themes = $themes -> fetchAll();
foreach($themes AS $u){
echo'<div class="menu">';
echo'<a href="?mode=diary&id='.$u['id'].'">'.$u['name'].'</a> ['.count_all('diary_cat','id_diary',$u['id']).']';
echo'</div>';
}
if ($page != 1) $pervpage = '<a href= '.$links.'1><<</a> <a href= '.$links.''. ($page - 1) .'><</a> ';
if ($page != $total) $nextpage = ' <a href= '.$links.''. ($page + 1) .'>></a> <a href= '.$links.'' .$total. '>>></a>';
if($page - 2 > 0) $page2left = ' <a href= '.$links.''. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href= '.$links.''. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 2 <= $total) $page2right = ' | <a href= '.$links.''. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href= '.$links.''. ($page + 1) .'>'. ($page + 1) .'</a>';
if($posts == 0){ echo'<div class="menu">Разделы еще не созданы!</div>'; } else {echo '<div class="menu_2">'.$pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage.'</div>'; }
if(is_admin()){echo'<div class="menu"><a href="?mode=admin">Добавить разделы</a></div>';}
break;
case 'diary':
$id=abs(intval($_GET['id']));
echo'<div class="menu">Дневники</div>';
define('TOPAGE',10); $num = TOPAGE;
$links = '?mode=diary&id='.$id.'&page=';
$page = intval($_GET['page']);
$posts = DB::run() -> query("SELECT * FROM `diary_cat` WHERE `id_diary` =?",array($id)) -> rowCount();
$total = intval(($posts - 1) / $num) + 1;
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;
$themes = DB::run()->query("SELECT * FROM `diary_cat` WHERE `id_diary` =? ORDER BY `id` DESC LIMIT $start,".TOPAGE."",array($id));
$themes = $themes -> fetchAll();
foreach($themes AS $u){
echo'<div class="menu">';
echo'<a href="?mode=see&id='.$u['id'].'">'.$u['name'].'</a> ['.count_all('diary_note','id_diary_cat',$u['id']).'] ';
if(is_admin(array(101, 102))){echo'[<a href="?mode=ful_dell_diary">X</a>]';}
echo'<br />
Автор: <a href="/profile/'.$u['login'].'">'.$u['login'].'</a><br />
Дата: '.$u['data'].'';
echo'</div>';
}
if ($page != 1) $pervpage = '<a href= '.$links.'1><<</a> <a href= '.$links.''. ($page - 1) .'><</a> ';
if ($page != $total) $nextpage = ' <a href= '.$links.''. ($page + 1) .'>></a> <a href= '.$links.'' .$total. '>>></a>';
if($page - 2 > 0) $page2left = ' <a href= '.$links.''. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href= '.$links.''. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 2 <= $total) $page2right = ' | <a href= '.$links.''. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href= '.$links.''. ($page + 1) .'>'. ($page + 1) .'</a>';
if($posts == 0){ echo'<div class="menu">Дневники еще не созданы!</div>'; } else {echo '<div class="menu_2">'.$pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage.'</div>'; }
if(is_user()){
echo'<div class="menu">';
echo'<a href="?mode=add_diary&id='.$id.'">Создать тут дневник</a>';
echo'</div>';
}
break;
case 'see':
$id=abs(intval($_GET['id']));
echo'<div class="menu">Заметки</div>';
define('TOPAGE',10); $num = TOPAGE;
$links = '?mode=see&id='.$id.'&page=';
$page = intval($_GET['page']);
$posts = DB::run() -> query("SELECT * FROM `diary_note` WHERE `id_diary_cat` =?",array($id)) -> rowCount();
$total = intval(($posts - 1) / $num) + 1;
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;
$themes = DB::run()->query("SELECT * FROM `diary_note` WHERE `id_diary_cat` =? ORDER BY `id` DESC LIMIT $start,".TOPAGE."",array($id));
$themes = $themes -> fetchAll();
foreach($themes AS $u){
echo'<div class="menu">';
echo''.$u['data'].'<br />
Автор: <a href="/profile/'.$u['login'].'">'.$u['login'].'</a><br />
'.$u['name'].'<br />
<a href="?mode=note&id='.$u['id'].'">читать</a> | <a href="?mode=com&id='.$u['id'].'">комментарии</a> ['.count_all('diary_com','id_diary_note',$u['id']).']';
echo'</div>';
}
if(is_user()){
echo'<div class="menu">';
echo'<a href="?mode=add_note&id='.$id.'">Написать заметку</a>';
echo'</div>';
}
if ($page != 1) $pervpage = '<a href= '.$links.'1><<</a> <a href= '.$links.''. ($page - 1) .'><</a> ';
if ($page != $total) $nextpage = ' <a href= '.$links.''. ($page + 1) .'>></a> <a href= '.$links.'' .$total. '>>></a>';
if($page - 2 > 0) $page2left = ' <a href= '.$links.''. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href= '.$links.''. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 2 <= $total) $page2right = ' | <a href= '.$links.''. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href= '.$links.''. ($page + 1) .'>'. ($page + 1) .'</a>';
if($posts == 0){ echo'<div class="menu">Заметки еще не созданы!</div>'; } else {echo '<div class="menu_2">'.$pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage.'</div>'; }
if(is_user()){
echo'<div class="menu">';
echo'<a href="?mode=add_note&id='.$id.'">Написать заметку</a>';
echo'</div>';
}
break;
case 'note':
$id=abs(intval($_GET['id']));
echo'<div class="menu">Заметкa</div>';
$note = DB::run() -> queryFetch("SELECT * FROM `diary_note` WHERE `id` =? LIMIT 1",array($id));
echo'<div class="menu">';
if(!empty($note['id'])){
DB::run()->query("UPDATE `diary_note` SET `count`=`count` + ? WHERE id =?",array(1,$note['id']));
if($note['status'] == 'all'){
echo'Заметка: <strong>'.$note['name'].'</strong><br />
Автор: <a href="/profile/'.$note['login'].'">'.$note['login'].'</a><br />
Дата: '.$note['data'].'<br />
Просмотров: '.$note['count'].'<br />';
if($note['status'] == 'all'){echo'Показывается: Абсолютно всем<br /><br />'; } else {echo'Показывается: Только пользователям<br /><br />';}
echo''.$note['msg'].'
<br /><br />
<a href="?mode=com&id='.$note['id'].'">Комментарии</a> ['.count_all('diary_com','id_diary_note',$note['id']).']<br />';
if($note['login'] == $logcoo && $note['time'] >= time() || $admin == 101 || $admin == 102 || $admin == 103){echo'<a href="?mode=edit_note&id='.$note['id'].'">Изменить</a>';}
} else {
if(is_user()){
echo'Заметка: <strong>'.$note['name'].'</strong><br />
Автор: <a href="/users/profile.php?user='.$note['login'].'">'.$note['login'].'</a><br />
Дата: '.$note['data'].'<br />
Просмотров: '.$note['count'].'<br />';
if($note['status'] == 'all'){echo'Показывается: Абсолютно всем<br /><br />'; } else {echo'Показывается: Только пользователям<br /><br />';}
echo''.$note['msg'].'
<br /><br />
<a href="?mode=com&id='.$note['id'].'">Комментарии</a> ['.count_all('diary_com','id_diary_note',$note['id']).']<br />';
if($note['login'] == $logcoo && $note['time'] >= time() || $admin == 101 || $admin == 102 || $admin == 103){echo'<a href="?mode=edit_note&id='.$note['id'].'">Изменить</a>';}
} else {echo'Просматривать статью могут только зарегистрированые пользователи!'; }
}
} else {echo'Ошибка! Упс! похоже ID статьи не существует!'; }
echo'</div>';
break;
case 'com':
$id=abs(intval($_GET['id']));
echo'<div class="menu">Комментарии</div>';
echo'<div class="menu">';
echo'<form action="?mode=com_add&id='.$id.'" method="post">
Сообщение: (<a href="/pages/smiles.php">смайлы</a>)<br />
<TEXTAREA NAME="msg" ROWS=4 COLS=25 input type="TEXTAREA" style="width: 95%; "></TEXTAREA><br />
<input name="" type="submit" value="Добавить" /><br />
<a href="?mode=note&id='.$id.'">Назад в заметку</a>
</form>';
echo'</div>';
define('TOPAGE',10); $num = TOPAGE;
$links = '?mode=com&id='.$id.'&page=';
$page = intval($_GET['page']);
$posts = DB::run() -> query("SELECT * FROM `diary_com` WHERE `id_diary_note` =?",array($id)) -> rowCount();
$total = intval(($posts - 1) / $num) + 1;
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;
$themes = DB::run()->query("SELECT * FROM `diary_com` WHERE `id_diary_note` =? ORDER BY `id` DESC LIMIT $start,".TOPAGE."",array($id));
$themes = $themes -> fetchAll();
foreach($themes AS $u){
# Определяем иконку
$query = DB::run() -> queryFetch("SELECT * FROM `users` WHERE `login`=?",array($u['login']));
# если он из админ состава
if($query['status'] == 101 || $query['status'] == 102 || $query['status'] == 103 || $query['status'] == 104){
# определяем его пол и выводим иконку
if($query['pol'] == 1){$img = '<img src="/images/1.png">';}
if($query['pol'] == 0){$img = '<img src="/images/2.png">';}
}
# Если он обычный юзер
if($query['status'] == 105){
if($query['pol'] == 1){$img = '<img src="/images/4.png">';}
if($query['pol'] == 0){$img = '<img src="/images/3.png">';}
}
echo'<div class="menu">'.$img.' <a href="/profile/'.$u['login'].'">'.$u['login'].'</a> '.online($u['login']).' ('.$u['data'].')</div>';
echo'<div class="menu_2">'.$u['msg'].'';
if($u['login'] == check($_COOKIE['login']) || is_admin()){echo'<hr><div align="right">[<a href="?mode=edit_com&id='.$u['id'].'">Изм</a>]';}
if(is_admin(array(101,102))){echo'[<a href="?mode=del_com&id='.$u['id'].'" onclick="return confirm('Вы подтверждаете удаление?')">Удал</a>]'; }
echo'</div></div>';
}
if ($page != 1) $pervpage = '<a href= '.$links.'1><<</a> <a href= '.$links.''. ($page - 1) .'><</a> ';
if ($page != $total) $nextpage = ' <a href= '.$links.''. ($page + 1) .'>></a> <a href= '.$links.'' .$total. '>>></a>';
if($page - 2 > 0) $page2left = ' <a href= '.$links.''. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href= '.$links.''. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 2 <= $total) $page2right = ' | <a href= '.$links.''. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href= '.$links.''. ($page + 1) .'>'. ($page + 1) .'</a>';
if($posts == 0){ echo'<div class="menu">Дневники еще не созданы!</div>'; } else {echo '<div class="menu_2">'.$pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage.'</div>'; }
break;
case 'edit_com':
$id=abs(intval($_GET['id']));
$msg = check($_POST['msg']);
echo'<div class="menu">Комментарии</div>';
echo'<div class="menu">';
$note = DB::run() -> queryFetch("SELECT * FROM `diary_com` WHERE `id` =? LIMIT 1",array($id));
if(!empty($note['id'])){
if($note['login'] == check($_COOKIE['login']) && $note['time'] >= time() || is_admin(101,102,103)){
echo'
<form action="?mode=edit_com&id='.$id.'" method="post">
Сообщение:<br />
<TEXTAREA NAME="msg" ROWS=4 COLS=25 input type="TEXTAREA" style="width: 95%; ">'.nosmiles($note['msg']).'</TEXTAREA><br />
<input name="" type="submit" value="Изменить" />
</form>
';
if($msg == !NULL){
$msg = no_br($msg);
$msg = antimat($msg);
$msg = smiles($msg);
DB::run()->query("UPDATE `diary_com` SET `msg`=? WHERE id =?",array($msg,$id));
header ('location: ?mode=edit_note&id='.$id.'');
}
} else { echo'Вы не имеете право изменять данную заметку. Или время редактирование уже закончилось!';}
} else {echo'Ошибка! Упс! похоже ID не существует!'; }
echo'</div>';
break;
case 'del_com':
echo'<div class="menu">Комментарии</div>';
echo'<div class="menu">';
$id=abs(intval($_GET['id']));
if($id == !NULL){
if(is_admin(array(101, 102, 103))){
mysql_query('DELETE FROM `dairy_com` WHERE `id` = "'.$id.'"');
DB::run()->query("DELETE FROM `dairy_com` WHERE `id` =?",array($id));
echo'<a href="'.$_SERVER['HTTP_REFERER'].'">Удалено! Назад</a>';
}
}
echo'</div>';
break;
case 'com_add':
$id=abs(intval($_GET['id']));
$msg = check($_POST['msg']);
$note = DB::run() -> queryFetch("SELECT * FROM `diary_note` WHERE `id` =? LIMIT 1",array($id));
echo'<div class="menu">Комментарии</div>';
echo'<div class="menu">';
if(!empty($note['id'])){
$data = times();
$time = time() + (60 * 15);
$msg = no_br($msg);
$msg = antimat($msg);
$msg = smiles($msg);
DB::run()->query("INSERT INTO `diary_com`(`id_diary_note`, `login`, `data`, `msg`, `time`) VALUES (?,?,?,?,?)",array($id,$my['login'],$data,$msg,$time));
header("Location: ?mode=com&id=".$id."");
user_live(check($_COOKIE['login']),1,1,0);
} else {echo'Ошибка! Упс! похоже ID статьи не существует!'; }
echo'</div>';
break;
case 'edit_note':
$id=abs(intval($_GET['id']));
$msg = check($_POST['msg']);
$name = check($_POST['name']);
$note = DB::run() -> queryFetch("SELECT * FROM `diary_note` WHERE `id` =? LIMIT 1",array($id));
echo'<div class="menu">Изменить заметку</div>';
echo'<div class="menu">';
if($note['login'] == check($_COOKIE['login']) && $note['time'] >= time() || is_admin(array(101,102,103))){
echo'
<form action="?mode=edit_note&id='.$id.'" method="post">
Название:<br />
<input name="name" type="text" value="'.$note['name'].'"/><br />
Заметка:<br />
<TEXTAREA NAME="msg" ROWS=4 COLS=25 input type="TEXTAREA" style="width: 95%; ">'.nosmiles($note['msg']).'</TEXTAREA><br />
<input name="" type="submit" value="Изменить" />
</form>
';
if($msg == !NULL && $name == !NULL){
$msg = no_br($msg);
$msg = antimat($msg);
$msg = smiles($msg);
DB::run()->query("UPDATE `diary_note` SET `name`=?,`msg`=? WHERE id =?",array($name,$msg,$id));
header ('location: ?mode=edit_note&id='.$id.'');
}
} else { echo'Вы не имеете право изменять данную заметку. Или время редактирование уже закончилось!';}
echo'</div>';
break;
case 'add_diary':
$id=abs(intval($_GET['id']));
$name = check($_POST['name']);
echo'<div class="menu">Cоздать дневник</div>';
echo'<div class="menu">';
echo'<form action="?mode=add_diary&id='.$id.'" method="post">
Название дневника:<br />
<input name="name" type="text" /><br />
<input name="" type="submit" value="Добавить" />
</form>';
if($name == !NULL){
if (mb_strlen($name) >= 5 && mb_strlen($name) < 100) {
$data = times();
DB::run()->query("INSERT INTO `diary_cat`(`id_diary`, `login`, `data`, `name`) VALUES (?,?,?,?)",array($id,check($_COOKIE['login']),$data,$name));
header ('location: ?mode=dairy');
} else { echo'Ошибка! Слишком длинное или короткое название!'; }
}
echo'</div>';
break;
case 'add_note':
$id=abs(intval($_GET['id']));
$msg = check($_POST['msg']);
$name = check($_POST['name']);
$status = check($_POST['status']);
echo'<div class="menu">Cоздать заметку</div>';
echo'<div class="menu">';
$note = DB::run() -> queryFetch("SELECT * FROM `diary_cat` WHERE `id` =? LIMIT 1",array($id));
if($note['login'] == $my['login']){
echo'<form action="?mode=add_note&id='.$id.'" method="post">
Название:<br />
<input name="name" type="text" /><br />
Сообщение:<br />
<TEXTAREA NAME="msg" ROWS=4 COLS=25 input type="TEXTAREA" style="width: 95%; "></TEXTAREA><br />
Заметка видна:<br />
<select name="status">
<option value="all">Всем</option>
<option value="user">Пользователям</option>
</select><br />
<input name="" type="submit" value="Добавить" />
</form>
';
if($msg == !NULL && $name == !NULL){
$data = times();
$time = time() + (60 * 15);
DB::run()->query("INSERT INTO `diary_note`(`id_diary_cat`, `login`, `data`, `name`,`msg`,`count`,`status`,`time`) VALUES (?,?,?,?,?,?,?,?)",array($id,$my['login'],$data,$name,$msg,0,$status,$time));
header ('location: ?mode=see&id='.$id.'');
user_live($my['login'],1,1,0);
}
} else { echo'Вы не являетесь автором данного дневника'; }
echo'</div>';
break;
case 'ful_del_diary':
if(is_admin(array(101, 102))){
$id=abs(intval($_GET['id']));
diaty($id);
header ('location: ?mode=index');
} else {header ('location: ?mode=index'); }
break;
/*
------------------------------------------------------
Админка
------------------------------------------------------
*/
case 'admin':
if(is_admin(array(101))){
echo'<div class="menu"> Список разделов: (<a href="?mode=admin_add">Добавить</a>)</div>';
$u = DB::run()->query("select * from `diary`");
$foreach = DB::run()->query("SELECT * FROM `diary`");
$foreach = $foreach -> fetchAll();
foreach($foreach AS $u){
echo'<div class="menu">'.$u['id'].'. '.$u['name'].' [<a href="?mode=admin_dell&id='.$u['id'].'">удал</a>][<a href="?mode=admin_edit&id='.$u['id'].'">изм</a>]</div>';
}
} else {echo'Вход разрешен только админ составу!</div>';}
break;
case 'admin_dell':
$id = abs(intval($_GET['id']));
if(is_admin(array(101))){
if($id == NULL){ echo'Сообщение не выбрано!</div>'; } else {
DB::run()->query("DELETE FROM `diary_note` WHERE `id_diary_cat` =?",array($id));
DB::run()->query("DELETE FROM `diary_com` WHERE `id_diary_note` =?",array($id));
DB::run()->query("DELETE FROM `diary_cat` WHERE `id_diary` =?",array($id));
DB::run()->query("DELETE FROM `diary` WHERE `id` =?",array($id));
header("Location: ?mode=admin");
}
} else {echo'Вход разрешен только админ составу!</div>';}
break;
case 'admin_edit':
$id = abs(intval($_GET['id']));
$name = check($_POST['name']);
if(is_admin(array(101))){
if($name == NULL){
$z = DB::run() -> queryFetch("select * from `diary` where `id` =? LIMIT 1",array($id));
echo'<form action="?mode=diary_edit&id='.$id.'" method="post">';
echo'<input name="name" type="text" value="'.$z['name'].'" size="30" maxlength="50" />';
echo'<input type="submit" name="submit_1" id="submit" value="Изменить!">
</form>';
echo'</div>';
} else {
DB::run()->query("UPDATE `diary` SET `name`=? WHERE `id` = ?",array($name,$id));
header("Location: ?mode=admin");
}
} else {echo'Вход разрешен только админ составу!</div>';}
break;
case 'admin_add':
$id = abs(intval($_GET['id']));
if(is_admin(array(101))){
$name = check($_POST['name']);
if($name == NULL){
echo'<form action="?mode=admin_add" method="post">';
echo'<input name="name" type="text" value="" size="30" maxlength="50" />';
echo'<input type="submit" name="submit_1" id="submit" value="Добавить!">
</form>';
echo'</div>';
} else {
DB::run()->query("INSERT INTO `diary`(`name`) VALUES (?)",array($name));
header("Location: ?mode=admin");
}
} else {echo'Вход разрешен только админ составу!</div>';}
break;
default:
header ('location: ?mode=index');
endswitch;
include(MAINDIR.'style/foot.php');
?>