Новости Joomla

Компонент View logs v.2.2.0

👩‍💻 Компонент View logs v.2.2.0.По горячим следам, рекомендациям и просьбам Joomla-сообщества компонент просмотра логов Joomla получил следующую версиюv.2.2.0. Что нового?- Обновление интерфейса: список логов сделан в виде таблицы, отображение дополнительной информации в списке файлов (время создания и последнего изменения, кнопки действий и их порядок) изменены и сделаны менее пёстрыми.- Добавлен поиск-фильтр по имени файла лога на странице. Находите нужный файл быстрее.- Большие файлы. Просмотр файла лога в модальном окне сохранён для файлов менее 1МБ. Возможность открыть файл в отдельном окне сохранена. Но используйте эту функцию с осторожностью: файлы объёмом 8-10мб ещё возможно открывать в браузере, но более крупные - не рекомендуется. Системные требования:- Совместимость с Joomla 6 и PHP 8.4.- Минимальная версия PHP по-прежнему 8.0.Страница расширенияGitHub расширения@joomlafeed#joomla #расширения

Joomla официально признана цифровым общественным благом Joomla с гордостью сообщает, что была...

Joomla официально признана цифровым общественным благом 🙏🎉Joomla с гордостью сообщает, что была официально признана цифровым общественным благом (Digital Public Good, DPG) Альянсом цифровых общественных благ (Digital Public Goods Alliance, DPGA) — инициативой, поддерживаемой Организацией Объединённых Наций.Это признание ставит Joomla! в ряд международных open-source проектов, которые разделяют ценности открытости, прозрачности, защиты данных и социального воздействия. Важно отметить, что статус цифрового общественного блага присвоен самому программному решению Joomla!, а не организации Joomla как юридическому лицу.Альянс цифровых общественных благ (DPGA) ведёт международный реестр цифровых общественных благ и оценивает проекты на основе чётко определённых стандартов. Его миссия — поддержка открытых технологий, способствующих достижению Целей устойчивого развития ООН (UN SDGs) и решению глобальных задач развития. 🌐Чтобы получить статус цифрового общественного блага, проект должен соответствовать Стандарту цифровых общественных благ (Digital Public Goods Standard), который включает следующие критерии:✔️ Открытое лицензирование (например, использование признанных open-source лицензий)✔️ Защита данных и безопасность✔️ Соответствие правовым и этическим нормам✔️ Вклад в достижение Целей устойчивого развития ООН✔️ Прозрачное управление и долгосрочная устойчивость✔️ Активное вовлечение сообществаПолучение статуса цифрового общественного блага — процесс далеко не автоматический. Joomla прошла тщательную процедуру оценки, которая потребовала предоставления подробной документации и доказательств соответствия строгим стандартам.Благодаря самоотверженной работе множества участников сообщества, этот результат стал наглядным подтверждением универсальности и открытости Joomla, а также бесчисленных способов, с помощью которых она помогает людям создавать веб-решения.Это достижение подчёркивает позицию Joomla как одной из самых надёжных и гибких open-source CMS в мире — системы, которая продолжает давать возможность разработчикам, организациям и государственным структурам создавать открытые, безопасные и инклюзивные цифровые решения.Оригинал новости

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

yager84

  • Новичок
  • 5
  • 0 / 0
Здравствуйте.

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

Решил делать наверно самым простым способом - в ajax-запросе посылаем форму и при onSuccess, чтобы проверить, авторизовался посетитель или нет, вызываем объект JUser. То есть, если JUser->id != 0  пользователь авторизован. Иначе - попробуй, дорогой гость, еще разок.

Для этого в файле шаблона default.php модуля mod_login при срабатывании события onSubmit формы написал такой код:

Код
$('login-form').addEvent('submit', function(event){ //login-form - id формы
    event.stop();
    $('ajaxLoading').addClass('preloading'); //Добавляем класс, в бэкграунде которого гифка
    $('login-form').set('send', {
        onSuccess: function(){
            var aUser = "<?php echo JFactory::getUser()->id; ?>"; //После выполнения ajax-запроса значение aUser = 42
            alert(aUser); //А вот здесь выводится ноль
        }
    }).send();
})

То, что посетитель авторизован, понятно после перезагрузки страницы, но почему все-же значение aUser себя так "ведет". После выполнения скрипта в коде страницы aUser = 42. Но при попытке вывода значения на экран, оно равно нулю.
« Последнее редактирование: 01.10.2012, 14:58:18 от yager84 »
*

mohax

  • Давно я тут
  • 901
  • 66 / 3
Я не гуру JS, но каким образом в aUser должен занестись id юзера? Ведь код у Вас запускается на стороне клиента. Соответственно
Код
<?php echo JFactory::getUser()->id; ?>
срабатывает один раз при генерации страницы.
Вам необходимо в обработчике запроса на стороне сервера прислать ответ скрипту с id юзера.
*

yager84

  • Новичок
  • 5
  • 0 / 0
Вы правы, конечно... Но в таком случае не ясно, откуда в коде скрипта после выполнения запроса, берется id администратора (я выполняю вход под администратором)...

Ладно, решил последовать вашему совету. Я сейчас напишу примерную последовательность моих рассуждений. Вы, если это возможно, поправьте возможные ошибки.

1. Создаем в папке с нашим шаблоном файл, к примеру mylogin.php, куда будем скидывать по onSubmit значения логина и пароля формы авторизации.
2. В нашем файле mylogin.php создаем свою функцию авторизации, с незначительно измененным кодом стандартной функции авторизации login(), описанную в компоненте com_users (components\com_users\controllers\user.php)

Грубо говоря меняем строчки

Код
if (!JError::isError($error)){
    $app->setUserState('users.login.form.data', array());
    $app->redirect(JRoute::_($data['return'], false))
}

на

Код
if (!JError::isError($error)){
    $app->setUserState('users.login.form.data', array());
    echo JFactory::getUser()->id;
}

3. Ну а скрипт получает значение id пользователя.

Я прав? Или все-же нет?..

PS. В данный момент занимаюсь реализацией. Отпишусь по окончании
*

mohax

  • Давно я тут
  • 901
  • 66 / 3
ну можно и так. Единственное, не забудьте поменять адрес на который уходят данные с формы.
*

yager84

  • Новичок
  • 5
  • 0 / 0
Ну... Это понятно.

Спасибо, mohax.
*

yager84

  • Новичок
  • 5
  • 0 / 0
Эх... Не люблю я просить помощи, но без вас, уважаемые гуру, здесь мне не справиться.

Авторизация проходит нормально.

Скрипт (описан в первом посте)

Код
    $('login-form').set('send', {
        onSuccess: function(html){
             бла бла бла
        }
    }).send();

при onSuccess получает id залогиневшегося пользователя. Но три дня бьюсь над проблемой обновления самого модуля авторизации. То есть, по логике, если JFactory::getUser()->id == 0, то показываем сообщение, что он не авторизован. Сие работает. Но если JFactory::getUser()->id > 0, мне надо перерендерить сам модуль авторизации. Не оставлять же залогиненному пользователю форму с запросом пароля. Вот здесь проблема.

Возможно ли, чтобы модуль, грубо говоря, сам себя перерендерил?
*

varX

  • Живу я здесь
  • 2467
  • 141 / 5
  • разработка компонентов
Во первых вам нужно использовать
Код: javascript
new Ajax(url, option).request();
где в option будет функция, которая получит возвращаемый HTML и вставит его вместо старой формы.
Во вторых сама идея бесперспективная, т.к. объект User не изменится без перезагрузки страницы, соответственно не изменится доступность контента, меню и др. функционал.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

yager84

  • Новичок
  • 5
  • 0 / 0
Да, я об этом уже думал. Собственно, можно при user_id>0 просто обновлять страницу. Почему именно так хочется сделать? Ради удобства посетителя. Если он авторизуется и неправильно вводит логин/пароль, то много быстрее дать ему понять, что он не прав таким способом без перезагрузки страницы. Тем более, мне совершенно не нравится, как это делает Joomla по умолчанию.

Но основная причина - это самая первая авторизация. При ее прохождении, мне хотелось, чтобы посетитель в том месте, где была форма логина и пароля видел виджеты, на которые он подписан. Ну да ладно. Спасибо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работает в авторизация

Автор Mobist

Ответов: 8
Просмотров: 1841
Последний ответ 05.08.2019, 13:04:34
от voland
Авторизация на сайте без логина и пароля. Это возможно!

Автор Aeliot

Ответов: 28
Просмотров: 10608
Последний ответ 09.03.2017, 22:30:45
от Septdir
Не удается сохранить изменения в модуле

Автор Bit-auto

Ответов: 1
Просмотров: 1346
Последний ответ 05.02.2017, 19:09:30
от Paha_web
Как сделать кликабельными телефоны в модуле login none outline?

Автор andreikul1967

Ответов: 1
Просмотров: 1422
Последний ответ 12.04.2016, 17:39:07
от darkghost
Вывод данных из дополнительного поля в модуле «html-код»

Автор goga_pgasovav

Ответов: 4
Просмотров: 1443
Последний ответ 17.03.2016, 15:08:49
от goga_pgasovav