Новости Joomla

Вышли релизы безопасности Joomla 6.1.3 и Joomla 5.4.8

Релиз безопасности Joomla 6.1.3 и Joomla 5.4.8

Проект Joomla! рад сообщить о выходе Joomla 6.1.3 и Joomla 5.4.8. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

👩‍💻 WT Otpravkapochtaru - библиотека сервиса Отправка Почты России для Joomla-разработчиков.

👩‍💻 WT Otpravkapochtaru - библиотека сервиса Отправка Почты России для Joomla-разработчиков.

Joomla 5+ пакет для интеграции с API Почты России: нормализация данных, расчёт доставки, создание отправлений, партии, документы, возвраты, поиск отделений, справочники и SOAP-отслеживание.

v.3.0.0. Что нового?
Это дальнейшее развитие ранее закрытой Joomla-библиотеки для работы с API сервиса Отправка (для бизнеса) Почты России. Поэтому версия не 1.0.0, а 3.0.0.

Сейчас эта библиотека ушла от собственных реализаций и стала Joomla-обёрткой известного PHP SDK от Lapay Group.

Возможности библиотеки.
- получение настроек аккаунта, точек сдачи и текущего остатка запросов к API;
- нормализация адресов, ФИО и телефонов перед созданием отправления;
- расчёт тарифа и срока доставки;
- создание, поиск, изменение, удаление и возврат заказов в состояние «Новые»;
- проверка надёжности получателя;
- создание партий, просмотр партий и заказов внутри партии;
- генерация пакета печатных документов и формы Ф103;
- создание, изменение и удаление возвратных отправлений;
- поиск отделений по индексу, адресу и координатам, получение сервисов отделения;
- локальный список стран;
- SOAP-отслеживание операций по РПО и работа с билетами пакетного трекинга.

👩‍💻 Joomla-возможности.
В пакете библиотеки WT Otpravkapochtaru есть поля Joomla Form для расширений. Они позволяют работать в интерфейсе Joomla с некоторыми типами данных, получаемых по API из вашего личного кабинета в ЛК Почты России для бизнеса.
На данный момент в библиотеке доступны 3 поля списков, которые отображают доступные в аккаунте ОПС, типы и категории отправлений.
Поддерживаются зависимые списки: значение одного поля обновляется при изменении другого.

Системные требования.
Системные требования в основном связаны с системными требованиями апстрима библиотеки - LapayGroup PHP SDK.
- Joomla 5+
- PHP 8.3+
- Расширения PHP:
-- ext-mbstring
-- ext-simplexml
-- ext-soap (опционально, для трекинга)
-- ext-zip

Ссылки:
- Страница расширения
- GitHub библиотеки и документация

@joomlafeed

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

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Обработчик формы
« Ответ #30 : 31.05.2014, 00:05:20 »
Цитировать
http://твой_сайт/?tmpl=obr01
Хмм, действительно работает. Интересно почему?  Я то думал что такая ссылка должна рендерить шаблон вьюхи у компонента который к главной привязян а это рендерит файл который валяется в шаблоне тупо...это что за магия?

upd кажется дошло. Это типа обертки layout выбранного шаблона в который уже компонент непосредственно рендерится и модули. Если не указан то типа index.php используется. Еще там лежит component.php - обертка с минимум HTML.А для шаблона вьюхи компонента используется ?layout= ... Запутатся конечно легко)
« Последнее редактирование: 31.05.2014, 00:37:16 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Обработчик формы
« Ответ #31 : 31.05.2014, 03:33:13 »
Цитировать
только не вставлял первой строкой defined('_JEXEC') or die;, с этим почему-то не работает вобще
у вас не работает потому что вы в action формы прописали http://www.worldofsites.ru/templates/vt_marketing/obr01.php в этом случае защита как раз срабатывает и скрипт вас отфутболивает, потому что вы обращаетесь к нему напрямую как раз.
Или вы прописали  http://www.worldofsites.ru/?tmpl=obr01 - эта форма не будет отправлять данные после знака вопроса.
Вам нужно создать скрытое поле в форме <input type="hidden" name="tmpl" value="obr01"> а в action прописать http://www.worldofsites.ru. Правда во всех этих манипуляциях я вообще не вижу никакого смысла. Все что требуется эта проверка на наличие пост. А если есть необходимость удостоверится  что данные пришли именно с этой формы то можно добавить в форму специальное поле а в обработчике проверять его наличие. Типо токена..
« Последнее редактирование: 31.05.2014, 04:37:45 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

Леон

  • Захожу иногда
  • 333
  • 5 / 0
Re: Обработчик формы
« Ответ #32 : 31.05.2014, 10:17:29 »
В экшене вот  action="http://www.worldofsites.ru/?tmpl=obr01", и да сделал проверку, на пост данные не знаю как, сделал на проверку, чтобы поля не были пустые иначе отсылает на главную страницу.
*

Леон

  • Захожу иногда
  • 333
  • 5 / 0
Re: Обработчик формы
« Ответ #33 : 31.05.2014, 15:09:31 »
Плохая защита?))  zomby6888))
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Обработчик формы
« Ответ #34 : 31.05.2014, 15:09:46 »
В экшене вот  action="http://www.worldofsites.ru/?tmpl=obr01", и да сделал проверку, на пост данные не знаю как, сделал на проверку, чтобы поля не были пустые иначе отсылает на главную страницу.
На самом деле в вашем случае это недостаточно. Я за 5 минут написал скрипт который отправляет пост запросы на ваш обработчик. Отослал вам 10 писем, не пришли еще? )
интернет-блог: http://websiteprog.ru
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Обработчик формы
« Ответ #35 : 31.05.2014, 15:11:16 »
Цитировать
Плохая защита?))
Это еще цветочки. Я могу разместить его где нибудь на порносайте и при каждом клике вам будет пачками спам приходить)
интернет-блог: http://websiteprog.ru
*

Леон

  • Захожу иногда
  • 333
  • 5 / 0
Re: Обработчик формы
« Ответ #36 : 31.05.2014, 15:12:04 »
Что посоветуете в таком случае еще сделать?
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Обработчик формы
« Ответ #37 : 31.05.2014, 15:13:55 »
6. JHtml::_('form.token');
используйте токен в форме а в обработчике проверку на его наличие;
Код: php
JRequest::checkToken() or jexit('Invalid Token');
« Последнее редактирование: 31.05.2014, 15:18:44 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Обработчик формы
« Ответ #38 : 31.05.2014, 15:20:44 »
6. JHtml::_('form.token');
используйте токен в форме а в обработчике проверку на его наличие;
Да, это самое верное решение.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Леон

  • Захожу иногда
  • 333
  • 5 / 0
Re: Обработчик формы
« Ответ #39 : 31.05.2014, 15:43:36 »
В обработчике вроде понятно, а где в форме прописать  JHtml::_('form.token'); ? код формы находится в модуле HTML

а если (сейчас уже дошло как это) вставить в форму скрытое поле и в обработчике по мимо проверки пост данных прописать еще значение этого поля? Злоумышленник сможет увидеть код моего php файла? (там будет в условии видно имя скрытого поля)

а нет проверил, если сильно захотеть имя скрытого поля можно увидеть в исходном коде HTML страницы
« Последнее редактирование: 31.05.2014, 16:15:40 от Леон »
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Обработчик формы
« Ответ #40 : 31.05.2014, 16:29:51 »
mod_custom он вроде так называется?

1. Создаете папку mod_mycustom.
2. Копируете туда все файлы из \modules\mod_custom
3. Переименовывайте файлы mod_custom.php и mod_custom.xml в mod_mycustom.php mod_mycustom.xml
4. Создаете в этой  папке папку languages и копируете туда файлы ru-RU.mod_custom.sys.ini, ru-RU.mod_custom.ini из папки /languages. Переименовываете их в ru-RU.mod_mycustom.sys.ini и ru-RU.mod_mycustom.ini
5. Заменяете все слова mod_custom на mod_mycustom в mod_custom.xml.
6. В вашей папке  в подпапке tmpl в файле default.php заменяете строку <?php echo $module->content;?> на код вашей формы.
7. Перед закрывающим тегом </form> вашей формы добавляете <?php echo JHTML::_( 'form.token' ); ?>

Запаковываете все этов архив и устанавливаете через менеджере расширений. Если все сделали правильно то в менеджере модулей увидите модуль с именем mod_mycustom. Если все получится то вас можно будет поздравить, вы создали собственный модуль)
« Последнее редактирование: 31.05.2014, 16:37:44 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

Леон

  • Захожу иногда
  • 333
  • 5 / 0
Re: Обработчик формы
« Ответ #41 : 31.05.2014, 17:43:26 »
меня нельзя поздравить, так кроме заголовка модуля ничего не выводится больше((
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Обработчик формы
« Ответ #42 : 31.05.2014, 17:48:14 »
заголовок выводится, уже хорошо) в папке вашего модуля содержимое файла /tmpl/default.php покажите
интернет-блог: http://websiteprog.ru
*

Леон

  • Захожу иногда
  • 333
  • 5 / 0
Re: Обработчик формы
« Ответ #43 : 31.05.2014, 17:51:41 »
Код
<?php
defined('_JEXEC') or die;
?>


<div class="custom<?php echo $moduleclass_sfx ?>" <?php if ($params->get('backgroundimage')) : ?> style="background-image:url(<?php echo $params->get('backgroundimage');?>)"<?php endif;?> >


<a id="btn01">Заказать!</a>
<form target="_blank" action="http://www.worldofsites.ru/?tmpl=obr01" method="post" role="form" novalidate="novalidate"
</form>  
<div id='PopUp01'>
<div class="PopUpCont01" id='PopUpCont'>
<form target="_blank" action="http://www.worldofsites.ru/?tmpl=obr01" method="post" role="form" novalidate="novalidate">
<a class="callx01"><img src="/templates/vt_marketing/files/images/x.png"/></a>
<h4>Заказать тариф Host 1</h4></br>
<label>Введите свое имя:</label>
<input type="text" placeholder="Например: Василий" name="yourname" class="form-control">
<label>Введите свой номер телефона:</label>
<input type="text" placeholder="Например: 7 (495) 442-45-23" name="phn" class="form-control">
<label>Введите свой e-mail:</label>
<input type="hidden" name="usluga" value="Тариф Host 1">
<input type="text" placeholder="Например: email@mail.ru" name="eml" class="form-control"> </br>
<button type="submit">Оставить заявку</button>
<?php echo JHTML::_( 'form.token' ); ?>
</form>
</div>
</div>
</div>

подгрузку css/js не укаывал, но и без них должна хоть страшная форма, но появиться (ну или хотябы канопка "заказать")
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Обработчик формы
« Ответ #44 : 31.05.2014, 18:06:07 »
5. Заменяете все слова mod_custom на mod_mycustom в mod_custom.xml.
То же самое с mod_custom.php.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Обработчик формы
« Ответ #45 : 31.05.2014, 19:00:47 »
Цитировать
То же самое с mod_custom.php.
угу, все правильно только переименован он должен быть в mod_mycustom.php уже. Последняя строчка там впринципе такая должна быть:
require JModuleHelper::getLayoutPath('mod_mycustom', $params->get('layout', 'default'));

Если не получится могу скинуть куда нибудь рабочий архив.

интернет-блог: http://websiteprog.ru
*

Леон

  • Захожу иногда
  • 333
  • 5 / 0
Re: Обработчик формы
« Ответ #46 : 31.05.2014, 19:59:09 »
ууу спасибо, в последней строке да, не переименовал на mycustom, теперь кнопка появилась и работает как надо)))), а еще один вопросик) У меня есть модуль "Тарифы", это стандартный HTML модуль. Как мне внутри его вывести мой модуль mycustom? (это кнопка "заказать" внизу)

И форма теперь) с формы отправляется а просто по ссылке: Invalid Token

Проблем нет, поставил из джеда Modules Anywhere. И в нужном месте вывел {module 134}, а сам модуль опубликовал, но в разделе "Привязка к пунктам меню" поставил "нигде" и все работает) 

У меня таких кнопки будет 4, на каждый тариф своя кнопка со своей формой а обработчик у них один. И думаю к каждому модулю цеплять файлы css/js будет неудобно их общий размер порядка 300КБ, прописал их 1 раз в файле шаблона.

Еще заметил вот что. Если заполнить форму и отправить, обработчик высвечивает что все успешно и приходит письмо на почту, а если это окно об успешной отправке не закрывать а обновить страницу то он опять обрабатывает, так должно быть?
« Последнее редактирование: 31.05.2014, 20:45:32 от Леон »
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Обработчик формы
« Ответ #47 : 31.05.2014, 21:22:19 »
Еще заметил вот что. Если заполнить форму и отправить, обработчик высвечивает что все успешно и приходит письмо на почту, а если это окно об успешной отправке не закрывать а обновить страницу то он опять обрабатывает, так должно быть?

Сделайте перенаправление после отправки почты. Можно на ту же страницу. Тогда логика должна быть такая:
Код: php
If(!isset($_POST))
{
  ...//выводим сообщение об успешной отправке
}
else
{
  ... //проверяем токен, отправляем почту
  header ('Location: http://www.worldofsites.ru/?tmpl=obr01'); //обновляем страницу, избавляемся от post данных
}
интернет-блог: http://websiteprog.ru
*

Леон

  • Захожу иногда
  • 333
  • 5 / 0
Re: Обработчик формы
« Ответ #48 : 04.06.2014, 17:09:49 »
Может кто подсказать почему такое происходит. В этом же моем модуле кнопки заказа. На главной странице сайта, есть таблица "Хостинг-тарифы" под ней 4 кнопки "Заказать" работают как и должны. А вот наверху в меню если выбрать пункт "Хостинг" там эта же самая таблица и в ней эти же кнопки. Но при нажатии на кнопку в поле "Email" вместо подсказки идет какой-то скрипт. (сайт под аватаркой)

Есть мысли почему на главной странице этот модуль нормально отображается а на других такая штука и только с одним полем?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка 1054 Unknown column 'created_by' in 'field list' VirtueMart

Автор Evgen Kulibin

Ответов: 3
Просмотров: 2038
Последний ответ 26.02.2023, 01:56:42
от lakshmi
Ошибка 1054 - обновление Joomla 2.5 на 3.4

Автор arevuare

Ответов: 1
Просмотров: 912
Последний ответ 25.09.2019, 14:02:14
от ChaosHead
Как убрать текст на главной?

Автор m03mug08

Ответов: 5
Просмотров: 2079
Последний ответ 07.09.2018, 14:52:24
от Konst
Ошибка 1054 - Unknown column 'u.name' in 'order clause

Автор Shademy

Ответов: 27
Просмотров: 9805
Последний ответ 30.03.2018, 13:41:20
от Roki37
Проблема отображения модулей на шаблоне proto

Автор Artefact

Ответов: 10
Просмотров: 1753
Последний ответ 17.08.2017, 18:29:40
от Artefact