/Quản lý website đọc truyện online PHP/forum/includes/editvote.php

https://gitlab.com/phamngsinh/baitaplon_sinhvien · PHP · 108 lines · 94 code · 1 blank · 13 comment · 27 complexity · 6096e61fc83026939fe795413b127f38 MD5 · raw file

  1. <?php
  2. /**
  3. * @package JohnCMS
  4. * @link http://johncms.com
  5. * @copyright Copyright (C) 2008-2011 JohnCMS Community
  6. * @license LICENSE.txt (see attached file)
  7. * @version VERSION.txt (see attached file)
  8. * @author http://johncms.com/about
  9. */
  10. defined('_IN_JOHNCMS') or die('Error: restricted access');
  11. if ($rights == 3 || $rights >= 6) {
  12. $topic_vote = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_vote` WHERE `website` = '$website' AND `type`='1' AND `topic`='$id'"), 0);
  13. require('../incfiles/head.php');
  14. if ($topic_vote == 0) {
  15. echo functions::display_error($lng['error_wrong_data']);
  16. require('../incfiles/end.php');
  17. exit;
  18. }
  19. if (isset($_GET['delvote']) && !empty($_GET['vote'])) {
  20. $vote = abs(intval($_GET['vote']));
  21. $totalvote = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_vote` WHERE `website` = '$website' AND `type` = '2' AND `id` = '$vote' AND `topic` = '$id'"), 0);
  22. $countvote = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_vote` WHERE `website` = '$website' AND `type` = '2' AND `topic` = '$id'"), 0);
  23. if ($countvote <= 2)
  24. header('location: ?act=editvote&id=' . $id . '');
  25. if ($totalvote != 0) {
  26. if (isset($_GET['yes'])) {
  27. mysql_query("DELETE FROM `cms_forum_vote` WHERE `id` = '$vote'");
  28. $countus = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_vote_users` WHERE `website` = '$website' AND `vote` = '$vote' AND `topic` = '$id'"), 0);
  29. $topic_vote = mysql_fetch_assoc(mysql_query("SELECT `count` FROM `cms_forum_vote` WHERE `website` = '$website' AND `type` = '1' AND `topic` = '$id' LIMIT 1"));
  30. $totalcount = $topic_vote['count'] - $countus;
  31. mysql_query("UPDATE `cms_forum_vote` SET `count` = '$totalcount' WHERE `website` = '$website' AND `type` = '1' AND `topic` = '$id'");
  32. mysql_query("DELETE FROM `cms_forum_vote_users` WHERE `vote` = '$vote'");
  33. header('location: ?act=editvote&id=' . $id . '');
  34. } else {
  35. echo '<div class="rmenu"><p>' . $lng_forum['voting_variant_warning'] . '<br />' .
  36. '<a href="index.php?act=editvote&amp;id=' . $id . '&amp;vote=' . $vote . '&amp;delvote&amp;yes">' . $lng['delete'] . '</a><br />' .
  37. '<a href="' . htmlspecialchars(getenv("HTTP_REFERER")) . '">' . $lng['cancel'] . '</a></p></div>';
  38. }
  39. } else {
  40. header('location: ?act=editvote&id=' . $id . '');
  41. }
  42. } else if (isset($_POST['submit'])) {
  43. $vote_name = mb_substr(trim($_POST['name_vote']), 0, 50);
  44. if (!empty($vote_name))
  45. mysql_query("UPDATE `cms_forum_vote` SET `name` = '" . mysql_real_escape_string($vote_name) . "' WHERE `website` = '$website' AND `topic` = '$id' AND `type` = '1'");
  46. $vote_result = mysql_query("SELECT `id` FROM `cms_forum_vote` WHERE `website` = '$website' AND `type`='2' AND `topic`='" . $id . "'");
  47. while ($vote = mysql_fetch_assoc($vote_result)) {
  48. if (!empty($_POST[$vote['id'] . 'vote'])) {
  49. $text = mb_substr(trim($_POST[$vote['id'] . 'vote']), 0, 30);
  50. mysql_query("UPDATE `cms_forum_vote` SET `name` = '" . mysql_real_escape_string($text) . "' WHERE `website` = '$website' AND `id` = '" . $vote['id'] . "'");
  51. }
  52. }
  53. $countvote = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_vote` WHERE `website` = '$website' AND `type`='2' AND `topic`='" . $id . "'"), 0);
  54. for ($vote = $countvote; $vote < 20; $vote++) {
  55. if (!empty($_POST[$vote])) {
  56. $text = mb_substr(trim($_POST[$vote]), 0, 30);
  57. mysql_query("INSERT INTO `cms_forum_vote` SET `name` = '" . mysql_real_escape_string($text) . "',
  58. `website` = '$website', `type` = '2', `topic` = '$id'");
  59. }
  60. }
  61. echo '<div class="gmenu"><p>' . $lng_forum['voting_changed'] . '<br /><a href="index.php?id=' . $id . '">' . $lng['continue'] . '</a></p></div>';
  62. } else {
  63. /*
  64. -----------------------------------------------------------------
  65. Форма редактирования опроса
  66. -----------------------------------------------------------------
  67. */
  68. $countvote = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_forum_vote` WHERE `website` = '$website' AND `type` = '2' AND `topic` = '$id'"), 0);
  69. $topic_vote = mysql_fetch_assoc(mysql_query("SELECT `name` FROM `cms_forum_vote` WHERE `type` = '1' AND `topic` = '$id' LIMIT 1"));
  70. echo '<div class="phdr"><a href="index.php?id=' . $id . '"><b>' . $lng['forum'] . '</b></a> | ' . $lng_forum['edit_vote'] . '</div>' .
  71. '<form action="index.php?act=editvote&amp;id=' . $id . '" method="post">' .
  72. '<div class="gmenu"><p>' .
  73. '<b>' . $lng_forum['voting'] . ':</b><br/>' .
  74. '<input type="text" size="20" maxlength="150" name="name_vote" value="' . htmlentities($topic_vote['name'], ENT_QUOTES, 'UTF-8') . '"/>' .
  75. '</p></div>' .
  76. '<div class="menu"><p>';
  77. $vote_result = mysql_query("SELECT `id`, `name` FROM `website` = '$website' AND `cms_forum_vote` WHERE `type` = '2' AND `topic` = '$id'");
  78. while ($vote = mysql_fetch_assoc($vote_result)) {
  79. echo $lng_forum['answer'] . ' ' . ($i + 1) . ' (max. 50): <br/>' .
  80. '<input type="text" name="' . $vote['id'] . 'vote" value="' . htmlentities($vote['name'], ENT_QUOTES, 'UTF-8') . '"/>';
  81. if ($countvote > 2)
  82. echo '&nbsp;<a href="index.php?act=editvote&amp;id=' . $id . '&amp;vote=' . $vote['id'] . '&amp;delvote">[x]</a>';
  83. echo '<br/>';
  84. ++$i;
  85. }
  86. if ($countvote < 20) {
  87. if (isset($_POST['plus']))
  88. ++$_POST['count_vote'];
  89. elseif (isset($_POST['minus']))
  90. --$_POST['count_vote'];
  91. if (empty($_POST['count_vote']))
  92. $_POST['count_vote'] = $countvote;
  93. elseif ($_POST['count_vote'] > 20)
  94. $_POST['count_vote'] = 20;
  95. for ($vote = $i; $vote < $_POST['count_vote']; $vote++) {
  96. echo 'Ответ ' . ($vote + 1) . '(max. 50): <br/><input type="text" name="' . $vote . '" value="' . functions::checkout($_POST[$vote]) . '"/><br/>';
  97. }
  98. echo '<input type="hidden" name="count_vote" value="' . abs(intval($_POST['count_vote'])) . '"/>' . ($_POST['count_vote'] < 20 ? '<input type="submit" name="plus" value="' . $lng['add'] . '"/>' : '')
  99. . ($_POST['count_vote'] - $countvote ? '<input type="submit" name="minus" value="' . $lng_forum['delete_last'] . '"/>' : '');
  100. }
  101. echo '</p></div><div class="gmenu">' .
  102. '<p><input type="submit" name="submit" value="' . $lng['save'] . '"/></p>' .
  103. '</div></form>' .
  104. '<div class="phdr"><a href="index.php?id=' . $id . '">' . $lng['cancel'] . '</a></div>';
  105. }
  106. }
  107. ?>