Файл: diary/diary.php
Строк: 210
<?
//Автор: DjBoBaH
//Сайт: http://my-perm.net
include_once '../sys/inc/start.php';
include_once '../sys/inc/compress.php';
include_once '../sys/inc/sess.php';
include_once '../sys/inc/home.php';
include_once '../sys/inc/settings.php';
include_once '../sys/inc/db_connect.php';
include_once '../sys/inc/ipua.php';
include_once '../sys/inc/fnc.php';
include_once '../sys/inc/user.php';
if(isset($_GET['d']))
{
$name=esc(urldecode($_GET['d']));
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `diary` WHERE `name`='$name' LIMIT 1"),0)!=0)
{
$diary=mysql_fetch_assoc(mysql_query("SELECT * FROM `diary` WHERE `name`='$name' LIMIT 1"));
$us=get_user($diary['id_user']);
$set['title']=''.$diary['name'].' - Дневник '.$us['nick'].''; // заголовок страницы
if($diary['tags']!=NULL)
{
$set['meta_keywords']=''.$diary['tags'].'';
}
$set['meta_description']=''.cut_text($diary['msg']).'';
include_once '../sys/inc/thead.php';
title();
aut();
if(isset($_POST['save']) && isset($user))
{
if(isset($_POST['msg']) && ($user['id']==$us['id'] || $user['level']>2 && $user['level']>$us['level']))
{
$msg = esc(stripcslashes(htmlspecialchars($_POST['msg'])));
if (strlen2($msg)<10)$err[]='Короткое сообщение';
if (strlen2($msg)>10000)$err[]='Сообщение не должно быть длиннее 10000 символов';
$mat=antimat($msg);
if ($mat)$err[]='В сообщении обнаружен мат: '.$mat;
$msg = my_esc($msg);
if(!isset($err))
{
$diary['msg'] = esc(stripcslashes(htmlspecialchars($_POST['msg'])));
mysql_query("UPDATE `diary` SET `msg`='$msg' WHERE `id`='$diary[id]' LIMIT 1");
msg('Сообщение успешно изменено');
}
}
elseif(isset($_POST['tags']) && ($user['id']==$us['id'] || $user['level']>2 && $user['level']>$us['level']))
{
$tags = esc(stripcslashes(htmlspecialchars($_POST['tags'])));
if (strlen2($tags)<2)$err[]='Короткие теги';
if (strlen2($tags)>256)$err[]='Теги не должны быть длиннее 256-и символов';
$mat=antimat($tags);
if ($mat)$err[]='В тегах обнаружен мат: '.$mat;
$tags=my_esc($tags);
if(!isset($err))
{
$diary['tags']=$tags;
mysql_query("UPDATE `diary` SET `tags`='$diary[tags]' WHERE `id`='$diary[id]' LIMIT 1");
msg('Метки успешно изменены');
}
}
elseif(isset($_POST['cat']) && $user['level']>2 && ($user['id']==$us['id'] || $user['level']>$us['level']))
{
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `diary_cat` WHERE `id`='".intval($_POST['cat'])."' LIMIT 1"),0)!=0)
{
$diary['id_cat']=intval($_POST['cat']);
mysql_query("UPDATE `diary` SET `id_cat`='".intval($_POST['cat'])."' WHERE `id`='$diary[id]' LIMIT 1");
msg('Категория успешно изменена');
}
else $err[]='Ошибка категории';
}
elseif(isset($_POST['name']) && $user['level']>2 && ($user['id']==$us['id'] || $user['level']>$us['level']))
{
$name=preg_replace('#[^A-zА-я0-9()-_ ]#ui', null, $_POST['name']);
if (strlen2($name)<3)$err[]='Короткое название';
if (strlen2($name)>64)$err[]='Название не должно быть длиннее 64-х символов';
$mat=antimat($name);
if ($mat)$err[]='В названии обнаружен мат: '.$mat;
$name=my_esc($name);
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `diary` WHERE `name`='$name' LIMIT 1"),0)!=0)$err[]='Дневник с таким названием уже существует';
if(!isset($err))
{
$diary['name']=$name;
mysql_query("UPDATE `diary` SET `name`='$diary[name]' WHERE `id`='$diary[id]' LIMIT 1");
msg('Название дневника успешно изменено');
}
}
elseif(isset($_POST['readers']) && ($_POST['readers']==0 || $_POST['readers']==1 || $_POST['readers']==2) && ($user['id']==$us['id'] || $user['level']>2 && $user['level']>$us['level']))
{
$readers = intval($_POST['readers']);
$diary['readers']=$readers;
mysql_query("UPDATE `diary` SET `readers`='$diary[readers]' WHERE `id`='$diary[id]' LIMIT 1");
msg('Приватность успешно изменена');
}
}
if(isset($user) && $us['id']!=$user['id'] && ($user['level']>$us['level'] || ($diary['readers']==0 || $diary['readers']==1) || $diary['readers']==2 && mysql_result(mysql_query("SELECT COUNT(*) FROM `frends` WHERE (`user` = '$user[id]' AND `frend` = '$us[id]') OR (`user` = '$us[id]' AND `frend` = '$user[id]')"),0)!=0))
{
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `diary_rating` WHERE `id_diary` = '$diary[id]' AND `id_user`='$user[id]' LIMIT 1"),0)==0 && isset($_GET['plus']) && ($_GET['plus']==1 || $_GET['plus']==2 || $_GET['plus']==3 || $_GET['plus']==4 || $_GET['plus']==5))
{
$plus=intval($_GET['plus']);
mysql_query("INSERT INTO `diary_rating` (`id_diary`, `id_user`, `rating`) values ('$diary[id]', '$user[id]', '$plus')");
$diary['rating']=intval(mysql_result(mysql_query("SELECT SUM(`rating`) FROM `diary_rating` WHERE `id_diary` = '$diary[id]'"),0));
mysql_query("UPDATE `diary` SET `rating`='$diary[rating]' WHERE `id`='$diary[id]' LIMIT 1");
mysql_query("INSERT INTO `jurnal` (`id_user`, `id_kont`, `msg`, `time`) values('0', '$us[id]', '[url=/info.php?id=$user[id]]$user[nick][/url] оставил отзыв +$plus к дневнику [url=/diary/$diary[name]/]$diary[name][/url]', '$time')");
msg('Оценка успешно принята');
}
}
$cat=mysql_fetch_assoc(mysql_query("SELECT * FROM `diary_cat` WHERE `id`='$diary[id_cat]' LIMIT 1"));
err();
echo'<table class="post">';
echo'<tr>';
echo'<td class="icon14">';
echo '<img src="/diary/img/diary.png" alt=""/>';
echo'</td>';
echo'<td class="p_t">';
if(isset($_GET['edit']) && $_GET['edit']=='name' && isset($user) && $user['level']>2 && ($user['id']==$us['id'] || $user['level']>$us['level']))
{
echo'<form method="post" name="message" action="/diary/'.$diary['name'].'/">';
echo'<input name="name" type="text" maxlength="64" value="'.$diary['name'].'">';
echo'<input type="submit" name="save" value="Изменить">';
echo'</form><br/>';
echo'<a href="/diary/'.$diary['name'].'/">Назад</a><br/>';
}
else
{
echo'<b>'.$diary['name'].'</b>';
if(isset($user) && $user['level']>2 && ($user['id']==$us['id'] || $user['level']>$us['level']))echo' [<a href="?edit=name" title="Изменить название">изм</a>]';
}
echo'</td>';
echo'</tr>';
echo'<tr>';
echo'<td class="main_menu" colspan="2">';
echo'<img src="/diary/img/calendar.png" alt=""/> Опубликовано: <b>'.vremja($diary['time']).'</b><br/>';
if($us['pol']==1)echo'<img src="/diary/img/boy.png" alt=""/> '; else echo'<img src="/diary/img/girl.png" alt=""/> ';
echo'<a href="/diary/user.php?id='.$us['id'].'" title="Все дневники пользователя '.$us['nick'].'">Автор</a>: <a href="/info.php?id='.$us['id'].'" title="Анкета '.$us['nick'].'"><span style="color:'.$us['ncolor'].'">'.$us['nick'].'</span></a><br/>';
if(isset($_GET['edit']) && $_GET['edit']=='cat' && isset($user) && $user['level']>2 && ($user['id']==$us['id'] || $user['level']>$us['level']))
{
echo'<form method="post" action="/diary/'.$diary['name'].'/">';
echo'<select name="cat">';
$c=mysql_query("SELECT * FROM `diary_cat` ORDER BY `name` ASC");
while ($cats = mysql_fetch_assoc($c))
{
echo'<option value="'.$cats['id'].'"'.($diary['id_cat']==$cats['id']?' selected="selected"':null).'>'.$cats['name'].'</option>';
}
echo'</select><br/>';
echo'<input type="submit" name="save" value="Изменить">';
echo'</form><br/>';
echo'<a href="/diary/'.$diary['name'].'/">Назад</a><br/>';
}
else
{
echo'<img src="/diary/img/cat.png" alt=""/> Категория: <a href="/diary/index.php?r='.$cat['id'].'">'.$cat['name'].'</a>';
if(isset($user) && $user['level']>2 && ($user['id']==$us['id'] || $user['level']>$us['level']))echo' [<a href="?edit=cat" title="Изменить категорию">изм</a>]';
}
echo'<br/>';
if(isset($_GET['edit']) && $_GET['edit']=='tags' && isset($user) && ($user['id']==$us['id'] || $user['level']>2 && $user['level']>$us['level']))
{
echo'<form method="post" name="message" action="/diary/'.$diary['name'].'/">';
echo'<input name="tags" type="text" maxlength="128" value="'.$diary['tags'].'"><br/>';
echo'<input type="submit" name="save" value="Изменить">';
echo'</form><br/>';
echo'<a href="/diary/'.$diary['name'].'/">Назад</a><br/>';
}
else
{
echo'<img src="/diary/img/tags.png" alt=""/> Метки: ';
if($diary['tags']!=NULL)
{
$tagss=explode(',', $diary['tags']);
for($i=0;$i<count($tagss);$i++)
{
echo'<a href="/diary/tags.php?tag='.$tagss[$i].'" title="Искать метку '.$tagss[$i].'">'.$tagss[$i].'</a>, ';
}
}
else
{
echo'<b>нет меток</b>';
}
if(isset($user) && ($user['id']==$us['id'] || $user['level']>2 && $user['level']>$us['level']))echo' [<a href="?edit=tags" title="Изменить метки">изм</a>]';
}
if(isset($user) && ($user['id']==$us['id'] || $user['level']>2 && $user['level']>$us['level']))echo'<br/><img src="/diary/img/images.png" alt=""/> <a href="/diary/images.php?id='.$diary['id'].'">Управление изображениями</a>';
echo'</td>';
echo'</tr>';
if(isset($user) && $us['id']==$user['id'] || isset($user) && $user['level']>$us['level'] || ($diary['readers']==0 || $diary['readers']==1) || isset($user) && $diary['readers']==2 && mysql_result(mysql_query("SELECT COUNT(*) FROM `frends` WHERE (`user` = '$user[id]' AND `frend` = '$us[id]') OR (`user` = '$us[id]' AND `frend` = '$user[id]')"),0)!=0)
{
if(isset($user) && $user['id']!=$us['id'] || !isset($user))mysql_query("UPDATE `diary` SET `viewings`='".($diary['viewings']+1)."' WHERE `id`='$diary[id]' LIMIT 1");
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `diary_images` WHERE `id_diary`='$diary[id]' AND `position`='up' LIMIT 1"),0)>0)
{
echo'<tr>';
echo'<td class="menu" colspan="2">';
$q=mysql_query("SELECT * FROM `diary_images` WHERE `id_diary`='$diary[id]' AND `position`='up' ORDER BY `id` ASC");
while ($image = mysql_fetch_assoc($q))
{
echo'<a href="/diary/images/'.$image['id'].'.'.$image['ras'].'" title="Скачать оригинал">';
if($set['web'])echo'<img src="/diary/images/640/'.$image['id'].'.'.$image['ras'].'" alt=""/></a> ';
else echo'<img src="/diary/images/128/'.$image['id'].'.'.$image['ras'].'" alt=""/></a> ';
}
echo'</td>';
echo'</tr>';
}
echo'<tr>';
echo'<td class="p_m" colspan="2">';
if(isset($_GET['edit']) && $_GET['edit']=='msg' && isset($user) && ($user['id']==$us['id'] || $user['level']>2 && $user['level']>$us['level']))
{
echo'<form method="post" name="message" action="/diary/'.$diary['name'].'/">';
echo'<textarea name="msg">'.$diary['msg'].'</textarea><br/>';
echo'<input type="submit" name="save" value="Изменить">';
echo'</form><br/>';
echo'<a href="/diary/'.$diary['name'].'/">Назад</a><br/>';
}
else
{
echo''.output_text($diary['msg']).'';
if(isset($user) && ($user['id']==$us['id'] || $user['level']>2 && $user['level']>$us['level']))echo' [<a href="?edit=msg" title="Изменить сообщение">изм</a>]';
}
echo'</td>';
echo'</tr>';
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `diary_images` WHERE `id_diary`='$diary[id]' AND `position`='down' LIMIT 1"),0)>0)
{
echo'<tr>';
echo'<td class="menu" colspan="2">';
$q2=mysql_query("SELECT * FROM `diary_images` WHERE `id_diary`='$diary[id]' AND `position`='down' ORDER BY `id` ASC");
while ($image2 = mysql_fetch_assoc($q2))
{
echo'<a href="/diary/images/'.$image2['id'].'.'.$image2['ras'].'" title="Скачать оригинал">';
if($set['web'])echo'<img src="/diary/images/640/'.$image2['id'].'.'.$image2['ras'].'" alt=""/></a> ';
else echo'<img src="/diary/images/128/'.$image2['id'].'.'.$image2['ras'].'" alt=""/></a> ';
}
echo'</td>';
echo'</tr>';
}
echo'</table>';
if(isset($user) && $user['id']!=$us['id'] && mysql_result(mysql_query("SELECT COUNT(*) FROM `diary_rating` WHERE `id_diary` = '$diary[id]' AND `id_user`='$user[id]' LIMIT 1"),0)==0)
{
echo '<div class="str">';
echo '<a href="/diary/'.$diary['name'].'/?plus=1" title="Повысить рейтинг дневника на 1">+1</a> ';
echo '<a href="/diary/'.$diary['name'].'/?plus=2" title="Повысить рейтинг дневника на 2">+2</a> ';
echo '<a href="/diary/'.$diary['name'].'/?plus=3" title="Повысить рейтинг дневника на 3">+3</a> ';
echo '<a href="/diary/'.$diary['name'].'/?plus=4" title="Повысить рейтинг дневника на 4">+4</a> ';
echo '<a href="/diary/'.$diary['name'].'/?plus=5" title="Повысить рейтинг дневника на 5">+5</a>';
echo '</div>';
}
}
else
{
echo'<tr>';
echo'<td class="p_m" colspan="2">';
echo'<img src="/diary/img/vnimanie.png" alt=""/> <b>Дневник пользователя могут читать только друзья</b>';
echo'</td>';
echo'</tr>';
echo'</table>';
}
echo'<div class="foot">';
echo'Просмотров: <b>'.$diary['viewings'].'</b> |';
echo' Рейтинг: <b>'.$diary['rating'].'</b><br/>';
if(isset($_GET['edit']) && $_GET['edit']=='readers' && isset($user) && ($user['id']==$us['id'] || $user['level']>2 && $user['level']>$us['level']))
{
echo'<form method="post" action="/diary/'.$diary['name'].'/">';
echo'<select name="readers">';
echo'<option value="0"'.($diary['readers']==0?' selected="selected"':null).'>Читают и комментируют все</option>';
echo'<option value="1"'.($diary['readers']==1?' selected="selected"':null).'>Читают все, комментируют друзья</option>';
echo'<option value="2"'.($diary['readers']==2?' selected="selected"':null).'>Читают и комментируют друзья</option>';
echo'</select><br/>';
echo'<input type="submit" name="save" value="Изменить">';
echo'</form><br/>';
echo'<a href="/diary/'.$diary['name'].'/">Назад</a><br/>';
}
else
{
echo'Читают: ';
if($diary['readers']==0 || $diary['readers']==1)echo'<b>Все</b>'; else echo'<b>Друзья</b>';
echo' | ';
echo'Комментируют: ';
if($diary['readers']==0)echo'<b>Все</b>'; else echo'<b>Друзья</b>';
if(isset($user) && ($user['id']==$us['id'] || $user['level']>2 && $user['level']>$us['level']))echo' [<a href="?edit=readers" title="Изменить приватность">изм</a>]';
echo'<br/>';
}
$count_komm = mysql_result(mysql_query("SELECT COUNT(*) FROM `diary_komm` WHERE `id_diary` = '$diary[id]'"),0);
echo'<a href="/diary/komm.php?id='.$diary['id'].'" title="Комментарии к дневнику">Комментарии</a> ('.$count_komm.')<br/>';
if(isset($user) && $user['level']>2 && ($user['id']==$us['id'] || $user['level']>$us['level']))
{
if(isset($_GET['delete']))echo'<div class="err">Вы уверены, что хотите удалить дневник?<br/><a href="/diary/?r='.$diary['id_cat'].'&del='.$diary['id'].'" title="Да, удалить дневник безвозвратно">Да</a> | <a href="/diary/'.$diary['name'].'/" title="Нет, отменить удаление">Нет</a></div>';
else echo'<a href="?delete" title="Удалить дневник"><span style="color:red">Удалить дневник</span></a><br/>';
}
echo'</div>';
echo'<img src="/diary/img/back.png" alt=""/> <a href="/diary/" title="Вернуться к категориям">Дневники</a><br/>';
}
else
{
header("Location:index.php");
}
}
else
{
header("Location:index.php");
}
include_once '../sys/inc/tfoot.php';
?>