Вход Регистрация
Файл: profi_wm/blog.php
Строк: 117
<?
// ЛУЧШИЕ СКРИПТЫ ТОЛЬКО НА 4MAST.RU
// АВТОР Chainsaw
// ТОЛЬКО ЭКСКЛЮЗИВНЫЕ СКРИПТЫ

require_once('system/core.php');
$_title 'Блоги';
require_once(
root.'system/header.php');
if(!
$user['id']){
header('location:/');
die();
}

$do = isset($_GET['do']) ? TextGuard($_GET['do']) : false;
switch(
$do){
/* Главная страница */
default:
echo 
'<div class="post1"><a href="?do=add">Добавить запись</a> / <a href="?do=my">Мои записи</a> ('.core::$dbs->querySingle("SELECT COUNT(id) FROM `blog` where `user_id` = ?",array($user['id'])).')</div>';
$k_post core::$dbs->querySingle("SELECT COUNT(id) FROM `blog`");
$max $user['on_page'];
$cp ceil($k_post/$max);
if(isset(
$_GET['p']) && is_numeric($_GET['p'])){
$p abs(intval($_GET['p']));
if(
$_GET['p']>$cp$p $cp;
if(
$_GET['p']<1)$p 1;
} else {
$p 1;
}
$start $p*$max-$max;
if(
$k_post==0){
echo 
'<b>Записей еще нет!</b>';
}
$array core::$dbs->query("SELECT * FROM `blog` ORDER BY `time` DESC LIMIT $start,$max");
while(
$arr $array->fetch()){
echo 
'<div class="post2"><img src="images/4417.png" alt="*"/> <b>'.$arr['name'].'</b> ('.times($arr['time']).')<br/>';
if(
strlen($arr['text'])>25){
echo 
mb_substr($arr['text'],0,25).'...<a href="?do=read&amp;id='.$arr['id'].'">Читать</a><br/>';
} else {
echo 
$arr['text'].'<br/>';
}
echo 
'&#187; Опубликовал: '.ustatus($arr['user_id']).' <a href="/us'.$arr['user_id'].'">'.uname($arr['user_id']).'</a><br/>';
echo 
'<a href="?do=comm&amp;id='.$arr['id'].'">Обсудить</a> ('.core::$dbs->querySingle("SELECT COUNT(id) FROM `comm` WHERE `id_blog` = ?",array($arr['id'])).')';
echo 
'</div>';
}
navig('?');
break;
/* Добавить запись */
case 'add':
if(isset(
$_POST['add'])){
$name TextGuard($_POST['name']);
$text TextGuard($_POST['text']);
if(empty(
$name) OR strlen($name)<5){
$err 'Не введено название записи или оно короче 5 символов!';
}
if(empty(
$text) OR strlen($text)<5){
$err 'Не введено содержание записи или оно короче 5 символов!';
}
if(empty(
$err)){
core::$dbs->query("INSERT INTO `blog` SET `name` = ?, `text` = ?, `time` = ?, `user_id` = ?",array($name,$text,time(),$user['id']));
$last core::$dbs->lastInsertId();
header('location: ?do=read&id='.$last);
die();
} else {
echo 
'<div class="post2"><b>'.$err.'</b></div>';
}
}
echo 
'<div class="post2"><form action="?do=add" method="post">Название[5-60]:<br/><input type="text" name="name"/><br/>Содержание:<br/><textarea name="text"></textarea><br/><input type="submit" name="add" value="Добавить"/></form></div>';
echo 
'<div class="post2"><a href="?">Вернуться</a></div>';
break;
/* Открыть запись полностью */
case 'read':
$id = isset($_GET['id']) ? abs(intval($_GET['id'])) : false;
$array core::$dbs->query("SELECT name,text,user_id,time FROM `blog` WHERE `id` = ? LIMIT 1",array($id));
if(
$array->rowCount()==0){
header('location:/');
die();
}
$arr $array->fetch();
if(
$user['status']>=2){
echo 
'<div class="post2"><a href="?do=del&id='.$id.'">Удалить</a> / <a href="?do=edit&id='.$id.'">Изменить</a></div>';
}
// Положительный голос
if(isset($_GET['like'])){
$prv core::$dbs->query("SELECT `id` FROM `blog_vote` WHERE `blog` = ? AND `user_id` = ? LIMIT 1",array($id,$user['id']));
if(
$prv->rowCount()!=FALSE){
echo
'Вы уже голосовали!';
} else {
core::$dbs->query("INSERT INTO `blog_vote` SET `blog` = ?, `user_id` = ?, `type` = ?",array($id,$user['id'],plus));
header('location: ?do=read&id='.$id);
die();
}
}
// Отрицательный голос
if(isset($_GET['dlike'])){
$prv core::$dbs->query("SELECT `id` FROM `blog_vote` WHERE `blog` = ? AND `user_id` = ? LIMIT 1",array($id,$user['id']));
if(
$prv->rowCount()!=FALSE){
echo
'Вы уже голосовали!';
} else {
core::$dbs->query("INSERT INTO `blog_vote` SET `blog` = ?, `user_id` = ?, `type` = ?",array($id,$user['id'],minus));
header('location: ?do=read&id='.$id);
die();
}
}
echo 
'<div class="post2">';
echo 
'<b>'.$arr['name'].'</b><br/>'.out($arr['text']).'<br/>&#187; Опубликовал: '.uname($arr['user_id']).' ('.times($arr['time']).')<br/>';
$vote core::$dbs->query("SELECT `id` FROM `blog_vote` WHERE `blog` = ? AND `user_id` = ? LIMIT 1",array($id,$user['id']));
$like core::$dbs->querySingle("SELECT COUNT(id) FROM `blog_vote` WHERE `type` = ? and `blog` = ?",array(plus,$id));
$dlike core::$dbs->querySingle("SELECT COUNT(id) FROM `blog_vote` WHERE `type` = ? and `blog` = ?",array(minus,$id));
echo 
'&#187; Рейтинг: (<font color="green">+'.$like.'</font> / <font color="red">-'.$dlike.'</font>)<br/>';
if(
$vote->rowCount()==0){
if(
$info['id_us']!=$user['id']){
echo 
'<a href="?do=read&id='.$id.'&like">Плюс</a> / <a href="?do=read&id='.$id.'&dlike">Минус</a><br/>';}
}
echo 
'<a href="?do=comm&id='.$id.'">Обсудить</a> ('.core::$dbs->querySingle("SELECT COUNT(id) FROM `comm` WHERE `id_blog` = ?",array($arr['id'])).')<br/>';
echo 
'</div>';
echo 
'<div class="post2"><a href="?">Вернуться</a></div>';
break;
/* Мои записи */
case 'my':
$k_post core::$dbs->querySingle("SELECT COUNT(id) FROM `blog` WHERE `user_id` = ?",array($user['id']));
if(
$k_post==0){
echo 
'<b>Записей еще нет!</b>';
}
$max $user['on_page'];
$cp ceil($k_post/$max);
if(isset(
$_GET['p']) && is_numeric($_GET['p'])){
$p abs(intval($_GET['p']));
if(
$_GET['p']>$cp$p $cp;
if(
$_GET['p']<1)$p 1;
} else {
$p 1;
}
$start $p*$max-$max;
$array core::$dbs->query("SELECT * FROM `blog` WHERE `user_id` = ? ORDER BY `time` DESC LIMIT $start,$max",array($user['id']));
while(
$arr $array->fetch()){
echo 
'<div class="post2"><b>'.$arr['name'].'</b> ('.times($arr['time']).')<br/>';
if(
strlen($arr['text'])<50){
echo 
$arr['text'].'...<a href="?do=read&amp;id='.$arr['id'].'">Далее []</a><br/>';
} else {
echo 
out($arr['text']).'<br/>';
}
echo 
'<a href="?do=comm&amp;id='.$arr['id'].'">Обсудить</a> ('.core::$dbs->querySingle("SELECT COUNT(id) FROM `comm` WHERE `id_blog` = ?",array($arr['id'])).')';
echo 
'</div>';
}
navig('?do=my&');
echo 
'<div class="post2"><a href="?">Вернуться</a></div>';
break;
/* Комментарии */
case 'comm':
$id = isset($_GET['id']) ? abs(intval($_GET['id'])) : false;
$row core::$dbs->query("SELECT * FROM `blog` WHERE `id` = ? LIMIT 1",array($id));
if(
$row->rowCount()==0){
header('location:/');
die();
}
if(isset(
$_POST['add'])){
$text TextGuard($_POST['text']);
if(empty(
$text) OR strlen($text)<3){
$err 'Не введено сообщение или оно короче 3 символов!';
}
if(empty(
$err)){
core::$dbs->query("INSERT INTO `comm` SET `text` = ?, `time` = ?, `user_id` = ?, `id_blog` = ?",array($text,time(),$user['id'],$id));
header('location: ?do=comm&id='.$id);
die();
} else {
echo 
'<div class="post2"><b>'.$err.'</b></div>';
}
}
if(isset(
$_GET['otv'])){
$nk abs(intval($_GET['nk']));
$rows core::$dbs->query("SELECT * FROM `user` WHERE `id` = ? LIMIT 1",array($nk));
if(
$rows->rowCount()==0){
header('location: ?do=comm&id='.$id);
die();
}
$usr $rows->fetch();
$st '[b]'.$usr['login'].'[/b], ';
} else {
$st '';
}
if(isset(
$_GET['del'])){
core::$dbs->query("DELETE FROM `comm` WHERE `id` = ?",array(abs(intval($_GET['uid']))));
header('location: ?do=comm&id='.$id);
die();
}
$k_post core::$dbs->querySingle("SELECT COUNT(id) FROM `comm` WHERE `id_blog` = ?",array($id));
if(
$k_post==0){
echo 
'<b>Комментариев еще нет!</b>';
}
$max $user['on_page'];
$cp ceil($k_post/$max);
if(isset(
$_GET['p']) && is_numeric($_GET['p'])){
$p abs(intval($_GET['p']));
if(
$_GET['p']>$cp$p $cp;
if(
$_GET['p']<1)$p 1;
} else {
$p 1;
}
$start $p*$max-$max;
$array core::$dbs->query("SELECT * FROM `comm` WHERE `id_blog` = ? ORDER BY `time` DESC LIMIT $start,$max",array($id));
while(
$arr $array->fetch()){
echo 
'<div class="post2">'.($user['status']>=' [<a href="?do=comm&id='.$id.'&del&uid='.$arr['id'].'">del</a>]':'').' <b>'.uname($arr['user_id']).'</b> ('.times($arr['time']).')<br/>'.out($arr['text']).''.(($arr['user_id']!=$user['id']) ? '<br/>[<a href="?do=comm&id='.$id.'&otv&nk='.$arr['user_id'].'">отв</a>]':'').'</div>';
}
echo 
'<div class="post2"><form action="?do=comm&id='.$id.'" method="post">Комментарий:<br/><textarea name="text">'.$st.'</textarea><br/><input type="submit" name="add" value="Добавить"/></form></div>';
navig('?do=comm&id='.$id.'&');
echo 
'<div class="post2"><a href="?do=read&id='.$id.'">Вернуться</a></div>';
break;
/* Изменить запись */
case 'edit':
if(
$user['status']<2){
header('location:/');
die();
}
$id = isset($_GET['id']) ? abs(intval($_GET['id'])) : false;
$array core::$dbs->query("SELECT name,text,user_id,time FROM `blog` WHERE `id` = ? LIMIT 1",array($id));
if(
$array->rowCount()==0){
header('location:/');
die();
}
$arr $array->fetch();
if(isset(
$_POST['add'])){
$name TextGuard($_POST['name']);
$text TextGuard($_POST['text']);
if(empty(
$name) OR strlen($name)<5){
$err 'Не введено название записи или оно короче 5 символов!';
}
if(empty(
$text) OR strlen($text)<5){
$err 'Не введено содержание записи или оно короче 5 символов!';
}
if(empty(
$err)){
core::$dbs->query("UPDATE `blog` SET `name` = ?, `text` = ? WHERE `id` = ? LIMIT 1",array($name,$text,$id));
header('location: ?do=read&id='.$id);
die();
} else {
echo 
'<div class="post2"><b>'.$err.'</b></div>';
}
}
echo 
'<div class="post2"><form action="?do=edit&id='.$id.'" method="post">Название[5-60]:<br/><input type="text" name="name" value="'.$arr['name'].'"/><br/>Содержание:<br/><textarea name="text">'.$arr['text'].'</textarea><br/><input type="submit" name="add" value="Добавить"/></form></div>';
echo 
'<div class="post2"><a href="?do=read&id='.$id.'">Вернуться</a></div>';
break;
/* Удалить запись */
case 'del':
$id = isset($_GET['id']) ? abs(intval($_GET['id'])) : false;
$array core::$dbs->query("SELECT * FROM `blog` WHERE `id` = ?",array($id));
if(
$array->rowCount()==0){
header('location:/');
die();
}
core::$dbs->query("DELETE FROM `blog` WHERE `id` = ?",array($id));
header('location: ?');
break;
}
/* Низ блогов */
require_once('system/footer.php');
?>
Онлайн: 0
Реклама