ㅤㅤㅤㅤʟᴀᴄᴏsᴛᴇ
  1. <?php
  2. /*
  3. ////////////////////////////////////////////////////////////////////////////////
  4. // JohnCMS //
  5. // Официальный сайт сайт проекта: http://johncms.com //
  6. // Дополнительный сайт поддержки: http://gazenwagen.com //
  7. ////////////////////////////////////////////////////////////////////////////////
  8. // JohnCMS core team: //
  9. // Евгений Рябинин aka john77 john77@johncms.com //
  10. // Олег Касьянов aka AlkatraZ alkatraz@johncms.com //
  11. // //
  12. // Информацию о версиях смотрите в прилагаемом файле version.txt //
  13. ////////////////////////////////////////////////////////////////////////////////
  14. */
  15. defined('_IN_JOHNCMS') or die('Error: restricted access');
  16. if($id) {
  17. $query = mysql_query("SELECT * FROM `cms_news` WHERE `id`='$id' LIMIT 1;");
  18. if (mysql_num_rows($query)) {
  19. $res1 = mysql_fetch_assoc($query);
  20. if(empty($_SESSION['error']))
  21. $_SESSION['error'] = '';
  22. require_once('../incfiles/head.php');
  23.  
  24. $com = isset($_REQUEST) ? abs(intval($_REQUEST['com'])) : '';
  25.  
  26. switch($mod) {
  27. case 'javob':
  28. $q = mysql_query("SELECT * FROM `cms_news_comments` WHERE `id`='$com' LIMIT 1;");
  29. if (mysql_num_rows($q)) {
  30. $muallif = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '{$r['user_id']}'"));
  31. if(isset($_POST['submit'])) {
  32. $text = isset($_POST['text']) ? trim($_POST['text']) : '';
  33. $error = array();
  34. if(!$text)
  35. $eror[] = $lng_news['message_not_empty'] . '!';
  36. elseif (mb_strlen($text) < 4 || mb_strlen($text) > 5000)
  37. $eror[] = $lng_news['message_long_error'] . '!';
  38. $flood = functions::antiflood();
  39. if($flood)
  40. $eror[] = $lng['error_flood'] . ' ' . $flood . $lng['sec'];
  41. $textl = $lng['news'] . ' | ' . $lng_news['comments_on_news'] . ' "' . htmlentities($res1['imname'], ENT_QUOTES, 'UTF-8') . '"';
  42.  
  43. if(empty($eror)) {
  44. $lo = ''.$muallif['imname'].', ';
  45. mysql_query("INSERT INTO `cms_news_comments` SET
  46. `refid` = '$id',
  47. `time` = '" . time() . "',
  48. `user_id` = '" . $user_id . "',
  49. `text` = '" . mysql_real_escape_string($lo.$text) . "';
  50. ");
  51.  
  52. $name = '[url=' . $home . '/users/profile.php?user=' . $user_id . ']' . $ism . '[/url]';
  53. $qayer = '[url=' . $home . '/news/index.php?act=view&id=' . $id . ']bu yerda[/url]';
  54.  
  55.  
  56.  
  57. mysql_query("UPDATE `users` SET
  58. `lastpost` = '" . time() . "'
  59. WHERE `id` = '$user_id'
  60. ");
  61. } else {
  62. $_SESSION['eror'] = '<div class="rmenu">' . implode('<br />', $eror) . '</div>';
  63. }
  64.  
  65. Header('Location: index.php?act=view&id=' . $id. '#comm');
  66.  
  67. } // submit
  68. echo $_SESSION['error'] . '
  69. <div class="phdr"><b>Javob yozish</b></div>
  70. <div class="menu">
  71. <form action="../news/index.php?act=comments&mod=javob&id=' . $id . '&com=' . $com . '" method="post" enctype="multipart/form-data"><div>
  72. Xabar matni (max 500):<br/>
  73. <textarea rows="3" name="text"> </textarea>
  74. <br />
  75. <input type="submit" name="submit" value="' . $lng['reply'] . '"/>
  76. </div></form>
  77. </div>';
  78.  
  79. $link = 'index.php?act=view&id=' . $id. '#comm';
  80.  
  81. echo '<div class="phdr"><a href="'.$link.'">Qaytish</a></div>';
  82. } else {
  83. echo functions::display_error($lng_news['message_does_not_exist'] . '!');
  84. }
  85. break;
  86.  
  87.  
  88.  
  89. case 'delete':
  90. if($rights >= 7) {
  91. $q = mysql_query("SELECT * FROM `cms_news_comments` WHERE `id`='$com' LIMIT 1;");
  92. if (mysql_num_rows($q)) {
  93. if(isset($_POST['submit'])) {
  94. mysql_query("DELETE FROM `cms_news_comments` WHERE `id`='$com'");
  95. $_SESSION['error'] = '<div class="gmenu">' . $lng_news['message_deleted'] . '</div>';
  96. Header('Location: index.php?act=comments&id=' . $id);
  97. }
  98. echo $_SESSION['error'] . '<div class="rmenu">
  99. <form action="index.php?act=comments&amp;mod=delete&amp;id=' . $id . '&amp;com=' . $com . '" method="post" enctype="multipart/form-data"><div>
  100. ' . $lng_news['confirm_the_deletion'] . '<br />
  101. <input type="submit" name="submit" value="' . $lng['delete'] . '"/>
  102. </div></form>
  103. </div>';
  104. } else {
  105. echo functions::display_error($lng_news['message_does_not_exist'] . '!');
  106. }
  107. } else {
  108. Header('Location: ../?err');
  109. }
  110. break;
  111.  
  112. case 'yoqdi':
  113. $q = mysql_fetch_assoc(mysql_query("SELECT * FROM `cms_news_comments` WHERE `id`='$com' LIMIT 1;"));
  114. if ($q['ovoz_berdi_id'] != $user_id) {
  115. $_SESSION['id'] = $id;
  116. mysql_query('UPDATE `cms_news_comments` SET `yoqdi`="' . ($q['yoqdi'] ? ++$q['yoqdi'] : 1) . '" WHERE `id`=' . $com);
  117. mysql_query('UPDATE `cms_news_comments` SET `ovoz_berdi_id`="' .$user_id. '" WHERE `id`=' . $com);
  118. echo '<div class="gmenu">Like bosdingiz. <a href="../news/index.php?act=view&id=' . $id. '#comments">Yangilikga qaytish</a></div>';
  119. } else {
  120. echo '<div class="gmenu">Siz oldin <b>Like</b> bosgansiz. <a href="../news/index.php?act=view&id=' . $id. '#comments">Yangilikga qaytish</a></div>';
  121. }
  122. //Header('Location: ../news/index.php?act=view&id=' . $id);
  123. break;
  124. case 'yoqmadi':
  125. $q = mysql_fetch_assoc(mysql_query("SELECT * FROM `cms_news_comments` WHERE `id`='$com' LIMIT 1;"));
  126. if ($q['ovoz_berdi_id'] != $user_id) {
  127. $_SESSION['id'] = $id;
  128. mysql_query('UPDATE `cms_news_comments` SET `yoqmadi`="' . ($q['yoqmadi'] ? ++$q['yoqmadi'] : 1) . '" WHERE `id`=' . $com);
  129. echo '<div class="gmenu"Izohga <b>Salbiy</b> ovoz berdingiz. <a href="../news/index.php?act=view&id=' . $id. '#comments">Yangilikga qaytish</a></div>';
  130. mysql_query('UPDATE `cms_news_comments` SET `ovoz_berdi_id`="' .$user_id. '" WHERE `id`=' . $com);
  131. } else {
  132. echo '<div class="gmenu">Siz bu postga <b>Salbiy</b> ovoz bergansiz. <a href="../news/index.php?act=view&id=' . $id. '#comments">Yangilikga qaytish</a></div>';
  133. }
  134. //Header('Location: ../news/index.php?act=view&id=' . $id);
  135. break;
  136.  
  137. default:
  138. if($user_id && empty($ban[1]) ) {
  139. if(isset($_POST['submit'])) {
  140. $text = isset($_POST['text']) ? trim($_POST['text']) : '';
  141. $error = array();
  142. if(!$text)
  143. $error[] = $lng_news['message_not_empty'] . '!';
  144. elseif (mb_strlen($text) < 4 || mb_strlen($text) > 5000)
  145. $error[] = $lng_news['message_long_error'] . '!';
  146. $flood = functions::antiflood();
  147. if($flood)
  148. $error[] = $lng['error_flood'] . ' ' . $flood . $lng['sec'];
  149.  
  150. if(empty($error)) {
  151. mysql_query("INSERT INTO `cms_news_comments` SET
  152. `refid` = '$id',
  153. `time` = '" . time() . "',
  154. `user_id` = '" . $user_id . "',
  155. `text` = '" . mysql_real_escape_string($text) . "';");
  156. mysql_query("UPDATE `users` SET
  157. `lastpost` = '" . time() . "'
  158. WHERE `id` = '$user_id'
  159. ");
  160. $_SESSION['error'] = '<div class="gmenu">' . $lng_news['added_message'] . '</div>';
  161. } else {
  162. $_SESSION['error'] = '<div class="rmenu">' . implode('<br />', $error) . '</div>';
  163. }
  164. Header('Location: index.php?act=view&id=' . $id);
  165.  
  166. }
  167. echo $_SESSION['error'] . '<div class="phdr"><b>Izoh qoldirish</b></div><div class="menu1">
  168.  
  169. <form action="index.php?act=comments&amp;id=' . $id . '" method="post" enctype="multipart/form-data"><div>
  170. <p>Matn:<font color="red"> *</font></p>
  171. <p><textarea rows="3" name="text">' . (!empty($_POST['text']) ? htmlentities($_POST['text'], ENT_QUOTES, 'UTF-8') : '') . '</textarea></p>
  172. <input type="submit" name="submit" value="' . $lng['sent'] . '"/> – <a href="/news/index.php?act=view&id=' . $id . '">Yangilash</a>
  173. </div></form>
  174. </div>';
  175. echo '<div class="phdr"><b>Fikrlar</b></div>';
  176. }
  177. $total = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_news_comments` WHERE `refid`='$id';"), 0);
  178. if($total) {
  179. if ($total > $kmess)
  180. echo '<div class="topmenu">' . functions::display_pagination('index.php?act=view&amp;id=' . $id . '&amp;', $start, $total, $kmess) . '</div>';
  181. $i = 1;
  182. $req = mysql_query("SELECT `cms_news_comments`.*, `cms_news_comments`.`time` as `mtime`, `cms_news_comments`.`id` as `mid`, `users`.* FROM `cms_news_comments` LEFT JOIN `users` ON `cms_news_comments`.`user_id`=`users`.`id` WHERE `cms_news_comments`.`refid`='$id' ORDER BY `cms_news_comments`.`time` DESC LIMIT "
  183. . $start . "," . $kmess);
  184. while (($row = mysql_fetch_assoc($req)) !== false) {
  185. echo '<div class="menu1">';
  186. $post = $row['text'];
  187. $post = functions::checkout($post, 1, 1);
  188. if ($set_user['smileys'])
  189. $post = functions::smileys($post, $row['rights'] >= 1 ? 1 : 0);
  190. if($row['reply'])
  191. $post .= '<div class="reply">' . functions::checkout($row['reply'], 1, 1) . '</div>';
  192.  
  193. $text = '<br/><b>' . functions::display_date($row['mtime']) . '</b><br/>';
  194.  
  195.  
  196. $arg = array(
  197. 'like',
  198. 'header' => $text,
  199. 'body' => $post,
  200. 'sub' => $subtext
  201. );
  202. echo functions::display_user($row, $arg);
  203. if ($user_id) { if ($user_id == $row['user_id']) {
  204.  
  205. }else {
  206. echo '<a href="index.php?act=comments&mod=javob&id=' .$id. '&com=' . $row['mid'] . '"><font color="#000066">Javob yozish</font></a>';
  207. }} if ($rights >= 6) { echo ' | <a href="index.php?act=comments&amp;mod=delete&amp;id=' . $id . '&amp;com=' . $row['mid'] . '"><font color="#CC0000">' . $lng['delete']. '</font></a>'; } echo '</div>';
  208. ++$i;
  209. }
  210. echo '<div class="phdr">' . $lng['total'] . ': ' . $total . '</div>';
  211. if ($total > $kmess) {
  212. echo '<div class="topmenu">' . functions::display_pagination('index.php?act=view&id=' . $id . '&amp;', $start, $total, $kmess) . '</div>';
  213. echo '<p><form action="index.php" method="get">
  214. <input type="hidden" name="act" value="comments"/>
  215. <input type="hidden" name="id" value="' . $id . '"/>
  216. <input type="text" name="page" size="2"/>
  217. <input type="submit" value="' . $lng['to_page'] . ' &gt;&gt;"/></form></p>';
  218. }
  219.  
  220. } else {
  221. echo '<div class="rmenu">Hozircha hech kim izoh qoldirmagan.</div>';
  222. }
  223. }
  224. } else {
  225. $textl = $lng['news'];
  226. require_once('../incfiles/head.php');
  227. echo functions::display_error($lng_news['news_does_not_exist']);
  228. }
  229. } else {
  230. $textl = $lng['news'];
  231. require_once('../incfiles/head.php');
  232. }