0 Пользователей и 1 Гость просматривают эту тему.
  • 55 Ответов
  • 1879 Просмотров
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Да, с асинхронностью в PHP вариантов мало, и все :) извращенные: cURL, socket, cron, AJAX. Мне больше понравился вариант AJAX, предложенный shurakana именно для этого случая: зеленая лампочка - это круто :).?
а какая реализация всего этого
задача: человек жмет сохранить, срабатывает плагин на onContentAfterSave(){} и как PHP скрипт отправит данные в AJAX? или вы намутите ещё в плагине кучу говна которое определит что надо вывести лампочку в разных местах? а если юзер сохранит из под формы где нить на сайте тоже крутить лампочку? что за ахинею вы порите?
*

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Да, вариант shurakana хороший, но
1) мне не обязательно видеть результаты
2) запрос в плагин не отправить, надо уже компонент писать
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
и как ты собираешься отправить AJAX запрос без вывода в HTML данных для AJAX запроса?  
как PHP скрипт отправит данные в AJAX? что за ахинею вы порите?
Ну, HTML данные-то не особо нужны, да плагин - тоже. После сохранения идет перенаправления, верно? Вот в шаблоне и повесить скрипт, который срабатывает при определенных условиях, IMHO.
« Последнее редактирование: 03.11.2016, 16:43:10 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Да, вариант shurakana хороший, но
1) мне не обязательно видеть результаты
2) запрос в плагин не отправить, надо уже компонент писать
2. Запрос можно отправить в плагин..
*

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Предполагаю, речь о плагине пушей из другой темы, который как бы готов.)
Просто интересно, я несколько раз сохраняю материал в процессе его создания. Думаю, я не один такой. Каждый раз пуш полетел?
Отдельную кнопку я бы сделал, чтобы осознанно ее нажать, когда надо. И js-ом.
Точно.
Ну этот момент надо обдумать, пока я для Kunena сделал, там как бы сразу ))
*

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
ГЫ а мне вспомнилась одна реализация жутка страшная.
Суть такая. После сейва идет редирект + сообщение, по сути в это сообщение можно вставить js
Спойлер
[свернуть]
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Ну, HTML данные-то не особо нужны. После сохранения идет перенаправления, верно? Вот в шаблоне и повесить скрипт, который срабатывает при определенных условиях, IMHO.
Верно идет перенаправление, а как вы узнаете что надо повесить скрипт? давайте я угадаю, в базе запишите и будете плагином читать? а если пользователь сохранит и сразу закроет браузер не дождавшись сохранения страницы? а если у пользователя материал сохранится? и да там отличный вопрос был про множественную отправку?
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Ну этот момент надо обдумать, пока я для Kunena сделал, там как бы сразу ))
Сделать только для new
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

fsv

  • Живу я здесь
  • 2765
  • 402 / 2
Сделать только для new
new - полуфабрикат недоделанный, правится еще
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
Как? Можно поподробнее?
системный плагин index.php?action=send&artcile_id=10:
Код: php
public function onAfterInitialise()
{
$input = JFactory::getApplication()->input;
if ( JFactory::getApplication()->isAdmin() && $input->getCmd( 'action' ) === 'send' ) {
//выполняем действия...
}

}
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Я все, отстал..)))

Я если че про dom loaded говорил, т.е. при сохранении материала, через обычный jquery отправлять запросы хоть сразу на 100 сервисов..
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
системный плагин index.php?action=send&artcile_id=10:
Код: php
public function onAfterInitialise()
{
$input = JFactory::getApplication()->input;
if ( JFactory::getApplication()->isAdmin() && $input->getCmd( 'action' ) === 'send' ) {
//выполняем действия...
}

}
То есть вот это вот - не изврат?
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Короче дело к ночи. Делай нормально в два последовательных запроса после сейфа. Если сервис уг и еле работает сделай с другим сервисом.
ИМХО но если делаешь интеграцию скажем с fb и сервак fb по какой либо причинам в этот момент лежит, это не твоя забота. Единственное что ты должен сделать это показать что произошла ошибка, а если все ok То вывести и то что материал сохранен и то что сервис сработал.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Верно идет перенаправление, а как вы узнаете что надо повесить скрипт? давайте я угадаю, в базе запишите и будете плагином читать?
Ну, в базу-то писать не надо, но плагин все равно нужен - запишем в сессию какой-нибудь параметр, по нему и определять, запускать скрипт или нет.
а если пользователь сохранит и сразу закроет браузер не дождавшись сохранения страницы?
А этот момент еще не обдумал.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
системный плагин index.php?action=send&artcile_id=10:
Тоже самое получается. Разве что через echo скрипт выводить.
« Последнее редактирование: 03.11.2016, 16:55:03 от Septdir »
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
И да onAfterSave идет после сохранения в базе, так что даже если по какой-то причине, все повиснет, материал уже на сайте.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
И да onAfterSave идет после сохранения в базе, так что даже если по какой-то причине, все повиснет, материал уже на сайте.
Материал да, но данные не отправятся куда нужно, и весь смысл сайта пропадает, а учитывая что отправить нужно только раз, то придется либо ручками отправить, либо удалить материал и снова сохранить!
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
То есть вот это вот - не изврат?
нисколько, никто не запрещает в системном плагине получать что либо с $_REQUEST, делать запросы в базу, редиректить и выполнять какие либо действиия, пример стандартный системный плагин redirect или languagefilter!
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
А, кстати, вот бы в Joomla внедрить onQueued("event_name");

Вот вот, таких "а кстати" тонны, капец уж, вроде только только привык без хаков, опять болты, жалко чтоли..

До сих пор не могу понять почему не сделают эвенты на админку и на фронт, в итоге с моей непонятной манией, я делаю 1 ГИГАплагин, где одна проверка, а потом уже все остальные..
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Тогда так. На onAfterSave вещаем добавление в еще одну таблицу. Потом уже через задание для планировщика делаем что нужно.
Так можно сразу несколько зайцев убить.
Дать время на исправления.
Дать возможность отстрочки.
И фактически без труда интегрируется с любым компонентом. Все что нужно это чтобы он добавлял в базу инфу для отправки да и инфа может любая
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

voland

  • Легенда
  • 11030
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Вот вот, таких "а кстати" тонны, капец уж, вроде только только привык без хаков, опять болты, жалко чтоли..

До сих пор не могу понять почему не сделают эвенты на админку и на фронт, в итоге с моей непонятной манией, я делаю 1 ГИГАплагин, где одна проверка, а потом уже все остальные..
Ну вот конкретно эта идея имеет право на жизнь внедрение? Может внедрим тогда?
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
До сих пор не могу понять почему не сделают эвенты на админку и на фронт, в итоге с моей непонятной манией, я делаю 1 ГИГАплагин, где одна проверка, а потом уже все остальные..
Не целесообразно. Делать ивент ради одной проверки. Да и если нужно и в админке и в фронте.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Не целесообразно. Делать ивент ради одной проверки. Да и если нужно и в админке и в фронте.
Мне кажется вы бы понравились разработчикам Joomla..))

Вообще, 1 евент для целесообразности оставить надо, развели а то..
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
Да можно через cURL асинхронно бахать, я бы например сделал через крон, можно же и не вынося на уровень выше защитить файл для крона доступа извне.. curlom так наверно не выйдет..
+
только зачем там защита какая-то хз
в onAfterSave записываешь id куда нибудь
вешается крон пусть каждую минуту на файл какой-нибудь
он проверяет эти id, если есть отправляет и при успешной отправки удаляет этот id, если нет ничего не делает
*

Aleks.Denezh

  • Живу я здесь
  • 3406
  • 428 / 4
+
только зачем там защита какая-то хз
в onAfterSave записываешь id куда нибудь
вешается крон пусть каждую минуту на файл какой-нибудь
он проверяет эти id, если есть отправляет и при успешной отправки удаляет этот id, если нет ничего не делает
Да с курлом не нужно защиты вообще, разве что максимум параноидально что бы не вызвали извне скрипт, как по мне это самый оптимальный вариант! И будет сразу и защита от нескольких выполнений, и можно разные задачи наклепать..
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как правильно?

Автор rafaello9

Ответов: 1
Просмотров: 468
Последний ответ 20.05.2020, 15:46:28
от robert
Как правильно записать дату создания записи в БД?

Автор ImPuLsE

Ответов: 13
Просмотров: 2773
Последний ответ 11.09.2019, 22:58:57
от sev07
Получить данные из поля " file", и передать в файл обработчик

Автор Glog

Ответов: 5
Просмотров: 1322
Последний ответ 01.08.2017, 13:55:40
от Glog
Не подключается языковой файл

Автор b2z

Ответов: 22
Просмотров: 6428
Последний ответ 02.04.2017, 13:27:37
от Septdir
Как достать правильно путь картинки для статьи из БД?

Автор SimonovSergey

Ответов: 2
Просмотров: 997
Последний ответ 25.01.2016, 14:11:57
от SimonovSergey