Привет, Гость!
Главная
Вход

Последняя активность

Форум / JohnCMS / Другое... / Метка непрочитанного
Поиск | Файлы топика (2)
  Метка непрочитанного
1 2 >>
PaRtiZzaN PaRtiZzaN [Off] [#] (09.04.2017 / 00:12)
¯\_(ツ)_/¯
Написал модуль оповещений под 7.1
Только вот не могу понять пока как отмечать оповещения прочитанными?
Посмотрел как делается с темами на форуме, нифига не дошло, там для меня слишком сложно.
Или всё равно придется делать как на форуме? Другого более легкого способа нет?
intelligent intelligent [Off] [#] (09.04.2017 / 00:15)
Можешь в таблицу с уведомлениями столбец добавить и отмечать в нём прочитанные уведомления, например
Изм. intelligent (09.04.2017 / 00:15) [1]
PaRtiZzaN PaRtiZzaN [Off] [#] (09.04.2017 / 00:23)
¯\_(ツ)_/¯
Добавлено: 09.04.2017 / 00:22
# intelligent (09.04.2017 / 00:15)
Можешь в таблицу с уведомлениями столбец добавить и отмечать в нём прочитанные уведомления, например
Да ладнааааа

Добавлено: 09.04.2017 / 00:23
У меня в базе оповещений уже стоит столбец read я не знаю как сделать условие при котором отмечать read=1
ValekS ValekS [Off] [#] (09.04.2017 / 00:38)
Ей 25
Добавлено: 09.04.2017 / 00:27
Смотри, при добавлении оповещения ставишь в поле с именем, например name, 0. Потом на странице вывода оповещений проверяешь есть ли оповещения с значением 0 в поле name. Если есть заменяешь в базе 0 на 1. И все. Оповещения прочитаны. Проверять можно в начале скрипта сразу все оповещения что выводятся на странице, а можно в цикле вывода, по одному оповещению. Если проверять в цикле то там простое условие, если сразу все - то там запрос в БД с WHERE name = 0 и LIMIT 0, 10 - тут вместо цифр твои переменные.

Добавлено: 09.04.2017 / 00:38
Вот столбец read тебя. Значит половина дела сделана.
Проверку сразу всех оповещений что на странице я описал. Только сразу UPDATE запрос добавляй, с WHERE и LIMIT что я выше написал. Хотя еще там надо user_id = $user_id добавить к WHERE. Забыл сразу.
А LIMIT нужен что бы обновились только те оповещения что на данной странице. А не на всех сразу. Т.Е. это заставить юзера прокацать все страницы с непрочитанными оповещениями.
А проверка каждого оповещения отдельно а цикле вывода, это
if (!$res['read'])
// Запрос на обновление
Изм. ValekS (09.04.2017 / 00:42) [1]
PaRtiZzaN PaRtiZzaN [Off] [#] (09.04.2017 / 01:27)
¯\_(ツ)_/¯
Добавлено: 09.04.2017 / 01:11
ValekS, Ну я почти так же продумал. Только вот допустим оповещение должно оставаться непрочитанным пока юзер не перейдет по ссылке в нём на место действия из за которого появилось оповещение.

Это наверно будет сложнее.

Добавлено: 09.04.2017 / 01:27
А хотя и так норма
Simba Simba (SV!) [Off] [#] (09.04.2017 / 01:28)
Кадило крутится, лавэха мутится
# PaRtiZzaN (09.04.2017 / 01:27)
ValekS, Ну я почти так же продумал. Только вот допустим оповещение должно оставаться непрочитанным пока юзер не перейдет по ссылке в нём на место действия из за которого появилось оповещение.

Это
Кнопки для пометки прочтенным не забудь сделать)
Ну типа оповещений на телефоне...
Прикреплённый файл:
Нажмите для просмотра изображения
(731.55 кб.)
Скачано: 233 раз
Simba Simba (SV!) [Off] [#] (09.04.2017 / 01:28)
Кадило крутится, лавэха мутится
Ну и пометка прочтенным.
Прикреплённый файл:
Нажмите для просмотра изображения
(725.25 кб.)
Скачано: 214 раз
PaRtiZzaN PaRtiZzaN [Off] [#] (09.04.2017 / 02:05)
¯\_(ツ)_/¯
Есть в файле /forum/includes/say.php ид темы в которой ответ?
Хочу сделать оповещение об ответе на форуме. Но никак не могу получить ид темы!!!
Simba Simba (SV!) [Off] [#] (09.04.2017 / 02:22)
Кадило крутится, лавэха мутится
я бы не привязывал систему оповещений к какому-то модулю...
Нужен отдельный модуль оповещений со своим api, в который могут постить различные модули...
PaRtiZzaN PaRtiZzaN [Off] [#] (09.04.2017 / 02:22)
¯\_(ツ)_/¯
Придумал кучу костылей и нашел ид темы.
PaRtiZzaN PaRtiZzaN [Off] [#] (09.04.2017 / 02:42)
¯\_(ツ)_/¯
Добавлено: 09.04.2017 / 02:24
# Simba (09.04.2017 / 02:22)
я бы не привязывал систему оповещений к какому-то модулю...
Нужен отдельный модуль оповещений со своим api, в который могут постить различные модули...
Всмысле? Как по твоему оповещение создастся? Я вот на форуме с отправкой сообщения добавляю в бд оповещение. И так придется везде сделать, в госте в комментах и тд

Добавлено: 09.04.2017 / 02:27
Оповещения на форуме и в блогах работают. Но есть одна проблемка. Я передаю в оповещение ссылку на тему и страницу на которой ответ при помощи $page которая там уже есть
  1. // Вычисляем, на какую страницу попадает добавляемый пост
  2. $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
Перед отправкой оповещения нужно посчитать на какой странице будет смс для юзера которому отвнт идет.
ДоХтор ДоХтор (SV!) [Off] [#] (09.04.2017 / 11:18)
~ PHP-7 & REGEXP - This is a really powerful kit ~
$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); Правильно. Весь модуль напиши в одну строку, и будет тебе счастье, когда понадобится что-то допилить
PaRtiZzaN PaRtiZzaN [Off] [#] (09.04.2017 / 11:52)
¯\_(ツ)_/¯
# ДоХтор (09.04.2017 / 11:18)
Правильно. Весь модуль напиши в одну строку, и будет тебе счастье, когда понадобится что-то допилить
А как тогда сделать?
ramzes ramzes [Off] [#] (09.04.2017 / 12:22)
Че то я не пойму, че ты мутишь то?
Простое же.
Записать ид темы ид поста, ид автора, на выводе постичать страницу темы из логики колво постов ДО ид поста в теме / пагинацию, вывести ник автора и тут же удалить оповещение. Всех делов то
PaRtiZzaN PaRtiZzaN [Off] [#] (09.04.2017 / 12:40)
¯\_(ツ)_/¯
ramzes, Мда. Я по логике не очень. Че то не дошло.
ДоХтор ДоХтор (SV!) [Off] [#] (09.04.2017 / 13:33)
~ PHP-7 & REGEXP - This is a really powerful kit ~
# PaRtiZzaN (09.04.2017 / 11:52)
А как тогда сделать?
Делай так, что тебе самому было удобно. Длину строки желательно писать не более 80-и символов. В людских IDE-шках для визуального контроля этой длины установлена цветная вертикальная линия (как поля в школьной тетрадке). Ну и ещё строки запроса надо бы писать читабельно. Если записать твой код с учётом этих замечаний, то он примет такой вид
* (+/-)
В каком из этих вариантов легче разобраться?
Koenig Koenig (SV!) [Off] [#] (09.04.2017 / 14:18)
(\/)____o_O____(\/)
на самом деле нужно при написании поста например в форуме указывать от кого и кому, тогда ты сможешь сразу увидеть ответы тебе в теме
PaRtiZzaN PaRtiZzaN [Off] [#] (09.04.2017 / 14:26)
¯\_(ツ)_/¯
Вы что подумали что это мой код? Это код с форума джона, дефолтный. Гг.
ДоХтор ДоХтор (SV!) [Off] [#] (09.04.2017 / 14:34)
~ PHP-7 & REGEXP - This is a really powerful kit ~
# PaRtiZzaN (09.04.2017 / 14:26)
Вы что подумали что это мой код? Это код с форума джона, дефолтный. Гг.
Да не важно чей код - если у него читабельности нет, большинство людей просто идут мимо. Ты, к примеру, запостишь подобный код с просьбой о помощи, и помощи не дождёшься по описанной выше причине.
Koenig Koenig (SV!) [Off] [#] (10.04.2017 / 10:32)
(\/)____o_O____(\/)
ДоХтор, семёрка более менее поддерживает psr 1 и 2
  Всего: 24
1 2 >>

Просмотров: 86
Фильтр по автору
Скачать тему

Форум

Новые вверху
VDS от 90 рублей
Главная
0 / 86

JohnCMS 8.0.0

© JohnCMS