Gokus 0 07/10/13 14:26 Как добавить еще один протокол ссылки?например file://По дефолту ipb просто заменяет его на nullверсия 3.4.5 Поделиться сообщением Ссылка на сообщение
siv1987 2628 07/10/13 16:34 \admin\sources\base\core.php ^(http|https|news|ftp):// ^(http|https|news|ftp|file):// Поделиться сообщением Ссылка на сообщение
siv1987 2628 07/10/13 17:00 Проверил на 3.4.2 - работает.Правда, браузер все равно не открывает эти адреса из гиперссылки.. Поделиться сообщением Ссылка на сообщение
Dmitriy427 198 07/10/13 19:43 Это смотря какой браузер и как настроен. Опера или ФФ некоторые нестандартные протоколы открывают из коробки, "magnet://", например. И откроют (сохранят) вообще что угодно, если сопоставить протоколу или mime-типу приложение (действие) соответствующее. Парсинг ed2k:// я таким образом делал. Gokus:В файле \admin\sources\base\core.php в двух местах такие регулярки. И при вставке такой ссылки нужно выбирать протокол "other" в редакторе. Чтобы они автоматически парсились нужно реплейсы ещё в паре файлов поправить.\admin\sources\classes\bbcode\core.php и \admin\sources\classes\bbcode\custom\defaults.php в 3.2.х-3.3.х, если правильно помню. В новых версиях еще возможно \admin\sources\classes\text\parser.php и \admin\sources\classes\text\parser\bbcode.php, не проверял. Поделиться сообщением Ссылка на сообщение
siv1987 2628 07/10/13 23:35 В файле \admin\sources\base\core.php в двух местах такие регулярки.На самом деле там куда сложнее. Все тянется с classPost.php (formatPost) к composite.php (process), далее к \ips_kernel\HTMLPurifier\HTMLPurifier.php (purify) и доходит до http://htmlpurifier.org/live/configdoc/plain.html#URI.AllowedSchemes Вобщем после двух часов дебагинга, выяснялось что нужно добавить схему для библиотеки HTMLPurifier. 1. Открыть \admin\sources\classes\editor\composite.php Найти $config->set( 'CSS.Trusted' , false );Ниже добавить $config->set( 'URI.AllowedSchemes', array_merge( $config->def->defaults['URI.AllowedSchemes'], array( 'file' => true ) ) ); 2. В методе _denyLinkify этого же файла найти и заменить http| на http|file| (встречается 2 раза)3. Сделать правку в core.php И то, это только для поддержке в ббкоде. Без ббкода ссылка просто будет удалятся. Кому нужно, может копать дальше - истина где-то рядом в composite.php :) 3 Поделиться сообщением Ссылка на сообщение
Dmitriy427 198 07/11/13 04:35 В новых версиях, видимо сложнее, безопасность их шибко озаботила... На 3.2.3 мне для этого достаточно было правки реплейсов. Поделиться сообщением Ссылка на сообщение
Gokus 0 07/11/13 06:25 Всем спасибо за ответы,буду пробывать) Поделиться сообщением Ссылка на сообщение