Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6.2PageBuilder Toolkit - это специализированный плагин для конструктора страниц Yootheme Pro, содержит набор различных утилит для ускорения процесса работы и отладки макета, множественные улучшения в интерфейсе, включая поддержку dark mode, подсказки, быстрая смена разрешения в окне просмотра и много чего еще.v.1.6.2 Что нового?- Индикатор статусов: теперь не просто показывает состояние запросов, но и делает автоматические попытки их отправки при кратковременных сбоях в сети, а если это не помогло, то переводит конструктор в ручной режим, что позволяет сохранит макет и настройки темы прежде чем вы потеряете все, что было сделано с момента последнего сохранения- Подсветка ошибок в макете: плагин анализирует код страницы и может автоматически подсвечивать data атрибуты с кучей мусора, которые попадают в код страницы при копипасте из Figma в TinyMCE (пригодится для старых макетов, в текущей работе плагин сам очищает код мусора). Также есть подсветка семантических ошибок сборки - дубли h1 тега на странице и вложенных друг в друга заголовков.- Улучшена поддержка будущего релиза Yootheme Pro 5 и редактора CodeMirror 6Плагин для русскоязычных пользователей доступен в каталоге расширений SovMart и распространяется за символическую плату (100р). Разработчики Joomla расширений и партнеры автора могут получить плагин бесплатно.Для работы плагина необходим конструктор страниц Yootheme Pro.Разработчик плагина - участник нашего сообщества Александр Судьбинов (@alexrevo), член официальной группы поддержки Yootheme Pro. Страница расширенияОписание на сайте автора@joomlafeed#joomla #yootheme

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

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
Просмотров: 1089
Последний ответ 01.04.2014, 16:06:16
от makkons
Модуль Profile Completeness

Автор ReTEr

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

Автор garomi

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

Автор Gorgeous92

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

Автор bog74

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