29 июля, 201311 yr comment_37693 как правильно установить этот патч? после открытия архива файл minify_patch_07_13 - public-min-config.php залил в testforum-public-min с заменой файла сообщение в АЦ осталось что не так делаю? прошу помощи спасибо заранее Edited 29 июля, 201311 yr by kovboi Link to comment https://ipbmafia.ru/topic/4832-nekorrektnaya-obrabotka-dlinnyh-ssylok/?&do=findComment&comment=37693 Share on other sites Больше вариантов
29 июля, 201311 yr Author comment_37694 kovboi, сообщение исчезнет позже само. По этому патчу безопасности есть отдельная тема. Link to comment https://ipbmafia.ru/topic/4832-nekorrektnaya-obrabotka-dlinnyh-ssylok/?&do=findComment&comment=37694 Share on other sites Больше вариантов
29 июля, 201311 yr comment_37722 podvorie, и на этом форуме такой проблемы нет. Запарился уже. После установки того патча (345_linkify.zip) что-то надо сделать? нет. У меня все сразу заработало. Link to comment https://ipbmafia.ru/topic/4832-nekorrektnaya-obrabotka-dlinnyh-ssylok/?&do=findComment&comment=37722 Share on other sites Больше вариантов
31 июля, 201311 yr comment_37830 у вас хук Name or Quote стоит? стоит Link to comment https://ipbmafia.ru/topic/4832-nekorrektnaya-obrabotka-dlinnyh-ssylok/?&do=findComment&comment=37830 Share on other sites Больше вариантов
1 августа, 201311 yr comment_38046 Здравствуйте. При вставке в текст сообщения длинной ссылки получается, что движок (или сам редактор) пытается сделать из нее активную гиперссылку и делает это с ошибкой, обрабатывая только часть ссылки. Т.е. вставляю длинную ссылку, а на выходе полный текст ссылки, но только часть ее сделана гиперссылкой. Как это исправить? Спасибо! Перевод от IBR? Если да, то дело в нем. Я решил этот баг так. Внимание, это для версии 3.4.5 , но думаю в ранних версиях аналогично Файл /ips_kernel/HTMLPurifier/HTMLPurifier/Injector/Linkify.php находим код $uni=(IPS_DOC_CHAR_SET=="UTF-8")?"u":""; preg_match_all( "#(.*?)(()?((?:http|ftp|https)://[p{L}-_]+(?:.[p{L}-_]+)?(?:[p{L}-.,()@?^=%&:/~+#]*[p{L}-@?^=%&/~+#]))(.*?)$#ims" . $uni, $token->data, $matches ) меняем на $uni=(IPS_DOC_CHAR_SET=="UTF-8")?"u":""; preg_match_all( "#(.*?)(()?((?:http|ftp|https)://[а-яА-Яw-_]+(?:.[а-яА-Яw-_]+)?(?:[а-яА-Яw-.,()@?^=%&:/~+#]*[а-яА-Яw-@?^=%&/~+#]))(.*?)$#ims" . $uni, $token->data, $matches ); сохраняем файл (обязательно!!) в кодировке UTF-8 (без BOM!!!!). Теперь все работает, по крайней мере у меня так. Мой файл Linkify.php в аттаче Linkify.zip Link to comment https://ipbmafia.ru/topic/4832-nekorrektnaya-obrabotka-dlinnyh-ssylok/?&do=findComment&comment=38046 Share on other sites Больше вариантов
1 августа, 201311 yr Author comment_38047 kgb, не знаю чей перевод, NULL тут скачивал. Спасибо, попробую! Link to comment https://ipbmafia.ru/topic/4832-nekorrektnaya-obrabotka-dlinnyh-ssylok/?&do=findComment&comment=38047 Share on other sites Больше вариантов
1 августа, 201311 yr comment_38050 spoken, ну вот, можете посмотреть, и русские урлы и транслит обрабатывает __homemasters.ru/forum/topic/23228-obsuzhdenie-novogo-foruma/page-7#entry266331 Link to comment https://ipbmafia.ru/topic/4832-nekorrektnaya-obrabotka-dlinnyh-ssylok/?&do=findComment&comment=38050 Share on other sites Больше вариантов
16 августа, 201311 yr comment_40105 Вот точна такая-же проблема ссылками,попробую выше перечисленные способы,может поможет Link to comment https://ipbmafia.ru/topic/4832-nekorrektnaya-obrabotka-dlinnyh-ssylok/?&do=findComment&comment=40105 Share on other sites Больше вариантов
16 августа, 201311 yr comment_40197 Вообщем я пришел к окончательному решению этой проблемы! Все дело в том что администратор этого сайта распространяет этим безобразным багом от которого ссылки не правильно вставляются и получается так что пол ссылки кликабельная а дальше она как текст! Что-бы устранить этот баг мне пришлось откопать официальную версию IPB 3.4.4 и вытащить с нее файлик - Linkify.php Теперь давайте посмотрим чем отличается этот файлик от файлика который валяется в IPB 3.4.4 представленным администратором этого прекрасного форума! Исходник файла Linkify.php от IPB 3.4.4 скаченного с этого форума <?php /** * Injector that converts http, https and ftp text URLs to actual links. */ class HTMLPurifier_Injector_Linkify extends HTMLPurifier_Injector { public $name = 'Linkify'; public $needed = array('a' => array('href')); public function handleText(&$token) { if (!$this->allowsElement('a')) return; if (strpos($token->data, '://') === false) { // our really quick heuristic failed, abort // this may not work so well if we want to match things like // "google.com", but then again, most people don't return; } //print $token->data; // there is/are URL(s). Let's split the string: // Note: this regex is extremely permissive //$bits = preg_split('#((?:https?|ftp)://[^s'"<>()]+)#S', $token->data, -1, PREG_SPLIT_DELIM_CAPTURE); /* MODIFIED April 26, 2013 @link __community.invisionpower.com/resources/bugs.html/_/ip-board/links-being-corrupted-or-malformed-in-board-and-nexus-r41993 Test case: __invisionpower.com, __invisionpower.com. __invisionpower.com https://invisionpower.com https://blah.gov/blah-blah.as __en.wikipedia.org/wiki/Chi_(mythology) (__google.com) */ $uni=(IPS_DOC_CHAR_SET=="UTF-8")?"u":""; preg_match_all( "#(.*?)(()?((?:http|ftp|https)://[p{L}-_]+(?:.[p{L}-_]+)?(?:[p{L}-.,()@?^=%&:/~+#]*[p{L}-@?^=%&/~+#]))(.*?)$#ims" . $uni, $token->data, $matches ); //print_r($matches);exit; //$token = array(); // $i = index // $c = count // $l = is link /*for ($i = 0, $c = count($bits), $l = false; $i < $c; $i++, $l = !$l) { if (!$l) { if ($bits[$i] === '') continue; $token[] = new HTMLPurifier_Token_Text($bits[$i]); } else { $token[] = new HTMLPurifier_Token_Start('a', array('href' => $bits[$i])); $token[] = new HTMLPurifier_Token_Text($bits[$i]); $token[] = new HTMLPurifier_Token_End('a'); } }*/ if( is_array($matches) AND count($matches) ) { $token = array();//by denchu 06062013 foreach( $matches[0] as $k => $match ) { if( !$matches[3][$k] ) { $token[] = new HTMLPurifier_Token_Text($token->data); } else { if( $matches[1][$k] ) { $token[] = new HTMLPurifier_Token_Text($matches[1][$k]); } if( $matches[2][$k] ) { $token[] = new HTMLPurifier_Token_Text($matches[2][$k]); } if( !$matches[2][$k] AND $matches[4][$k] == ')' ) { $matches[3][$k] .= ')'; unset($matches[4][$k]); } $token[] = new HTMLPurifier_Token_Start('a', array('href' => $matches[3][$k])); $token[] = new HTMLPurifier_Token_Text($matches[3][$k]); $token[] = new HTMLPurifier_Token_End('a'); if( $matches[4][$k] ) { $token[] = new HTMLPurifier_Token_Text($matches[4][$k]); } } } } //print_r($token);exit; } } // vim: et sw=4 sts=4 Исходник файла Linkify.php от IPB 3.4.4 скаченного с официального форума <?php /** * Injector that converts http, https and ftp text URLs to actual links. */ class HTMLPurifier_Injector_Linkify extends HTMLPurifier_Injector { public $name = 'Linkify'; public $needed = array('a' => array('href')); public function handleText(&$token) { if (!$this->allowsElement('a')) return; if (strpos($token->data, '://') === false) { // our really quick heuristic failed, abort // this may not work so well if we want to match things like // "google.com", but then again, most people don't return; } //print $token->data; // there is/are URL(s). Let's split the string: // Note: this regex is extremely permissive //$bits = preg_split('#((?:https?|ftp)://[^s'"<>()]+)#S', $token->data, -1, PREG_SPLIT_DELIM_CAPTURE); /* MODIFIED April 26, 2013 @link __community.invisionpower.com/resources/bugs.html/_/ip-board/links-being-corrupted-or-malformed-in-board-and-nexus-r41993 Test case: __invisionpower.com, __invisionpower.com. __invisionpower.com https://invisionpower.com https://blah.gov/blah-blah.as __en.wikipedia.org/wiki/Chi_(mythology) (__google.com) */ preg_match_all( "#(.*?)(()?((?:http|ftp|https)://[w-_]+(?:.[w-_]+)?(?:[w-.,()@?^=%&:/~+#]*[w-@?^=%&/~+#]))(.*?)$#ims", $token->data, $matches ); //print_r($matches);exit; $token = array(); // $i = index // $c = count // $l = is link /*for ($i = 0, $c = count($bits), $l = false; $i < $c; $i++, $l = !$l) { if (!$l) { if ($bits[$i] === '') continue; $token[] = new HTMLPurifier_Token_Text($bits[$i]); } else { $token[] = new HTMLPurifier_Token_Start('a', array('href' => $bits[$i])); $token[] = new HTMLPurifier_Token_Text($bits[$i]); $token[] = new HTMLPurifier_Token_End('a'); } }*/ if( is_array($matches) AND count($matches) ) { foreach( $matches[0] as $k => $match ) { if( !$matches[3][$k] ) { $token[] = new HTMLPurifier_Token_Text($token->data); } else { if( $matches[1][$k] ) { $token[] = new HTMLPurifier_Token_Text($matches[1][$k]); } if( $matches[2][$k] ) { $token[] = new HTMLPurifier_Token_Text($matches[2][$k]); } if( !$matches[2][$k] AND $matches[4][$k] == ')' ) { $matches[3][$k] .= ')'; unset($matches[4][$k]); } $token[] = new HTMLPurifier_Token_Start('a', array('href' => $matches[3][$k])); $token[] = new HTMLPurifier_Token_Text($matches[3][$k]); $token[] = new HTMLPurifier_Token_End('a'); if( $matches[4][$k] ) { $token[] = new HTMLPurifier_Token_Text($matches[4][$k]); } } } } //print_r($token);exit; } } // vim: et sw=4 sts=4 Ну вот,теперь вы сами увидели своими глазами что в этих двух файлах есть отличия! Вообщем ребят не буду тут демагогию разводить если хотите от этого бага избавится то идите по этому пути: ips_kernel/HTMLPurifier/HTMLPurifier/Injector/Linkify.php и все содержимое файла Linkify.php сотрите и закиньте в него код от официального файла и будет вам счастье! Edited 16 августа, 201311 yr by Solovei Link to comment https://ipbmafia.ru/topic/4832-nekorrektnaya-obrabotka-dlinnyh-ssylok/?&do=findComment&comment=40197 Share on other sites Больше вариантов
16 августа, 201311 yr Author comment_40199 Этот сайт не виноват, это авторы пакета русификации IBR сломали этот файл. Link to comment https://ipbmafia.ru/topic/4832-nekorrektnaya-obrabotka-dlinnyh-ssylok/?&do=findComment&comment=40199 Share on other sites Больше вариантов
16 августа, 201311 yr comment_40201 Вот сам файл,его подмените на свой и воля (только для IPB 3.4.5) Этот сайт не виноват, это авторы пакета русификации IBR сломали этот файл. Возможно и так Ах да я там выше пост написал по устранению этого бага и ошибся в версиях,в место 3.4.5 я написал 3.4.4 Linkify.php Edited 16 августа, 201311 yr by Solovei Link to comment https://ipbmafia.ru/topic/4832-nekorrektnaya-obrabotka-dlinnyh-ssylok/?&do=findComment&comment=40201 Share on other sites Больше вариантов
17 августа, 201311 yr comment_40372 Возможно и так Ах да я там выше пост написал по устранению этого бага и ошибся в версиях,в место 3.4.5 я написал 3.4.4 Прикрепленные файлы Вы выложили оригинальный Linkify.php . Но он не устраняет этот баг, если в ссылках используется кирилица, как, например, на этом форуме. Мой вариант работает как с латиницей так и с кирилицей Edited 17 августа, 201311 yr by kgb Link to comment https://ipbmafia.ru/topic/4832-nekorrektnaya-obrabotka-dlinnyh-ssylok/?&do=findComment&comment=40372 Share on other sites Больше вариантов
17 августа, 201311 yr comment_40378 Вы выложили оригинальный Linkify.php . Но он не устраняет этот баг, если в ссылках используется кирилица, как, например, на этом форуме. Мой вариант работает как с латиницей так и с кирилицей Спасибо, Ваш вариант помог с сылками. Link to comment https://ipbmafia.ru/topic/4832-nekorrektnaya-obrabotka-dlinnyh-ssylok/?&do=findComment&comment=40378 Share on other sites Больше вариантов
18 августа, 201311 yr comment_40383 kgb, Спс всё починилось Link to comment https://ipbmafia.ru/topic/4832-nekorrektnaya-obrabotka-dlinnyh-ssylok/?&do=findComment&comment=40383 Share on other sites Больше вариантов
24 августа, 201311 yr comment_41320 Ребят подскажите пожалуйста как в этот код добавить ещё символ "|" без него ссылка перестаёт работать, а после отправки сообщения он меняется на %7C Link to comment https://ipbmafia.ru/topic/4832-nekorrektnaya-obrabotka-dlinnyh-ssylok/?&do=findComment&comment=41320 Share on other sites Больше вариантов
15 сентября, 201311 yr Author comment_43782 kgb, даже с вашим файлом ссылки типа ipbmafia.ru/topic/test206/ парсятся у меня только до цифр. Задолбала эта проблема. Link to comment https://ipbmafia.ru/topic/4832-nekorrektnaya-obrabotka-dlinnyh-ssylok/?&do=findComment&comment=43782 Share on other sites Больше вариантов
27 февраля, 201410 yr comment_56861 Ребят, а как запретить автоматическое преобразование ссылок вида __site.ru в активные ссылки? В общем нужно чтобы ссылки добавлялись просто как текст. Link to comment https://ipbmafia.ru/topic/4832-nekorrektnaya-obrabotka-dlinnyh-ssylok/?&do=findComment&comment=56861 Share on other sites Больше вариантов
27 февраля, 201410 yr comment_56872 Kinkl, интересный вопрос. Но его нужно в отдельную тему. Link to comment https://ipbmafia.ru/topic/4832-nekorrektnaya-obrabotka-dlinnyh-ssylok/?&do=findComment&comment=56872 Share on other sites Больше вариантов
3 апреля, 201410 yr comment_60376 Никто не сталкивался проблемой, что ссылки с подчеркиванием типа __some_domain.com/ постятся некорректно? Edited 3 апреля, 201410 yr by joefast Link to comment https://ipbmafia.ru/topic/4832-nekorrektnaya-obrabotka-dlinnyh-ssylok/?&do=findComment&comment=60376 Share on other sites Больше вариантов
2 февраля, 20159 yr comment_79899 Добрый день. Подскажите пожалуйста. У меня ipb 3.4.6. При попытке закоментить топик стартера жмем ПКМ "Вставить" текст. CTRL+V тоже не приводят к желаемому результату. Где копать не подскажите? Link to comment https://ipbmafia.ru/topic/4832-nekorrektnaya-obrabotka-dlinnyh-ssylok/?&do=findComment&comment=79899 Share on other sites Больше вариантов
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.