Просмотр файла diary/index.php

Размер файла: 18.03Kb
<?
include('../core/core.php');
include(BASEDIR.INC.'func.php');
include(BASEDIR.INC.'session.php');
include(BASEDIR.INC.'session_user.php');
$mode = htmlspecialchars($_GET['mode']);
include(BASEDIR.INC.'head.php');
show_title('Дневники');
 echo '<div class="razdel">Дневники</div>';
if(is_user()){
$users = mysql_query('SELECT * FROM users WHERE login = "'.$_COOKIE['login'].'"');
$users = mysql_fetch_assoc($users);
$admin = $users['status'];
}
switch ($mode):
case 'index':
echo'<div class="menu">Разделы</div>';
define('TOPAGE',10);
$page=(int)$_GET['page'];  
     
   $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `diary`"),0);  
      
    $total = intval(($q - 1) / TOPAGE) + 1;  
      
    if(empty($page) or $page < 0) $page = 1;  
      
    if($page > $total) $page = $total;  
      
    $start = $page * TOPAGE -TOPAGE;  

    $g=mysql_query("SELECT * FROM `diary` LIMIT $start,".TOPAGE."");  
while($u=mysql_fetch_array($g)){ 
echo'<div class="menu">';
echo'<a href="?mode=diary&id='.$u['id'].'">'.$u['name'].'</a> ['.index_to('diary_cat','id_diary',$u['id']).']';
echo'</div>';
}  
if ($page != $total) $nextpage = ' <a href="?mode=index&page='. ($page + 1) .'">Далее</a>';  
if($page - 1 > 0) $pageback = '<a href="?mode=index&page='. ($page - 1) .'">Назад</a> ';  

echo''.$pageback.'  '.$nextpage.'';
if(is_admin()){echo'<div class="menu"><a href="?mode=admin">Добавить разделы</a></div>';}
break;
case 'diary':
$id=abs(mysql_real_escape_string(htmlspecialchars($_GET['id'])));
echo'<div class="menu">Дневники</div>';
define('TOPAGE',10);
$page=(int)$_GET['page'];  
     
   $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `diary_cat` WHERE `id_diary` = '".$id."'"),0);  
      
    $total = intval(($q - 1) / TOPAGE) + 1;  
      
    if(empty($page) or $page < 0) $page = 1;  
      
    if($page > $total) $page = $total;  
      
    $start = $page * TOPAGE -TOPAGE;  

    $g=mysql_query("SELECT *  FROM `diary_cat` WHERE `id_diary` = '".$id."' LIMIT $start,".TOPAGE."");  
while($u=mysql_fetch_array($g)){ 
echo'<div class="menu">';
echo'<a href="?mode=see&id='.$u['id'].'">'.$u['name'].'</a> ['.index_to('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="/users/profile.php?user='.$u['login'].'">'.$u['login'].'</a><br />
Дата: '.$u['data'].'';
echo'</div>';
}  
if ($page != $total) $nextpage = ' <a href="?mode=diary&id='.$id.'&page='. ($page + 1) .'">Далее</a>';  
if($page - 1 > 0) $pageback = '<a href="?mode=diary&id='.$id.'&page='. ($page - 1) .'">Назад</a> ';  
if(is_user()){
echo'<div class="menu">';
echo'<a href="?mode=add_diary&id='.$id.'">Создать тут дневник</a>';
echo'</div>';
}
echo''.$pageback.'  '.$nextpage.'';
break;
case 'see':
$id=abs(mysql_real_escape_string(htmlspecialchars($_GET['id'])));
echo'<div class="menu">Заметки</div>';
define('TOPAGE',10);
$page=(int)$_GET['page'];  
     
   $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `diary_note` WHERE `id_diary_cat` = '".$id."'"),0);  
      
    $total = intval(($q - 1) / TOPAGE) + 1;  
      
    if(empty($page) or $page < 0) $page = 1;  
      
    if($page > $total) $page = $total;  
      
    $start = $page * TOPAGE -TOPAGE;  

    $g=mysql_query("SELECT *  FROM `diary_note` WHERE `id_diary_cat` = '".$id."' LIMIT $start,".TOPAGE."");  
while($u=mysql_fetch_array($g)){ 
echo'<div class="menu">';
echo''.$u['data'].'<br />
Автор: <a href="/users/profile.php?user='.$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> ['.index_to('diary_com','id_diary_note',$u['id']).']';
echo'</div>';
}  
if ($page != $total) $nextpage = ' <a href="?mode=see&id='.$id.'&page='. ($page + 1) .'">Далее</a>';  
if($page - 1 > 0) $pageback = '<a href="?mode=see&id='.$id.'&page='. ($page - 1) .'">Назад</a> ';  
if(is_user()){
echo'<div class="menu">';
echo'<a href="?mode=add_note&id='.$id.'">Написать заметку</a>';
echo'</div>';
}
echo''.$pageback.'  '.$nextpage.'';
break;
case 'note':
$id=abs(mysql_real_escape_string(htmlspecialchars($_GET['id'])));
echo'<div class="menu">Заметкa</div>';
$note = mysql_query('SELECT * FROM `diary_note` WHERE `id` = "'.$id.'"');
$note = mysql_fetch_assoc($note);
echo'<div class="menu">';
if(!empty($note['id'])){
mysql_query("UPDATE `diary_note` SET `count`=`count` + 1  WHERE id = '".$note['id']."';");
if($note['status'] == 'all'){
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> ['.index_to('diary_com','id_diary_note',$note['id']).']<br />';
if($note['login'] == $_COOKIE['login'] && $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> ['.index_to('diary_com','id_diary_note',$note['id']).']<br />';
if($note['login'] == $_COOKIE['login'] && $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(mysql_real_escape_string(htmlspecialchars($_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);
$page=(int)$_GET['page'];  
     
   $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `diary_com` WHERE `id_diary_note` = '".$id."'"),0);  
      
    $total = intval(($q - 1) / TOPAGE) + 1;  
      
    if(empty($page) or $page < 0) $page = 1;  
      
    if($page > $total) $page = $total;  
      
    $start = $page * TOPAGE -TOPAGE;  

    $g=mysql_query("SELECT *  FROM `diary_com` WHERE `id_diary_note` = '".$id."' LIMIT $start,".TOPAGE."");  
while($u=mysql_fetch_array($g)){ 
$login = $u['login'];
$li =mysql_query("SELECT * FROM users WHERE `login`='$login';");
$li = mysql_fetch_assoc($li);
if($li['status'] == 101){$st ='Администратор';}
if($li['status'] == 102){$st ='Помощник Администратора';}
if($li['status'] == 103){$st ='Модератор';}
if($li['status'] == 104){$st ='Помощник Модератора';}
if($li['status'] == 105){$st ='Пользователь';}
$p = mysql_query('SELECT * FROM session_user WHERE user = "'.$login.'"');
if(mysql_num_rows($p) != 0){ $on ='[<font color="green">On</font>]'; } else { $on ='[<font color="red">Off</font>]'; }
if($li['avatar_mini'] == NULL){ $avatar ='/images/noavatar.gif'; } else {$avatar = ''.$li['avatar_mini'].'';}

echo'<div class="menu">';
echo'<div style="overflow: hidden"><div style="float: left"><img src="'.$avatar.'"></div> <a href="/users/profile.php?user='.$login.'">'.$login.'</a> ('.$u['data'].')<br />
 '.$st.' '.$on.'</div><hr>';
 echo $u['msg'];
 if($u['login'] == $_COOKIE['login'] && $u['time'] >= time() || $admin == 101 || $admin == 102 || $admin == 103){ echo'<hr><div align="right">';
 echo'[<a href="?mode=edit_com&id='.$u['id'].'">Изм</a>]';
 if($admin == 101 || $admin == 102){echo'[<a href="?mode=del_com&id='.$u['id'].'" onclick="return confirm(\'Вы подтверждаете удаление?\')">Удал</a>]'; }
 echo'</div>';
  }
echo'</div>';
}  
if ($page != $total) $nextpage = ' <a href="?mode=com&id='.$id.'&page='. ($page + 1) .'">Далее</a>';  
if($page - 1 > 0) $pageback = '<a href="?mode=com&id='.$id.'&page='. ($page - 1) .'">Назад</a> ';  

echo''.$pageback.'  '.$nextpage.'';
break;
case 'edit_com':
$id=abs(mysql_real_escape_string(htmlspecialchars($_GET['id'])));
$msg = check($_POST['msg']);
echo'<div class="menu">Комментарии</div>';
echo'<div class="menu">';
$note = mysql_query('SELECT * FROM `diary_com` WHERE `id` = "'.$id.'"');
$note = mysql_fetch_assoc($note);
if(!empty($note['id'])){
if($note['login'] == $_COOKIE['login'] && $note['time'] >= time() || $admin == 101 || $admin == 102 || $admin == 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);
mysql_query("UPDATE `diary_com` SET `msg`='$msg'  WHERE id = '".$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(mysql_real_escape_string(htmlspecialchars($_GET['id'])));
if($id == !NULL){
if(is_admin(array(101, 102, 103))){
mysql_query('DELETE FROM `dairy_com` WHERE `id` = "'.$id.'"');
echo'<a href="'.$_SERVER['HTTP_REFERER'].'">Удалено! Назад</a>';
}
}
echo'</div>';

break;
case 'com_add':
$id=abs(mysql_real_escape_string(htmlspecialchars($_GET['id'])));
$msg = check($_POST['msg']);
$note = mysql_query('SELECT * FROM `diary_note` WHERE `id` = "'.$id.'"');
$note = mysql_fetch_assoc($note);
echo'<div class="menu">Комментарии</div>';
echo'<div class="menu">';
if(!empty($note['id'])){
$data = date("d.m.Y  H:i:s");
$time = time() + (60 * 15);
$msg = no_br($msg);
$msg = antimat($msg);
$msg = smiles($msg);
mysql_query('INSERT INTO `diary_com`(`id_diary_note`, `login`, `data`, `msg`, `time`) VALUES ("'.$id.'","'.$_COOKIE['login'].'","'.$data.'","'.$msg.'","'.$time.'")');
header("Location: ?mode=com&id=".$id."");
smesh(1,2,$_COOKIE['login']);
rating_plus($_COOKIE['login'],1);

} else {echo'Ошибка! Упс! похоже ID статьи не существует!'; }
echo'</div>';
break;
case 'edit_note':
$id=abs(mysql_real_escape_string(htmlspecialchars($_GET['id'])));
$msg = check($_POST['msg']);
$name = check($_POST['name']);
$note = mysql_query('SELECT * FROM `diary_note` WHERE `id` = "'.$id.'"');
$note = mysql_fetch_assoc($note);
echo'<div class="menu">Изменить заметку</div>';
echo'<div class="menu">';
if($note['login'] == $_COOKIE['login'] && $note['time'] >= time() || $admin == 101 || $admin == 102 || $admin == 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);
mysql_query("UPDATE `diary_note` SET `name`='$name',`msg`='$msg'  WHERE id = '".$id."';");
header ('location: ?mode=edit_note&id='.$id.''); 
}
} else { echo'Вы не имеете право изменять данную заметку. Или время редактирование уже закончилось!';}
echo'</div>';
break;
case 'add_diary':
$id=abs(mysql_real_escape_string(htmlspecialchars($_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 (utf_strlen($name) >= 5 && utf_strlen($name) < 100) {
$data = date("d.m.Y  H:i:s");
mysql_query('INSERT INTO `diary_cat`(`id_diary`, `login`, `data`, `name`) VALUES ("'.$id.'","'.$_COOKIE['login'].'","'.$data.'","'.$name.'")');
header ('location: ?mode=dairy'); 
} else { echo'Ошибка! Слишком длинное или короткое название!'; }
}
echo'</div>';
break;
case 'add_note':
$id=abs(mysql_real_escape_string(htmlspecialchars($_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 = mysql_query('SELECT * FROM `diary_cat` WHERE `id` = "'.$id.'"');
$note = mysql_fetch_assoc($note);
if($note['login'] == $_COOKIE['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 = date("d.m.Y  H:i:s");
$time = time() + (60 * 15);
mysql_query('INSERT INTO `diary_note`(`id_diary_cat`, `login`, `data`, `name`,`msg`,`count`,`status`,`time`) VALUES ("'.$id.'","'.$_COOKIE['login'].'","'.$data.'","'.$name.'","'.$msg.'",0,"'.$status.'","'.$time.'")');
header ('location: ?mode=see&id='.$id.''); 
smesh(1,2,$_COOKIE['login']);
rating_plus($_COOKIE['login'],1);
}
} else { echo'Вы не являетесь автором данного дневника'; }
echo'</div>';
break;
case 'ful_del_diary':
if(is_admin(array(101, 102))){
$id=abs(mysql_real_escape_string(htmlspecialchars($_GET['id'])));
diaty($id);
header ('location: ?mode=index'); 
} else {header ('location: ?mode=index'); }
break;
/*
------------------------------------------------------
Админка
------------------------------------------------------
*/
case 'admin':
if(is_admin(array(101))){
echo' Список радделов: (<a href="?mode=admin_add">Добавить</a>)</div>';
$t = mysql_query("select * from `diary`");
while($u=mysql_fetch_array($t)){  
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(htmlspecialchars($_GET['id']));
if(is_admin(array(101))){
if($id == NULL){ echo'Сообщение не выбрано!</div>'; } else {
mysql_query('DELETE FROM `diary_note` WHERE `id_diary_cat` = "'.$id.'"');
mysql_query('DELETE FROM `diary_com` WHERE `id_diary_note` = "'.$id.'"');
mysql_query('DELETE FROM `diary_cat` WHERE `id_diary` = "'.$id.'"');
mysql_query('DELETE FROM `diary` WHERE `id` = "'.$id.'"');
header("Location: ?mode=admin");
}
} else {echo'Вход разрешен только админ составу!</div>';}
break;
case 'admin_edit':
$id = abs(htmlspecialchars($_GET['id']));
$name = htmlspecialchars($_POST['name']);
if(is_admin(array(101))){
if($name == ''){
$z = mysql_query("select * from `diary` where `id` = '".$id."'");
$z = mysql_fetch_assoc($z);
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 {
mysql_query('UPDATE `diary` SET `name`="'.$name.'" WHERE `id` = "'.$id.'"');
header("Location: ?mode=admin");
}
} else {echo'Вход разрешен только админ составу!</div>';}
break;
case 'admin_add':
$id = abs(htmlspecialchars($_GET['id']));
if(is_admin(array(101))){
$name = htmlspecialchars($_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 {
mysql_query('INSERT INTO `diary`(`name`) VALUES ("'.$name.'")');
header("Location: ?mode=admin");
}
} else {echo'Вход разрешен только админ составу!</div>';}
break;
default: 
header ('location: ?mode=index'); 
endswitch;
echo'<div class="menu"><a href="/">На главную</a></div>';
include(BASEDIR.INC.'foot.php');
?>