<?php
    defined('_IN_JOHNCMS') or die('Error: restricted access'); // Профикс или чо там
    $textl = $lng['profile'] . ' | Статус'; // Заголовок
    $headmod = 'status';
    require('../incfiles/head.php'); // Загрузка начало документа
    $mode=isset($_GET['mode'])?$_GET['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 />&raquo; <a href="profile.php?act=status&amp;mode=add">Добавить</a>'; // Если владелец анкеты смотрит свои статусы
	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'])
					.'<br />'
					//.functions::checkout($req['text'],0,1)
					.$text
					.'<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) // счетчик комментариев
					.')';

					if ($user['id']==$user_id || $rights>=6)
					    echo '<br /><img src="/images/red.gif"/> <a href="profile.php?act=status&amp;mode=edit&amp;edit='.$req['id'].'">Изменить</a> | <a href="profile.php?act=status&amp;mode=del&amp;del='.$req['id'].'">Удалить</a>';
				    //if ($rights>=6)echo '[<a href="profile.php?act=status&amp;mode=block&amp;block='.$req['id'].'">Блок</a>]';
					echo '<br /><img src="/images/rate.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));
		        }
				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['name']))
	    {
	        $name =mb_substr(trim($_POST['name']), 0, 34);
            $msg = isset($_POST['msg'])?mb_substr(trim($_POST['msg']), 0, 5000):null;
            $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, '<a href="/users/profile.php?act=status&amp;mode=add">' . $lng['back'] . '</a>');
		}
		
    if (!$is_mobile)
        echo bbcode::auto_bb('form', '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 `user_id`=".$user['id']." and `id`=".$com);
	if (mysql_num_rows($res)==0)echo 'Hет такого статуса';
	$req=mysql_fetch_assoc($res);
	    if ($res['user_id']==$user_id || $rights>=6)
			    {
					if (!empty($_POST['name']))
	                    {
	                        $name = mb_substr(trim($_POST['name']), 0, 34);
                            $msg = isset($_POST['text'])?mb_substr(trim($_POST['text']), 0, 5000):null;
							$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);