Скачать joomla 3.7 русская версия. Обновление руссификации Joomla. Russian language. Об ошибке PLG_QUICKICON_PHPVERSIONCHECK

Моя первая попытка обновить сайт до Joomla 3.7, привела к ошибке PLG_QUICKICON_PHPVERSIONCHECK. Почему это получилось и как без ошибок обновиться до Joomla 3.7 в этой статье.

Напомню. Вы увидите сообщение о необходимости обновления системы, если у вас включен плагин «Панель иконок - Уведомление о новых версиях Joomla!», ID=437.

Об ошибке PLG_QUICKICON_PHPVERSIONCHECK

С одной стороны, всё просто. Эта ошибка обозначает, что я на сервере хостинга использую не поддерживаемую версию PHP.

С другой стороны, не всё понятно. У меня на сервере стоит PHP 5.4.26. До обновления это версия PHP «всех» устраивала, а для Joomla 3.7, получается, нужна более новая версия PHP?

Чтобы понять проблему, идем на страницу «Технические требования для установки Joomla» (https://downloads.joomla.org/ru/technical-requirements-ru ).

Данная страница обновлена 20 марта 2017. Информация на странице не поменялась, для работы Joomla, в том числе Joomla 3.7, требуется минимальная версия PHP 5.3, и рекомендованы PHP 5.6 или PHP 7.

По всей видимости, причина ошибки PLG_QUICKICON_PHPVERSIONCHECK в недостаточной версии PHP. Остается поменять версию PHP 5.4.26. на сервере и после восстановления сайта из резервной копии, обновиться заново.

Обновление по FTP

Для эксперимента, обновлюсь без смены версии PHP по FTP. Для этого:

  • Скачиваю тут (https://downloads.joomla.org/ru/cms/joomla3/3-7-0 ) файл Joomla! 3.7.0 Upgrade Package (.zip);
  • Распаковываю скачанный архив;
  • Проверяю права CHMOD для файла configuration.php системы, они должны быть, как минимум, 644;
  • Закачиваю архив обновления поверх старого, по FTP в режиме «Заменить более новым».
  • Смотрю результат, как и ожидалось, обновление не удалось.

Выводы

Примечание: На другом сервере обновления прошли без осложнений, в автоматическом режиме. Напомню, как это сделать:

Автоматическое обновление Joomla

  • Очистите кэш сайта;
  • Сделайте резервную копию сайта;
  • Если используете не проверенные расширения малоизвестных авторов, отключите их на вкладке Расширения>>>Управление;
  • Перейдите на вкладку обновления (Компоненты>>>Обновление Joomla!);
  • Обновите систему в режиме автоматического обновления с записью «Напрямую»;
  • Удачное обновление система проинформирует зеленой полосой;

Проверяя версии расширений, включайте их по одному. Это полезно, если какое-либо расширение, будет конфликтовать с новой версией системы.

Еще одна ошибка

После обновления выскочила "традиционная ошибка" : Fatal error: Call to a member function getTag() on a non-object in /libraries/cms/application/site.php on line 456 . Выражается эта ошибка белым экраном после написания новой статьи или редактиовании старой. Появляется не везде, исправляется так.

Доступна к установке Joomla 3.7. Это большое обновление системы. Исправлено более 700 ошибок (по иным подсчетам 1300), добавлено более 40 новых возможностей.

Выкладываю видеобзор новых возможностей.

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

Новые возможности Joomla 3.7

1. Удобство использования

2. Поля в Joomla 3.7

3. Меню в админке

4. Создавайте статьи на лету

5. Обновленные возможности редактора TinyMce

6. Мультиязычные ассоциации

Что не вошло в Joomla 3.7?

1. Новый роутер (для формирования sef - ссылок). Разработчики обратили внимание, что в некоторых моментах использования появляются критические проблемы и чтобы не откладывать запуск Joomla 3.7 перенесли внедрение данной возможности в Joomla 3.8

2. Новый медиа-менеджер

Обновление Joomla! 3.x до версии Joomla! 3.7.0

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

Для автоматического обновления Joomla! 3.x до версии Joomla 3.7 необходимо зайти в административную панель управления сайтом и выполнить следующие действия:

  1. Выбрать пункт меню «Сайт - Обслуживание - Очистить весь кэш» и удалить весь кэш
  2. Выбрать пункт меню «Сайт - Общие настройки» и отключить кэширование
  3. Выбрать пункт меню «Компоненты - Обновления Joomla!»
  4. На панели кнопок нажать кнопку «Очистить кэш»
  5. Когда обнаружено обновление Joomla!, нажать кнопку «Установить обновление»
  6. После обновления необходимо очистить кэш браузера, так как JavaScript и CSS файлы могут быть закэшированы браузером

P.S. Не обновляйтесь до Joomla 3.7.0 на важных проектах.

Баги в популярных CMS в последние месяцы стали настоящей напастью. Появление каждой такой уязвимости означает, что под угрозой оказываются сотни тысяч сайтов, и далеко не каждый владелец успевает вовремя обновиться до свежей версии. В этой статье мы изучим недавно обнаруженную дыру в CMS Joomla: из-за недостаточной фильтрации пользовательских данных система уязвима для SQL-инъекций.

Joomla 3.7.0, помимо множества улучшений и исправлений, принесла в ядро функцию пользовательских полей и, в частности, компонент com_fields . Как ты уже, наверное, догадался, этот новый компонент и стал причиной проблемы. Так что без лишних церемоний приступим к увлекательному путешествию в исходниках по следам уязвимости.

Детали уязвимости

В первую очередь заглядываем в сам файл контроллера.

16: class FieldsController extends JControllerLegacy 17: { ... 27: public function __construct($config = array()) 28: { ... 32: if ($this->input->get("view") === "fields" && $this->input->get("layout") === "modal") ... 36: $lang->load("com_fields", JPATH_ADMINISTRATOR); 37: 38: $config["base_path"] = JPATH_COMPONENT_ADMINISTRATOR;

Сразу же бросается в глаза условие : если view и layout принимают значения fields и modal соответственно, то CMS загружает администраторскую версию компонента com_fields . И все запросы от обычного пользователя будут проксироваться в него.

Что же нам это дает? Давай посмотрим.

Заглянем внутрь метода getListQuery , он занимается тем, что собирает запрос к базе данных. Нас интересует часть со строкой, в которой формируется сортировка (ORDER BY).

124: protected function getListQuery() 125: { ... 304: // Add the list ordering clause 305: $listOrdering = $this->getState("list.fullordering", "a.ordering"); 306: $orderDirn = ""; 307: 308: if (empty($listOrdering)) 309: { 310: $listOrdering = $this->state->get("list.ordering", "a.ordering"); 311: $orderDirn = $this->state->get("list.direction", "DESC"); 312: } 313: 314: $query->order($db->escape($listOrdering) . " " . $db->escape($orderDirn));

Переменная $listOrdering - название поля в таблице, по которому требуется отсортировать запрос. Ее фильтрует функция escape , которая зависит от используемого на сервере драйвера для работы с БД. Она возвращает строку, в которой экранированы спецсимволы, в частности кавычки.

Рассмотрим исходный код этой функции для драйвера mysqli . Он встречается чаще всего, поскольку Joomla при установке предлагает именно его.

/libraries/joomla/database/driver/mysqli.php

242: public function escape($text, $extra = false) 243: { 244: $this->connect(); 245: 246: $result = mysqli_real_escape_string($this->getConnection(), $text); 247: 248: if ($extra) 249: { 250: $result = addcslashes($result, "%_"); 251: } 252: 253: return $result; 254: }

Для фильтрации используется функция mysqli_real_escape_string (строка 246), которая экранирует null-байты, переносы строк, одинарные и двойные кавычки. Однако в нашем случае это абсолютно бесполезные действия, так как в нашей переменной хранится название колонки для сортировки.

Давай посмотрим, как передать нужные нам значения в $listOrdering . Метод getState наследуется прямиком из абстрактного класса JModelLegacy , который является родителем для JModelList , а он, в свою очередь, наследуется нашим FieldsModelFields .

019: class FieldsModelFields extends JModelList ... 305: $listOrdering = $this->getState("list.fullordering", "a.ordering");

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «сайт», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!

Доступна к загрузке Joomla! 3.7.0. Это больше обновление Joomla, которое добавляет огромное количество новых функций.

В обновлении Joomla 3.7.0 было сделано 1300 изменений и добавлено более 40 новых возможностей. Самым значительным изменением Joomla 3.7 это добавление кастомных полей в ядро системы.

Просим обратить внимание, что это очень большое обновление системы и возможны критические ошибки, так как в процессе подготовки к релизу были затронуты почти все системные функции Joomla. Рекомендуем дождаться выхода Joomla 3.7.1, который должен исправить возможные проблемы Joomla 3.7.

Что можно отметить в релизе Joomla 3.7.0?

  • Кастомных поля - 15 типов полей для ваших статей, пользователей и контактов.
  • Компонент ассоциаций многоязычности - по идее упросит ведение и создание сайтов на нескольких языках.
  • Менеджер меню админ панели.
  • Доработка базового редактора Joomla - TinyMCE - больше кнопок и больше возможностей. Можно будет добавлять ссылки на статьи, контакты.
  • Блокировка удаления компонентов - теперь можно будет заблокировать удаление некоторых компонентов Joomla, что позволит избежать некоторых проблем с обслуживанием сайта.
  • Создание материала и пункта меню в один шаг.
  • Общая авторизация - админ панели и фронта сайта.
  • Новый календарик даты.
  • Расширен вывод параметров при редактировании статьи.

Подробнее о возможностях Joomla 3.7 вы можете прочитать в наших статьях:

Что не вошло в Joomla 3.7.0?

  • Как не смешно новый роутер - это самое многострадальное нововведение, которое в очередной раз исключили из релиза, так как в процессе тестирования выявились проблемы. Добавление этой возможности перенесли в Joomla 3.8.
  • Медиа-менеджер - над ним работа ведется и скорей всего он появится в Joomla 3.8 или 3.9 (последний релиз ветки 3.х).

Дистрибутив Joomla! 3.7.0

Обновление Joomla! 3.x до версии Joomla! 3.7.0

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

Для автоматического обновления Joomla! 3.x до версии Joomla 3.7 необходимо зайти в административную панель управления сайтом и выполнить следующие действия:

  1. Выбрать пункт меню «Сайт - Обслуживание - Очистить весь кэш» и удалить весь кэш
  2. Выбрать пункт меню «Сайт - Общие настройки» и отключить кэширование
  3. Выбрать пункт меню «Компоненты - Обновления Joomla!»
  4. На панели кнопок нажать кнопку «Очистить кэш»
  5. Когда обнаружено обновление Joomla!, нажать кнопку «Установить обновление»
  6. После обновления необходимо очистить кэш браузера, так как JavaScript и CSS файлы могут быть закэшированы браузером

Обновление в ручную.

  1. Cкачайте пакет обновления (Joomla_3.7.0-Stable-Update_Package.zip).
  2. Пройдите «Компоненты - Обновление Joomla».
  3. Нажмите кнопку «Выберите файл» и выберите файл скаченного пакета.
  4. Нажмите кнопку «Загрузить и установить»

Добрый день, уважаемые читатели! После установки joomla 3, первым делом необходимо загрузить и установить "Языковые пакеты", тем самым русифицировать joomla 3. Как это сделать, я покажу в сегодняшней статье.

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

Необходимый язык устанавливается отдельно, в нашем случае русский. Итак, давайте приступим к русификации joomla 3, и первым делом, надо скачать русские языковые пакеты.

Скачать русские языковые пакеты

Скачать пакеты для русификации, можно на официальном сайте www.joomla.org , прокрутите открывшуюся страницу в низ и найдите заголовок "RUSSIAN TRANSLATION", после, кликните по ссылке находящейся под пунктом "Download Language Pack".

На открывшейся странице, кликните по ссылке языкового пакета, после чего произойдёт загрузка архива на ваш компьютер.

После загрузки архива, не забудьте распаковать его в отдельную папку. О том как распаковать и создать архив WinRAR, я писал . В итоге, в папке должны лежать русификатор для админки и для самого сайта, их и будим устанавливать.

Русификация jomla 3

Теперь, когда мы скачали архив с русскими языковыми пакетами, пора приступать к самой русификации. Что для этого необходимо сделать.

1. Зайдите в административную панель joomla 3, введя свой логин и пароль.

2. В меню админки выберите пункт меню "Extension", в выпавшем списке кликните на подпункт "Extension Manager".

3. На открывшейся странице нажмите на кнопку "Выберите файл".

4. В открывшемся окне, найдите файл русификации админки на вашем компьютере, который мы скачали, выделите его и нажмите на кнопку "Открыть".

5. После того как мы открыли файл, необходимо нажать на кнопку "Upload & Install", для его установки.

6. По окончании установки должно появится сообщение "Installing language was successful", на зелёном фоне. Означающее что установка языка прошла успешно.

7. Только что, мы установили языковой пакет для админки, теперь, точно так же, установите второй языковой пакет, для сайта.

8. Когда оба русификатора установлены, нам необходимо их включить. Для этого, в админке joomla 3 нажмите на кнопку "Extension", в выпавшем списке выберите пункт "Language Manager".

9. На открывшейся странице, в левой части, кликните на строчку "Installed - Site", означающую "Языковые пакеты сайта". После, нажмите на звёздочку в строчке "Russian", (в правой части страницы). Когда звёздочка загорится оранжевым, на вашем сайте по умолчанию будет установлен русский язык.

10. Теперь нажмите на строчку "Installed - Administrator" и так-же кликните по звёздочке в строчке "Russian", тем самым в русифицируете административную панель, сделав языком по умолчанию русский.

Внимание! Если ваша админка или сайт, не русифицировались, очистите кеш браузера, закройте его и откройте заново. После, повторно зайдите в админку joomla 3.

Похожие публикации