Gokus 0 07/10/2013 02:26 PM Как добавить еще один протокол ссылки?например file://По дефолту ipb просто заменяет его на nullверсия 3.4.5 Share this post Link to post Share on other sites
siv1987 2,623 07/10/2013 04:34 PM \admin\sources\base\core.php ^(http|https|news|ftp):// ^(http|https|news|ftp|file):// Share this post Link to post Share on other sites
Gokus 0 07/10/2013 04:55 PM К сожелению не помогло( Share this post Link to post Share on other sites
siv1987 2,623 07/10/2013 05:00 PM Проверил на 3.4.2 - работает.Правда, браузер все равно не открывает эти адреса из гиперссылки.. Share this post Link to post Share on other sites
Dmitriy427 198 07/10/2013 07:43 PM Это смотря какой браузер и как настроен. Опера или ФФ некоторые нестандартные протоколы открывают из коробки, "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, не проверял. Share this post Link to post Share on other sites
siv1987 2,623 07/10/2013 11:35 PM В файле \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 Share this post Link to post Share on other sites
Dmitriy427 198 07/11/2013 04:35 AM В новых версиях, видимо сложнее, безопасность их шибко озаботила... На 3.2.3 мне для этого достаточно было правки реплейсов. Share this post Link to post Share on other sites
Gokus 0 07/11/2013 06:25 AM Всем спасибо за ответы,буду пробывать) Share this post Link to post Share on other sites