Новости Joomla

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Подходы, описанные в статье, полезны в тех случаях, когда вы работаете с данными в com_fields - механизме создания и редактирования пользовательских полей ядра Joomla и при использовании FieldsHelper. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

Читать статью на Хабре.

@joomlafeed

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

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

Привет всем! как и многие, начну с вопроса.
Не нашел форума обсуждения вопросов миграций с других систем, пожалуйста, перенесите тему в более подходящий раздел, если это нужно.


В процессе переноса пользовательских данных столкнулся с незнакомой мне доселе системой шифрования пароля crypt:salt
salt - как я понимаю, случайный md5() пароль, crypt - реальный пароль в той же md5(), каким-то непостижимым образом пропущенный через salt или что-то вроде того %)))

к примеру, незамысловатый пароль 11111 выглядит
в md5 как
b0baee9d279d34fa1dfd71aadb908c3f
в joomla как
480e560252bc9db5c98d00f495d2addd:m1cofuGVB3pTTvntubblR0LYCtoVpIDk

Пожалуйста, подскажите цепь преобразований имеющейся базы обычных 32-символьных md5-паролей (достаточно на примере одного 11111) в вид, использующийся в j1.5
или направьте на статью/кусок кода



*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Вот так этот значение получается:

Код
<?php
$salt  = JUserHelper::genRandomPassword(32);
$crypt = JUserHelper::getCryptedPassword('11111', $salt);
$password = $crypt.':'.$salt;
?>

Как вы видите, во вторую функцию надо передать нешифрованный пароль, в противном случае она вернет совсем другое значение. В принципе, насколько я понял код, возможна ситуация когда первой части нет... Я думаю, что имеет смысл посмотреть код компонента-мигратора с версии 1.0 на версию 1.5, наверняка там они эту задачу уже решали.
« Последнее редактирование: 31.03.2008, 15:15:25 от smart »

Спасибо!
поищу мигратор...

а возможно ли в 1.5 как-то не особенно болезненно подправить код, чтобы вернуть незамороченное md5-шифрование? -)

порывшись в разнообразных миграторах я (не без злости) не нашел никаких преобразований - в любом из них пароли берутся as is, и пишутся as is.
ТОЛЬКО ПОСЛЕ ЭТОГО мне стукнуло попробовать пройти авторизацию с обычным 32-символьным паролем в бд, вместо 32:32 %)
она прошла успешно %)

вопрос снимаю
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Таким образом получается, что Joomla 1.5 поддерживает и старый формат паролей и новый... Ну что ж, это тоже результат и информация достаточно полезная. По крайней мере второй раз на этих граблях стоять уже не будем!
*

Kotofeich

  • Осваиваюсь на форуме
  • 20
  • 22 / 1
Может кому пригодится. Я рылся в по этой тематике.
Определяется пароль в joomla 1.5 следующем образом:
пользователь ввел логин и пароль. По логину мы нашли его в бд.
Берем из бд его пароль, и делаем такую вот штуку:
$parts   = explode( ':', $hash_password->password );
        $crypt   = $parts[0];
        $salt   = @$parts[1];

Итак нас тут интересует $salt. Через него и пароль пользователя мы создаем $crypt
 $testcrypt = JUserHelper::getCryptedPassword($password, $salt);

В итоге нам осталось только сравнить $password и $testcrypt. Если они совпали, то юзверь успешно авторизован.
Linkfeedator - клиент к биржам sape, setlinks, linkfeed. Раскрутка и продвижение сайтов.
http://kjoomla.com - все для программистов на joomla 1.5
*

klimin

  • Новичок
  • 1
  • 0 / 0
В итоге нам осталось только сравнить $password и $testcrypt. Если они совпали, то юзверь успешно авторизован.

Остается сравнить не $password и $testcrypt, а $crypt и $testcrypt!

Народ... Это всё хорошо... А может кто подскажет алгорит работы функций JUserHelper::genRandomPassword() и JUserHelper::getCryptedPassword()??? Очень надо организовать точно такое же шифрование... Всё уже перерыл и в движке и на форумах... Заранее спасибо.
*

Darkick

  • Завсегдатай
  • 1142
  • 239 / 1
Дык посмотри в коде что эти функции делают и выдери куски раз так надо.

А где они там описаны? Находил только куски кода где они применяются...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Переход с Joomla! 1.5 на 2.5

Автор Usman48

Ответов: 2
Просмотров: 1969
Последний ответ 22.01.2014, 18:50:24
от flyingspook
Переход с DLE 8.3 на Joomla 1.5

Автор Андрей Иванович

Ответов: 13
Просмотров: 5743
Последний ответ 06.12.2013, 02:18:21
от llektor
Переход с Joomla 1.5.26 на ветку 2.5

Автор Kizimov

Ответов: 0
Просмотров: 3081
Последний ответ 27.04.2013, 00:44:27
от Kizimov
Как установить правильно переход с 1,22 на 1,23 русской версии

Автор rafaello9

Ответов: 2
Просмотров: 1634
Последний ответ 30.04.2011, 22:38:34
от rafaello9
переход с php4 на php5

Автор user01

Ответов: 12
Просмотров: 3747
Последний ответ 04.07.2010, 16:24:31
от AlexSmirnov