Новости Joomla

Вышли релизы Joomla 6.1 и Joomla 5.4.5: новые возможности и стабильность

Релиз Joomla 6.1.0

Проект Joomla! объявил о доступности Joomla 6.1 [Nyota] — новой минорной версии шестой серии, а также о выпуске релиза исправлений ошибок Joomla 5.4.5. Релиз 6.1 приносит ряд долгожданных функций, повышающих удобство управления контентом и защиту от спама.

👩‍💻 Компонент "CS Афиши" для Joomla.

👩‍💻 Компонент "CS Афиши" для Joomla.

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

В состав пакета расширений входят:
- Компонент "CS Афиши"
- Модуль "Календарь событий"
- Модуль "Предстоящие события"
- Библиотека "ImgResize"

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

Модуль "Календарь событий" отображает предстоящие и прошедшие мероприятие на календаре, с отображением мероприятий на конкретную дату во всплывающем окне.

Модуль "Предстоящие события" показывает список предстоящий событий по порядку их наступления.

P.S. Расширение платное, но плата символическая, чисто для отработки приема платежей. Ключи без ограничения по времени, купившие сейчас - смогут обновляться без ограничений.

Разработчик - участник нашего сообщества Дмитрий Денисов (@codersite).

Страница расширения
Демо

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

den_ko

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
Как сделать так чтобы админ мог редактировать все объявления из фронтенда? Подскажите пожалуйста кто знает...
*

Kikasso

  • Захожу иногда
  • 99
  • 45 / 0
Re: Редактировать все объявления
« Ответ #1 : 13.10.2009, 00:16:06 »
в файле adsmanager.html.php надо править function show_html_ad, добавить кнопочки "Редактировать", "Удалить" в желаемом месте, вот код (редактировать сможет создатель и админ):
Код: php
     if (($row->userid == $my->id)&($row->userid !=0)||($my->id == 62))
{
   echo "<div>";
  $target = sefRelToAbs("index.php?option=com_adsmanager&amp;page=write_ad&amp;adid=".$row->id."&amp;Itemid=".$itemid);
   echo "<button class='adsbut' type='button' onclick=\"document.location='".$target."';\">".ADSMANAGER_AD_EDIT." </button>&nbsp;";
 
  $target = sefRelToAbs("index.php?option=com_adsmanager&amp;page=delete_ad&amp;adid=".$row->id."&amp;Itemid=".$itemid);
   echo"<button class='adsbut' type='button' onclick=\"document.location='".$target."';\">".ADSMANAGER_AD_DELETE."</button></div>";
 
}
В файле adsmanager.php заменить строчку:
Код: php
if ($ad->userid == $my->id)
на
Код: php
	if (($ad->userid == $my->id) or($my->id == 62))
*

den_ko

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
Re: Редактировать все объявления
« Ответ #2 : 13.10.2009, 01:48:23 »
 ^-^Пасибо огромное всё получилось... ^-^
*

realovich

  • Захожу иногда
  • 201
  • 53 / 1
  • Зрящий в корень
Re: Редактировать все объявления
« Ответ #3 : 15.10.2009, 16:31:39 »
Kikasso
МЕГА-спасибо! И мне помог, хотя я и не задавал этот вопрос...
А такой вопросик: можно ли вместо удаления сообщения, сделать так, чтобы оно просто снималось с публикации?
*

Kikasso

  • Захожу иногда
  • 99
  • 45 / 0
Re: Редактировать все объявления
« Ответ #4 : 15.10.2009, 17:59:17 »
Если Вас интересует удаление при непосредственном нажатии на кнопу удалить, то надо в файле adsmanager.php найти функцию remove_ad заменить строчку
Код: php
	$database->setQuery("DELETE FROM #__adsmanager_ads WHERE id=$adid");
на
Код: php
$database->setQuery("UPDATE #__adsmanager_ads SET published = 0 WHERE id=$adid");
и удалить вот эту часть кода (чтобы ничего не удалялось  yes!):
Код: php
$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);
}
}

foreach($plugins as $plugin)
{
$plugin->onDelete(0,$adid);
}

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


Это изменение распространится и ни удаление при окончании срока публикации, т.е. объявления не будут удаляться, а будут становится unpablish

Код: php
ЭТО СПРАВЕДЛИВО ДЛЯ ВСЕРСИИ 2.5
(в меньших версиях для функций "просто удаления" и "удаления по сроку" свой код для каждой).
Всё сказанное теория, практически не проверял, когда то реализовывал публикацию по заданному сроку, вот и остались воспоминания о былом....  ^-^
*

realovich

  • Захожу иногда
  • 201
  • 53 / 1
  • Зрящий в корень
Re: Редактировать все объявления
« Ответ #5 : 16.10.2009, 09:29:05 »
Спасибо большое! Еще вопросик, я в первой твоей рекомендации заменил:
Код
if (($row->userid == $my->id)&($row->userid !=0)||($my->id == 62))

на:
Код
if (($row->userid == $my->id)&($row->userid ==0)||($my->id == 62))

чтобы гости тоже могли редактировать все сообщения (да-да, есть именно такая потребность)... Но при нажатии на кнопку Удалить система просит зарегистрироваться. Можно ли где-то поменять, чтобы гости могли и удалять (снимать с публикации, если применить твой второй патч)
*

Kikasso

  • Захожу иногда
  • 99
  • 45 / 0
Re: Редактировать все объявления
« Ответ #6 : 16.10.2009, 18:46:32 »
для такого решения (когда все могут всё делать), вообще можно убрать проверку условия
Код: php
if (($row->userid == $my->id)&($row->userid ==0)||($my->id == 62))

а что бы можно было еще удалять, нужно в adsmanager.php найти вот этот кусок кода:
Код: php
if (($ad->userid == $my->id)||($my->id == 62))
{
remove_ad($adid,$conf,$plugins);
}
и привести его к следующему виду:
Код: php
	remove_ad($adid,$conf,$plugins);
т.е. перед удалением (снятием с публикации) не проверяем кто ты: админ, пользователь или гость...
*

realovich

  • Захожу иногда
  • 201
  • 53 / 1
  • Зрящий в корень
Re: Редактировать все объявления
« Ответ #7 : 21.10.2009, 11:02:25 »
Это только в версии 2.5? У меня нет функции remove_ad...
*

Kikasso

  • Захожу иногда
  • 99
  • 45 / 0
Re: Редактировать все объявления
« Ответ #8 : 21.10.2009, 12:40:34 »
смысл всё равно в том же, надо в файле adsmanager.php отредактировать функцию delete_ad,
убрать проверку условия:
Код: php
if (($ad->userid == $my->id)||($my->id == 62))
оно там тоже есть, толь между этими строчками код разный...
*

realovich

  • Захожу иногда
  • 201
  • 53 / 1
  • Зрящий в корень
Re: Редактировать все объявления
« Ответ #9 : 21.10.2009, 15:34:05 »
смысл всё равно в том же, надо в файле adsmanager.php отредактировать функцию delete_ad,
убрать проверку условия:
Код: php
if (($ad->userid == $my->id)||($my->id == 62))
оно там тоже есть, толь между этими строчками код разный...

Спасибо огромное! Все сделал, но все равно требует ввести данные для входа в личный кабинет
*

Kikasso

  • Захожу иногда
  • 99
  • 45 / 0
Re: Редактировать все объявления
« Ответ #10 : 22.10.2009, 01:00:55 »
сразу не досмотрел, еще в начале функции delete_ad стоит проверка авторизован ли пользователь:
Код: php
if ($my->id == "0") 
эту проверку тоже надо удалить и всё должно заработать  yes!
*

realovich

  • Захожу иногда
  • 201
  • 53 / 1
  • Зрящий в корень
Re: Редактировать все объявления
« Ответ #11 : 22.10.2009, 17:01:27 »
Отлично! Спасибо огромное!
Но, осталось еще одно НО... После нажатия на кнопку Удалить, он логично спрашивает: Вы действительно хотите удалить объявление? Но после этого, все равно появляется приглашение войти в личный кабинет, хотя объявление удаляется (снимается с публикации)...
*

Kikasso

  • Захожу иногда
  • 99
  • 45 / 0
Re: Редактировать все объявления
« Ответ #12 : 23.10.2009, 01:22:39 »
в конце функции (не последние) delete_ad должны быть строчки типа:
Код
$redirect_text = 'Объявление "'.$ad->ad_headline.'" удалено!';
if ($conf->comprofiler == 2)
mosRedirect(sefRelToAbs("index.php?option=com_comprofiler&amp;task=userProfile&amp;tab=AdsManagerTab&amp;Itemid=5"),$redirect_text);
else
mosRedirect(sefRelToAbs("index.php?option=$option&amp;page=show_user&amp;Itemid=$itemid",''));
}
где первая ссылка mosRedirect - формируется, если включена интеграция с CИ
а вторая ссылка mosRedirect - если не вкл.

т.е. достаточно написать любой адрес по которому хотим перейти после удаления объявления
*

realovich

  • Захожу иногда
  • 201
  • 53 / 1
  • Зрящий в корень
Re: Редактировать все объявления
« Ответ #13 : 23.10.2009, 13:32:50 »
Большущее СПАСИБО! Очень помог!
*

Dimm555

  • Захожу иногда
  • 103
  • 6 / 0
Re: Редактировать все объявления
« Ответ #14 : 15.11.2009, 00:05:17 »
Да, действительно очень необходимая функция, спасибо!
« Последнее редактирование: 31.01.2010, 13:26:23 от Dimm555 »
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
Re: Редактировать все объявления
« Ответ #15 : 24.11.2009, 11:18:32 »
Цитировать
в файле adsmanager.html.php надо править function show_html_ad, добавить кнопочки "Редактировать", "Удалить" в желаемом месте, вот код (редактировать сможет создатель и админ):

Все хорошо тока после редактирования автор у объявления будет admin а не тот кто его создал ((((
*

zemafia

  • Новичок
  • 5
  • 0 / 0
Re: Редактировать все объявления
« Ответ #16 : 03.12.2009, 10:29:39 »
Попробуй заменить только if (($row->userid == $my->id)&($row->userid !=0)||($my->id == 62)), а остальное оставить без изменения в этом файле.
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
Re: Редактировать все объявления
« Ответ #17 : 03.12.2009, 11:17:11 »
ок на выходных попробую
*

DK-Scorp

  • Захожу иногда
  • 235
  • 6 / 0
  • Всегда готов! К чему только....? ХЗ.....
Re: Редактировать все объявления
« Ответ #18 : 29.01.2010, 08:38:46 »
Уважаемые AlexAl, Kikasso, zemafia
пробовал сделать вышеописанные действа, получилось но с багами, как исправить

1. При редактировании с фронта не сохраняется категория объявления, объявление соотв пропадает (категория слетает)
2. Сохраняется пользователь редактировавший объяву, а необходимо чтобы оно не менялось

Вроде все, у кого нибудь работает?

P.S. ADS 2.5 RC2, Joostina 1.2
*

AlexAl

  • Захожу иногда
  • 309
  • 13 / 0
Re: Редактировать все объявления
« Ответ #19 : 29.01.2010, 09:04:23 »
Я попробовал мне не очень понравилось, я уже и не помню бы ли ли проблемы. Сори
*

Dimm555

  • Захожу иногда
  • 103
  • 6 / 0
Re: Редактировать все объявления
« Ответ #20 : 31.01.2010, 13:48:07 »
Все хорошо тока после редактирования автор у объявления будет admin а не тот кто его создал ((((

Невероятно удобный инструмент Редакт\Удаления объявлений, но как решить единственный и существенный минус, что после редактирования админом админ и становиться создателем, а тот кто его добавлял лишается всего (удаления, редакта, но ведь его контакты и данные в объявлении - как-то несправедливо к нему не иметь к ним доступа:)), да и лишние письма админу тоже получать ни к чему).
Подскажите, как можно подправить? У кого получилось?
*

Kikasso

  • Захожу иногда
  • 99
  • 45 / 0
Re: Редактировать все объявления
« Ответ #21 : 31.01.2010, 18:21:15 »
Изначально сделано, что объявлению присваивается ID пользователя который его редактирует, а мы должны не менять ID считанное из БД
для этого необходимо в файле adsmanager.php найти функцию save_ad, в ней строчку:
Код
$row->userid = $my->id
и заменить её на:
Код
$row->userid = $userid

*

Dimm555

  • Захожу иногда
  • 103
  • 6 / 0
Re: Редактировать все объявления
« Ответ #22 : 31.01.2010, 20:45:25 »
Огромное спасибо тебе!
*

krastev

  • Новичок
  • 3
  • 0 / 0
Re: Редактировать все объявления
« Ответ #23 : 08.02.2010, 23:56:52 »
Спасибо! Отлично работает!
*

deadbones

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
  • sex drugs drum'n'bass
Re: Редактировать все объявления
« Ответ #24 : 29.04.2010, 11:21:50 »
Изначально сделано, что объявлению присваивается ID пользователя который его редактирует, а мы должны не менять ID считанное из БД
для этого необходимо в файле adsmanager.php найти функцию save_ad, в ней строчку:
Код
$row->userid = $my->id
и заменить её на:
Код
$row->userid = $userid



всё равно были проблемы с обновлением,то юзер вобще не ставился при добавлении нового,то админ присваивался при редактировании
вот моё решение
Код
		 if ($my->id==62)
{
$row->userid = $userid;
}else{
$row->userid = $my->id;
}

но в таком случае объявы админа не подписует
« Последнее редактирование: 29.04.2010, 14:45:52 от deadbones »
*

askona

  • Захожу иногда
  • 98
  • 2 / 0
Re: Редактировать все объявления
« Ответ #25 : 14.08.2010, 14:22:03 »
Спасибо, очень помогло!
*

realovich

  • Захожу иногда
  • 201
  • 53 / 1
  • Зрящий в корень
Re: Редактировать все объявления
« Ответ #26 : 05.04.2011, 16:43:51 »
Интересно, как в версии 2.6 сделать так, чтобы объявление вместо удаление, получало статус "Снято с публикации" (unpublished)
*

semo777

  • Захожу иногда
  • 76
  • 0 / 0
Re: Редактировать все объявления
« Ответ #27 : 11.02.2012, 13:07:34 »
Поддерживаю. Очень интересно реализовать данную функцию...
*

mbgr

  • Захожу иногда
  • 88
  • 11 / 0
Re: Редактировать все объявления
« Ответ #28 : 11.02.2012, 16:57:27 »
в версии 2.6.5 уже сделано.
*

sattan

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Re: Редактировать все объявления
« Ответ #29 : 11.04.2012, 12:06:24 »
Как в версии 2.6.5. сделать чтобы когда админ редактировал объявления, он не становился их владельцем?
пробовал изменить в components/com_adsmanager/views/edit/view.html.php этот код:
Код
		if ($contentid > 0)
{
$content = $contentmodel->getContent($contentid);
$content->ad_text = str_replace ('<br/>',"\r\n",$content->ad_text);
if ($content->userid == $user->id)
{
$isUpdateMode = 1;
}
else
{
$isUpdateMode = 0;
//$content = null;
}
}
else
{
$isUpdateMode = 0;
}
на этот:
Код
		if ($contentid > 0)
{
$content = $contentmodel->getContent($contentid);
$content->ad_text = str_replace ('<br/>',"\r\n",$content->ad_text);
$user =& JFactory::getUser();
if ($user->get('usertype') == 'Super Administrator')
{
$content->userid = $userid;
$isUpdateMode = 1;
}
else
{
$content->userid == $user->id;
$isUpdateMode = 1;
}
}
else { // insert
$isUpdateMode = 0;

}
и здесь 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 = $db->loadResult();
$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( "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();
$user =& JFactory::getUser();
if ($user->get('usertype') == 'Super Administrator')
{
$content->userid = $user->userid;
$isUpdateMode = 1;
}
else
{
$content->userid == $user->id;
$isUpdateMode = 1;
}
}
Итог тот же - при редактировании админ становиться владельцем объявлений.

Подскажите, что делаю не так?
« Последнее редактирование: 11.04.2012, 12:09:56 от sattan »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

AdsManager 2.9.13 Есть ли возможность добавить функцию снять с публикации по мимо редактировать и уд

Автор murovoz

Ответов: 11
Просмотров: 16708
Последний ответ 27.03.2020, 22:39:23
от Pavel
Слетают категории объявления

Автор guardnext

Ответов: 1
Просмотров: 4922
Последний ответ 09.07.2019, 10:10:59
от guardnext
AdsManger не удаляет объявления

Автор kozhenevsky

Ответов: 0
Просмотров: 2444
Последний ответ 15.02.2018, 12:08:29
от kozhenevsky
Лечим кнопку "Delete from favorites" на странице объявления. AdsManager 3.1.11

Автор Mick_20

Ответов: 1
Просмотров: 2585
Последний ответ 24.12.2017, 22:28:14
от vadim73
Как добавить поле id объявления

Автор Den85

Ответов: 9
Просмотров: 3691
Последний ответ 11.11.2017, 15:18:48
от Den85