Просмотр файла modules/user/user_rating.php

Размер файла: 6.34Kb
  1. <?php
  2.  
  3. // проверяем корректность запроса
  4. if (!isset($user) && mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `id` = '". num($_GET['user_id']) ."' LIMIT 1"), 0) == 0)
  5. {
  6. # Перенаправляем на главную
  7. header('Location: /');
  8. }
  9.  
  10. if (isset($_GET['vote']) && isset($user) && mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `id` = '". num($_GET['user_id']) ."' LIMIT 1"), 0) != 0 && ((mysql_result(mysql_query("SELECT COUNT(*) FROM `user_rating` WHERE `user_id` = '". num($_GET['user_id']) ."' AND `rate_id` = '$user[id]'"), 0) != 0) || mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_p` WHERE `user_id` = '$user[id]'"), 0) < 100))
  11. {
  12. # Перенаправляем на главную
  13. header('Location: /');
  14. }
  15.  
  16. # Заголовок модуля
  17. $system['page_title'] = 'Рейтинг пользователя';
  18.  
  19. # Шапка модуля
  20. require_once(HOME .'/incfiles/header.php');
  21.  
  22. # Массив владельца странички
  23. if (isset($_GET['user_id']))
  24. {
  25. if (mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `id` = '". num($_GET['user_id']) ."' LIMIT 1"), 0) == 1)
  26. {
  27. $ank = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '". num($_GET['user_id']) ."' LIMIT 1"));
  28. }
  29. else
  30. {
  31. $ank = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '$user[id]' LIMIT 1"));
  32. }
  33. }
  34. else
  35. {
  36. $ank = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '$user[id]' LIMIT 1"));
  37. }
  38.  
  39. // голосуем
  40. if (isset($_POST['type']) && isset($_POST['text']) && isset($_GET['vote']) && isset($user) && $user['id'] != $ank['id'] && mysql_result(mysql_query("SELECT COUNT(*) FROM `user_rating` WHERE `user_id` = '$ank[id]' AND `rate_id` = '$user[id]'"), 0) == 0 && mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_p` WHERE `user_id` = '$user[id]'"), 0) >= 100) {
  41. $type = num($_POST['type']);
  42.  
  43. if (empty($type)) $err .= 'Не выбран тип голоса<br />';
  44.  
  45. if ($type != '1' && $type != '2') $err .= 'Неверный тип голоса<br />';
  46.  
  47. # Название
  48. $text = txt($_POST['text']);
  49.  
  50. # Проверка ввода названия
  51. if (empty($text)) $err .= 'Не введен комментарий<br />';
  52.  
  53. # Проверка длины логина
  54. if (!empty($text) && (strlen_rus($text) < 3 || strlen_rus($text) > 3000)) $err .= 'Неверная длина комментария. Допустимо от 3 до 3000 символов<br />';
  55.  
  56. if (!isset($err)) {
  57. mysql_query("INSERT INTO `user_rating` SET `user_id` = '$ank[id]', `rate_id` = '$user[id]', `text` = '". input($text) ."', `time` = '". time() ."', `type` = '$type'");
  58.  
  59. echo '<div class="title">Голосование</div>
  60. <div class="menu">
  61. Ваш голос успешно принят.
  62. </div>';
  63.  
  64. echo '<div class="block">
  65. &raquo; <a href="/user/user_rating.php?user_id='. $ank['id'] .'">Просмотр голосов</a><br />
  66. &raquo; <a href="/user/user.php?user_id='. $ank['id'] .'">На личную страницу</a><br />
  67. &raquo; <a href="/">На главную</a>
  68. </div>';
  69.  
  70. # Ноги модуля
  71. require_once(HOME .'/incfiles/footer.php');
  72. }
  73. }
  74.  
  75. error($err);
  76.  
  77. // голосуем
  78. if (isset($_GET['vote']) && isset($user) && $user['id'] != $ank['id'] && mysql_result(mysql_query("SELECT COUNT(*) FROM `user_rating` WHERE `user_id` = '$ank[id]' AND `rate_id` = '$user[id]'"), 0) == 0 && mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_p` WHERE `user_id` = '$user[id]'"), 0) >= 100) {
  79. echo '<div class="title">Голосование</div>
  80. <form method="post" action="/user/user_rating.php?user_id='. $ank['id'] .'&amp;vote">
  81. <div class="menu">
  82. Тип голоса:<br />
  83. <select name="type" size="1">
  84. <option value="1">Положительный</option>
  85. <option value="2">Отрицательный</option>
  86. </select><br />
  87. Комментарий: (обязателен)<br />
  88. <textarea name="text" rows="4" cols="20">'. txt($_POST['text']) .'</textarea><br />
  89. <input type="submit" value="Отправить" />
  90. </div>
  91. </form>';
  92.  
  93. echo '<div class="block">
  94. &raquo; <a href="/user/user_rating.php?user_id='. $ank['id'] .'">Просмотр голосов</a><br />
  95. &raquo; <a href="/user/user.php?user_id='. $ank['id'] .'">На личную страницу</a><br />
  96. &raquo; <a href="/">На главную</a>
  97. </div>';
  98.  
  99. # Ноги модуля
  100. require_once(HOME .'/incfiles/footer.php');
  101. }
  102.  
  103. echo '<div class="title">Голоса пользователя: '. $ank['nick'] .'</div>';
  104.  
  105. if (isset($user) && $user['id'] != $ank['id'] && mysql_result(mysql_query("SELECT COUNT(*) FROM `user_rating` WHERE `user_id` = '$ank[id]' AND `rate_id` = '$user[id]'"), 0) == 0 && mysql_result(mysql_query("SELECT COUNT(*) FROM `forum_p` WHERE `user_id` = '$user[id]'"), 0) >= 100) {
  106. echo '<div class="menu">'. (isset($user) && $settings['img_site'] == 2?NULL:'<img src="/design/icons/rating/star.png" alt="" /> ') .'<a href="/user/user_rating.php?user_id='. $ank['id'] .'&amp;vote">Проголосовать</a></div>';
  107. }
  108.  
  109. # Кол-во пользователей
  110. $k_rate = mysql_result(mysql_query("SELECT COUNT(*) FROM `user_rating` WHERE `user_id` = '". $ank['id'] ."'"), 0);
  111.  
  112. # Старт навигации
  113. nav_start($k_rate, 10);
  114.  
  115. if ($k_rate == 0)
  116. {
  117. echo '<div class="menu">Голосов нет</div>';
  118. }
  119. else
  120. {
  121. $sql_rate = mysql_query("SELECT * FROM `user_rating` WHERE `user_id` = '". $ank['id'] ."' ORDER BY time DESC LIMIT $start, 10");
  122.  
  123. while ($rate = mysql_fetch_assoc($sql_rate))
  124. {
  125. echo '<div class="menu">
  126. '. icon($rate['rate_id']) .' <a href="/user/user.php?user_id='. $rate['rate_id'] .'">'. nick($rate['rate_id']) .'</a> '. online($rate['rate_id']) .' ('. vtime($rate['time']) .')<br />
  127. Голос: '. ($rate['type'] == 1?'Положительный':'Отрицательный') .'<br />
  128. '. output($rate['text']) .'
  129. </div>';
  130. }
  131.  
  132. # Вывод навигации
  133. view_nav();
  134. }
  135.  
  136. echo '<div class="block">
  137. &raquo; <a href="/user/user.php?user_id='. $ank['id'] .'">На личную страницу</a><br />
  138. &raquo; <a href="/">На главную</a>
  139. </div>';
  140.  
  141. # Ноги модуля
  142. require_once(HOME .'/incfiles/footer.php');
  143.  
  144. ?>