Новости 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 Гость просматривают эту тему.
  • 8 Ответов
  • 1694 Просмотров
*

Fill_

  • Новичок
  • 6
  • 0 / 0
Здравствуйте!
Использую стандартный плагин user profile.
При регистрации новых пользователей необходимо реализовать запись их IP-адресов (в таблицу jos_user).

Следующая задача - реализовать запрет на регистрацию, под уже имеющимся в базе данным IP-адресам.

Догадываюсь, что искать ответ необходимо в файлах :
/components/com_users/models/registration.php
/public_html/libraries/joomla/user/user.php

Но как то не догоняю. Появились уже сомнения. Может кто подскажет, в какой функции непосредственно выполняется запись в базу данных? Может есть примеры?

Чтобы исключить лишние вопросы, скажу сразу, что моя задача заключается именно в запрете на несколько регистраций по одному IP-адресу. Возможность регистрироваться одному человеку несколько раз с разных устройств - меня не беспокоит (такова специфика проекта).
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
а какой именно IP вы собираетесь записывать? у подавляющего большинства он динамический, привязываться к IP в наше время глупо, это актуально только на время текущей сессии, а для контроля сессии есть инструменты понадежнее, нежели привязка к IP
*

Fill_

  • Новичок
  • 6
  • 0 / 0
Внешний IP адрес пользователя. Динамический или статический значения не имеет.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Напишите плагинчик на событие onUserBeforeSave и проверяйте IP.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Fill_

  • Новичок
  • 6
  • 0 / 0
В файле: /public_html/libraries/joomla/user/user.php
             В функции: public function bind(&$array), после блока IF:

                    if (strlen($username) > 150)
         {
            $username = substr($username, 0, 150);
            $this->set('username', $username);
         }

                  Добавил:
         if ( empty( $array['IP_reg'] ) ) {
                        $array['IP_reg'] = $_SERVER['REMOTE_ADDR'];
         }


В файле: /public_html/plugins/user/profile/profile.php
              В функции: public function onUserBeforeSave, в самом начале добавил код:

            $ip=(string)$_SERVER['REMOTE_ADDR'];
      $db = JFactory::getDbo();
      $query = $db->getQuery(true)
         ->select($db->quoteName('username'))
         ->from($db->quoteName('jos_users'))
         ->where($db->quoteName('IP_reg'). ' = '. $db->quote($ip));
   
      $db->setQuery($query);
      
      $list = $db->loadResult();
      
      if (!empty($list))
      {
         return false;
      }

                            
В БД, в таблице jos_users добавил столбец IP_reg

В случае регистрации пользователя с уже имеющимся IP адресом в базе, вылетает сообщение - Не удалось зарегистрировать пользователя, и соответственно пользователь не регистрируется.

Опыта доработки/разработки модулей, плагинов, компонентов Joomla у меня нет, поэтому подозреваю, что у данного способа могут быть слабые места?
А еще хотелось бы, чтобы вылетало сообщение - Не удалось зарегистрировать пользователя. Пользователь с Вашим IP уже зарегистрирован. В каком направлении смотреть?
« Последнее редактирование: 12.02.2017, 23:36:25 от Fill_ »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Плагины нужны для расширения функционалов без правки ядра, а вы хакнули само ядро, так что писать плагин уже нет смысла.
Думаю, что во избежание создания нового поля можно засунуть IP в таблицу profile, а сообщение можно сгенерировать таким образом:
Код: php-brief
JFactory::getApplication()->enqueueMessage('сообщение', 'тип');
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Septdir

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

Fill_

  • Новичок
  • 6
  • 0 / 0
IP у многих статика, но после блокировки ру тренера даже домохозяйки её обходят. Да и делается это в 1 клик. Это раз. Два люди выходят в сеть с разных мест даже если предположить что везде IP статический то все равно их может быть несколько. Что уж говлрить про кафе. Поэтому такая проверка не только бессысленна но и нанесет вред.  Ибо скажем из кафе на вашем сайте можно не зарегистрироваться. Что же реализации. Читайте про плагины для юзеров.
P.S. да и вообще сейчас в ходу авторизация через соц . сети есть даже сайты где обычной реги просто нет.

Повторюсь еще раз - специфика проекта. Пускай хоть 100 раз зарегистрируется, но с разных IP-адресов. Пускай заходит хоть откуда, но регистрируется с разных IP.
Читайте про плагины для юзеров. - ссылочку?
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
По гуглить совсем не? Потратил 15 секунд https://docs.joomla.org/Plugin/Events/User
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль аккордеон меню на js, необходимо допилить

Автор makkons

Ответов: 0
Просмотров: 1181
Последний ответ 01.04.2014, 16:06:16
от makkons
Модуль Profile Completeness

Автор ReTEr

Ответов: 0
Просмотров: 1105
Последний ответ 26.02.2013, 18:38:33
от ReTEr
модуль к2 user

Автор garomi

Ответов: 0
Просмотров: 1221
Последний ответ 29.09.2012, 15:54:02
от garomi
Плагин JCH_Optimize - нет файла CSS по указанному адресу.

Автор Gorgeous92

Ответов: 6
Просмотров: 2072
Последний ответ 23.04.2011, 21:05:19
от fatalerror
Пропадают user модули

Автор bog74

Ответов: 1
Просмотров: 1901
Последний ответ 03.10.2009, 22:02:26
от zvolle