Новости Joomla

Вышли релизы Joomla 6.1 и Joomla 5.4.5: новые возможности и стабильность

Релиз Joomla 6.1.0

Проект Joomla! объявил о доступности Joomla 6.1 [Nyota] — новой минорной версии шестой серии, а также о выпуске релиза исправлений ошибок Joomla 5.4.5. Релиз 6.1 приносит ряд долгожданных функций, повышающих удобство управления контентом и защиту от спама.

👩‍💻 Компонент "CS Афиши" для Joomla.

👩‍💻 Компонент "CS Афиши" для Joomla.

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

В состав пакета расширений входят:
- Компонент "CS Афиши"
- Модуль "Календарь событий"
- Модуль "Предстоящие события"
- Библиотека "ImgResize"

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

Модуль "Календарь событий" отображает предстоящие и прошедшие мероприятие на календаре, с отображением мероприятий на конкретную дату во всплывающем окне.

Модуль "Предстоящие события" показывает список предстоящий событий по порядку их наступления.

P.S. Расширение платное, но плата символическая, чисто для отработки приема платежей. Ключи без ограничения по времени, купившие сейчас - смогут обновляться без ограничений.

Разработчик - участник нашего сообщества Дмитрий Денисов (@codersite).

Страница расширения
Демо

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

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
Здравствуйте уважаемые форумчане!
Написал модуль подписки неавторизованным пользователям на новые комментарии.
Появилась пара вопросов мне непонятных.

helper.php
Код: php
<?php
// no direct access
defined('_JEXEC') or die;
class ModMailHelper
{
function getPost()
{
$app = JFactory::getApplication();
$input = $app->input;
$ta=$input->get('hel');
if($ta=='hel')
{
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
$option = JRequest::getVar('option', '');
$id = JRequest::getString('id');
$lang = JFactory::getLanguage()->getTag();
$mail = $input->get('email', '', 'String');
$user = JFactory::getUser();
if ($user->get('id'))
{
$userid = (int) $user->get('id');
$name = $user->name;
}
else
{
$userid = 0;
$name = 0;
}
$db = JFactory::getDbo();
$query = $db->getQuery( true )
    ->select('(id)')
    ->from($db->quoteName('#__jcomments_subscriptions'))
    ->where ($db->quoteName('email'). ' = ' . $db->quote($mail))
    ->where ($db->quoteName('object_id'). ' = ' . $db->quote($id));
$xid = $db->setQuery( $query )->loadResult();
if (!$xid)
{
$query = $db->getQuery(true);
$query->insert($db->quoteName('#__jcomments_subscriptions'));
$columns = array( $db->quoteName('email'),
$db->quoteName('object_id'),
$db->quoteName('lang'),
$db->quoteName('object_group'),
$db->quoteName('userid'),
$db->quoteName('name'),
$db->quoteName('hash'),
$db->quoteName('published'));
$query->columns($columns);
$query->values($db->Quote($mail)
      . ', ' . $db->quote($id)
      . ', ' . $db->quote($lang)
      . ', ' . $db->quote($option)
      . ', ' . $db->quote($userid)
      . ', ' . $db->quote($name)
      . ', ' . $db->quote(md5($id . $option . $userid . $mail . $lang))
      . ', ' . $db->quote(1));
$db->setQuery($query);
$db->query();
if ($query)
{ // Сообщение о подписке
$app->enqueueMessage('Вы подписаны на уведомления о новых комментариях');
}
}
else
{ // Сообщение об ошибке
$app->enqueueMessage('Вы уже подписаны на уведомления о новых комментариях!', 'error');
}}}}
?>

tmpl/default.php
Код: php
<?php
// No direct access to this file
defined('_JEXEC') or die;
JHtml::_('behavior.tooltip');
JHtml::_('behavior.formvalidation');

$option = JRequest::getVar('option', '');
$view = JRequest::getVar('view', '');
if ($option == $params->get('option') && $view == $params->get('view')){
?>

<div class="mail<?php echo $moduleclass_sfx ?>" >

<form action="" name="adminForm" id="adminForm" method="post" class="form-validate" >
      <input  id="email" name="email" type="text" class="inputbox required validate-email" size="20" /><button type="submit" >Подписаться</button>
      <input type="hidden" name="task" value="" />
      <input type="hidden" name="hel" value="hel" />

<?php 
$url = $_SERVER['HTTP_REFERER'];
$return = base64_encode($url);
?>
<input type="hidden" name="return" value="<?php echo $return; ?>" />
<?php echo JHtml::_('form.token'); ?>
</form>
</div>
<?php
}
?>

При обнавлении страницы (F5) снова происходит отправка данных
Как это решить?

Вот эта строчка смущает       JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
В нужное ли место и правильно я её вставил?

Буду очень благодарен за доработку модуля
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
В сообщении о подписке добавь
Код
$app->redirect($_SERVER['HTTP_REFERER']);

После того как будет выполнен код тебе перенаправит на туже страницу где ты и был, это считается как перезагрузка страницы, но сообщение будет выводиться в любом случае...
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

Sergeyy

  • Захожу иногда
  • 154
  • 3 / 0
В сообщении о подписке добавь
Код
$app->redirect($_SERVER['HTTP_REFERER']);

После того как будет выполнен код тебе перенаправит на туже страницу где ты и был, это считается как перезагрузка страницы, но сообщение будет выводиться в любом случае...
Ок! Спасибо работает!
Вот этот код в шаблоне значит не нужен:
Код
<?php  
$url = $_SERVER['HTTP_REFERER'];
$return = base64_encode($url);
?>
<input type="hidden" name="return" value="<?php echo $return; ?>" />
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Вот этот код в шаблоне значит не нужен:
Код
<?php  
$url = $_SERVER['HTTP_REFERER'];
$return = base64_encode($url);
?>
<input type="hidden" name="return" value="<?php echo $return; ?>" />

Нет, он уже не нужен...
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль JComments Latest

Автор smart

Ответов: 574
Просмотров: 349903
Последний ответ 05.07.2023, 16:42:32
от sertlan
Как вместо "Недостаточно прав для написания комментария" вывести модуль?

Автор VAlex1983

Ответов: 5
Просмотров: 4761
Последний ответ 14.09.2022, 11:43:14
от Vlad1
Модуль для вывода последних комментариев из JComments

Автор draff

Ответов: 7
Просмотров: 4126
Последний ответ 16.09.2021, 21:35:48
от draff
Модуль JComments Latest - фильтрация по id

Автор Kelman

Ответов: 0
Просмотров: 1210
Последний ответ 21.02.2021, 22:18:17
от Kelman
Как добавить JComments в модуль?

Автор korkka44

Ответов: 14
Просмотров: 3152
Последний ответ 07.10.2017, 15:01:20
от voland