Добавлено: 09.04.2017 / 02:24
# Simba (09.04.2017 / 02:22)
я бы не привязывал систему оповещений к какому-то модулю...
Нужен отдельный модуль оповещений со своим api, в который могут постить различные модули...
Всмысле? Как по твоему оповещение создастся? Я вот на форуме с отправкой сообщения добавляю в бд оповещение. И так придется везде сделать, в госте в комментах и тд
Добавлено: 09.04.2017 / 02:27
Оповещения на форуме и в блогах работают. Но есть одна проблемка. Я передаю в оповещение ссылку на тему и страницу на которой ответ при помощи $page которая там уже есть
// Вычисляем, на какую страницу попадает добавляемый пост
$page = $set_forum['upfp'] ? 1 : ceil($db->query("SELECT COUNT(*) FROM `forum` WHERE `type` = 'm' AND `refid` = '$th'" . ($systemUser->rights >= 7 ? '' : " AND `close` != '1'"))->fetchColumn() / $kmess);
И допустим у меня в настройках стоит кол-во пунктов на странице 5 а у того кто мне отвечает 20.
При ответе он находится на 15 странице. А для меня это уже 59 страница. И мне в оповещение идет ссылка на 15 страницу а не 59...
Добавлено: 09.04.2017 / 02:41
Что блин еще костыль делать для паги? Или убрать вообще из настроек эту фичу?
Добавлено: 09.04.2017 / 02:42
Перед отправкой оповещения нужно посчитать на какой странице будет смс для юзера которому отвнт идет.
$page = $set_forum['upfp'] ? 1 : ceil($db->query("SELECT COUNT(*) FROM `forum` WHERE `type` = 'm' AND `refid` = '$th'" . ($systemUser->rights >= 7 ? '' : " AND `close` != '1'"))->fetchColumn() / $kmess);
Правильно. Весь модуль напиши
в одну строку, и будет тебе счастье, когда понадобится что-то допилить
Че то я не пойму, че ты мутишь то?
Простое же.
Записать ид темы ид поста, ид автора, на выводе постичать страницу темы из логики колво постов ДО ид поста в теме / пагинацию, вывести ник автора и тут же удалить оповещение. Всех делов то
ramzes, Мда. Я по логике не очень. Че то не дошло.
# PaRtiZzaN (09.04.2017 / 11:52)
А как тогда сделать?
Делай так, что тебе самому было удобно. Длину строки желательно писать не более 80-и символов. В людских IDE-шках для визуального контроля этой длины установлена цветная вертикальная линия
(как поля в школьной тетрадке). Ну и ещё строки запроса надо бы писать читабельно. Если записать твой код с учётом этих замечаний, то он примет такой вид
* (+/-)
# Было так
// Вычисляем, на какую страницу попадает добавляемый пост
$page = $set_forum['upfp'] ? 1 : ceil($db->query("SELECT COUNT(*) FROM `forum` WHERE `type` = 'm' AND `refid` = '$th'" . ($systemUser->rights >= 7 ? '' : " AND `close` != '1'"))->fetchColumn() / $kmess);
# Стало так
// Вычисляем, на какую страницу попадает добавляемый пост
$sql = "
SELECT COUNT(*)
FROM `forum`
WHERE `type` = 'm'
AND `refid` = '$th'" .
($systemUser->rights >= 7 ? '' : " AND `close` != '1'");
$page = $set_forum['upfp'] ? 1 : ceil($db->query($sql)->fetchColumn() / $kmess);
В каком из этих вариантов легче разобраться?
на самом деле нужно при написании поста например в форуме указывать от кого и кому, тогда ты сможешь сразу увидеть ответы тебе в теме
Вы что подумали что это мой код? Это код с форума джона, дефолтный. Гг.
# PaRtiZzaN (09.04.2017 / 14:26)
Вы что подумали что это мой код? Это код с форума джона, дефолтный. Гг.
Да не важно чей код - если у него читабельности нет, большинство людей просто идут мимо. Ты, к примеру, запостишь подобный код с просьбой о помощи, и помощи не дождёшься по описанной выше причине.
ДоХтор, семёрка более менее поддерживает psr 1 и 2