Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6.2PageBuilder Toolkit - это специализированный плагин для конструктора страниц Yootheme Pro, содержит набор различных утилит для ускорения процесса работы и отладки макета, множественные улучшения в интерфейсе, включая поддержку dark mode, подсказки, быстрая смена разрешения в окне просмотра и много чего еще.v.1.6.2 Что нового?- Индикатор статусов: теперь не просто показывает состояние запросов, но и делает автоматические попытки их отправки при кратковременных сбоях в сети, а если это не помогло, то переводит конструктор в ручной режим, что позволяет сохранит макет и настройки темы прежде чем вы потеряете все, что было сделано с момента последнего сохранения- Подсветка ошибок в макете: плагин анализирует код страницы и может автоматически подсвечивать data атрибуты с кучей мусора, которые попадают в код страницы при копипасте из Figma в TinyMCE (пригодится для старых макетов, в текущей работе плагин сам очищает код мусора). Также есть подсветка семантических ошибок сборки - дубли h1 тега на странице и вложенных друг в друга заголовков.- Улучшена поддержка будущего релиза Yootheme Pro 5 и редактора CodeMirror 6Плагин для русскоязычных пользователей доступен в каталоге расширений SovMart и распространяется за символическую плату (100р). Разработчики Joomla расширений и партнеры автора могут получить плагин бесплатно.Для работы плагина необходим конструктор страниц Yootheme Pro.Разработчик плагина - участник нашего сообщества Александр Судьбинов (@alexrevo), член официальной группы поддержки Yootheme Pro. Страница расширенияОписание на сайте автора@joomlafeed#joomla #yootheme

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

samson56633

  • Осваиваюсь на форуме
  • 37
  • 7 / 1
  • Самсон
Помогите пожалуйста в таком вопросе! После автоудаления объявлений на странице сайта выскакивает такое сообщение  Warning: Invalid argument supplied for foreach() in Z:\home\kkk\www\components\com_adsmanager\adsmanager.php  on line 1707   причем это происходит 1 раз в сутки и именно после удаления объявлений. А количество этих сообщений зависит от количества удаленных объяв  т.е. если удалилось 1 объявление , то и сообщение 1(пример на фото), а если 30 то и сообщений 30. Как избавиться от этого сообщения?

[вложение удалено Администратором]
*

samson56633

  • Осваиваюсь на форуме
  • 37
  • 7 / 1
  • Самсон
Господа, подскажите пожалуйста как избавиться от этого поганого сообщения. (смотрите постом выше).
На сайте поотключал все выводы сообщений об ошибках, а это всеравно выскакивает. Замучился уже. Вот кусок кода из файла adsmanager.php   1707 строку выделил (поставил номер строки)
Код
function remove_ad($adid,$conf,$plugins)
{
global $database,$mosConfig_absolute_path;

$database->setQuery("SELECT * FROM #__adsmanager_ads WHERE id=$adid");
$database->loadObject($ad);
if ($database -> getErrorNum()) {
echo $database -> stderr();
return false;
}

$database->setQuery("DELETE FROM #__adsmanager_ads WHERE id=$adid");
if ($database->getErrorNum()) {
echo $database->stderr();
} else {
$database->query();
}

$database->setQuery("DELETE FROM #__adsmanager_adcat WHERE adid=$adid");
if ($database->getErrorNum()) {
echo $database->stderr();
} else {
$database->query();
}

$database->setQuery( "SELECT name FROM #__adsmanager_fields WHERE `type` = 'file'");
$file_fields = $database->loadObjectList();
foreach($file_fields as $file_field)
{
$filename = "\$ad->".$file_field->name;
eval("\$filename = \"$filename\";");
@unlink($mosConfig_absolute_path."/images/com_adsmanager/files/".$filename);
}

$nbImages = $conf->nb_images;

for($i = 1 ;$i < $nbImages + 1; $i++)
{
$ext_name = chr(ord('a')+$i-1);
$pict = $mosConfig_absolute_path."/images/com_adsmanager/ads/".$adid.$ext_name."_t.jpg";
if ( file_exists( $pict)) {
unlink( $pict);
}
$pic = $mosConfig_absolute_path."/images/com_adsmanager/ads/".$adid.$ext_name.".jpg";
if ( file_exists( $pic)) {
unlink( $pic);
}
}

1707--Строка--   foreach(@$plugins as $plugin)
{
$plugin->onDelete(0,$adid);
}

if (function_exists('deletePaidAd')){
deletePaidAd($adid);
}
}

function delete_ad($adid,$option,$plugins)
{
global $mosConfig_absolute_path,$database,$my;

$itemid  = intval( mosGetParam( $_GET, 'Itemid', 0 ));

// get configuration
$database->setQuery( "SELECT * FROM #__adsmanager_config");
$database->loadObject($conf);
if ($database -> getErrorNum()) {
echo $database -> stderr();
return false;
}

    if ($my->id == "0") { // user not logged in
//PathWay
$paths[0]->text = ADSMANAGER_ROOT_TITLE;
$paths[0]->link = sefRelToAbs('index.php?option='.$option.'&amp;Itemid='.$itemid);
adsmanager_html::show_pathway($paths,$option);
adsmanager_html::loginpage($_SERVER['REQUEST_URI'],$conf->comprofiler);  
    }
    else {  // user logged in
*

saidrustam

  • Захожу иногда
  • 100
  • 7 / 0
Господа, подскажите пожалуйста как избавиться от этого поганого сообщения. (смотрите постом выше).
На сайте поотключал все выводы сообщений об ошибках, а это всеравно выскакивает. Замучился уже. Вот кусок кода из файла adsmanager.php   1707 строку выделил (поставил номер строки)
Меня тоже такая же ошибка раздражала, Видимо здесь $plugins непраильную информацию получает, кто знает в чем проблем, ну вот решение  этого

внутри функции function remove_ad($adid,$conf,$plugins) я закомментировал
           //foreach($plugins as $plugin)
   //{
   //   $plugin->onDelete(0,$adid);
   //}
и все нормально, сообщении об ошибке нэту
« Последнее редактирование: 08.05.2010, 12:18:17 от saidrustam »
*

saidrustam

  • Захожу иногда
  • 100
  • 7 / 0
Интереную Фишку нужно доделать прогеры присойдиняйтесь. Есть сайт Агенства недвижимости из ADS managera, нужно сделать чтобы срок публикации объявлении действовало только для пользователей под категории Зарегистрированный, и объявления которые вводится с Админпанели не удалялись ни когда.

Пока мне удалось сделать чтобы не удалялись объявления юзера под id=66, function manage_expiration() где удаляются объяв. добавил AND userid != 66:

$database->setQuery( "SELECT id FROM #__adsmanager_ads WHERE recall_mail_sent = 1 AND expiration_date < CURDATE() AND userid != 66 ");
         $idsarray = $database->loadResultArray();
         if(isset($idsarray) && count($idsarray) > 0){
            foreach($idsarray as $adid)
            {
               remove_ad($adid,$conf,$plugins);
            }
         }

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

samson56633

  • Осваиваюсь на форуме
  • 37
  • 7 / 1
  • Самсон
Спасибо saidrustam! Я тут еще один способ нашел, в файле adsmanager.php в самом верху над самой первой строкой вставил такую строчку
Код
<?php error_reporting( E_ERROR ); ?>
И ошибка тоже пропала.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Заглушки с http://placehold.it вместо картинок в списке объявлений

Автор efimov777

Ответов: 6
Просмотров: 5554
Последний ответ 12.04.2020, 07:25:59
от Pavel
Хочу уточнить, есть в AdsManager возможность загрузки объявлений с парсера?

Автор DomBeri

Ответов: 3
Просмотров: 9519
Последний ответ 28.03.2019, 17:20:10
от DomBeri
Удалить карту объявлений Google

Автор trel

Ответов: 7
Просмотров: 3846
Последний ответ 25.03.2019, 09:02:25
от Technic
Вывод объявлений в случайном порядке

Автор Sabotage

Ответов: 3
Просмотров: 1674
Последний ответ 28.09.2018, 14:21:05
от Sabotage
Поля в списке объявлений

Автор klekovkinandrey

Ответов: 0
Просмотров: 1407
Последний ответ 17.01.2018, 10:18:34
от klekovkinandrey