Posted 22 августа, 20168 yr comment_111625 Здравствуйте. В одном из раздело в форума добавляю новости. Необходимо сделать так, чтобы допустим я, добавил несколько новостей, указал им "дату/время создания" и они появились на форуме только тогда, когда эта дата наступит. К примеру, добавил я десяток новостей, указал у них разные даты публикации, скажем... с интервалом в 2 часа и они автоматически добавляются в нужное время. Необязательно делать в виде плагина/хака. Можно обойтись php+mysql+cron. Есть даже кое-какие наработки и мысли по реализации. Пишите в ЛС. Скрин для примера (нарисован мной) Link to comment https://ipbmafia.ru/topic/15141-sdelat-vozmozhnost-sozdavat-otlozhennye-publikacii/ Share on other sites Больше вариантов
29 августа, 20168 yr Author comment_111843 Уже не актуально. Сделал сам. Если кому-то интересно, пишите в ЛС. Link to comment https://ipbmafia.ru/topic/15141-sdelat-vozmozhnost-sozdavat-otlozhennye-publikacii/?&do=findComment&comment=111843 Share on other sites Больше вариантов
29 августа, 20168 yr comment_111846 55 минут назад, Heavenanvil сказал: Уже не актуально. Сделал сам. Если кому-то интересно, пишите в ЛС. Интересует, но не код а способ его реализации и какие плюсы в выбранном методе. Link to comment https://ipbmafia.ru/topic/15141-sdelat-vozmozhnost-sozdavat-otlozhennye-publikacii/?&do=findComment&comment=111846 Share on other sites Больше вариантов
29 августа, 20168 yr Author comment_111847 soka, плюсы по сравнению с чем? аналогов я не нашел. Link to comment https://ipbmafia.ru/topic/15141-sdelat-vozmozhnost-sozdavat-otlozhennye-publikacii/?&do=findComment&comment=111847 Share on other sites Больше вариантов
29 августа, 20168 yr comment_111849 7 минут назад, Heavenanvil сказал: soka, плюсы по сравнению с чем? аналогов я не нашел. Ну вы же рассматривали наверное несколько вариантов перед созданием модификации - нативный код, плагин, крон сервера, крон форума. Прикидывали как лучше, какой способ легче, и выбрали один из них как самый оптимальный по времени создания и функциональности. Ведь наверняка в процессе создания некоторые аспекты пришлось рассмотреть, и наверное сделать по другому. Об этом хотелось бы услышать. Link to comment https://ipbmafia.ru/topic/15141-sdelat-vozmozhnost-sozdavat-otlozhennye-publikacii/?&do=findComment&comment=111849 Share on other sites Больше вариантов
29 августа, 20168 yr Author comment_111851 PHP файл с MySQL запросами, запущен через cron. Моих навыков хватило только на это, но результат меня устраивает. Link to comment https://ipbmafia.ru/topic/15141-sdelat-vozmozhnost-sozdavat-otlozhennye-publikacii/?&do=findComment&comment=111851 Share on other sites Больше вариантов
29 августа, 20168 yr comment_111852 Темы создаются из PHP файла? Всю статистику и связи обновляете запросами? Апи форума для создания не рассматривали? Структура темы для постинга. Link to comment https://ipbmafia.ru/topic/15141-sdelat-vozmozhnost-sozdavat-otlozhennye-publikacii/?&do=findComment&comment=111852 Share on other sites Больше вариантов
29 августа, 20168 yr Author comment_111855 Кхм. Нет. Попробую описать алгоритм. Создаю тему как обычно, только в параметрах ставлю галочку "Скрыть тему". Там же в параметрах указываю дату открытия темы (взял этот параметр за основу времени будущей публикации). Скрипт запущенный в cron сравнивает этот параметр "Дата открытия" с реальным временем и если он < или = ему, то публикует его (меняя несколько значения в бд форума) Никаких лазаний в бд или отдельный запуск файлов не требуется. Тема создаётся исключительно стандартными средствами форума. Лишь аппрувится в "нужное" время. Это если вкратце. Всю статистику и связи соответственно изменяю как нужно, запросами. Хотел поизучать api, но было лень. В скором времени наверно выложу свой файлик в паблик сюда, как только обкатаю. Нужно потестировать пару дней. Я ведь ещё учусь. Если видели мои предыдущие работы (#1, #2) можете оценить костыли в моем коде, но буду рад, если кому-то мои наработки пригодятся. Link to comment https://ipbmafia.ru/topic/15141-sdelat-vozmozhnost-sozdavat-otlozhennye-publikacii/?&do=findComment&comment=111855 Share on other sites Больше вариантов
29 августа, 20168 yr comment_111857 17 минут назад, Heavenanvil сказал: Я ведь ещё учусь. Если видели мои предыдущие работы (#1, #2) можете оценить костыли в моем коде, но буду рад, если кому-то мои наработки пригодятся. Нда, предыдущие работы полное уныние. По смене даты сообщения вообще не понимаю как можно было умудрится написать столько кода, да еще корявого, он меняется одним sql запросом с пару left join (запрос есть на ипбскинс). REST API для обновления темы POST /forums/topics/{id} locked=0 hidden=0 Link to comment https://ipbmafia.ru/topic/15141-sdelat-vozmozhnost-sozdavat-otlozhennye-publikacii/?&do=findComment&comment=111857 Share on other sites Больше вариантов
29 августа, 20168 yr Author comment_111858 soka, вас никто не заставляет пользоваться моими работами. Мне было нужно, готового решения искал, и даже писал в разделе фриланс (именно эта тема), но никто не ответил, поэтому сделал сам. Какие проблемы? По смене даты, там если вы не заметили есть ещё смена автора, смена состояния темы, проверка пароля. Почти половина кода это вёрстка. Но запросы не спорю, можно сильно оптимизировать. Link to comment https://ipbmafia.ru/topic/15141-sdelat-vozmozhnost-sozdavat-otlozhennye-publikacii/?&do=findComment&comment=111858 Share on other sites Больше вариантов
29 августа, 20168 yr Author comment_111859 Можете сделать лучше - флаг вам в руки. Я делал для себя и о костылях предупреждал. Если вам будет спокойней, этот скрипт состоит лишь из одного запроса и одной переменной. Link to comment https://ipbmafia.ru/topic/15141-sdelat-vozmozhnost-sozdavat-otlozhennye-publikacii/?&do=findComment&comment=111859 Share on other sites Больше вариантов
29 августа, 20168 yr comment_111860 1 час назад, Heavenanvil сказал: soka, вас никто не заставляет пользоваться моими работами. Я и не собираюсь, этого еще мне хватало. Если бы мне нужно было им пользоваться я бы не стал его обсирать в качестве объективной критики. 1 час назад, Heavenanvil сказал: По смене даты, там если вы не заметили есть ещё смена автора, смена состояния темы, проверка пароля. Автор темы/сообщения тоже меняется одним запросом, ну для обновления статистики и прочей херни можно дополнительно понаписать коду. Проверка пароля тоже делается одной строчки кода, да и не нужна она в принципе, лучше подключить ядро форума и проверять права администратора (только не говорите что вы искали и не нашли). ТС, вы же сами знаете что код унылый, и дело не в том что я могу написать лучше или хуже, или не нравится не пользуйся, а в том что это говнокод, пусть и для себя но который нужно писать нормально. 39 минут назад, Heavenanvil сказал: Если вам будет спокойней, этот скрипт состоит лишь из одного запроса и одной переменной. Это уже прогресс. Критика пошла на пользу. Для будущего развития можно рассмотреть подобные варианты <?php require_once 'init.php'; \IPS\Dispatcher\Build::i(); foreach( \IPS\Db::i()->select('tid', 'forums_topics', array( 'topic_open_time > 0 AND topic_open_time <= ? AND approved = -1', time())) as $tid ) { $topic = \IPS\forums\Topic::load( $tid ); $topic->approved = 1; $topic->state = 'open'; $topic->topic_open_time = ; $topic->save(); $topic->resyncLastComment(); $topic->resyncLastReview(); if( $container = $topic->containerWrapper() ) { $container->setLastComment(); $container->setLastReview(); $container->save(); } } или одним sql запросом <?php require_once 'init.php'; \IPS\Dispatcher\Build::i(); \IPS\Db::i()->update( 'forums_topics', array('approved' => 1, 'state' => 'open', 'topic_open_time' => ), array( 'topic_open_time > 0 AND topic_open_time <= ? AND approved = -1', time() ) ); Edited 29 августа, 20168 yr by soka Link to comment https://ipbmafia.ru/topic/15141-sdelat-vozmozhnost-sozdavat-otlozhennye-publikacii/?&do=findComment&comment=111860 Share on other sites Больше вариантов
29 августа, 20168 yr Author comment_111861 А я думал все начинают с говнокода Проблема ещё и в том, что ядро форума вообще почти не знаю, поэтому "копаюсь" в базе напрямую. Link to comment https://ipbmafia.ru/topic/15141-sdelat-vozmozhnost-sozdavat-otlozhennye-publikacii/?&do=findComment&comment=111861 Share on other sites Больше вариантов
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.