Помощь в 4.5

Тема закрыта
139
.
Здравствуйте. Начал делать сайт на джоне 4.5 часто нужна помощь
.
вопросы нужно задавать в топ теме !
.
Есть статусы автор 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&amp;user='.$user['id'].'&amp;mode=show&amp;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&amp;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&amp;user='.$user['id'].'&amp;mode=comment&amp;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&amp;user='.$user['id'].'&amp;mode=show&amp;show='.$req['id'].'&amp;rate=up"><img src="/images/add.gif" alt="+"/></a> | 
<a href="profile.php?act=status&amp;user='.$user['id'].'&amp;mode=show&amp;show='.$req['id'].'&amp;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&amp;mode=edit&amp;edit='.$req['id'].'" method="post"><input type="submit" value="Изменить" style="width:20%"/></form>
<form action="profile.php?act=status&amp;mode=del&amp;del='.$req['id'].'" method="post"><input type="submit" value="Удалить" style="width:20%"/></form>';
    //if ($rights>=6)echo '[<a href="profile.php?act=status&amp;mode=block&amp;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&amp;mode=comment&amp;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 '&laquo; <a href="profile.php?act=status&amp;mode=show&amp;show='.$com.'&amp;user='.$user['id'].'">'.htmlspecialchars($stat['name']).'</a>';
                    $sst = new comments($arg); // Вывод комментариев
                    echo mysql_error(); // Если есть - Вывод MySQL ошибки
                }
echo '&laquo; <a href="profile.php?act=status&amp;mode=show&amp;show='.$com.'&amp;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 . '&#160;' . $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&amp;mode=add&amp;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&amp;mode=edit&amp;edit='.$req['id'].'&amp;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&amp;mode=del&amp;user='.$user['id'].'&amp;del='.$com.'&amp;ok">Удалить</a> | <a href="profile.php?act=status&amp;mode=show&amp;user='.$user['id'].'&amp;show='.$com.'">Отмена</a>';
                }
     }
break;
   }
   if (isset($res))mysql_free_result($res);
.
Fenix_61 (13.11.2012 / 21:16)
вопросы нужно задавать в топ теме !
Там же написана задавать по одному вопросу
.
Не зная php ты хак не сделаешь !
.
Блиносвёрт ?
RSST, вопрос по каждому модулю задаешь в теме с модулем, а общие вопросы в общей теме
У Вас есть один вопрос? - Тогда задайте ...
Всего: 6