Новости Joomla

‼️👩‍💻 Релиз безопасности Astroid 3.3.11 - шаблона-конструктора для Joomla.

‼️👩‍💻 Релиз безопасности Astroid 3.3.11 - шаблона-конструктора для Joomla.

14 часов назад (на момент публикации заметки) была обнаружена уязвимость в популярном шаблоне-конструкторе Astroid Framework. При атаке на сайт устанавливается бэкдор — системный плагин под названием plg_system_blpayload. Если вы обнаружили этот плагин на своем веб-сайте, значит, он скомпрометирован, и вам необходимо восстановить чистую резервную копию, созданную до установки плагина.

Уязвимость позволяет загружать файлы на сайт и в дальнейшем получить права администратора Joomla.
В рамках атаки (из-за которой и была обнаружена уязвимость) на сайт устанавливался плагин plg_system_blpayload, который при каждой загрузке страницы снаружи он скрытно связывается с (платформой для SEO, работающей на черном рынке (ссылку помещать не будем, просим поверить на слово). Получает список скрытых спам-ссылок (сайты азартных игр, фишинга, мошенничества), подобранный под ваш домен, затем внедряет эти ссылки в HTML-код вашей страницы непосредственно перед рендером - невидимые для посетителей, но полностью читаемые поисковыми роботами. Это называется "отравление SEO" ("отрпавление поисковой выдачи").

Однако, эта уязвимость может использоваться в других целях. Поэтому необходимо срочно проверить ваши сайты, где стоит Astroid Framework и обновить его до версии не ниже 3.3.11. Релиз безопасности выпущен 4 часа назад (на момент написания заметки).

Скачать релиз безопасности Astroid

@joomlafeed

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

artemij

  • Осваиваюсь на форуме
  • 18
  • 1 / 0
Собственно вопрос по теме:
Как сделать так, чтобы слово "товар" склонялось в корзине именно на ВМ2?
Хочется, чтобы при количестве товаров больше 5 корзина говорила: "6 товароВ", а не "6 товарА"
Дело в том, что есть куча решений для 1.х ветки, но так как не силен в РНР не смог полноценно адаптировать решение для второй версии Вирта.
Но даже если методом научного перебора вариантов сделать следующее в файле mod_virtuemart_cart.php :
Код
if ($data->totalProduct>1) $data->totalProductTxt = JText::sprintf('COM_VIRTUEMART_CART_X_PRODUCTS', $data->totalProduct);
else if ($data->totalProduct >= 5) $data->totalProductTxt = JText::sprintf('СТРОКА_В_ЯЗЫКОВОМ_ФАЙЛЕ', $data->totalProduct);
else if ($data->totalProduct == 1) $data->totalProductTxt = JText::_('COM_VIRTUEMART_CART_ONE_PRODUCT');
else $data->totalProductTxt = JText::_('COM_VIRTUEMART_EMPTY_CART');

работает половинчасто. После обновления страницы все ОК, но при нажатии на кнопку "купить" ажакс не хочет обновлять текст на нужный.
Сначала грешил на файл com_virtuemart/controllers/cart.php - там тоже есть подобные строки кода. Но изменив их, делу не помогло.
Проблема в ажаксе? Если да, то ткните носом чего можно сделать.
*

T-rain

  • Осваиваюсь на форуме
  • 29
  • 6 / 0
Re: Склонение "товар" в корзине
« Ответ #1 : 24.05.2012, 18:00:06 »
<?
if (IntVal($arResult["NUM_PRODUCTS"])>0)
{
?>
   <a href="<?=$arParams["PATH_TO_BASKET"]?>">
   <? $numprod = intval($arResult["NUM_PRODUCTS"]);
      $dlinastroki = strlen($numprod);
      $lastsymbol = intval ( substr($numprod, $dlinastroki - 1));
   if ($numprod < 20)
       {if ( $numprod == 1) {echo str_replace('#NUM#', $numprod, GetMessage('YOUR_CART_1'));}
        if ( $numprod > 1 && $numprod < 5) {echo str_replace('#NUM#', $numprod, GetMessage('YOUR_CART_2to4'));}
      if ( $numprod < 21 && $numprod > 4) {echo str_replace('#NUM#', $numprod, GetMessage('YOUR_CART_5to20'));}}
   else
      {if ( $lastsymbol == 1) {echo str_replace('#NUM#', $numprod, GetMessage('YOUR_CART_1'));}
      if ( $lastsymbol == 0) {echo str_replace('#NUM#', $numprod, GetMessage('YOUR_CART_5to20'));}
        if ( $lastsymbol > 1 && $lastsymbol < 5) {echo str_replace('#NUM#', $numprod, GetMessage('YOUR_CART_2to4'));}
      if ( $lastsymbol < 11 && $lastsymbol > 4) {echo str_replace('#NUM#', $numprod, GetMessage('YOUR_CART_5to20'));}}
   ?>
    </a>
<?
}
else
{
?>
   <a href="<?=$arParams["PATH_TO_BASKET"]?>"><?echo GetMessage('YOUR_CART_EMPTY')?></a>
<?
}
?>

и
<?
$MESS['YOUR_CART'] = 'Ваша корзина #NUM#';
$MESS['YOUR_CART_1'] = 'В вашей корзине #NUM# товар';
$MESS['YOUR_CART_2to4'] = 'В вашей корзине #NUM# товара';
$MESS['YOUR_CART_5to20'] = 'В вашей корзине #NUM# товаров';
$MESS['YOUR_CART_EMPTY'] = 'Ваша корзина';
?>
Это я со своего сайта на Битриксе выдрал, из 2х файлов. Просто там логика такая )

Надеюсь разберётесь. Окончания работают нормально, только в районе от 105 до 120 могут быть проблемы вроде, но сейчас не помню, пофиксил или нет.
Если время будет, переделаю. Мне кстати и надо будет это сделать в скором времени.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться