Есть статусы автор Tadochi
Мне нужно из его кода вывести в кабинет функции Комментарии Удаления Изменения
defined('_IN_JOHNCMS') or die('Error: restricted access'); // Профикс или чо там
$textl = $lng['profile'] . ' | Статус'; // Заголовок
$headmod = 'status';
require('../incfiles/head.php'); // Загрузка начало документа
$mode=isset($_REQUEST['mode'])?$_REQUEST['mode']:null; // switch
$i=1; // Для зебры
//---------------
switch ($mode)
{
default: // все статусы юзера
$res=mysql_query("select `id`,`name`,`text` from `cms_users_status` where `user_id`=".$user['id']);
if (mysql_num_rows($res)==0)echo 'У пользователя '.$user['name'].' нет статусов';
else
{
while ($req=mysql_fetch_assoc($res))
{
echo '
<div class="'.($i%2?'list1':'list2')
.'"><a href="/users/profile.php?act=status&user='.$user['id'].'&mode=show&show='.$req['id'].'">'
.functions::checkout($req['name']).'</a><br />'
.functions::checkout(mb_substr($req['text'],0,50))
.'</div>';
$i++;
}
}
if ($user['id']==$user_id)echo '<br /><form action="profile.php?act=status&mode=add" method="post"><input type="submit" value="Добавить"/></form>'; // Если владелец анкеты смотрит свои статусы
break;
//---------------
case 'show': // Подробный просмотр определенного статуса
$show=abs(intval($_GET['show']));
$res=mysql_query("select `id`, `name`, `text` from `cms_users_status` where `user_id`=".$user['id']." and `id`=".$show);
if (mysql_num_rows($res)==0)echo 'У пользователя '.$user['name'].' нет такого статуса';
else
{
$check=mysql_result(mysql_query("select count(*) from `cms_users_status_rating` where `user_id`=$user_id and `id`=".$show),0);
if (isset($_GET['rate']) && $check==0)
{
mysql_query("
insert into `cms_users_status_rating`
(`id`,`user_id`,`rating`)
values
('$show', '$user_id', '".($_GET['rate']=='up'?1:-1)."')
");
$check=mysql_result(mysql_query("select count(*) from `cms_users_status_rating` where `user_id`=$user_id and `id`=".$show),0);
}
$req=mysql_fetch_assoc($res);
$text = htmlspecialchars(bbcode::tags($req['text']));
if ($set_user['smileys'])
$text = functions::smileys($text);
echo functions::display_user($user, array ('iphide' => 1,))
.'<img src="/images/green.gif"/>'
.functions::checkout($req['name'],0,1)
.'<br />'
.functions::checkout($req['text'],0,1)
.'<br /><img src="/images/yelow.gif"/><a href="/users/profile.php?act=status&user='.$user['id'].'&mode=comment&comment='.$req['id'].'">Комментарии</a> ('
.mysql_result(mysql_query("select count(`id`) from `cms_users_status_comm` where `sub_id`=".$req['id']),0) // счетчик комментариев
.')';
echo '<br /><img src="/images/red.gif"/>Рейтинг: '.($check==0?
'<a href="profile.php?act=status&user='.$user['id'].'&mode=show&show='.$req['id'].'&rate=up"><img src="/images/add.gif" alt="+"/></a> |
<a href="profile.php?act=status&user='.$user['id'].'&mode=show&show='.$req['id'].'&rate=down"><img src="/images/del.png" alt="-"/></a>'
:mysql_result(mysql_query("select sum(`rating`) from `cms_users_status_rating` where `id`=".$show),0));
if ($user['id']==$user_id || $rights>=6)
echo '
<br />
<form action="profile.php?act=status&mode=edit&edit='.$req['id'].'" method="post"><input type="submit" value="Изменить" style="width:20%"/></form>
<form action="profile.php?act=status&mode=del&del='.$req['id'].'" method="post"><input type="submit" value="Удалить" style="width:20%"/></form>';
//if ($rights>=6)echo '[<a href="profile.php?act=status&mode=block&block='.$req['id'].'">Блок</a>]';
}
unset($req);
break;
//---------------
case 'comment': // комментарии к статусу
$com=abs(intval($_GET['comment']));
$res=mysql_query("select * from `cms_users_status` where `user_id`=".$user['id']." and `id`=".$com);
if (mysql_num_rows($res)==0)echo 'У пользователя '.$user['name'].' нет такого статуса';
else
{
$stat=mysql_fetch_assoc(mysql_query("select `name`,`text` from `cms_users_status` where `user_id`=".$user['id']." and `id`=".$com)); // Получаем данные статуса котороо комментируем
echo
functions::display_user($user, array ('iphide' => 1,)).'<div class="phdr">'. // Выводим создателя статуса
functions::checkout($stat['name']).'</div>'. // Вывод названия с обработкой
functions::checkout(mb_substr($stat['text'],0,50)); // Вывод описания с обработкой. + обрезаем
$arg = array ( // Массив настроек
'comments_table' => 'cms_users_status_comm', // Таблица
'object_table' => 'users', // Таблица комментируемых объектов
'script' => 'profile.php?act=status&mode=comment&user='.$user['id'], // Имя скрипта (с параметрами вызова)
'sub_id_name' => 'comment', // Имя идентификатора комментируемого объекта
'sub_id' => $com, // Идентификатор комментируемого объекта
'owner' => $user['id'], // Владелец объекта
'owner_delete' => true, // Возможность владельцу удалять комментарий
'owner_reply' => true, // Возможность владельцу отвечать на комментарий
'owner_edit' => true, // Возможность владельцу редактировать комментарий
'title' => $lng['comments'] // Название раздела
);
echo '« <a href="profile.php?act=status&mode=show&show='.$com.'&user='.$user['id'].'">'.htmlspecialchars($stat['name']).'</a>';
$sst = new comments($arg); // Вывод комментариев
echo mysql_error(); // Если есть - Вывод MySQL ошибки
}
echo '« <a href="profile.php?act=status&mode=show&show='.$com.'&user='.$user['id'].'">'.htmlspecialchars($stat['name']).'</a>';
break;
//---------------
case 'add': // Добавление статуса
if (!empty($_POST['msg']))
{
$msg = mb_substr(trim($_POST['msg']), 0, 5000);
$name = !empty($_POST['name'])?mb_substr(trim($_POST['name']), 0, 34):mb_substr($msg,0,34);
$error = array();
$flood = false;
if ($ban['1'] || $ban['13'])
$error[] = $lng['access_forbidden'];
$flood = functions::antiflood();
if ($flood)
$error = $lng['error_flood'] . ' ' . $flood . ' ' . $lng['seconds'];
if (!$error)
{
mysql_query("
INSERT INTO `cms_users_status` SET
`time` = '" . time() . "',
`user_id` = '$user_id',
`name` = '".mysql_real_escape_string($name)."',
`text` = '" . mysql_real_escape_string($msg) . "'
");
$new_id=mysql_insert_id();
$postguest = $datauser['postguest'] + 1;
mysql_query("UPDATE `users` SET `postguest` = '$postguest', `lastpost` = '" . time() . "' WHERE `id` = '$user_id'");
header('location: /users/profile.php?act=status&mode=show&show='.$new_id.'&user='.$user_id);
exit;
}
else echo functions::display_error($error);
}
if (!$is_mobile)
echo bbcode::auto_bb('name', 'msg');
?>
<form name="name" action="/users/profile.php?act=status&mode=add&user=<?=$user_id?>" method="post">
Название:<br /><input type="text" name="name"/><br />
Текст:<br /><textarea name="msg"></textarea><br />
<input type="submit" value="Добавить"/></form>
<?
break;
//---------------
case 'edit':
$com=abs(intval($_GET['edit']));
$res=mysql_query("select * from `cms_users_status` where `id`=".$com);
if (mysql_num_rows($res)==0)echo 'Hет такого статуса';
$req=mysql_fetch_assoc($res);
if ($req['user_id']==$user_id || $rights>=6)
{
if (!empty($_POST['text']))
{
$msg = mb_substr(trim($_POST['text']), 0, 5000);
$name = !empty($_POST['name'])?mb_substr(trim($_POST['name']), 0, 34):mb_substr($msg,0,34);
$edit=abs(intval($_GET['edit']));
mysql_query("
UPDATE `cms_users_status` SET
`time` = '" . time() . "',
`user_id` = '$user_id',
`name` = '".mysql_real_escape_string($name)."',
`text` = '" . mysql_real_escape_string($msg) . "'
WHERE `id`='".$edit."' limit 1
");
$postguest = $datauser['postguest'] + 1;
mysql_query("UPDATE `users` SET `postguest` = '$postguest', `lastpost` = '" . time() . "' WHERE `id` = '$user_id'");
header('location: /users/profile.php?act=status&mode=show&show='.$edit.'&user='.$user_id);
exit;
}
else
{
if (!$is_mobile)
echo bbcode::auto_bb('form', 'text');
echo '
<form name="form" method="post" action="profile.php?act=status&mode=edit&edit='.$req['id'].'&user='.$user['id'].'">
Название: <br /><input type="text" name="name" value="'.htmlspecialchars($req['name']).'"/><br />
Описание: <br /><textarea name="text">'.htmlspecialchars($req['text']).'</textarea><br />
<input type="submit"/></form>
';
}
}
break;
//---------------
case 'del':
$com=abs(intval($_GET['del']));
if ($user_id==$user['id'] || $rights>=6)
{
if (isset($_GET['ok']))
{
mysql_query("
delete from `cms_users_status`
where `id`='".$com."'
limit 1
");
mysql_query("
delete from `cms_users_status_comm`
where `sub_id`='".$com."'
");
header('location: profile.php?act=status');
exit;
}
else
{
$res=mysql_query("select `name` from `cms_users_status` where `user_id`=".$user['id']." and `id`=".$com);
if (mysql_num_rows($res)==0)echo 'Hет такого статуса';
else
echo '<a href="profile.php?act=status&mode=del&user='.$user['id'].'&del='.$com.'&ok">Удалить</a> | <a href="profile.php?act=status&mode=show&user='.$user['id'].'&show='.$com.'">Отмена</a>';
}
}
break;
}
if (isset($res))mysql_free_result($res);