JohnCMSnhờ mọi người hỗ trợ khắc phục lỗi JOHNCMS 7.1.0.

05.04.2021 / 13:15
hoangchan
Bài đăng: 102
Member
HÔNG

hiện tại mình đang làm web trên superhost bằng mã nguồn JOHNCMS 7.1.0.

mình có tạo 2 thư mục mới trên host.

+ Thư mục mẹ

+ Thư mục con (ở trong thư mục mẹ)

[IMAGE]

bên trong thư mục con mình có tạo 1 tập tin là "au.php"

[IMAGE]

trong tập tin "au.php" mình nhập một chữ cái "ô" để chạy thử đường link (chưa nhập code).

khi chạy đường link: domain/4rum/aa/au.php

thì kết quả nhận được

[IMAGE]

tiếp tục mình thay chữ "ô" trong tập tin bằng code để chạy (hiển thị tiêu đề đầu - cuối web)

[IMAGE]

PHP
  1. <?php define('_IN_JOHNCMS', 2); $headmod = 'loto'; require('../system/bootstrap.php'); $textl = _t('tiêu đề');
  2. require('../system/head.php');
  3. ?> ee e
  4. <?php
  5. require('../system/end.php');

Kết quả không chạy được khi chạy lại đường link: domain/4rum/aa/au.php

[IMAGE]

Nhờ mọi người hỗ trợ khắc phục lỗi này giúp mình ạ.

trân thành cảm ơn mọi người.

Đã chỉnh sửa. hoangchan (05.04.2021 / 13:16)
05.04.2021 / 13:33
MnpNgok
Bài đăng: 51
Member
http://keyit.my.id
PHP
  1. <?php define('_IN_JOHNCMS', 2); $headmod = 'loto'; require('./../system/bootstrap.php'); $textl = _t('tiêu đề');
  2. require('./../system/head.php');
  3. ?> ee e
  4. <?php
  5. require('./../system/end.php');
  6. ?>
05.04.2021 / 13:38
hoangchan
Bài đăng: 102
Member
HÔNG
MnpNgok đã viết
PHP
  1. <?php define('_IN_JOHNCMS', 2); $headmod = 'loto'; require('./../system/bootstrap.php'); $textl = _t('tiêu đề');
  2. require('./../system/head.php');
  3. ?> ee e
  4. <?php
  5. require('./../system/end.php');
  6. ?>

vẫn lỗi bạn ạ

05.04.2021 / 13:48
MnpNgok
Bài đăng: 51
Member
http://keyit.my.id
hoangchan đã viết

vẫn lỗi bạn ạ

PHP
  1. <?php define('_IN_JOHNCMS', 2); $headmod = 'loto'; require('./../../system/bootstrap.php'); $textl = _t('tiêu đề');
  2. require('./../../system/head.php');
  3. ?> ee e
  4. <?php
  5. require('./../../system/end.php');
  6. ?>

Đã test

05.04.2021 / 14:03
hoangchan
Bài đăng: 102
Member
HÔNG
MnpNgok đã viết
PHP
  1. <?php define('_IN_JOHNCMS', 2); $headmod = 'loto'; require('./../../system/bootstrap.php'); $textl = _t('tiêu đề');
  2. require('./../../system/head.php');
  3. ?> ee e
  4. <?php
  5. require('./../../system/end.php');
  6. ?>

Đã test

Cảm ơn bạn nhé!. thành công rồi ạ

05.04.2021 / 14:07
hoangchan
Bài đăng: 102
Member
HÔNG

mày mò tìm trong các thư mục trên host lẫn trên google các kiêu từ đêm qua đến giờ. trân thành cảm ơn bạn. @MnpNgok

07.04.2021 / 09:11
hoangchan
Bài đăng: 102
Member
HÔNG
PHP
  1. <?php
  2.  
  3.  
  4. defined('_IN_JOHNCMS') or die('Error: restricted access');
  5.  
  6. $headmod = 'userban';
  7. require('../system/head.php');
  8. $ban = isset($_GET['ban']) ? intval($_GET['ban']) : 0;
  9.  
  10. /** @var Psr\Container\ContainerInterface $container */
  11. $container = App::getContainer();
  12.  
  13. /** @var PDO $db */
  14. $db = $container->get(PDO::class);
  15.  
  16. /** @var Johncms\Api\UserInterface $systemUser */
  17. $systemUser = $container->get(Johncms\Api\UserInterface::class);
  18.  
  19. /** @var Johncms\Api\ToolsInterface $tools */
  20. $tools = $container->get(Johncms\Api\ToolsInterface::class);
  21.  
  22. /** @var Johncms\Api\ConfigInterface $config */
  23. $config = $container->get(Johncms\Api\ConfigInterface::class);
  24.  
  25. switch ($mod) {
  26. case 'do':
  27. // Баним пользователя (добавляем Бан в базу)
  28. if ($systemUser->rights < 1 || ($systemUser->rights < 6 && $user['rights']) || ($systemUser->rights <= $user['rights'])) {
  29. echo $tools->displayError(_t('You do not have enought rights to ban this user'));
  30. } else {
  31. echo '<div class="phdr"><b>' . _t('Ban the User') . '</b></div>';
  32. echo '<div class="rmenu"><p>' . $tools->displayUser($user) . '</p></div>';
  33.  
  34. if (isset($_POST['submit'])) {
  35. $error = false;
  36. $term = isset($_POST['term']) ? intval($_POST['term']) : false;
  37. $timeval = isset($_POST['timeval']) ? intval($_POST['timeval']) : false;
  38. $time = isset($_POST['time']) ? intval($_POST['time']) : false;
  39. $reason = !empty($_POST['reason']) ? trim($_POST['reason']) : '';
  40. $banref = isset($_POST['banref']) ? intval($_POST['banref']) : false;
  41.  
  42. if (empty($reason) && empty($banref)) {
  43. $reason = _t('Reason not specified');
  44. }
  45.  
  46. if (empty($term) || empty($timeval) || empty($time) || $timeval < 1) {
  47. $error = _t('There is no required data');
  48. }
  49.  
  50. if ($systemUser->rights == 1 && $term != 14 || $systemUser->rights == 2 && $term != 12 || $systemUser->rights == 3 && $term != 11 || $systemUser->rights == 4 && $term != 16 || $systemUser->rights == 5 && $term != 15) {
  51. $error = _t('You have no rights to ban in this section');
  52. }
  53.  
  54. if ($db->query("SELECT COUNT(*) FROM `cms_ban_users` WHERE `user_id` = '" . $user['id'] . "' AND `ban_time` > '" . time() . "' AND `ban_type` = '$term'")->fetchColumn()) {
  55. $error = _t('Ban already active');
  56. }
  57.  
  58. switch ($time) {
  59. case 2:
  60. // Часы
  61. if ($timeval > 24) {
  62. $timeval = 24;
  63. }
  64. $timeval = $timeval * 3600;
  65. break;
  66.  
  67. case 3:
  68. // Дни
  69. if ($timeval > 30) {
  70. $timeval = 30;
  71. }
  72. $timeval = $timeval * 86400;
  73. break;
  74.  
  75. case 4:
  76. // До отмены (на 10 лет)
  77. $timeval = 315360000;
  78. break;
  79.  
  80. default:
  81. // Минуты
  82. if ($timeval > 60) {
  83. $timeval = 60;
  84. }
  85. $timeval = $timeval * 60;
  86. }
  87.  
  88. if ($systemUser->rights < 6 && $timeval > 86400) {
  89. $timeval = 86400;
  90. }
  91.  
  92. if ($systemUser->rights < 7 && $timeval > 2592000) {
  93. $timeval = 2592000;
  94. }
  95.  
  96. if (!$error) {
  97. // Заносим в базу
  98. $stmt = $db->prepare('INSERT INTO `cms_ban_users` SET
  99. `user_id` = ?,
  100. `ban_time` = ?,
  101. `ban_while` = ?,
  102. `ban_type` = ?,
  103. `ban_who` = ?,
  104. `ban_reason` = ?
  105. ');
  106.  
  107. $stmt->execute([
  108. $user['id'],
  109. (time() + $timeval),
  110. time(),
  111. $term,
  112. $systemUser->name,
  113. $reason,
  114. ]);
  115.  
  116. if ($set_karma['on']) {
  117. $points = $set_karma['karma_points'] * 2;
  118. $stmt = $db->prepare('INSERT INTO `karma_users` SET
  119. `user_id` = 0,
  120. `name` = ?,
  121. `karma_user` = ?,
  122. `points` = ?,
  123. `type` = 0,
  124. `time` = ?,
  125. `text` = ?
  126. ');
  127.  
  128. $stmt->execute([
  129. _t('System'),
  130. $user['id'],
  131. $points,
  132. time(),
  133. _t('Ban'),
  134. ]);
  135.  
  136. $db->exec("UPDATE `users` SET `karma_minus` = " . intval($user['karma_minus'] + $points) . " WHERE `id` = " . $user['id']);
  137. }
  138.  
  139. echo '<div class="rmenu"><p><h3>' . _t('User banned') . '</h3></p></div>';
  140. } else {
  141. echo $tools->displayError($error);
  142. }
  143. } else {
  144. // Форма параметров бана
  145. echo '<form action="?act=ban&amp;mod=do&amp;user=' . $user['id'] . '" method="post">' .
  146. '<div class="menu"><p><h3>' . _t('Ban type') . '</h3>';
  147.  
  148. if ($systemUser->rights >= 6) {
  149. // Блокировка
  150. echo '<div><input name="term" type="radio" value="1" checked="checked" />&#160;' . _t('Full block') . '</div>';
  151. // Приват
  152. echo '<div><input name="term" type="radio" value="3" />&#160;' . _t('Private messages') . '</div>';
  153. // Комментарии
  154. echo '<div><input name="term" type="radio" value="10" />&#160;' . _t('Comments') . '</div>';
  155. // Гостевая
  156. echo '<div><input name="term" type="radio" value="13" />&#160;' . _t('Guestbook') . '</div>';
  157. }
  158.  
  159. if ($systemUser->rights == 3 || $systemUser->rights >= 6) {
  160. // Форум
  161. echo '<div><input name="term" type="radio" value="11" ' . ($systemUser->rights == 3 ? 'checked="checked"'
  162. : '') . '/>&#160;' . _t('Forum') . '</div>';
  163. }
  164.  
  165. if ($systemUser->rights == 5 || $systemUser->rights >= 6) {
  166. // Библиотека
  167. echo '<div><input name="term" type="radio" value="15" />&#160;' . _t('Library') . '</div>';
  168. }
  169.  
  170. echo '</p><p><h3>' . _t('Ban time') . '</h3>' .
  171. '&#160;<input type="text" name="timeval" size="2" maxlength="2" value="12"/><br>' .
  172. '<input name="time" type="radio" value="1" />&#160;' . _t('Minutes (60 max.)') . '<br />' .
  173. '<input name="time" type="radio" value="2" checked="checked" />&#160;' . _t('Hours (24 max.)') . '<br />';
  174.  
  175. if ($systemUser->rights >= 6) {
  176. echo '<input name="time" type="radio" value="3" />&#160;' . _t('Days (30 max.)') . '<br />';
  177. }
  178.  
  179. if ($systemUser->rights >= 7) {
  180. echo '<input name="time" type="radio" value="4" />&#160;<span class="red">' . _t('Till cancel') . '</span>';
  181. }
  182.  
  183. echo '</p><p><h3>' . _t('Reason') . '</h3>';
  184.  
  185. if (isset($_GET['fid'])) {
  186. // Если бан из форума, фиксируем ID поста
  187. $fid = intval($_GET['fid']);
  188. echo '&#160;' . _t('Violation') . ' <a href="' . $config['homeurl'] . '/forum/index.php?act=post&amp;id=' . $fid . '"></a><br />' .
  189. '<input type="hidden" value="' . $fid . '" name="banref" />';
  190. }
  191.  
  192. echo '&#160;<textarea rows="' . $systemUser->getConfig()->fieldHeight . '" name="reason"></textarea>' .
  193. '</p><p><input type="submit" value="' . _t('Apply Ban') . '" name="submit" />' .
  194. '</p></div></form>';
  195. }
  196. echo '<div class="phdr"><a href="?user=' . $user['id'] . '">' . _t('Profile') . '</a></div>';
  197. }
  198. break;
  199.  
  200. case 'cancel':
  201. // Разбаниваем пользователя (с сохранением истории)
  202. if (!$ban || $user['id'] == $systemUser->id || $systemUser->rights < 7) {
  203. echo $tools->displayError(_t('Wrong data'));
  204. } else {
  205. $req = $db->query("SELECT * FROM `cms_ban_users` WHERE `id` = '$ban' AND `user_id` = " . $user['id']);
  206.  
  207. if ($req->rowCount()) {
  208. $res = $req->fetch();
  209. $error = false;
  210.  
  211. if ($res['ban_time'] < time()) {
  212. $error = _t('Ban not active');
  213. }
  214.  
  215. if (!$error) {
  216. echo '<div class="phdr"><b>' . _t('Ban termination') . '</b></div>';
  217. echo '<div class="gmenu"><p>' . $tools->displayUser($user) . '</p></div>';
  218.  
  219. if (isset($_POST['submit'])) {
  220. $db->exec("UPDATE `cms_ban_users` SET `ban_time` = '" . time() . "' WHERE `id` = '$ban'");
  221. echo '<div class="gmenu"><p><h3>' . _t('Ban terminated') . '</h3></p></div>';
  222. } else {
  223. echo '<form action="?act=ban&amp;mod=cancel&amp;user=' . $user['id'] . '&amp;ban=' . $ban . '" method="POST">' .
  224. '<div class="menu"><p>' . _t('Ban time is going to the end. Infrigement will be saved in the bans history') . '</p>' .
  225. '<p><input type="submit" name="submit" value="' . _t('Terminate Ban') . '" /></p>' .
  226. '</div></form>' .
  227. '<div class="phdr"><a href="?act=ban&amp;user=' . $user['id'] . '">' . _t('Back') . '</a></div>';
  228. }
  229. } else {
  230. echo $tools->displayError($error);
  231. }
  232. } else {
  233. echo $tools->displayError(_t('Wrong data'));
  234. }
  235. }
  236. break;
  237.  
  238. case 'delete':
  239. // Удаляем бан (с удалением записи из истории)
  240. if (!$ban || $systemUser->rights < 9) {
  241. echo $tools->displayError(_t('Wrong data'));
  242. } else {
  243. $req = $db->query("SELECT * FROM `cms_ban_users` WHERE `id` = '$ban' AND `user_id` = " . $user['id']);
  244.  
  245. if ($req->rowCount()) {
  246. $res = $req->fetch();
  247. echo '<div class="phdr"><b>' . _t('Delete Ban') . '</b></div>' .
  248. '<div class="gmenu"><p>' . $tools->displayUser($user) . '</p></div>';
  249.  
  250. if (isset($_POST['submit'])) {
  251. $db->exec("DELETE FROM `karma_users` WHERE `karma_user` = '" . $user['id'] . "' AND `user_id` = '0' AND `time` = '" . $res['ban_while'] . "' LIMIT 1");
  252. $points = $set_karma['karma_points'] * 2;
  253. $db->exec("UPDATE `users` SET
  254. `karma_minus` = '" . ($user['karma_minus'] > $points ? $user['karma_minus'] - $points : 0) . "'
  255. WHERE `id` = " . $user['id']);
  256. $db->exec("DELETE FROM `cms_ban_users` WHERE `id` = '$ban'");
  257. echo '<div class="gmenu"><p><h3>' . _t('Ban deleted') . '</h3><a href="?act=ban&amp;user=' . $user['id'] . '">' . _t('Continue') . '</a></p></div>';
  258. } else {
  259. echo '<form action="?act=ban&amp;mod=delete&amp;user=' . $user['id'] . '&amp;ban=' . $ban . '" method="POST">' .
  260. '<div class="menu"><p>' . _t('Removing ban along with a record in the bans history') . '</p>' .
  261. '<p><input type="submit" name="submit" value="' . _t('Delete') . '" /></p>' .
  262. '</div></form>' .
  263. '<div class="phdr"><a href="?act=ban&amp;user=' . $user['id'] . '">' . _t('Back') . '</a></div>';
  264. }
  265. } else {
  266. echo $tools->displayError(_t('Wrong data'));
  267. }
  268. }
  269. break;
  270.  
  271. case 'delhist':
  272. // Очищаем историю нарушений юзера
  273. if ($systemUser->rights == 9) {
  274. echo '<div class="phdr"><b>' . _t('Violations history') . '</b></div>' .
  275. '<div class="gmenu"><p>' . $tools->displayUser($user) . '</p></div>';
  276.  
  277. if (isset($_POST['submit'])) {
  278. $db->exec("DELETE FROM `cms_ban_users` WHERE `user_id` = " . $user['id']);
  279. echo '<div class="gmenu"><h3>' . _t('Violations history cleared') . '</h3></div>';
  280. } else {
  281. echo '<form action="?act=ban&amp;mod=delhist&amp;user=' . $user['id'] . '" method="post">' .
  282. '<div class="menu"><p>' . _t('Are you sure want to clean entire history of user violations?') . '</p>' .
  283. '<p><input type="submit" value="' . _t('Clear') . '" name="submit" />' .
  284. '</p></div></form>';
  285. }
  286.  
  287. $total = $db->query("SELECT COUNT(*) FROM `cms_ban_users` WHERE `user_id` = '" . $user['id'] . "'")->fetchColumn();
  288. echo '<div class="phdr">' . _t('Total') . ': ' . $total . '</div>' .
  289. '<p>' . ($total
  290. ? '<a href="?act=ban&amp;user=' . $user['id'] . '">' . _t('Violations history') . '</a><br />'
  291. : '') .
  292. '<a href="../admin/index.php?act=ban_panel">' . _t('Ban Panel') . '</a></p>';
  293. } else {
  294. echo $tools->displayError(_t('Violations history can be cleared by Supervisor only'));
  295. }
  296. break;
  297.  
  298.  
  299.  
  300.  
  301.  
  302. default:
  303. // Hành vi vi phạm lịch sử
  304.  
  305.  
  306.  
  307.  
  308. // Thời gian cấm
  309. $menu = [];
  310.  
  311. if ($systemUser->rights >= 6) {
  312. $menu[] = '<a href="../admin/index.php?act=ban_panel">' . _t('Ban Panel') . '</a>';
  313. }
  314.  
  315. if ($systemUser->rights == 9) {
  316. $menu[] = '<a href="?act=ban&amp;mod=delhist&amp;user=' . $user['id'] . '">' . _t('Clear history') . '</a>';
  317. }
  318.  
  319. if (!empty($menu)) {
  320. echo '<div class="topmenu">' . implode(' | ', $menu) . '</div>';
  321. }
  322.  
  323. if ($user['id'] != $systemUser->id) {
  324. echo '<div class="user"><p>' . $tools->displayUser($user) . '</p></div>';
  325. } else {
  326. echo '<div class="card-header"><p>Chi tiết tài khoản</p></div><div class="card-footer">';
  327. }
  328.  
  329. $total = $db->query("SELECT COUNT(*) FROM `cms_ban_users` WHERE `user_id` = '" . $user['id'] . "'")->fetchColumn();
  330.  
  331. if ($total) {
  332. $req = $db->query("SELECT * FROM `cms_ban_users` WHERE `user_id` = '" . $user['id'] . "' ORDER BY `ban_time` DESC LIMIT $start, $kmess");
  333. $i = 0;
  334.  
  335. $types = [
  336. 1 => 'Full block',
  337. 2 => 'Private messages',
  338. 10 => 'Comments',
  339. 11 => 'Forum',
  340. 13 => 'Guestbook',
  341. 15 => 'Library',
  342. ];
  343.  
  344. while ($res = $req->fetch()) {
  345. $remain = $res['ban_time'] - time();
  346. $period = $res['ban_time'] - $res['ban_while'];
  347. echo $i % 2 ? '<div class="list2">' : '<div class="list1">';
  348. echo '
  349.  
  350. <img src="../images/' . ($remain > 0 ? 'red'
  351. : 'green') . '.gif" width="16" height="16" align="left" />&#160;' .
  352.  
  353.  
  354. 'Thời gian gia hạn:' .
  355. ' <span class="red"><b>' . date("d.m.Y / H:i", $res['ban_while']) . '</b></span>' .
  356. '<br />' .
  357. '<div class="sub">';
  358.  
  359. if ($systemUser->rights > 0) {
  360. echo '<span class="gray">' . _t('Who applied the Ban?') . ':</span> ' . $res['ban_who'] . '<br />';
  361. }
  362.  
  363. echo 'Tổng: <span class="red"><b>'
  364. . ($period < 86400000 ? $tools->timecount($period) : _t('Till cancel')). '</b></span>';
  365.  
  366. if ($remain > 0) {
  367. echo '<br />Thời gian còn lại: <span class="red"><b>' . $tools->timecount($remain). '</b></span>';
  368.  
  369. }
  370.  
  371.  
  372. // Меню отдельного бана
  373. $menu = [];
  374.  
  375. if ($systemUser->rights >= 7 && $remain > 0) {
  376. $menu[] = '<a href="?act=ban&amp;mod=cancel&amp;user=' . $user['id'] . '&amp;ban=' . $res['id'] . '">' . _t('Cancel Ban') . '</a>';
  377. }
  378.  
  379. if ($systemUser->rights == 9) {
  380. $menu[] = '<a href="?act=ban&amp;mod=delete&amp;user=' . $user['id'] . '&amp;ban=' . $res['id'] . '">' . _t('Delete Ban') . '</a>';
  381. }
  382.  
  383. if (!empty($menu)) {
  384. echo '<div>' . implode(' | ', $menu) . '</div>';
  385. }
  386.  
  387. echo '</div></div>';
  388.  
  389. ++$i;
  390. }
  391. } else {
  392. echo '<div class="menu"><p>' . _t('The list is empty') . '</p></div>';
  393. }
  394.  
  395. echo '
  396. <div class="nhiken">Tổng số: ' . $total . '</div></div>';
  397.  
  398. if ($total > $kmess) {
  399. echo '<p>' . $tools->displayPagination('?act=ban&amp;user=' . $user['id'] . '&amp;', $start, $total, $kmess) . '</p>' .
  400. '<p><form action="?act=ban&amp;user=' . $user['id'] . '" method="post">' .
  401. '<input type="text" name="page" size="2"/>' .
  402. '<input type="submit" value="' . _t('To Page') . ' &gt;&gt;"/></form></p>';
  403.  
  404.  
  405.  
  406. }
  407. }
07.04.2021 / 09:51
hoangchan
Bài đăng: 102
Member
HÔNG

trong file ban.php này mình muốn hiển thị 3 mục lên phần head của trang web thì lấy những mã nào ạ,

MỤC CẦN ĐƯA LÊN HEAD

+ Thời gian ban lệnh cấm

+ Tổng thời gian

+ Thời gian còn lại

_____________

đấy là khi ta truy cập vào link /profile/?act=ban

[IMAGE]

=================

phần mình muốn là đưa nó lên head, để hiển thị như thế này

[IMAGE]

(ảnh này là mình ghép chứ chưa biết cách làm thế nào để đưa nó ra)

:god:

_____________________

ẢNH GỐC NÈ

[IMAGE]

:fa:

07.04.2021 / 09:54
hoangchan
Bài đăng: 102
Member
HÔNG

tiếp tục nhờ mọi người hỗ trợ ạ. cảm ơn mọi người.

07.04.2021 / 20:44
Poker
Bài đăng: 48
Member

jonh này cũng hay nhể. chắc mod john chơi thôi. trc giờ toàn tự viết :v