]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Save allowed path/qstring/fragment characters in constants
authorMikael Nordfeldth <mmn@hethane.se>
Wed, 9 Mar 2016 13:51:52 +0000 (14:51 +0100)
committerMikael Nordfeldth <mmn@hethane.se>
Wed, 9 Mar 2016 13:51:52 +0000 (14:51 +0100)
lib/framework.php
lib/util.php

index 620730370f4c8d75a64a6ba71aea338cbe1e9f82..3a62bb5d68633e1d057a6980b1d78e188bf9ec37 100644 (file)
@@ -57,6 +57,10 @@ define('NOTICE_INBOX_SOURCE_FORWARD', 4);
 define('NOTICE_INBOX_SOURCE_PROFILE_TAG', 5);
 define('NOTICE_INBOX_SOURCE_GATEWAY', -1);
 
+define('URL_REGEX_VALID_PATH_CHARS',        '\pN\pL\,\!\(\)\.\:\-\_\+\/\=\&\;\%\~\*\$\+\'\@');
+define('URL_REGEX_VALID_QSTRING_CHARS',     URL_REGEX_VALID_PATH_CHARS);
+define('URL_REGEX_VALID_FRAGMENT_CHARS',    URL_REGEX_VALID_PATH_CHARS . '\?\#');
+
 // append our extlib dir as the last-resort place to find libs
 
 set_include_path(get_include_path() . PATH_SEPARATOR . INSTALLDIR . '/extlib/');
index 05e3e732bd1ed1469a44d84ca5ed6fd8fdada06e..977c55f4e6c0c99b0fc8e9181089c481de4e6ef1 100644 (file)
@@ -1013,9 +1013,9 @@ function common_replace_urls_callback($text, $callback, $arg = null) {
         ')'.
         '(?:'.
             '(?:\:\d+)?'. //:port
-            '(?:/[\pN\pL$\,\!\(\)\.\:\-\_\+\/\=\&\;\%\~\*\$\+\'@]*)?'. // /path
-            '(?:\?[\pN\pL\$\,\!\(\)\.\:\-\_\+\/\=\&\;\%\~\*\$\+\'@\/]*)?'. // ?query string
-            '(?:\#[\pN\pL$\,\!\(\)\.\:\-\_\+\/\=\&\;\%\~\*\$\+\'\@/\?\#]*)?'. // #fragment
+            '(?:/['  . URL_REGEX_VALID_PATH_CHARS    . ']*)?'.  // path
+            '(?:\?[' . URL_REGEX_VALID_QSTRING_CHARS . ']*)?'.  // ?query string
+            '(?:\#[' . URL_REGEX_VALID_FRAGMENT_CHARS . ']*)?'. // #fragment
         ')(?<![\?\.\,\#\,])'.
     ')'.
     '#ixu';