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

Vars

  • Осваиваюсь на форуме
  • 49
  • 9 / 0
  • 777 or 111111111
Дата размещения
« : 18.01.2008, 14:59:45 »
Вопрос следующий: при обновлении  или редактировании в AdsManeger объявлений дата их создания не изменяется. Соответственно они не отображаются в списке последних объявлений и т. д.
Значит и срок их размещения не продлевается? Или как?
*

sc@r@bey

  • Захожу иногда
  • 360
  • 55 / 5
  • делай, а потом спрашивай что не получилось!
Re: Дата размещения
« Ответ #1 : 18.01.2008, 15:01:53 »
ты можешь отключить срок размещения отключить или поставить тот, который тебе нужен.
*

Vars

  • Осваиваюсь на форуме
  • 49
  • 9 / 0
  • 777 or 111111111
Re: Дата размещения
« Ответ #2 : 18.01.2008, 15:38:01 »
Так то оно так, но иногда пользователи на досках специально обновляют свои сообщения продлевая срок размещения и поднимаю их наверх списка. Как бы такой приемчик раскрутки что ли.
Видно придется код смотреть
Еще один вопрос, а уведомления (отправка емайл автору) об окончании срока размещения реально работает? 
*

Vars

  • Осваиваюсь на форуме
  • 49
  • 9 / 0
  • 777 or 111111111
Re: Дата размещения
« Ответ #3 : 18.01.2008, 20:51:41 »
Ок! Всем спасибо!
Проблема решена, надо всего лишь заменить в коде дату из БД на текущую...
*

sc@r@bey

  • Захожу иногда
  • 360
  • 55 / 5
  • делай, а потом спрашивай что не получилось!
Re: Дата размещения
« Ответ #4 : 19.02.2008, 15:43:20 »
а что именно ты менял?
*

Vars

  • Осваиваюсь на форуме
  • 49
  • 9 / 0
  • 777 or 111111111
Re: Дата размещения
« Ответ #5 : 19.02.2008, 20:36:29 »
Если не ошибаюсь
в adsmanager.html.php, функция show_write_form

строку

echo "<input type='hidden' name='date_created' value='".$row->date_created."' />";

на

echo "<input type='hidden' name='date_created' value='".date("Y-m-d")."' />";


*

Doc

  • Захожу иногда
  • 456
  • 17 / 0
Re: Дата размещения
« Ответ #6 : 17.05.2011, 18:33:04 »
А в 2.6 может кто знает как сделать ?
*

Roof

  • Новичок
  • 5
  • 3 / 0
Re: Дата размещения
« Ответ #7 : 01.06.2011, 03:09:29 »
А в 2.6 может кто знает как сделать ?

Файл conroller.php
строки 302-307 - нужно убрать (закомментировать) условие:
Код
		/*if ($isUpdateMode == 0)
{*/
$content->date_created = date("Y-m-d");
$delta = $conf->ad_duration;  
$content->expiration_date = date("Y-m-d",mktime()+($delta*24*3600));
//}

Тогда объявление поднимается вверх списка и дата истечения срока публикации объявления тоже меняется.
« Последнее редактирование: 01.06.2011, 03:26:45 от Roof »
*

Doc

  • Захожу иногда
  • 456
  • 17 / 0
Re: Дата размещения
« Ответ #8 : 01.06.2011, 08:09:50 »
Спасибо, + 1
*

Nishtiak

  • Захожу иногда
  • 112
  • 3 / 0
Re: Дата размещения
« Ответ #9 : 16.10.2011, 17:48:03 »
Цитировать
Если не ошибаюсь
в AdsManager.html.php, функция show_write_form

строку

echo "<input type='hidden' name='date_created' value='".$row->date_created."' />";

на

echo "<input type='hidden' name='date_created' value='".date("Y-m-d")."' />";
Этот код не помог. Есть объявление, нажимаю кнопку обновить но ничего не меняется объявление так и остается в конце списка, а нужно чтоб поднималось в вверх списка
*

Nishtiak

  • Захожу иногда
  • 112
  • 3 / 0
Re: Дата размещения
« Ответ #10 : 17.10.2011, 23:54:33 »
Подскажите как сделать, очень нужно
*

tas777

  • Захожу иногда
  • 62
  • 0 / 0
Re: Дата размещения
« Ответ #11 : 19.10.2011, 21:08:04 »
Подскажите как сделать, очень нужно
А может кто знает как можно сделать так чтобы обновить можно было один раз в сутки?
*

Nishtiak

  • Захожу иногда
  • 112
  • 3 / 0
Re: Дата размещения
« Ответ #12 : 21.10.2011, 02:21:17 »
Спасибо методом тыка и с вашей помощью разобрался! Обновления обновляются, подскажите пожалуйста как быть со временем, нужно чтоб и время в объявлении тоже обновлялось.
*

Nishtiak

  • Захожу иногда
  • 112
  • 3 / 0
Re: Дата размещения
« Ответ #13 : 21.10.2011, 02:25:39 »
Подскажите пожалуйста. Код вставил появилось
Сегодняшних объявлений:
Вчерашних объявлений:
Объявлений за месяц:

но никаких цифр не отображает. название базы данных точно такое же, а результатов не выдает
*

kisBoss

  • Захожу иногда
  • 449
  • 36 / 0
  • ник Tobol
Re: Дата размещения
« Ответ #14 : 23.10.2011, 10:49:04 »
А для версии 2.5 есть решение задачи вставки кнопки обновить и изменение даты добавления?
Если помог - поставте "плюс". Вам ничего не стоит, а мне приятно.
*

marozz1k

  • Захожу иногда
  • 316
  • 8 / 0
Re: Дата размещения
« Ответ #15 : 24.10.2011, 00:05:25 »
а что со сроком размещения происходит, при нажатии на обновить? Допустим я размещаю на 2 недели, прошла неделя, я нажимаю "обновить" и что оно просто поднимается вверх, а срок остается тот же, или срок увеличивается ?
*

Nishtiak

  • Захожу иногда
  • 112
  • 3 / 0
Re: Дата размещения
« Ответ #16 : 25.10.2011, 22:36:19 »
Подскажите как обновлять и время обновления! т.е. если у меня 10 объявлений, я нажимаю обновлять каждое они становятся в верх списка но не в том порядке в котором я обновлял а в том в котором я подавал, нужно сделать так чтоб и время тоже обновлялось
*

Nishtiak

  • Захожу иногда
  • 112
  • 3 / 0
Re: Дата размещения
« Ответ #17 : 01.11.2011, 01:25:33 »
Кто нибудь подскажите как сделать чтоб обновлялось и время объявления, очень нужно
*

lovivolnu

  • Захожу иногда
  • 323
  • 8 / 0
Re: Дата размещения
« Ответ #18 : 26.03.2012, 13:27:49 »
Подскажите пожалуйста,как сделать,что бы при нажатии на кнопку обновить,объявление подымалось в верх списка и менялась дата публикации на сегодняшнюю и продлевался срок размещения для ads 2.6.5
Заранее спасибо.
« Последнее редактирование: 27.03.2012, 17:00:37 от lovivolnu »
*

lovivolnu

  • Захожу иногда
  • 323
  • 8 / 0
Re: Дата размещения
« Ответ #19 : 28.03.2012, 12:19:13 »
Люди добрые,ну помогите)
*

Deferent

  • Осваиваюсь на форуме
  • 20
  • 3 / 0
  • учусь
Re: Дата размещения
« Ответ #20 : 28.03.2012, 13:44:23 »
Я новичок в Joomla и веб-програмировании, поэтому строго не судите.
Придумал следующее:
в файле www/administrator/components/com_adsmanager/models/content.php

Код
function renewContent($contentid,$ad_duration)
{
$this->_db->setQuery( "SELECT expiration_date FROM #__adsmanager_ads WHERE id = ".(int)$contentid);
$expiration_date = $this->_db->loadResult();
$time = strtotime($expiration_date);
if ($time < time())
{
$time = time();
}
$time = $time + ( $ad_duration * 3600 *24);
$newdate = date("Y-m-d",$time);

$this->_db->setQuery( "UPDATE #__adsmanager_ads SET expiration_date = '$newdate', date_created = CURDATE(),recall_mail_sent=0,published=1 WHERE id=".(int)$contentid." and recall_mail_sent = 1");
$this->_db->query();
}

Заменил на

Код
function renewContent($contentid,$ad_duration)
{

$this->_db->setQuery( "UPDATE #__adsmanager_ads SET expiration_date = DATE_ADD(CURDATE(), INTERVAL +$ad_duration DAY), date_created = CURDATE(),recall_mail_sent=0,published=1 WHERE id=".(int)$contentid);
$this->_db->query();
}

Соответственно при нажатии "Обновить объявление" продлевается объявление, дата публикации ставится текущая - при сортировке по дате объявление поднимается вверх
*

lovivolnu

  • Захожу иногда
  • 323
  • 8 / 0
Re: Дата размещения
« Ответ #21 : 28.03.2012, 16:01:03 »
Спасибо,Deferent
красавчик,работает)
*

sattan

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Re: Дата размещения
« Ответ #22 : 04.04.2012, 17:26:30 »
Да, работает.
Deferent спасибо.
*

angel-w81

  • Новичок
  • 5
  • 0 / 0
Re: Дата размещения
« Ответ #23 : 12.03.2013, 14:30:29 »
Я новичок в Joomla и веб-програмировании, поэтому строго не судите.
Придумал следующее:
в файле www/administrator/components/com_adsmanager/models/content.php


Соответственно при нажатии "Обновить объявление" продлевается объявление, дата публикации ставится текущая - при сортировке по дате объявление поднимается вверх

На версии 2.7 не работает. Помогите пожалуйста решить проблему.
*

girlwolf

  • Захожу иногда
  • 126
  • 3 / 0
Re: Дата размещения
« Ответ #24 : 31.03.2013, 01:45:01 »
Deferent, спасибо!
+ в карму.
Единственное, что я изменила это заменила CURDATE на NOW, чтобы обновлялось ещё и время, а то все поднимаемые объявления были с новой датой но со временем по нулям.

*

girlwolf

  • Захожу иногда
  • 126
  • 3 / 0
Re: Дата размещения
« Ответ #25 : 31.03.2013, 03:01:34 »
Ещё бы хотелось, чтобы поднять объявление можно было хотя бы раз в три дня, не чаще...
*

girlwolf

  • Захожу иногда
  • 126
  • 3 / 0
Re: Дата размещения
« Ответ #26 : 31.03.2013, 13:14:24 »
Возможность поднятия объявлений раз в три дня:

function renewContent($contentid,$ad_duration)
   {      
      $this->_db->setQuery( "SELECT date_created FROM #__adsmanager_ads WHERE id = ".(int)$contentid);
      $obnovka_date = $this->_db->loadResult();
      $time = strtotime($obnovka_date);
      $time = $time + (3600 *72);


      if (time() > $time){
         $this->_db->setQuery( "UPDATE #__adsmanager_ads SET expiration_date = DATE_ADD(NOW(), INTERVAL +$ad_duration DAY), date_created = NOW(),recall_mail_sent=0,published=1 WHERE id=".(int)$contentid);
         $this->_db->query();
      }      
   
   }
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Re: Дата размещения
« Ответ #27 : 17.06.2013, 22:59:33 »
Есть решение для ads 2.8.2?
Помогите пожалуйста делать возможность поднятия объявлений раз в 24 часа, очень надо!
Сейчас ф-ция имеет вид:
Код
function renewContent($contentid,$ad_duration)
{
$this->_db->setQuery( "SELECT expiration_date FROM #__adsmanager_ads WHERE id = ".(int)$contentid);
$expiration_date = $this->_db->loadResult();
$time = strtotime($expiration_date);
if ($time < time())
{
$time = time();
}
$time = $time + ( $ad_duration * 3600 *24);
$newdate = date("Y-m-d",$time);

$this->_db->setQuery( "UPDATE #__adsmanager_ads SET expiration_date = '$newdate', date_created = CURDATE(),recall_mail_sent=0,published=1 WHERE id=".(int)$contentid."");//TODO and recall_mail_sent = 1
$this->_db->query();
}

Привожу к такому виду:

Код
	
function renewContent($contentid,$ad_duration)
{
$this->_db->setQuery( "SELECT date_created FROM #__adsmanager_ads WHERE id = ".(int)$contentid);
$expiration_date = $this->_db->loadResult();
$time = strtotime($expiration_date);
$time = $time + (3600 *24);
        $newdate = date("Y-m-d",$time);

if ($time < time()){
$this->_db->setQuery( "UPDATE #__adsmanager_ads SET expiration_date = '$newdate', date_created = CURDATE(),recall_mail_sent=0,published=1 WHERE id=".(int)$contentid."");//TODO and recall_mail_sent = 1
   $this->_db->query();
}

}

И ничего не происходит.

Дальше нашел в /components/com_adsmanager/views/myads/tmpl/default.php

такой код
Код
if ($this->conf->expiration == 1) { 
if ($content->expiration_date != null) {
$expiration_time = strtotime($content->expiration_date);
$current_time = time();
if ($expiration_time - $current_time <= ($conf->recall_time * 3600 *24)) {
$target = TRoute::_("index.php?option=com_adsmanager&view=expiration&id=$content->id");
echo "<br/><a href='".$target."'>".JText::_('ADSMANAGER_RENEW_CONTENT')."</a>";
}
}
}

и заменил на
Код
$target = TRoute::_("index.php?option=com_adsmanager&view=expiration&id=$content->id");
echo "<br/><a href='".$target."'>".JText::_('ADSMANAGER_RENEW_CONTENT')."</a>";

Теперь кнопка обновления появилась, но обновлять не дает.

Еще наверно и эта ф-ция играет не малую роль:
Код
function renew() {
$app = JFactory::getApplication();

$contentid = JRequest::getInt('id', 0);

$this->addModelPath(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_adsmanager'.DS.'models');
$contentmodel =$this->getModel( "content" );

$confmodel =$this->getModel( "configuration" );
$conf = $confmodel->getConfiguration();

$c = $contentmodel->getContent($contentid,false);
if ($c == null)
exit();

if ($c->expiration_date == null) {
exit();
}

$expiration_time = strtotime($c->expiration_date);
$current_time = time();

if (function_exists("renewPaidAd")) {
renewPaidAd($contentid);
}
else
{
if ($expiration_time - $current_time > ($conf->recall_time * 3600 *24)) {
$app->redirect(TRoute::_("index.php?option=com_adsmanager"),JText::_('ADSMANAGER_CONTENT_CANNOT_RESUBMIT'));
}
$contentmodel->renewContent($contentid,$conf->ad_duration);
}

$cache = JFactory::getCache( 'com_adsmanager');
$cache->clean();

if (COMMUNITY_BUILDER_ADSTAB == 1)
$app->redirect( TRoute::_('index.php?option=com_comprofiler&tab=AdsManagerTab'), JText::_('ADSMANAGER_CONTENT_RESUBMIT') );
else
$app->redirect( TRoute::_('index.php?option=com_adsmanager&view=myads'), JText::_('ADSMANAGER_CONTENT_RESUBMIT') );
}

Как бы теперь это все в кучу сложить?
« Последнее редактирование: 18.06.2013, 17:05:09 от max_1985 »
*

tas777

  • Захожу иногда
  • 62
  • 0 / 0
Re: Дата размещения
« Ответ #28 : 13.07.2013, 18:58:10 »
Обновление объявления организовал вот так:

$row->date_created = date("Y-m-d");
      $delta = $conf->ad_duration; 
      $row->expiration_date = date("Y-m-d",mktime()+($delta*24*3600));

Но стал замечать что если допустим один пользователь добавил объявление изначально 10.01.2013, а второй пользователь
добавил объявление 20.01.2013, то если они обновляются в один день то почему-то объявление которое добавленно позже т.е.
20.01.2013, всегда будет находиться выше чем объявление от 10.01.2013.

Причем это независит от того кто обновил объявление превым.

Если кто знает подскажите в чем причина, где копать ?
*

LS_D

  • Захожу иногда
  • 155
  • 16 / 0
Re: Дата размещения
« Ответ #29 : 13.07.2013, 20:47:16 »
А не проще сделать инъекцию напрямую в БД, нежели ковырять весь код
Например:
Спойлер
[свернуть]
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

как сохранить измененную переменную (например дата создания объявления)?

Автор Alex793

Ответов: 0
Просмотров: 1178
Последний ответ 08.03.2017, 00:13:49
от Alex793
Обновление даты размещения для AdsManager 2.8.2

Автор Nataly

Ответов: 1
Просмотров: 1643
Последний ответ 08.12.2015, 02:55:18
от Ishti39
Дата+время в AdsManager Joomla3

Автор kanevlife

Ответов: 9
Просмотров: 2668
Последний ответ 06.10.2015, 19:48:11
от Frics
Дата подачи объявления в AdsManager 3

Автор gard88

Ответов: 4
Просмотров: 1581
Последний ответ 18.02.2015, 20:06:56
от gard88
Добавляем срок размещения объявлений в AdsMeneger

Автор Kikasso

Ответов: 58
Просмотров: 15517
Последний ответ 28.10.2013, 12:37:45
от zesen