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

akhalex38

  • Захожу иногда
  • 171
  • 1 / 0
Всем привет:)

В общем, друзья, проблема такая:

Установил на денвер Joomla 1.7 и решил установить шаблон для начала (мне его потом редактировать надо). Все бы хорошо, только вот под шаблоном (точнее под шапкой) надпись

Код
Fatal error: Call to a member function getMessageQueue() on a non-object in Z:\home\test1.ru\www\templates\ol_grosse\functions.php on line 11

Естественно лезу в файл, вот что там есть
Код
<?php
defined('_JEXEC') or die('Restricted access'); // no direct access

if (!defined('_ARTX_FUNCTIONS')) {

define('_ARTX_FUNCTIONS', 1);

function artxHasMessages()
{
global $mainframe;
$messages = $mainframe->getMessageQueue();
if (is_array($messages) && count($messages))
foreach ($messages as $msg)
if (isset($msg['type']) && isset($msg['message']))
return true;
return false;
}

function artxUrlToHref($url)
{
$result = '';
$p = parse_url($url);
if (isset($p['scheme']) && isset($p['host'])) {
$result = $p['scheme'] . '://';
if (isset($p['user'])) {
$result .= $p['user'];
if (isset($p['pass']))
$result .= ':' . $p['pass'];
$result .= '@';
}
$result .= $p['host'];
if (isset($p['port']))
$result .= ':' . $p['port'];
if (!isset($p['path']))
$result .= '/';
}
if (isset($p['path']))
$result .= $p['path'];
if (isset($p['query'])) {
$result .= '?' . str_replace('&', '&amp;', $p['query']);
}
if (isset($p['fragment']))
$result .= '#' . $p['fragment'];
return $result;
}

function artxReplaceButtonsRegex() {
return '' .
'~<input\b[^>]*'
. '(?:'
. '[^>]*\bclass=(?:"(?:[^"]*\s)?button(?:\s[^"]*)?"|\'(?:[^\']*\s)?button(?:\s[^\']*)?\'|button\b)[^>]*'
. '(?:\bvalue=(?:"[^"]*"|\'[^\']*\'|[^>\s]*))'
. '|'
. '(?:\bvalue=(?:"[^"]*"|\'[^\']*\'|[^>\s]*))'
. '[^>]*\bclass=(?:"(?:[^"]*\s)?button(?:\s[^"]*)?"|\'(?:[^\']*\s)?button(?:\s[^\']*)?\'|button\b)[^>]*'
. '|'
. '[^>]*\bclass=(?:"(?:[^"]*\s)?button(?:\s[^"]*)?"|\'(?:[^\']*\s)?button(?:\s[^\']*)?\'|button\b)[^>]*'
. ')'
. '[^>]*/?\s*>~i';
}

function artxReplaceButtons($content)
{
$re = artxReplaceButtonsRegex();
if (!preg_match_all($re, $content, $matches, PREG_OFFSET_CAPTURE))
return $content;

$result = '';
$position = 0;
foreach ($matches[0] as $match) {
$result .= substr($content, $position, $match[1] - $position);
$position = $match[1] + strlen($match[0]);
$result .= '<span class="ju-button-wrapper"><span class="l"> </span><span class="r"> </span>'
. preg_replace('~\bclass=(?:"([^"]*\s)?button(\s[^"]*)?"|\'([^\']*\s)?button(\s[^\']*)?\'|button\b)~i',
'class="\1\3button ju-button\2\4"', $match[0]). '</span>';
}
$result .= substr($content, $position);
return $result;
}

function artxPost($caption, $content)
{
$hasCaption = (null !== $caption && strlen(trim($caption)) > 0);
$hasContent = (null !== $content && strlen(trim($content)) > 0);

if (!$hasCaption && !$hasContent)
return '';

ob_start();
?>
<div class="ju-Post">
<div class="ju-Post-tl"></div><div class="ju-Post-tr"></div><div class="ju-Post-bl"></div>
<div class="ju-Post-br"></div><div class="ju-Post-tc"></div><div class="ju-Post-bc"></div>
<div class="ju-Post-cl"></div><div class="ju-Post-cr"></div><div class="ju-Post-cc"></div>
<div class="ju-Post-body">
<div class="ju-Post-inner">

<?php if ($hasCaption): ?>
<div class="ju-PostMetadataHeader">
<h2 class="ju-PostHeader">
<?php echo $caption; ?>

</h2>

</div>

<?php endif; ?>
<?php if ($hasContent): ?>
<div class="ju-PostContent">

<?php echo artxReplaceButtons($content); ?>

</div>
Дальше я думаю уже не нужно.

Так, Google в помощь: нашел на этом форуме что-то похожее с 1.6, указанные действия не привелик  желаемому, цитирую что предлагают здесь http://joomlaforum.ru/index.php/topic,160787.0.html
Цитировать
Проблема решена
Ищем в файле function.php текст  global $mainframe; $messages = $mainframe->getMessageQueue();

и меняем на $messages = JFactory::getApplication()->getMessageQueue();
Миграция шаблонов siteground 1.5 на 1.6

1.Нужно найти в файлах templates.php и index.php
 текст
 echo $mainframe->getCfg(‘sitename’) ;

зменить на
 $app = &JFactory::getApplication();
 echo $app->getCfg(‘sitename’);

Спасибо, надеюсь на помощь
*

SK

  • Живу я здесь
  • 2155
  • 164 / 0
Re: Проблема с установкой шаблона
« Ответ #1 : 18.05.2012, 13:21:58 »
А почему ставите версию 1.7?
Эта промежуточная версия движка.
Ставьте актуальную на сегодня версию 2.5.4 и на ней тренируйтесь!
*

akhalex38

  • Захожу иногда
  • 171
  • 1 / 0
Re: Проблема с установкой шаблона
« Ответ #2 : 18.05.2012, 13:28:28 »
Решил

Цитировать
Замени указанную строку;
$mainframe->getMessageQueue();

на
JFactory::getApplication()->getMessageQueue();

Источник http://www.utgarda.ru/index.php?option=com_kunena&func=view&catid=10&id=100&Itemid=62

Всем спасибо!

Ок, буду переходить)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

На локал сервере страницы сайта без шаблона, CSS и картинок

Автор Fati

Ответов: 0
Просмотров: 5167
Последний ответ 15.06.2025, 11:57:45
от Fati
Изменение шаблона Joomla! 2.5.24

Автор SecondPC

Ответов: 0
Просмотров: 9154
Последний ответ 26.03.2021, 18:09:33
от SecondPC
Руководство - создание шаблона для Joomla 2.5

Автор dynamit

Ответов: 6
Просмотров: 39357
Последний ответ 02.02.2020, 22:28:15
от AlinaBut
Проблема с доступом к шаблону сайта

Автор thas

Ответов: 4
Просмотров: 9364
Последний ответ 08.11.2019, 19:55:23
от stendapuss
Ошибка при установке шаблона - Fatal error: Call to a member function setDebug() on a non-object in

Автор Mirotvoretz

Ответов: 33
Просмотров: 77006
Последний ответ 11.11.2018, 13:22:26
от vik38