Новости 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

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

RDJ

  • Осваиваюсь на форуме
  • 19
  • 1 / 0
Как разрешить (либо сделать) редактирование чужих объявлений со страниц сайта?
*

sattan

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Re: Редактирование объявлений
« Ответ #1 : 09.04.2012, 11:00:17 »
Вопрос открыт.
Пробовал изменить  в components/com_adsmanager/views/list/default.php:
Этот кусок:
Код
if (($this->userid == $content->userid)&&($content->userid != 0))	{
заменял на:
Код
if (($this->userid == $content->userid)&&($content->userid != 0)or($user->get('usertype') == 'Super Administrator'))	{
Этог всего этого - админ видит ссылки (изменить, удалить обьявление), но когда нажимаю - выдает окно как при подаче объявления, но не само объявление.
Подскажите, что не так делаю? Хоть в какую сторону капать? 
*

RDJ

  • Осваиваюсь на форуме
  • 19
  • 1 / 0
Re: Редактирование объявлений
« Ответ #2 : 09.04.2012, 16:00:33 »
В общем решил:
в файле components/com_adsmanager/views/edit/view.html.php

Код
			if ($content->userid == $user->id)
{
$isUpdateMode = 1;
}
else
{
$isUpdateMode = 0;
$content = null;
}

удаляем строчку
Код
				$content = null;	
*

sattan

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Re: Редактирование объявлений
« Ответ #3 : 09.04.2012, 17:58:30 »
Да работает, спасибо RDJ. Но Вы решили часть проблемы:если админ изменяет какое-то объявление - то он становиться его хозяином, а этого не надо. Надо, чтобы хозяин объявления не изменялся.
*

sattan

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Re: Редактирование объявлений
« Ответ #4 : 09.04.2012, 18:16:22 »
Пробовал менять в файле components/com_adsmanager/views/edit/view.html.php  код:
Код
if ($content->userid == $user->id)
{
$isUpdateMode = 1;
}
else
{
$isUpdateMode = 0;
$content = null;
}
на этот:
Код
if ($contentid > 0)
{ // edit ad
$content = $contentmodel->getContent($contentid);
$content->ad_text = str_replace ('<br/>',"\r\n",$content->ad_text);

if (($content->userid == $user->id)or($user->get('usertype') == 'Super Administrator'))
{
$isUpdateMode = 1;
}
else
{
$isUpdateMode = 0;
$content = null;
}

}
В результате админ может редактировать все объявления, но при этом становиться их владельцем. Как сделать, чтобы при редактировании владелец не менялся?
*

sattan

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Re: Редактирование объявлений
« Ответ #5 : 10.04.2012, 11:21:16 »
в файле components/com_adsmanager/views/edit/view.html.php когда вставляю вместо
Код
$content = null;
Код
$content->userid == $user->id;
админ может редактировать объявления, но всеравно он становиться их хозяином.
Как сделать, чтобы при изменении админом чужих объявлений, он не становился их владельцем?
*

sattan

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Re: Редактирование объявлений
« Ответ #6 : 10.04.2012, 18:55:42 »
Подскажите, кто-нибудь. Очень надо.
*

sattan

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Re: Редактирование объявлений
« Ответ #7 : 12.04.2012, 18:46:46 »
Решил. В components\com_adsmanager\controller.php (примерно 387-390) в финкции function save() изменил
Код
$content->userid = $user->id;
на
Код
$content->userid = $userid;
Если надо чтобы админ еще и удалял объявления, тогда в этом же файле в функции function delete() (примерно 473-476) изменить
Код
(($content == null)||($content->userid != $user->id))
на
Код
if (($content->userid != $user->id))
Все работает. Всем спасибо за помощь.
*

Deferent

  • Осваиваюсь на форуме
  • 20
  • 3 / 0
  • учусь
Re: Редактирование объявлений
« Ответ #8 : 23.04.2012, 11:18:00 »
J2.5.1 AdsManager 2.6.5 built 263
sattan идеи отличные, только у меня возникла одна мелкая ошибка - при отображении в виде списка заругалось на функцию get и одна серьезная ошибка - после вышеуказанной переделки функции save в файле controller.php новые объявления сохраняются без пользователя - userid = NULL

Поэтому предлагаю следующее решение, которое позволяет модератору, а точнее, пользователю с id XXX иметь точно такой же доступ к объявлению, как и у пользователя, который создал это объявление, включая ссылки на редактирование и удаление с детального вида объявления.

Как добавить в AdsManager 2.6.5 built 263 функцию модерирования.

Добавляем ссылки для модерации при отображении в виде списка.
В файле www/components/com_adsmanager/views/list/tmpl/default.php строку
Код
if (($this->userid == $content->userid)&&($content->userid != 0))

изменено до вида
Код
if (($this->userid == $content->userid)&&($content->userid != 0)or($this->userid == XXX))
-
Добавляем ссылки для модерации при отображении в детальном виде.
В файле www/components/com_adsmanager/views/details/tmpl/default.php строку
Код
if ($this->userid == $this->content->userid)

изменяем на
Код
if (($this->userid == $this->content->userid)or($this->userid == XXX))
-
Корректно отображаем объявление в режиме редактирования.
В файле  www/components/com_adsmanager/views/edit/view.html.php строку
Код
if ($content->userid == $user->id)

дополняем до следующей
Код
if (($content->userid == $user->id)or($user->id == XXX))
-
Корректно сохраняем отредактированное или новое объявление.
В файле www/components/com_adsmanager/controller.php меняем строку
Код
$content->userid = $user->id;

меняем на
Код
if ($user->id == XXX)
                        {       $content->userid = $userid;
                        }
                        else
                        {
                                $content->userid = $user->id;
                        };;
                       
   
позволяем модератору удалять чужие объявления
В файле www/components/com_adsmanager/controller.php строку
Код
if (($content == null)||($content->userid != $user->id))

меняем на
Код
if (($user->id != XXX)&&(($content == null)||($content->userid != $user->id)))
-

PS Не забываем поменять XXX на нужное id пользователя
*

RDJ

  • Осваиваюсь на форуме
  • 19
  • 1 / 0
Re: Редактирование объявлений
« Ответ #9 : 24.04.2012, 10:58:18 »
как сделать привязку к группе? Какая переменная за это отвечает? Т.е. что писать вместо $this->userid, если хотим указать id группы ?
*

sattan

  • Осваиваюсь на форуме
  • 29
  • 1 / 0
Re: Редактирование объявлений
« Ответ #10 : 07.05.2012, 10:44:34 »
Цитировать
как сделать привязку к группе? Какая переменная за это отвечает? Т.е. что писать вместо $this->userid, если хотим указать id группы ?
вместо $this->userid пишеться группа пользователей, которая Вам необходима. Я прописал для пользователей, которые являються владельцами обьявлений и Суперадмина, вот пример:
Код
if (($content->userid == $user->id)or($user->get('usertype') == 'Super Administrator'))
*

RDJ

  • Осваиваюсь на форуме
  • 19
  • 1 / 0
Re: Редактирование объявлений
« Ответ #11 : 08.06.2012, 13:48:18 »
Deferent, по вашему способу если пользователь с id ХХХ будет создавать новое объявление оно не будет ему присваиваться
*

lovivolnu

  • Захожу иногда
  • 323
  • 8 / 0
Re: Редактирование объявлений
« Ответ #12 : 01.08.2012, 19:10:35 »
J2.5.1 AdsManager 2.6.5 built 263
sattan идеи отличные, только у меня возникла одна мелкая ошибка - при отображении в виде списка заругалось на функцию get и одна серьезная ошибка - после вышеуказанной переделки функции save в файле controller.php новые объявления сохраняются без пользователя - userid = NULL

Поэтому предлагаю следующее решение, которое позволяет модератору, а точнее, пользователю с id XXX иметь точно такой же доступ к объявлению, как и у пользователя, который создал это объявление, включая ссылки на редактирование и удаление с детального вида объявления.

Как добавить в AdsManager 2.6.5 built 263 функцию модерирования.

Добавляем ссылки для модерации при отображении в виде списка.
В файле www/components/com_adsmanager/views/list/tmpl/default.php строку
Код
if (($this->userid == $content->userid)&&($content->userid != 0))

изменено до вида
Код
if (($this->userid == $content->userid)&&($content->userid != 0)or($this->userid == XXX))
-
Добавляем ссылки для модерации при отображении в детальном виде.
В файле www/components/com_adsmanager/views/details/tmpl/default.php строку
Код
if ($this->userid == $this->content->userid)

изменяем на
Код
if (($this->userid == $this->content->userid)or($this->userid == XXX))
-
Корректно отображаем объявление в режиме редактирования.
В файле  www/components/com_adsmanager/views/edit/view.html.php строку
Код
if ($content->userid == $user->id)

дополняем до следующей
Код
if (($content->userid == $user->id)or($user->id == XXX))
-
Корректно сохраняем отредактированное или новое объявление.
В файле www/components/com_adsmanager/controller.php меняем строку
Код
$content->userid = $user->id;

меняем на
Код
if ($user->id == XXX)
                        {       $content->userid = $userid;
                        }
                        else
                        {
                                $content->userid = $user->id;
                        };;
                       
   
позволяем модератору удалять чужие объявления
В файле www/components/com_adsmanager/controller.php строку
Код
if (($content == null)||($content->userid != $user->id))

меняем на
Код
if (($user->id != XXX)&&(($content == null)||($content->userid != $user->id)))
-

PS Не забываем поменять XXX на нужное id пользователя
по этому способу можно удалять/редактировать объявления только зарегистрированных пользователей?как сделать,что бы можно было править любое объявление?
*

alexx2007

  • Захожу иногда
  • 145
  • 9 / 1
Re: Редактирование объявлений
« Ответ #13 : 01.08.2012, 22:55:47 »
Подскажите, кто-нибудь. Очень надо.
Редактируйте объявления в Админке и не парьте мозг.
*

klinkoff

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Редактирование объявлений
« Ответ #14 : 10.03.2013, 15:44:00 »
Подскажите, кто-нибудь. очень надо.
Решение я взял здесь: http://joomlaforum.ru/index.php?topic=82331.0
У меня все получилось. Смотреть здесь: www.slavboard.com.ua
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор efimov777

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

Автор DomBeri

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

Автор trel

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

Автор Sabotage

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

Автор klekovkinandrey

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