summaryrefslogtreecommitdiffstats
path: root/system/core/URI.php
AgeCommit message (Collapse)AuthorFilesLines
2016-01-11[ci skip] Update ellislab.com links to https tooAndrey Andreev1-1/+1
2016-01-11[ci skip] Update codeigniter.com links to httpsAndrey Andreev1-2/+2
2016-01-11[ci skip] Bump year to 2016Andrey Andreev1-2/+2
2015-12-07Merge pull request #4291 from b-kaxa/fix-phpdocAndrey Andreev1-1/+1
[ci skip] phpdoc adjustments in CI_Router and CI_URI
2015-07-28Fix #4005Andrey Andreev1-1/+1
2015-07-27Close #4004Andrey Andreev1-1/+3
2015-03-30Use tabs instead of spacesCyrille TOULET1-11/+11
Signed-off-by: Cyrille TOULET <cyrille.toulet@linux.com>
2015-03-29Fix an "strpos(): Empty needle" warningCyrille TOULET1-8/+11
Signed-off-by: Cyrille TOULET <cyrille.toulet@linux.com>
2015-03-27Fix an "strpos(): Empty needle" warningCyrille TOULET1-2/+2
Signed-off-by: Cyrille TOULET <cyrille.toulet@linux.com>
2015-02-18Fix #3593Andrey Andreev1-28/+25
Revert "fixes" for #167, #388, #705 (also #1326) as it turns out URL-decoding isn't compliant with the CGI/1.1 specification. RFC 3875: http://www.faqs.org/rfcs/rfc3875.html
2015-01-21Remove closing blocks at end of PHP filesvlakoff1-3/+0
2015-01-20[ci skip] Change some log messages' levelAndrey Andreev1-1/+1
'Class Loaded' type of messages flood log files when log_threshold is set to 2 (debug). They're now logged as 'info' level. This is manually applying PR #1528, which was created to do the same thing, but became outdated.
2015-01-09Bulk (mostly documentation) updateAndrey Andreev1-3/+3
- Remove PHP version from license notices - Bump year number in copyright notices - Recommend PHP 5.4 or newer to be used - Tell Travis-CI to test on PHP 5.3.0 instead of the latest 5.3 version Related: #3450
2014-12-05Further changes related to issue #47, PR #3323Andrey Andreev1-5/+4
- Removed a test that was created specifically for the 'convert programmatic characters to entities' feature. - Changed filter_uri() to accept by reference and to not return anything as its only purpose now is to trigger a show_error() call. - Added changelog messages and updated the upgrade instructions.
2014-11-11Fixed return.Razican1-0/+2
Signed-off-by: Razican <admin@razican.com>
2014-11-11Remove URI filter for parenthesis and dollar symbols, as talked in #47.Razican1-7/+0
Signed-off-by: Razican <admin@razican.com>
2014-10-27[ci skip] Switch to MIT license; close #3293Andrey Andreev1-14/+25
2014-05-01Fix a typoAndrey Andreev1-1/+1
2014-05-01Optimization in CI_URI::_set_uri_string()Andrey Andreev1-1/+1
2014-05-01Fix docblock of URI->rsegments propertyvlakoff1-1/+3
2014-02-24Don't use globalsAndrey Andreev1-3/+1
- Use load_class() to get objects during bootstrap process. - Change load_class() to accept a class constructor parameter instead of previously unused class name prefix. - Change CI_Router::__construct() to accept as a parameter.
2014-02-20Method CI_URI::_fetch_uri_string() has been removed, removal of reference.Ivan Tcholakov1-1/+0
2014-02-112013 > 2014darwinel1-1/+1
Update copyright notices from 2013 to 2014. And update one calendar example in user_guide from year 2013/2014 to 2014/2015.
2014-01-18Fix CI_URI:: not being properly indexedAndrey Andreev1-0/+3
2014-01-18Fix #2827Andrey Andreev1-1/+1
2014-01-16URI Routing overhaulAndrey Andreev1-169/+83
- Allow multiple levels of controller directories (supersedes PRs #390, #2439) - Add support for per-directory 'defaul_controller' and '404_override' (resolves issue #2611; supersedes PR #939) - Fixed a bug where default_controller was called instead of triggering 404 if the current route is inside a directory - Removed a few calls from CI_Router to CI_URI that made a necessity for otherwise internal CI_URI methods to be public: - Removed CI_URI::_fetch_uri_string() and moved its logic into CI_URI::__construct() - Removed CI_URI::_remove_url_suffix, CI_URI::_explode_segments() and moved their logic into CI_URI::_set_uri_string() - Removed CI_URI::_reindex_segments() altogether ( doesn't need further manipulation, while is public anyway and can be properly (and more effectively) replaced on the spot)
2014-01-15Fix #2799 by adding conditional PCRE UTF-8 support to CI_URI::filter_uri()Andrey Andreev1-1/+1
Also did a tiny micro-optimization in the Utf8 class.
2014-01-15CI_URI changes related to the 'permitted_uri_chars' settingAndrey Andreev1-12/+23
- Initialize and cache the value in the class constructor instead of searching for it every time - Removed the preg_quote() call from _filter_uri() to allow more fine-tuning from configuration - Renamed _filter_uri() to filter_uri() - it was public anyway and using it cannot break anything Related: issue #2799
2014-01-03A tiny improvement in ruri_string()Andrey Andreev1-6/+1
2013-11-12Deprecate CI_Input::is_cli_request() and add common function is_cli() to ↵Andrey Andreev1-18/+1
replace it Calls to this function are often needed before the Input library is available
2013-04-08Replace another fetch_directory() useAndrey Andreev1-1/+1
2013-02-15Various cosmetic fixesvlakoff1-1/+1
2013-01-11URI->_remove_url_suffix() : more efficient codevlakoff1-3/+3
related to #2135
2013-01-10URI->_remove_url_suffix() : suffix has to be at the end of uri_stringvlakoff1-2/+9
related to #2135
2013-01-07minor tweaks and optimizations: minimize function calls in ↵Ted Wood1-7/+7
_fetch_uri_string(); use constant PHP_SAPI instead of function php_sapi_name()
2013-01-03Merge pull request #2106 from danhunsaker/feature/uri-extensibilityAndrey Andreev1-12/+2
Improved extensibility of the URI class
2013-01-01[ci skip] Happy new yearAndrey Andreev1-1/+1
2012-12-31Improved extensibility of the URI class by modifying `_uri_assoc()` to (1) ↵Daniel Hunsaker1-12/+2
not force a specific list of valid options for `$which`, and (2) build the `$segment_array` and `$total_segments` dynamically regardless of the contents of `$which`. Signed-off-by: Daniel Hunsaker <danhunsaker@gmail.com>
2012-12-06Another use of CI_URI::_remove_relative_directory()Andrey Andreev1-1/+1
2012-12-06Updated formatting and styleguide, thanks narfbg;CJ1-7/+13
2012-12-06Bug fix for relative directory removalchernjie1-1/+20
This fixes two bugs: - for segments that ends with ".." e.g. /user/username../details, this should not be replaced - current solution only replace double slashes, this solutions removes the infinite number of recurring slashes
2012-11-02Fix #1956Andrey Andreev1-1/+1
2012-11-01Fix issue #122Andrey Andreev1-1/+8
2012-11-01Manually apply PR #1594 (fixing phpdoc page-level generation/warnings)Andrey Andreev1-1/+2
Also partially fixes issue #1295, fixes inconsistencies in some page-level docblocks and adds include checks in language files.
2012-10-31Changed URI auto-detection to try PATH_INFO firstAndrey Andreev1-8/+6
(thanks to @sourcejedi, PR #1326) Up until PHP 5.2.4 (which is our new lowest requirement), there was a bug related to PATH_INFO which made REQUEST_URI a more reliable choice. This is now no longer the case, see https://bugs.php.net/bug.php?id=31892 for more details. Also removed ORIG_PATH_INFO from the suggested alternatives for uri_protocol in application/config/config.php as it will not exist in most of PHP's recent versions and is pointless when you can use PATH_INFO anyway.
2012-10-31Fix issue in resetting QUERY_STRING, GET vars introduced in ↵Andrey Andreev1-26/+2
f2b19fee7876708c7a7bb5cba6b7df682a9d2a53
2012-10-31Fix issues #388 & #705Andrey Andreev1-4/+5
(thanks to @sourcejedi, PR #1326 for pointing inconsistencies with RFC2616
2012-10-31Fix an erroneous variable nameAndrey Andreev1-1/+1
2012-10-31Multiple improvements to the URI classAndrey Andreev1-28/+75
(thanks to @sourcejedi, PR #1326 for most of the ideas) - Renamed _detect_uri() and _parse_cli_args() to _parse_request_uri() and _parse_argv() respectively. - Added _parse_query_string() which allows us to detect the URI path from QUERY_STRING much like it is done in _parse_request_uri(). (the above changes also allow for a simpler logic in the case where the *uri_protocol* setting is not set to 'AUTO') - Updated application/config/config.php with a better list of the *uri_protocol* options. - Added _reset_query_string() to aid in re-processing from the QUERY_STRING (utilized in _parse_request_uri() and _parse_query_string()).
2012-10-31CI_URI::_detect_uri() to accept absolute URIsAndrey Andreev1-20/+20
(thanks to @sourcejedi, PR #1326) For HTTP/1.1 compliance, RFC2616 specifies that both relative and absolute URI formats must be accepted: - http://localhost/path/ (absolute) - /path/ (relative)