Delphinum, спасибо ) На первый взгляд сложно разобраться, т.к. у меня нет опыта работы с консолью.
ДоХтор, на второй взгляд поймешь, что там все элементарно
Хотя не, в 7-рке еще пару отличий будет. Вот код для 7(вставлять в /system/johncms/Tools.php, строка 104):
* (+/-)
/**
* Обработка текстов перед выводом на экран
*
* @param string $str
* @param int $br Параметр обработки переносов строк
* 0 - не обрабатывать (по умолчанию)
* 1 - обрабатывать
* 2 - вместо переносов строки вставляются пробелы
* @param int $tags Параметр обработки тэгов
* 0 - не обрабатывать (по умолчанию)
* 1 - обрабатывать
* 2 - вырезать тэги
*
* @return string
*/
public function checkout($str, $br = 0, $tags = 0)
{
$str = htmlentities(trim($str), ENT_QUOTES, 'UTF-8');
if ($br == 1) {
$str = nl2br($str);
} elseif ($br == 2) {
$str = str_replace("\r\n", ' ', $str);
}
if ($tags == 1) {
$str = $this->container->get('bbcode')->tags($str);
} elseif ($tags == 2) {
$str = $this->container->get('bbcode')->notags($str);
}
return self::linkUser(trim($str));
}
/**
* Ссылка на профиль по символу @
*
* @param string $str
*
* @return string
*/
public function linkUser($str) {
$arr = preg_replace_callback(
'~(@(.*))~iu',
function ($a) {
$us = $this->db->query("
SELECT `id` FROM `users`
WHERE `name` = '". mysql_real_escape_string($a[2]) ."'
")->fetch();
if (!empty($us['id'])) {
return '<a href="'. $this->config['homeurl'] .'/users/profile.php?user='. $us['id'] .'">'. $a[1] .'</a>';
} else {
return $a[0];
}
},
explode(' ', $str)
);
return join(' ', $arr);
}
можно ещё объеденить с хаком когда страница юзера это субдомен, то есть
админ.сайт.ру
ValekS, а зачем в этой строке return self::linkUser(trim($str)); писать trim() ? Он ведь вверху прописан.
ValekS, Че то не катит. Функцию checkout заменить надо?
# ДоХтор (30.01.2017 / 21:30)
ValekS, а зачем в этой строке return self::linkUser(trim($str)); писать trim() ? Он ведь вверху прописан.
Не знаю. Так изначально было в коде функции.
# PaRtiZzaN (30.01.2017 / 21:30)
ValekS, Че то не катит. Функцию checkout заменить надо?
Да. Или заменить в ней одну строку
return self::linkUser($str);