Новости Joomla

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

Негодяй

  • Захожу иногда
  • 117
  • 9 / 1
Сейчас, когда пользователи оставляют в тексте объявления ссылки они выводятся обычным текстом. Чтобы сделать их гиперссылками сделайте следующее:

Открываем файл: components/com_adsmanager/helpers/field.php
Перед последней скобкой } вставляем

Код: php
function array_field($ar, $field) {
  $a = array();
  foreach($ar as $r) array_push($a, $r[$field]);
  return $a;
}
function absolute_url($uri, $external=false, $param=false) {
  if(!preg_match("#^https?://#i", $uri)) {
    $uri = "http://$uri";
  }
  return  $uri;
}
 
function htmlize_links($s) {
  preg_match_all("#(?!<=\S)(https?://)?(www\.)?[a-z0-9\.\-]+\.(com|org|edu|net|us|gov|uk|name|info|gl)(/\S*)?#i", $s, $matches, PREG_SET_ORDER);
  if($matches) {
    $links = $this->array_field($matches, 0);
    foreach($links as $i => $link) $links[$i] = preg_replace('/[\)\]]+$/', '', $link);
    $links = array_unique($links);
    foreach($links as $l) {
      $url      = $this->absolute_url($l);
      $link     = "<a href='$url' target='_blank'>$l</a>";
      $regexp   = "|(?!<=\S)".preg_quote($l, '|')."(?=[\s\)])|";
      $s        = preg_replace($regexp, $link, $s);
    }
  }
  return $s;
}

Затем находим

Код: php
case 'textarea':
                    $return .= str_replace(array("\r\n", "\n", "\r"), "<br />", $value);
                    break;

и меняем на

Код: php
case 'textarea':
                    $return .= str_replace(array("\r\n", "\n", "\r"), "<br />", $this->htmlize_links($value));
                    break;

Готово.
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Зачем такое делать?
*

zvi

  • Захожу иногда
  • 392
  • 4 / 0
Зачем такое делать?
я тоже такого мнения, у меня на доске там где не зарегистированые дают объявления наоборот автоматически ссылки убираются
*

Beer

  • Завсегдатай
  • 1097
  • 41 / 1
  • БИРУ - БИР!
 Это для лучшей индексации спама.
 Ты бы лучше силы приложил на то, чтобы юзер при наличии стоп-слов или ссылки в тексте объявления не мог его отправлять - это было бы полезная работа.
 А то админу шлют кучами спам, а он перед удалением еще его смотреть должен.
*

Негодяй

  • Захожу иногда
  • 117
  • 9 / 1
чтобы не индексировалось можно rel="nofollow" прописать
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Редактировать все объявления

Автор den_ko

Ответов: 32
Просмотров: 10324
Последний ответ 25.11.2021, 10:43:38
от FlexNL
Слетают категории объявления

Автор guardnext

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

Автор kozhenevsky

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

Автор Mick_20

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

Автор Den85

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