Новости Joomla

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

👩‍💻 Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1. Это релиз, в который включены уже проверенные изменения, но ещё очень многие исправления и улучшения ждут своей очереди. Joomla следит за качеством и безопасностью своего кода и каждое изменение должно быть успешно протестировано как минимум ещё двумя участниками сообщества. Разработка Joomla ведётся на платформе GitHub.Филипп Уолтон (Philip Walton) - один из разработчиков, кто активно вносит свой вклад в ядро Joomla. Он уже несколько месяцев посвящает свои послеполуденные часы пятницы работе с Joomla и предлагает присоединиться к нему. 📆 Пятница, 30 мая 2025, с 15:00 до 17:00 по UTC (Лондон) - с 18:00 до 20:00 по Москве.В чате Google Meet Филипп готов помочь с тестированием тем, кто будет делать это в первый раз. А так же он подготовил список лёгких Pull Request, которые можно протестировать довольно быстро. Чем больше тестов будет проведено сейчас, тем меньше ошибок вылезет потом. На данный момент 148 (уже 147 на момент написания заметки) PR на GitHub Joomla ждут тестирования.👩‍💻 Open to all. All together.Также вам поможет сделать первые шаги это видео.GitHub JoomlaДа, это вечер пятницы. Но тестирование занимает порой минут 15, а доброе дело сделано. Просто убедитесь, что разработчик чего-то не пропустил и всё работает как ожидается.#joomla #joomla6 #community

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

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
Просмотров: 12836
Последний ответ 27.03.2020, 22:39:23
от Pavel
Слетают категории объявления

Автор guardnext

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

Автор kozhenevsky

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

Автор Mick_20

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

Автор Den85

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