diff options
Diffstat (limited to 'user_guide_src/source')
45 files changed, 283 insertions, 122 deletions
diff --git a/user_guide_src/source/_themes/sphinx_rtd_theme/layout.html b/user_guide_src/source/_themes/sphinx_rtd_theme/layout.html index 20ede7d32..908590ebf 100644 --- a/user_guide_src/source/_themes/sphinx_rtd_theme/layout.html +++ b/user_guide_src/source/_themes/sphinx_rtd_theme/layout.html @@ -70,7 +70,7 @@ {%- endblock %} {%- block extrahead %} {% endblock %} - {# Keep modernizr in head - http://modernizr.com/docs/#installing #} + {# Keep modernizr in head - https://modernizr.com/docs/#installing #} <script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script> </head> diff --git a/user_guide_src/source/_themes/sphinx_rtd_theme/versions.html b/user_guide_src/source/_themes/sphinx_rtd_theme/versions.html index 8b3eb79d2..a574bd7ef 100644 --- a/user_guide_src/source/_themes/sphinx_rtd_theme/versions.html +++ b/user_guide_src/source/_themes/sphinx_rtd_theme/versions.html @@ -29,7 +29,7 @@ </dd> </dl> <hr/> - Free document hosting provided by <a href="http://www.readthedocs.org">Read the Docs</a>. + Free document hosting provided by <a href="https://www.readthedocs.org">Read the Docs</a>. </div> </div> diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst index b42b21722..7fcd72e8a 100644 --- a/user_guide_src/source/changelog.rst +++ b/user_guide_src/source/changelog.rst @@ -31,6 +31,7 @@ Release Date: Not Released - Removed previously deprecated method ``is_cli_request()`` (use :php:func:`is_cli()` instead). - Changed the ``set_cookie()`` method's default expiry time to 0 (expires when browser is closed). - Changed the ``set_cookie()`` method to delete the cookie if a negative expiry time is passed to it. + - Allowed usage of nested array keys in ``get_post()``, ``post_get()`` methods. - Libraries @@ -86,6 +87,7 @@ Release Date: Not Released - :doc:`Query Builder <database/query_builder>`: - Added methods ``having_in()``, ``or_having_in()``, ``not_having_in()``, ``or_not_having_in()``. + - Updated methods ``where_in()``, ``or_where_in()``, ``not_where_in()``, ``or_not_where_in()`` to reject non-array inputs for the second parameter. - Updated method ``join()`` to allow accepting ``NATURAL`` clauses in its third parameter. - Updated logic to allow dots in alias names. @@ -127,12 +129,65 @@ Release Date: Not Released - Added ability to generate ``data:image/png;base64`` URIs instead of writing image files to disk. - Updated to always create PNG images instead of JPEG. +Version 3.1.11 +============== + +Release Date: Not Released + + +Bug fixes for 3.1.11 +==================== + +- Fixed a bug (#5681) - :doc:`Database Forge <database/forge>` method ``modify_column()`` produced erroneous SQL for ``DEFAULT`` attribute changes under PostgreSQL, Firebird. +- Fixed a bug (#5692) - :doc:`Database Forge <database/forge>` didn't handle column nullability with the 'oci8', 'pdo/oci' drivers. + +Version 3.1.10 +============== + +Release Date: Jan 16, 2019 + +- General Changes + + - Added 'ssl_verify' support to the 'pdo/mysql' :doc:`Database <database/index>` driver. + - Renamed :doc:`Inflector Helper <helpers/inflector_helper>` function ``is_countable()`` to :php:func:`word_is_countable()` due to the former colliding with one introduced in PHP 7.3.0. + +Bug fixes for 3.1.10 +-------------------- + +- Fixed a bug (#5526) - :doc:`Session Library <libraries/sessions>` had a syntax error in its 'memcached' driver. +- Fixed a bug (#5542) - :doc:`Database Forge <database/forge>` method ``modify_column()`` always made fields ``NOT NULL`` when attempting to modify their nullable property under PostgreSQL. +- Fixed a bug (#5561) - :doc:`Database Library <database/index>` didn't allow SSL connection configuration with only the 'ssl_verify' option when using the 'mysqli' driver. +- Fixed a bug (#5545) - :doc:`Session Library <libraries/sessions>` crashed due to a caching-related error with the 'files' driver. +- Fixed a bug (#5571) - :doc:`XML-RPC Library <libraries/xmlrpc>` had a typo that triggered an ``E_WARNING`` message on PHP 7.2. +- Fixed a bug (#5587) - :doc:`Database Forge <database/forge>` method ``create_table()`` generated an ``E_WARNING`` message. +- Fixed a bug (#5590) - :doc:`Form Validation Library <libraries/form_validation>` rule **valid_base64** didn't have a default error message. +- Fixed a bug (#5624) - :doc:`Database Library <database/index>` methods ``list_fields()``, ``field_exists()`` returned incorrect results after tables are modified. +- Fixed a bug (#5627) - :doc:`Database <database/index>` driver 'mysqli' triggered an ``E_WARNING`` message if there's no ``'port'`` specified in the database configuration. +- Fixed a bug (#5651) - :doc:`Database Caching <database/caching>` could try to delete non-existent cache files due to a race condition. +- Fixed a bug (#5652) - :doc:`CAPTCHA Helper <helpers/captcha_helper>` function :php:func:`create_captcha()` didn't comply with CSS standards. +- Fixed a bug (#5605) - :doc:`Form Validation Library <libraries/form_validation>` didn't nullify array inputs that are expected to be strings. Version 3.1.9 ============= -Release Date: Not Released +Release Date: Jun 12, 2018 +- **Security** + + - Updated :doc:`URL Helper <helpers/url_helper>` function :php:func:`auto_link()` to add ``rel="noopener"`` to generated links in order to prevent tab hijacking. + - Fixed a possible session fixation vulnerability where the :doc:`Session Library <libraries/sessions>` enabled ``session.use_strict_mode`` but it didn't actually do anything (thanks to Aamer Shah, Prasanna Kumar). + +- General Changes + + - Updated :doc:`Query Builder <database/query_builder>` method ``limit()`` to allow ``0`` values. + - Updated :doc:`Email Library <libraries/email>` and :doc:`Form Validation Library <libraries/form_validation>` to discard the results of failed ``idn_to_ascii()`` calls while validating e-mail addresses. + +Bug fixes for 3.1.9 +------------------- + +- Fixed a regression (#5448) - :doc:`Query Builder <database/query_builder>` methods ``like()``, ``or_like()`` (and siblings) didn't apply *dbprefix* or identifier escaping. +- Fixed a regression (#5462) - :doc:`Query Builder <database/query_builder>` methods ``like()``, ``or_like()`` (and siblings) produced incorrect SQL syntax when used with ``'before'`` as the third parameter. +- Fixed a bug (#5516) - :doc:`HTML Helper <helpers/html_helper>` functions :php:func:`img()`, :php:func:`link_tag()` would output results with double slashes if a prefix slash was included in their path inputs. Version 3.1.8 ============= @@ -141,7 +196,6 @@ Release Date: Mar 22, 2018 - **Security** - - Updated :doc:`URL Helper <helpers/url_helper>` function :php:func:`auto_link()` to add ``rel="noopener"`` to generated links in order to prevent tab hijacking. - Updated :doc:`Security Library <libraries/security>` method ``xss_clean()`` to also filter JavaScript tag functions. - Fixed a bug where :doc:`Security Library <libraries/security>` method ``xss_clean()`` didn't check for parentheses around JavaScript's ``document``. @@ -352,7 +406,7 @@ Release Date: Oct 22, 2016 - General Changes - Added ``E_PARSE`` to the list of error levels detected by the shutdown handler. - - Updated :doc:`Inflector Helper <helpers/inflector_helper>` :php:func:`is_countable()` with more words. + - Updated :doc:`Inflector Helper <helpers/inflector_helper>` ``is_countable()`` with more words. - Updated :doc:`common function <general/common_functions>` :php:func:`set_status_header()` with new status codes from IETF RFCs `2817 <https://tools.ietf.org/html/rfc2817>`_ (426) and `6585 <https://tools.ietf.org/html/rfc6585>`_ (428, 429, 431, 511). @@ -415,7 +469,7 @@ Bug fixes for 3.1.0 - Fixed a bug (#4562) - :doc:`Cache Library <libraries/caching>` didn't check if ``Memcached::quit()`` is available before calling it. - Fixed a bug (#4563) - :doc:`Input Library <libraries/input>` method ``request_headers()`` ignores ``$xss_clean`` parameter value after first call. - Fixed a bug (#4605) - :doc:`Config Library <libraries/config>` method ``site_url()`` stripped trailing slashes from relative URIs passed to it. -- Fixed a bug (#4613) - :doc:`Email Library <libraries/config>` failed to send multiple emails via SMTP due to "already authenticated" errors when keep-alive is enabled. +- Fixed a bug (#4613) - :doc:`Email Library <libraries/email>` failed to send multiple emails via SMTP due to "already authenticated" errors when keep-alive is enabled. - Fixed a bug (#4633) - :doc:`Form Validation Library <libraries/form_validation>` ignored multiple "callback" rules for empty, non-required fields. - Fixed a bug (#4637) - :doc:`Database <database/index>` method ``error()`` returned ``FALSE`` with the 'oci8' driver if there was no error. - Fixed a bug (#4647) - :doc:`Query Builder <database/query_builder>` method ``count_all_results()`` doesn't take into account ``GROUP BY`` clauses while deciding whether to do a subquery or not. @@ -689,7 +743,7 @@ Release Date: March 30, 2015 - License - - CodeIgniter has been relicensed with the `MIT License <http://opensource.org/licenses/MIT>`_, eliminating its old proprietary licensing. + - CodeIgniter has been relicensed with the `MIT License <https://opensource.org/licenses/MIT>`_, eliminating its old proprietary licensing. - General Changes @@ -747,7 +801,7 @@ Release Date: March 30, 2015 - Added an optional third parameter to :php:func:`timespan()` that constrains the number of time units displayed. - Added an optional parameter to :php:func:`timezone_menu()` that allows more attributes to be added to the generated select tag. - Added function :php:func:`date_range()` that generates a list of dates between a specified period. - - Deprecated ``standard_date()``, which now just uses the native ``date()`` with `DateTime constants <http://php.net/manual/en/class.datetime.php#datetime.constants.types>`_. + - Deprecated ``standard_date()``, which now just uses the native ``date()`` with `DateTime constants <https://secure.php.net/manual/en/class.datetime.php#datetime.constants.types>`_. - Changed :php:func:`now()` to work with all timezone strings supported by PHP. - Changed :php:func:`days_in_month()` to use the native ``cal_days_in_month()`` PHP function, if available. @@ -772,7 +826,7 @@ Release Date: March 30, 2015 - :doc:`Inflector Helper <helpers/inflector_helper>` changes include: - Changed :php:func:`humanize()` to allow passing an input separator as its second parameter. - - Changed :php:func:`humanize()` and :php:func:`underscore()` to utilize `mbstring <http://php.net/mbstring>`_, if available. + - Changed :php:func:`humanize()` and :php:func:`underscore()` to utilize `mbstring <https://secure.php.net/mbstring>`_, if available. - Changed :php:func:`plural()` and :php:func:`singular()` to avoid double pluralization and support more words. - :doc:`Download Helper <helpers/download_helper>` changes include: @@ -823,7 +877,7 @@ Release Date: March 30, 2015 - :doc:`Text Helper <helpers/text_helper>` changes include: - Changed the default tag for use in :php:func:`highlight_phrase()` to ``<mark>`` (formerly ``<strong>``). - - Changed :php:func:`character_limiter()`, :php:func:`word_wrap()` and :php:func:`ellipsize()` to utilize `mbstring <http://php.net/mbstring>`_ or `iconv <http://php.net/iconv>`_, if available. + - Changed :php:func:`character_limiter()`, :php:func:`word_wrap()` and :php:func:`ellipsize()` to utilize `mbstring <https://secure.php.net/mbstring>`_ or `iconv <https://secure.php.net/iconv>`_, if available. - :doc:`Directory Helper <helpers/directory_helper>` :php:func:`directory_map()` will now append ``DIRECTORY_SEPARATOR`` to directory names in the returned array. - :doc:`Array Helper <helpers/array_helper>` :php:func:`element()` and :php:func:`elements()` now return NULL instead of FALSE when the required elements don't exist. @@ -1140,7 +1194,7 @@ Release Date: March 30, 2015 - Changed private methods to protected so that MY_URI can override them. - Renamed internal method ``_parse_cli_args()`` to ``_parse_argv()``. - Renamed internal method ``_detect_uri()`` to ``_parse_request_uri()``. - - Changed ``_parse_request_uri()`` to accept absolute URIs for compatibility with HTTP/1.1 as per `RFC2616 <http://www.ietf.org/rfc/rfc2616.txt>`. + - Changed ``_parse_request_uri()`` to accept absolute URIs for compatibility with HTTP/1.1 as per `RFC2616 <https://www.ietf.org/rfc/rfc2616.txt>`. - Added protected method ``_parse_query_string()`` to URI paths in the the **QUERY_STRING** value, like ``_parse_request_uri()`` does. - Changed URI string detection logic to always default to **REQUEST_URI** unless configured otherwise or under CLI. - Removed methods ``_remove_url_suffix()``, ``_explode_segments()`` and moved their logic into ``_set_uri_string()``. @@ -1235,7 +1289,7 @@ Release Date: March 30, 2015 - UTF-8 Library changes include: - - ``UTF8_ENABLED`` now requires only one of `Multibyte String <http://php.net/mbstring>`_ or `iconv <http://php.net/iconv>`_ to be available instead of both. + - ``UTF8_ENABLED`` now requires only one of `Multibyte String <https://secure.php.net/mbstring>`_ or `iconv <https://secure.php.net/iconv>`_ to be available instead of both. - Changed method ``clean_string()`` to utilize ``mb_convert_encoding()`` if it is available. - Renamed method ``_is_ascii()`` to ``is_ascii()`` and made it public. @@ -1247,9 +1301,9 @@ Release Date: March 30, 2015 - Added :doc:`compatibility layers <general/compatibility_functions>` for: - - `Multibyte String <http://php.net/mbstring>`_ (limited support). - - `Hash <http://php.net/hash>`_ (``hash_equals()``, ``hash_pbkdf2()``). - - `Password Hashing <http://php.net/password>`_. + - `Multibyte String <https://secure.php.net/mbstring>`_ (limited support). + - `Hash <https://secure.php.net/hash>`_ (``hash_equals()``, ``hash_pbkdf2()``). + - `Password Hashing <https://secure.php.net/password>`_. - `Standard Functions ``array_column()``, ``array_replace()``, ``array_replace_recursive()``, ``hex2bin()``, ``quoted_printable_encode()``. - Removed ``CI_CORE`` boolean constant from *CodeIgniter.php* (no longer Reactor and Core versions). @@ -1629,7 +1683,7 @@ Release Date: November 14, 2011 - Database - - Added a `CUBRID <http://www.cubrid.org/>`_ driver to the :doc:`Database + - Added a `CUBRID <https://www.cubrid.org/>`_ driver to the :doc:`Database Driver <database/index>`. Thanks to the CUBRID team for supplying this patch. - Added a PDO driver to the :doc:`Database Driver <database/index>`. diff --git a/user_guide_src/source/conf.py b/user_guide_src/source/conf.py index f59660886..9be656d8e 100644 --- a/user_guide_src/source/conf.py +++ b/user_guide_src/source/conf.py @@ -41,7 +41,7 @@ master_doc = 'index' # General information about the project. project = u'CodeIgniter' -copyright = u'2014 - 2018, British Columbia Institute of Technology' +copyright = u'2014 - 2019, British Columbia Institute of Technology' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -229,7 +229,7 @@ man_pages = [ epub_title = u'CodeIgniter' epub_author = u'British Columbia Institute of Technology' epub_publisher = u'British Columbia Institute of Technology' -epub_copyright = u'2014 - 2018, British Columbia Institute of Technology' +epub_copyright = u'2014 - 2019, British Columbia Institute of Technology' # The language of the text. It defaults to the language option # or en if the language is not set. diff --git a/user_guide_src/source/contributing/index.rst b/user_guide_src/source/contributing/index.rst index e102b8848..5bdeffde5 100644 --- a/user_guide_src/source/contributing/index.rst +++ b/user_guide_src/source/contributing/index.rst @@ -31,7 +31,7 @@ Support Please note that GitHub is not for general support questions! If you are having trouble using a feature of CodeIgniter, ask for help on our -`forums <http://forum.codeigniter.com/>`_ instead. +`forums <https://forum.codeigniter.com/>`_ instead. If you are not sure whether you are using something correctly or if you have found a bug, again - please ask on the forums first. @@ -112,7 +112,7 @@ Branching ========= CodeIgniter uses the `Git-Flow -<http://nvie.com/posts/a-successful-git-branching-model/>`_ branching model +<https://nvie.com/posts/a-successful-git-branching-model/>`_ branching model which requires all pull requests to be sent to the "develop" branch. This is where the next planned version will be developed. The "master" branch will always contain the latest stable version and is kept clean so a "hotfix" (e.g: diff --git a/user_guide_src/source/database/query_builder.rst b/user_guide_src/source/database/query_builder.rst index 860b34d4c..3bc9ad8fb 100644 --- a/user_guide_src/source/database/query_builder.rst +++ b/user_guide_src/source/database/query_builder.rst @@ -358,13 +358,14 @@ searches. // WHERE `title` LIKE '%match%' ESCAPE '!' AND `body` LIKE '%match% ESCAPE '!' If you want to control where the wildcard (%) is placed, you can use - an optional third argument. Your options are 'before', 'after' and + an optional third argument. Your options are 'before', 'after', 'none' and 'both' (which is the default). :: $this->db->like('title', 'match', 'before'); // Produces: WHERE `title` LIKE '%match' ESCAPE '!' $this->db->like('title', 'match', 'after'); // Produces: WHERE `title` LIKE 'match%' ESCAPE '!' + $this->db->like('title', 'match', 'none'); // Produces: WHERE `title` LIKE 'match' ESCAPE '!' $this->db->like('title', 'match', 'both'); // Produces: WHERE `title` LIKE '%match%' ESCAPE '!' #. **Associative array method:** @@ -1280,7 +1281,7 @@ Class Reference Generates the WHERE portion of the query. Separates multiple calls with 'OR'. - .. php:method:: or_where_in([$key = NULL[, $values = NULL[, $escape = NULL]]]) + .. php:method:: or_where_in([$key[, array $values[, $escape = NULL]]]) :param string $key: The field to search :param array $values: The values searched on @@ -1291,7 +1292,7 @@ Class Reference Generates a WHERE field IN('item', 'item') SQL query, joined with 'OR' if appropriate. - .. php:method:: or_where_not_in([$key = NULL[, $values = NULL[, $escape = NULL]]]) + .. php:method:: or_where_not_in([$key[, array $values[, $escape = NULL]]]) :param string $key: The field to search :param array $values: The values searched on @@ -1302,7 +1303,7 @@ Class Reference Generates a WHERE field NOT IN('item', 'item') SQL query, joined with 'OR' if appropriate. - .. php:method:: where_in([$key = NULL[, $values = NULL[, $escape = NULL]]]) + .. php:method:: where_in([$key[, array $values[, $escape = NULL]]]) :param string $key: Name of field to examine :param array $values: Array of target values @@ -1313,7 +1314,7 @@ Class Reference Generates a WHERE field IN('item', 'item') SQL query, joined with 'AND' if appropriate. - .. php:method:: where_not_in([$key = NULL[, $values = NULL[, $escape = NULL]]]) + .. php:method:: where_not_in([$key[, array $values[, $escape = NULL]]]) :param string $key: Name of field to examine :param array $values: Array of target values @@ -1423,6 +1424,50 @@ Class Reference Adds a HAVING clause to a query, separating multiple calls with OR. + .. php:method:: or_having_in([$key[, array $values[, $escape = NULL]]]) + + :param string $key: The field to search + :param array $values: The values searched on + :param bool $escape: Whether to escape values and identifiers + :returns: DB_query_builder instance + :rtype: object + + Generates a HAVING field IN('item', 'item') SQL query, + joined with 'OR' if appropriate. + + .. php:method:: or_having_not_in([$key[, array $values[, $escape = NULL]]]) + + :param string $key: The field to search + :param array $values: The values searched on + :param bool $escape: Whether to escape values and identifiers + :returns: DB_query_builder instance + :rtype: object + + Generates a HAVING field NOT IN('item', 'item') SQL query, + joined with 'OR' if appropriate. + + .. php:method:: having_in([$key[, array $values[, $escape = NULL]]]) + + :param string $key: Name of field to examine + :param array $values: Array of target values + :param bool $escape: Whether to escape values and identifiers + :returns: DB_query_builder instance + :rtype: object + + Generates a HAVING field IN('item', 'item') SQL query, + joined with 'AND' if appropriate. + + .. php:method:: having_not_in([$key[, array $values[, $escape = NULL]]]) + + :param string $key: Name of field to examine + :param array $values: Array of target values + :param bool $escape: Whether to escape values and identifiers + :returns: DB_query_builder instance + :rtype: object + + Generates a HAVING field NOT IN('item', 'item') SQL query, + joined with 'AND' if appropriate. + .. php:method:: group_by($by[, $escape = NULL]) :param mixed $by: Field(s) to group by; string or array diff --git a/user_guide_src/source/general/cli.rst b/user_guide_src/source/general/cli.rst index 764a6b835..aaeb47116 100644 --- a/user_guide_src/source/general/cli.rst +++ b/user_guide_src/source/general/cli.rst @@ -13,7 +13,7 @@ What is the CLI? The command-line interface is a text-based method of interacting with computers. For more information, check the `Wikipedia -article <http://en.wikipedia.org/wiki/Command-line_interface>`_. +article <https://en.wikipedia.org/wiki/Command-line_interface>`_. Why run via the command-line? ============================= @@ -65,8 +65,8 @@ If you did it right, you should see *Hello World!* printed. $ php index.php tools message "John Smith" -Here we are passing it a argument in the same way that URL parameters -work. "John Smith" is passed as a argument and output is:: +Here we are passing it an argument in the same way that URL parameters +work. "John Smith" is passed as an argument and the output is:: Hello John Smith! diff --git a/user_guide_src/source/general/common_functions.rst b/user_guide_src/source/general/common_functions.rst index 77b0df14e..ef9058b2c 100644 --- a/user_guide_src/source/general/common_functions.rst +++ b/user_guide_src/source/general/common_functions.rst @@ -110,7 +110,7 @@ loading any libraries or helpers. set_status_header(401); // Sets the header as: Unauthorized - `See here <http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html>`_ for + `See here <https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html>`_ for a full list of headers. .. php:function:: remove_invisible_characters($str[, $url_encoded = TRUE]) diff --git a/user_guide_src/source/general/compatibility_functions.rst b/user_guide_src/source/general/compatibility_functions.rst index 522e43f60..0ae36e710 100644 --- a/user_guide_src/source/general/compatibility_functions.rst +++ b/user_guide_src/source/general/compatibility_functions.rst @@ -26,7 +26,7 @@ Password Hashing **************** This set of compatibility functions offers a "backport" of PHP's -standard `Password Hashing extension <http://php.net/password>`_ +standard `Password Hashing extension <https://secure.php.net/password>`_ that is otherwise available only since PHP 5.5. Dependencies @@ -50,7 +50,7 @@ Function reference :rtype: array For more information, please refer to the `PHP manual for - password_get_info() <http://php.net/password_get_info>`_. + password_get_info() <https://secure.php.net/password_get_info>`_. .. php:function:: password_hash($password, $algo[, $options = array()]) @@ -61,7 +61,7 @@ Function reference :rtype: string For more information, please refer to the `PHP manual for - password_hash() <http://php.net/password_hash>`_. + password_hash() <https://secure.php.net/password_hash>`_. .. note:: Unless you provide your own (and valid) salt, this function has a further dependency on an available CSPRNG source. Each @@ -80,7 +80,7 @@ Function reference :rtype: bool For more information, please refer to the `PHP manual for - password_needs_rehash() <http://php.net/password_needs_rehash>`_. + password_needs_rehash() <https://secure.php.net/password_needs_rehash>`_. .. php:function:: password_verify($password, $hash) @@ -90,7 +90,7 @@ Function reference :rtype: bool For more information, please refer to the `PHP manual for - password_verify() <http://php.net/password_verify>`_. + password_verify() <https://secure.php.net/password_verify>`_. ********************* Hash (Message Digest) @@ -116,7 +116,7 @@ Function reference :rtype: string For more information, please refer to the `PHP manual for - hash_equals() <http://php.net/hash_equals>`_. + hash_equals() <https://secure.php.net/hash_equals>`_. .. php:function:: hash_pbkdf2($algo, $password, $salt, $iterations[, $length = 0[, $raw_output = FALSE]]) @@ -130,14 +130,14 @@ Function reference :rtype: string For more information, please refer to the `PHP manual for - hash_pbkdf2() <http://php.net/hash_pbkdf2>`_. + hash_pbkdf2() <https://secure.php.net/hash_pbkdf2>`_. **************** Multibyte String **************** This set of compatibility functions offers limited support for PHP's -`Multibyte String extension <http://php.net/mbstring>`_. Because of +`Multibyte String extension <https://secure.php.net/mbstring>`_. Because of the limited alternative solutions, only a few functions are available. .. note:: When a character set parameter is ommited, @@ -146,7 +146,7 @@ the limited alternative solutions, only a few functions are available. Dependencies ============ -- `iconv <http://php.net/iconv>`_ extension +- `iconv <https://secure.php.net/iconv>`_ extension .. important:: This dependency is optional and these functions will always be declared. If iconv is not available, they WILL @@ -169,7 +169,7 @@ Function reference :rtype: string For more information, please refer to the `PHP manual for - mb_strlen() <http://php.net/mb_strlen>`_. + mb_strlen() <https://secure.php.net/mb_strlen>`_. .. php:function:: mb_strpos($haystack, $needle[, $offset = 0[, $encoding = NULL]]) @@ -181,7 +181,7 @@ Function reference :rtype: mixed For more information, please refer to the `PHP manual for - mb_strpos() <http://php.net/mb_strpos>`_. + mb_strpos() <https://secure.php.net/mb_strpos>`_. .. php:function:: mb_substr($str, $start[, $length = NULL[, $encoding = NULL]]) @@ -193,7 +193,7 @@ Function reference :rtype: string For more information, please refer to the `PHP manual for - mb_substr() <http://php.net/mb_substr>`_. + mb_substr() <https://secure.php.net/mb_substr>`_. ****************** Standard Functions @@ -219,4 +219,4 @@ Function reference :rtype: array For more information, please refer to the `PHP manual for - array_column() <http://php.net/array_column>`_. + array_column() <https://secure.php.net/array_column>`_. diff --git a/user_guide_src/source/general/controllers.rst b/user_guide_src/source/general/controllers.rst index 14e583636..77d19c1cf 100644 --- a/user_guide_src/source/general/controllers.rst +++ b/user_guide_src/source/general/controllers.rst @@ -181,7 +181,7 @@ be passed as a parameter to the ``_remap()`` method:: Any extra segments after the method name are passed into ``_remap()`` as an optional second parameter. This array can be used in combination with -PHP's `call_user_func_array() <http://php.net/call_user_func_array>`_ +PHP's `call_user_func_array() <https://secure.php.net/call_user_func_array>`_ to emulate CodeIgniter's default behavior. Example:: diff --git a/user_guide_src/source/general/credits.rst b/user_guide_src/source/general/credits.rst index d0f14b3bd..66b51a7ad 100644 --- a/user_guide_src/source/general/credits.rst +++ b/user_guide_src/source/general/credits.rst @@ -12,7 +12,7 @@ It was, for years, developed and maintained by EllisLab, the ExpressionEngine Development Team and a group of community members called the Reactor Team. In 2014, CodeIgniter was acquired by the `British Columbia Institute of Technology -<http://www.bcit.ca/>`_ and was then officially announced as a community-maintained +<https://www.bcit.ca/>`_ and was then officially announced as a community-maintained project. Bleeding edge development is spearheaded by the handpicked contributors diff --git a/user_guide_src/source/general/requirements.rst b/user_guide_src/source/general/requirements.rst index 982a6014f..5b6a0109d 100644 --- a/user_guide_src/source/general/requirements.rst +++ b/user_guide_src/source/general/requirements.rst @@ -2,7 +2,7 @@ Server Requirements ################### -`PHP <http://php.net/>`_ version 5.6 or newer is recommended. +`PHP <https://secure.php.net/>`_ version 5.6 or newer is recommended. It should work on 5.4.8 as well, but we strongly advise you NOT to run such old versions of PHP, because of potential security and performance diff --git a/user_guide_src/source/general/routing.rst b/user_guide_src/source/general/routing.rst index 909289d8d..9c6a339cc 100644 --- a/user_guide_src/source/general/routing.rst +++ b/user_guide_src/source/general/routing.rst @@ -125,7 +125,7 @@ page after they log in, you may find this example useful:: passed to ``Auth::login()``. For those of you who don't know regular expressions and want to learn -more about them, `regular-expressions.info <http://www.regular-expressions.info/>`_ +more about them, `regular-expressions.info <https://www.regular-expressions.info/>`_ might be a good starting point. .. note:: You can also mix and match wildcards with regular expressions. diff --git a/user_guide_src/source/general/security.rst b/user_guide_src/source/general/security.rst index 744a2c934..fb8cd31ff 100644 --- a/user_guide_src/source/general/security.rst +++ b/user_guide_src/source/general/security.rst @@ -130,7 +130,7 @@ with that. Please read below. Also, DON'T invent your own algorithms. Only use strong password hashing algorithms like BCrypt, which is used - in PHP's own `Password Hashing <http://php.net/password>`_ functions. + in PHP's own `Password Hashing <https://secure.php.net/password>`_ functions. Please use them, even if you're not running PHP 5.5+, CodeIgniter provides them for you. diff --git a/user_guide_src/source/general/styleguide.rst b/user_guide_src/source/general/styleguide.rst index 5f25a5ae4..6c141efbc 100644 --- a/user_guide_src/source/general/styleguide.rst +++ b/user_guide_src/source/general/styleguide.rst @@ -160,7 +160,7 @@ programmers, but can prove invaluable when returning to your own code months down the line. There is not a required format for comments, but the following are recommended. -`DocBlock <http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_phpDocumentor.howto.pkg.html#basics.docblock>`_ +`DocBlock <https://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_phpDocumentor.howto.pkg.html#basics.docblock>`_ style comments preceding class, method, and property declarations so they can be picked up by IDEs:: @@ -319,7 +319,7 @@ Use **===** and **!==** as necessary. See also information regarding `typecasting -<http://php.net/manual/en/language.types.type-juggling.php#language.types.typecasting>`_, +<https://secure.php.net/manual/en/language.types.type-juggling.php#language.types.typecasting>`_, which can be quite useful. Typecasting has a slightly different effect which may be desirable. When casting a variable as a string, for instance, NULL and boolean FALSE variables become empty strings, 0 (and @@ -542,7 +542,7 @@ the ability to change this in the php.ini, you can often enable it with:: ini_set('display_errors', 1); .. note:: Setting the `display_errors - <http://php.net/manual/en/errorfunc.configuration.php#ini.display-errors>`_ + <https://secure.php.net/manual/en/errorfunc.configuration.php#ini.display-errors>`_ setting with ``ini_set()`` at runtime is not identical to having it enabled in the PHP environment. Namely, it will not have any effect if the script has fatal errors. diff --git a/user_guide_src/source/helpers/date_helper.rst b/user_guide_src/source/helpers/date_helper.rst index 2f44cb923..c63a9d291 100644 --- a/user_guide_src/source/helpers/date_helper.rst +++ b/user_guide_src/source/helpers/date_helper.rst @@ -50,7 +50,7 @@ The following functions are available: :returns: MySQL-formatted date :rtype: string - This function is identical to PHP's `date() <http://php.net/manual/en/function.date.php>`_ + This function is identical to PHP's `date() <https://secure.php.net/manual/en/function.date.php>`_ function, except that it lets you use MySQL style date codes, where each code letter is preceded with a percent sign, e.g. `%Y %m %d` diff --git a/user_guide_src/source/helpers/file_helper.rst b/user_guide_src/source/helpers/file_helper.rst index dcf3a2340..e96546a11 100644 --- a/user_guide_src/source/helpers/file_helper.rst +++ b/user_guide_src/source/helpers/file_helper.rst @@ -50,7 +50,7 @@ The following functions are available: write_file('./path/to/file.php', $data, 'r+'); - The default mode is 'wb'. Please see the `PHP user guide <http://php.net/manual/en/function.fopen.php>`_ + The default mode is 'wb'. Please see the `PHP user guide <https://secure.php.net/manual/en/function.fopen.php>`_ for mode options. .. note: In order for this function to write data to a file, its permissions must diff --git a/user_guide_src/source/helpers/form_helper.rst b/user_guide_src/source/helpers/form_helper.rst index 43a20e18c..50cda2ed4 100644 --- a/user_guide_src/source/helpers/form_helper.rst +++ b/user_guide_src/source/helpers/form_helper.rst @@ -380,7 +380,7 @@ The following functions are available: <fieldset> <legend>Address Information</legend> - <p>form content here</p> + <p>fieldset content here</p> </fieldset> */ @@ -401,7 +401,7 @@ The following functions are available: <fieldset id="address_info" class="address_info"> <legend>Address Information</legend> - <p>form content here</p> + <p>fieldset content here</p> </fieldset> */ diff --git a/user_guide_src/source/helpers/html_helper.rst b/user_guide_src/source/helpers/html_helper.rst index 734b4465c..e4738b157 100644 --- a/user_guide_src/source/helpers/html_helper.rst +++ b/user_guide_src/source/helpers/html_helper.rst @@ -343,7 +343,7 @@ The following functions are available: echo doctype(); // <!DOCTYPE html> - echo doctype('html4-trans'); // <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> + echo doctype('html4-trans'); // <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "https://www.w3.org/TR/html4/strict.dtd"> The following is a list of doctype choices. These are configurable, and pulled from application/config/doctypes.php @@ -351,23 +351,23 @@ The following functions are available: =============================== =================== ================================================================================================================================================== Document type Option Result =============================== =================== ================================================================================================================================================== - XHTML 1.1 xhtml11 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> - XHTML 1.0 Strict xhtml1-strict <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - XHTML 1.0 Transitional xhtml1-trans <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - XHTML 1.0 Frameset xhtml1-frame <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> - XHTML Basic 1.1 xhtml-basic11 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd"> + XHTML 1.1 xhtml11 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "https://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> + XHTML 1.0 Strict xhtml1-strict <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + XHTML 1.0 Transitional xhtml1-trans <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + XHTML 1.0 Frameset xhtml1-frame <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> + XHTML Basic 1.1 xhtml-basic11 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "https://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd"> HTML 5 html5 <!DOCTYPE html> - HTML 4 Strict html4-strict <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> - HTML 4 Transitional html4-trans <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> - HTML 4 Frameset html4-frame <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> - MathML 1.01 mathml1 <!DOCTYPE math SYSTEM "http://www.w3.org/Math/DTD/mathml1/mathml.dtd"> - MathML 2.0 mathml2 <!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/mathml2.dtd"> - SVG 1.0 svg10 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> - SVG 1.1 Full svg11 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> - SVG 1.1 Basic svg11-basic <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd"> - SVG 1.1 Tiny svg11-tiny <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"> - XHTML+MathML+SVG (XHTML host) xhtml-math-svg-xh <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd"> - XHTML+MathML+SVG (SVG host) xhtml-math-svg-sh <!DOCTYPE svg:svg PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd"> - XHTML+RDFa 1.0 xhtml-rdfa-1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> - XHTML+RDFa 1.1 xhtml-rdfa-2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd"> + HTML 4 Strict html4-strict <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "https://www.w3.org/TR/html4/strict.dtd"> + HTML 4 Transitional html4-trans <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd"> + HTML 4 Frameset html4-frame <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "https://www.w3.org/TR/html4/frameset.dtd"> + MathML 1.01 mathml1 <!DOCTYPE math SYSTEM "https://www.w3.org/Math/DTD/mathml1/mathml.dtd"> + MathML 2.0 mathml2 <!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN" "https://www.w3.org/Math/DTD/mathml2/mathml2.dtd"> + SVG 1.0 svg10 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "https://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> + SVG 1.1 Full svg11 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> + SVG 1.1 Basic svg11-basic <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd"> + SVG 1.1 Tiny svg11-tiny <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "https://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"> + XHTML+MathML+SVG (XHTML host) xhtml-math-svg-xh <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "https://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd"> + XHTML+MathML+SVG (SVG host) xhtml-math-svg-sh <!DOCTYPE svg:svg PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "https://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd"> + XHTML+RDFa 1.0 xhtml-rdfa-1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "https://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> + XHTML+RDFa 1.1 xhtml-rdfa-2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN" "https://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd"> =============================== =================== ================================================================================================================================================== diff --git a/user_guide_src/source/helpers/inflector_helper.rst b/user_guide_src/source/helpers/inflector_helper.rst index 76cce6f4d..ca781d2ad 100644 --- a/user_guide_src/source/helpers/inflector_helper.rst +++ b/user_guide_src/source/helpers/inflector_helper.rst @@ -85,7 +85,7 @@ The following functions are available: echo humanize('my-dog-spot', '-'); // Prints 'My Dog Spot' -.. php:function:: is_countable($word) +.. php:function:: word_is_countable($word) :param string $word: Input string :returns: TRUE if the word is countable or FALSE if not @@ -93,17 +93,20 @@ The following functions are available: Checks if the given word has a plural version. Example:: - is_countable('equipment'); // Returns FALSE + word_is_countable('equipment'); // Returns FALSE + + .. note:: This function used to be called ``is_countable()`` in + in previous CodeIgniter versions. .. php:function:: ordinal_format($number) :param int $number: non-negative natural number to be converted - :returns: Ordinal numeral for given number or original value on failure - :rtype: string + :returns: Ordinal numeral for given number or original value on failure + :rtype: string - Returns the ordinal numeral (1st, 2nd, 3rd etc.) for a - non-negative natural number. If the input is not a natural number - greater than 0, the function will return the original value. Examples:: + Returns the ordinal numeral (1st, 2nd, 3rd etc.) for a + non-negative natural number. If the input is not a natural number + greater than 0, the function will return the original value. Examples:: echo ordinal_format(1); // Returns 1st echo ordinal_format(3); // Returns 3rd diff --git a/user_guide_src/source/helpers/url_helper.rst b/user_guide_src/source/helpers/url_helper.rst index e117d37c0..adeab8c58 100644 --- a/user_guide_src/source/helpers/url_helper.rst +++ b/user_guide_src/source/helpers/url_helper.rst @@ -204,7 +204,7 @@ The following functions are available: | echo anchor_popup('news/local/123', 'Click Me!', array()); .. note:: The **window_name** is not really an attribute, but an argument to - the JavaScript `window.open() <http://www.w3schools.com/jsref/met_win_open.asp>` + the JavaScript `window.open() <https://www.w3schools.com/jsref/met_win_open.asp>` method, which accepts either a window name or a window target. .. note:: Any other attribute than the listed above will be parsed as an diff --git a/user_guide_src/source/installation/downloads.rst b/user_guide_src/source/installation/downloads.rst index f32d978f1..428ae3ab2 100644 --- a/user_guide_src/source/installation/downloads.rst +++ b/user_guide_src/source/installation/downloads.rst @@ -3,7 +3,9 @@ Downloading CodeIgniter ####################### - `CodeIgniter v3.2.0-dev (Current version) <https://codeload.github.com/bcit-ci/CodeIgniter/zip/develop>`_ -- `CodeIgniter v3.1.9-dev <https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.1-stable>`_ +- `CodeIgniter v3.1.11-dev <https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.1-stable>`_ +- `CodeIgniter v3.1.10 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.1.10>`_ +- `CodeIgniter v3.1.9 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.1.9>`_ - `CodeIgniter v3.1.8 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.1.8>`_ - `CodeIgniter v3.1.7 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.1.7>`_ - `CodeIgniter v3.1.6 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.1.6>`_ @@ -37,7 +39,7 @@ Downloading CodeIgniter GitHub ****** -`Git <http://git-scm.com/about>`_ is a distributed version control system. +`Git <https://git-scm.com/about>`_ is a distributed version control system. Public Git access is available at `GitHub <https://github.com/bcit-ci/CodeIgniter>`_. Please note that while every effort is made to keep this code base diff --git a/user_guide_src/source/installation/upgrade_220.rst b/user_guide_src/source/installation/upgrade_220.rst index 91f9e00cd..489dd6312 100644 --- a/user_guide_src/source/installation/upgrade_220.rst +++ b/user_guide_src/source/installation/upgrade_220.rst @@ -7,7 +7,7 @@ Upgrading from 2.1.4 to 2.2.x without Mcrypt, then this is a breaking change. You must install the Mcrypt extension in order to upgrade. For information on installing Mcrypt please see the PHP `documentation - <http://php.net/manual/en/mcrypt.setup.php>`. + <https://secure.php.net/manual/en/mcrypt.setup.php>`. Before performing an update you should take your site offline by replacing the index.php file with a static one. diff --git a/user_guide_src/source/installation/upgrade_300.rst b/user_guide_src/source/installation/upgrade_300.rst index 4e2ff8ab2..188144844 100644 --- a/user_guide_src/source/installation/upgrade_300.rst +++ b/user_guide_src/source/installation/upgrade_300.rst @@ -545,8 +545,8 @@ Following numerous vulnerability reports, the :doc:`Encrypt Library <../librarie been deprecated and a new, :doc:`Encryption Library <../libraries/encryption>` is added to take its place. -The new library requires either the `MCrypt extension <http://php.net/mcrypt>`_ (and /dev/urandom -availability) or PHP 5.3.3 and the `OpenSSL extension <http://php.net/openssl>`_. +The new library requires either the `MCrypt extension <https://secure.php.net/mcrypt>`_ (and /dev/urandom +availability) or PHP 5.3.3 and the `OpenSSL extension <https://secure.php.net/openssl>`_. While this might be rather inconvenient, it is a requirement that allows us to have properly implemented cryptographic functions. @@ -670,7 +670,7 @@ Date helper standard_date() =========================== :doc:`Date Helper <../helpers/date_helper>` function ``standard_date()`` is being deprecated due -to the availability of native PHP `constants <http://php.net/manual/en/class.datetime.php#datetime.constants.types>`_, +to the availability of native PHP `constants <https://secure.php.net/manual/en/class.datetime.php#datetime.constants.types>`_, which when combined with ``date()`` provide the same functionality. Furthermore, they have the exact same names as the ones supported by ``standard_date()``. Here are examples of how to replace its usage: diff --git a/user_guide_src/source/installation/upgrade_3110.rst b/user_guide_src/source/installation/upgrade_3110.rst new file mode 100644 index 000000000..0e3b7c676 --- /dev/null +++ b/user_guide_src/source/installation/upgrade_3110.rst @@ -0,0 +1,25 @@ +############################## +Upgrading from 3.1.9 to 3.1.10 +############################## + +Before performing an update you should take your site offline by +replacing the index.php file with a static one. + +Step 1: Update your CodeIgniter files +===================================== + +Replace all files and directories in your *system/* directory. + +.. note:: If you have any custom developed files in these directories, + please make copies of them first. + +Step 2: Check for calls to is_countable() +========================================== + + +PHP 7.3 introduces a native `is_countable() <https://secure.php.net/is_countable>`_ +function, which creates a name collision with the ``is_countable()`` function +we've had in our :doc:`Inflector Helpers <../helpers/inflector_helper>`. + +If you've been using the helper function in question, you should now rename +the calls to it to :php:func:`word_is_countable()`. diff --git a/user_guide_src/source/installation/upgrade_3111.rst b/user_guide_src/source/installation/upgrade_3111.rst new file mode 100644 index 000000000..5463e40c1 --- /dev/null +++ b/user_guide_src/source/installation/upgrade_3111.rst @@ -0,0 +1,14 @@ +############################### +Upgrading from 3.1.10 to 3.1.11 +############################### + +Before performing an update you should take your site offline by +replacing the index.php file with a static one. + +Step 1: Update your CodeIgniter files +===================================== + +Replace all files and directories in your *system/* directory. + +.. note:: If you have any custom developed files in these directories, + please make copies of them first. diff --git a/user_guide_src/source/installation/upgrade_319.rst b/user_guide_src/source/installation/upgrade_319.rst index 99a7347a0..db56cac2a 100644 --- a/user_guide_src/source/installation/upgrade_319.rst +++ b/user_guide_src/source/installation/upgrade_319.rst @@ -12,3 +12,10 @@ Replace all files and directories in your *system/* directory. .. note:: If you have any custom developed files in these directories, please make copies of them first. + + +Step 2: Replace config/mimes.php +================================ + +This config file has received some updates. Please copy it to +*application/config/mimes.php*. diff --git a/user_guide_src/source/installation/upgrade_320.rst b/user_guide_src/source/installation/upgrade_320.rst index de279fdc7..3eadd8caf 100644 --- a/user_guide_src/source/installation/upgrade_320.rst +++ b/user_guide_src/source/installation/upgrade_320.rst @@ -194,7 +194,7 @@ You should change it to:: form_upload('name', $extra); Step 10: Remove usage of previously deprecated functionalities -============================================================= +============================================================== The following is a list of functionalities deprecated in previous CodeIgniter versions that have been removed in 3.2.0: @@ -248,3 +248,12 @@ on global filters is a bad practice, giving you a false sense of security. This functionality is now removed, and so if you've relied on it for whatever reasons, you should double-check that you are properly validating all user inputs in your application (as you always should do). + +Step 12: Clear your output cache (optional) +=========================================== + +Internal changes to the :doc:`Output Class <../libraries/output>` make it +so that if you're using the :doc:`Web Page Caching <../general/caching>` +feature, you'll be left with some old, garbage cache files. + +That shouldn't be a problem, but you may want to clear them. diff --git a/user_guide_src/source/installation/upgrading.rst b/user_guide_src/source/installation/upgrading.rst index 32617389d..98f49ecac 100644 --- a/user_guide_src/source/installation/upgrading.rst +++ b/user_guide_src/source/installation/upgrading.rst @@ -8,7 +8,9 @@ upgrading from. .. toctree:: :titlesonly: - Upgrading from 3.1.3+ to 3.2.x <upgrade_320> + Upgrading from 3.1.10+ to 3.2.x <upgrade_320> + Upgrading from 3.1.10 to 3.1.11 <upgrade_3111> + Upgrading from 3.1.9 to 3.1.10 <upgrade_3110> Upgrading from 3.1.8 to 3.1.9 <upgrade_319> Upgrading from 3.1.7 to 3.1.8 <upgrade_318> Upgrading from 3.1.6 to 3.1.7 <upgrade_317> diff --git a/user_guide_src/source/libraries/encrypt.rst b/user_guide_src/source/libraries/encrypt.rst index 67e2a0190..10893b901 100644 --- a/user_guide_src/source/libraries/encrypt.rst +++ b/user_guide_src/source/libraries/encrypt.rst @@ -135,7 +135,7 @@ Class Reference $this->encrypt->set_cipher(MCRYPT_BLOWFISH); - Please visit php.net for a list of `available ciphers <http://php.net/mcrypt>`_. + Please visit php.net for a list of `available ciphers <https://secure.php.net/mcrypt>`_. If you'd like to manually test whether your server supports MCrypt you can use:: @@ -153,7 +153,7 @@ Class Reference $this->encrypt->set_mode(MCRYPT_MODE_CFB); - Please visit php.net for a list of `available modes <http://php.net/mcrypt>`_. + Please visit php.net for a list of `available modes <https://secure.php.net/mcrypt>`_. .. php:method:: encode_from_legacy($string[, $legacy_mode = MCRYPT_MODE_ECB[, $key = '']]) diff --git a/user_guide_src/source/libraries/encryption.rst b/user_guide_src/source/libraries/encryption.rst index b16511d4d..833a56c09 100644 --- a/user_guide_src/source/libraries/encryption.rst +++ b/user_guide_src/source/libraries/encryption.rst @@ -5,7 +5,7 @@ Encryption Library .. important:: DO NOT use this or any other *encryption* library for user password storage! Passwords must be *hashed* instead, and you should do that via PHP's own `Password Hashing extension - <http://php.net/password>`_. + <https://secure.php.net/password>`_. The Encryption Library provides two-way data encryption. To do so in a cryptographically secure way, it utilizes PHP extensions that are @@ -13,8 +13,8 @@ unfortunately not always available on all systems. You must meet one of the following dependencies in order to use this library: -- `OpenSSL <http://php.net/openssl>`_ -- `MCrypt <http://php.net/mcrypt>`_ (and `MCRYPT_DEV_URANDOM` availability) +- `OpenSSL <https://secure.php.net/openssl>`_ +- `MCrypt <https://secure.php.net/mcrypt>`_ (and `MCRYPT_DEV_URANDOM` availability) If neither of the above dependencies is met, we simply cannot offer you a good enough implementation to meet the high standards required @@ -63,7 +63,7 @@ encryption and authentication is a bad practice. Because of that, two separate keys are derived from your already configured *encryption_key*: one for encryption and one for authentication. This is done via a technique called `HMAC-based Key Derivation Function -<http://en.wikipedia.org/wiki/HKDF>`_ (HKDF). +<https://en.wikipedia.org/wiki/HKDF>`_ (HKDF). Setting your encryption_key =========================== @@ -90,7 +90,7 @@ key security so you may want to think carefully before using it for anything that requires high security, like storing credit card numbers. Your encryption key **must** be as long as the encyption algorithm in use -allows. For AES-128, that's 128 bits or 16 bytes (charcters) long. +allows. For AES-128, that's 128 bits or 16 bytes (characters) long. You will find a table below that shows the supported key lengths of different ciphers. @@ -171,7 +171,7 @@ RC4 / ARCFour rc4 40-2048 / 5-256 Stream .. note:: Even though CAST5 supports key lengths lower than 128 bits (16 bytes), in fact they will just be zero-padded to the maximum length, as specified in `RFC 2144 - <http://tools.ietf.org/rfc/rfc2144.txt>`_. + <https://tools.ietf.org/rfc/rfc2144.txt>`_. .. note:: Blowfish supports key lengths as small as 32 bits (4 bytes), but our tests have shown that only lengths of 128 bits (16 bytes) or @@ -482,7 +482,7 @@ The reason for not including other popular algorithms, such as MD5 or SHA1 is that they are no longer considered secure enough and as such, we don't want to encourage their usage. If you absolutely need to use them, it is easy to do so via PHP's -native `hash_hmac() <http://php.net/manual/en/function.hash-hmac.php>`_ function. +native `hash_hmac() <https://secure.php.net/manual/en/function.hash-hmac.php>`_ function. Stronger algorithms of course will be added in the future as they appear and become widely available. @@ -582,4 +582,4 @@ Class Reference 'authentication' ); - // $hmac_key is a pseudo-random key with a length of 64 bytes
\ No newline at end of file + // $hmac_key is a pseudo-random key with a length of 64 bytes diff --git a/user_guide_src/source/libraries/file_uploading.rst b/user_guide_src/source/libraries/file_uploading.rst index 6d2106be8..1b7581670 100644 --- a/user_guide_src/source/libraries/file_uploading.rst +++ b/user_guide_src/source/libraries/file_uploading.rst @@ -233,7 +233,7 @@ Preference Default Value Options Descripti unless you have no other option as that would cause a security risk. **mod_mime_fix** TRUE TRUE/FALSE (boolean) If set to TRUE, multiple filename extensions will be suffixed with an underscore in order to avoid triggering `Apache mod_mime - <http://httpd.apache.org/docs/2.0/mod/mod_mime.html#multipleext>`_. + <https://httpd.apache.org/docs/2.0/mod/mod_mime.html#multipleext>`_. DO NOT turn off this option if your upload directory is public, as this is a security risk. ============================ ================= ======================= ====================================================================== @@ -344,7 +344,7 @@ Class Reference full_path Absolute server path, including the file name raw_name File name, without the extension orig_name Original file name. This is only useful if you use the encrypted name option. - client_name File name as supplied by the client user agent, prior to any file name preparation or incrementing + client_name File name supplied by the client user agent, but possibly sanitized file_ext Filename extension, period included file_size File size in kilobytes is_image Whether the file is an image or not. 1 = image. 0 = not. diff --git a/user_guide_src/source/libraries/form_validation.rst b/user_guide_src/source/libraries/form_validation.rst index fd2f3af94..a44310440 100644 --- a/user_guide_src/source/libraries/form_validation.rst +++ b/user_guide_src/source/libraries/form_validation.rst @@ -45,7 +45,7 @@ and tedious to implement. Form Validation Tutorial ************************ -What follows is a "hands on" tutorial for implementing CodeIgniters Form +What follows is a "hands on" tutorial for implementing CodeIgniter's Form Validation. In order to implement form validation you'll need three things: diff --git a/user_guide_src/source/libraries/input.rst b/user_guide_src/source/libraries/input.rst index b568dae6f..730b3a9b0 100644 --- a/user_guide_src/source/libraries/input.rst +++ b/user_guide_src/source/libraries/input.rst @@ -370,7 +370,7 @@ Class Reference Returns an array of HTTP request headers. Useful if running in a non-Apache environment where - `apache_request_headers() <http://php.net/apache_request_headers>`_ + `apache_request_headers() <https://secure.php.net/apache_request_headers>`_ will not be supported. :: diff --git a/user_guide_src/source/libraries/language.rst b/user_guide_src/source/libraries/language.rst index de17c8288..262d9733a 100644 --- a/user_guide_src/source/libraries/language.rst +++ b/user_guide_src/source/libraries/language.rst @@ -92,7 +92,7 @@ Internationalization The Language class in CodeIgniter is meant to provide an easy and lightweight way to support multiplelanguages in your application. It is not meant to be a full implementation of what is commonly called `internationalization and localization -<http://en.wikipedia.org/wiki/Internationalization_and_localization>`_. +<https://en.wikipedia.org/wiki/Internationalization_and_localization>`_. We use the term "idiom" to refer to a language using its common name, rather than using any of the international standards, such as "en", "en-US", diff --git a/user_guide_src/source/libraries/loader.rst b/user_guide_src/source/libraries/loader.rst index 22abb4586..4d3d51236 100644 --- a/user_guide_src/source/libraries/loader.rst +++ b/user_guide_src/source/libraries/loader.rst @@ -238,7 +238,7 @@ Class Reference The second **optional** parameter can take an associative array or an object as input, which it runs through the PHP - `extract() <http://php.net/extract>`_ function to convert to variables + `extract() <https://secure.php.net/extract>`_ function to convert to variables that can be used in your view files. Again, read the :doc:`Views <../general/views>` page to learn how this might be useful. @@ -259,7 +259,7 @@ Class Reference :rtype: CI_Loader This method takes an associative array as input and generates - variables using the PHP `extract() <http://php.net/extract>`_ + variables using the PHP `extract() <https://secure.php.net/extract>`_ function. This method produces the same result as using the second parameter of the ``$this->load->view()`` method above. The reason you might want to use this method independently is if you would like to diff --git a/user_guide_src/source/libraries/output.rst b/user_guide_src/source/libraries/output.rst index bb5493712..a24f3cb52 100644 --- a/user_guide_src/source/libraries/output.rst +++ b/user_guide_src/source/libraries/output.rst @@ -163,7 +163,7 @@ Class Reference $this->output->set_status_header(401); // Sets the header as: Unauthorized - `See here <http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html>`_ for a full list of headers. + `See here <https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html>`_ for a full list of headers. .. note:: This method is an alias for :doc:`Common function <../general/common_functions>` :func:`set_status_header()`. diff --git a/user_guide_src/source/libraries/sessions.rst b/user_guide_src/source/libraries/sessions.rst index 994dc2e08..f2236c633 100644 --- a/user_guide_src/source/libraries/sessions.rst +++ b/user_guide_src/source/libraries/sessions.rst @@ -112,7 +112,7 @@ Session data is simply an array associated with a particular session ID (cookie). If you've used sessions in PHP before, you should be familiar with PHP's -`$_SESSION superglobal <http://php.net/manual/en/reserved.variables.session.php>`_ +`$_SESSION superglobal <https://secure.php.net/manual/en/reserved.variables.session.php>`_ (if not, please read the content on that link). CodeIgniter gives access to its session data through the same means, as it @@ -391,7 +391,7 @@ Destroying a Session ==================== To clear the current session (for example, during a logout), you may -simply use either PHP's `session_destroy() <http://php.net/session_destroy>`_ +simply use either PHP's `session_destroy() <https://secure.php.net/session_destroy>`_ function, or the ``sess_destroy()`` method. Both will work in exactly the same way:: @@ -516,7 +516,7 @@ mind that it is in fact not the same code and it has some limitations To be more specific, it doesn't support PHP's `directory level and mode formats used in session.save_path -<http://php.net/manual/en/session.configuration.php#ini.session.save-path>`_, +<https://secure.php.net/manual/en/session.configuration.php#ini.session.save-path>`_, and it has most of the options hard-coded for safety. Instead, only absolute paths are supported for ``$config['sess_save_path']``. @@ -554,7 +554,7 @@ increase - which is the time when it matters - the file system will consistently outperform almost all relational database setups. In addition, if performance is your only concern, you may want to look -into using `tmpfs <http://eddmann.com/posts/storing-php-sessions-file-caches-in-memory-using-tmpfs/>`_, +into using `tmpfs <https://eddmann.com/posts/storing-php-sessions-file-caches-in-memory-using-tmpfs/>`_, (warning: external resource), which can make your sessions blazing fast. Database Driver @@ -679,7 +679,7 @@ Memcached Driver The 'memcached' driver is very similar to the 'redis' one in all of its properties, except perhaps for availability, because PHP's `Memcached -<http://php.net/memcached>`_ extension is distributed via PECL and some +<https://secure.php.net/memcached>`_ extension is distributed via PECL and some Linux distrubutions make it available as an easy to install package. Other than that, and without any intentional bias towards Redis, there's @@ -754,7 +754,7 @@ when creating a session driver for CodeIgniter: - Implement the `SessionHandlerInterface - <http://php.net/sessionhandlerinterface>`_ interface. + <https://secure.php.net/sessionhandlerinterface>`_ interface. .. note:: You may notice that ``SessionHandlerInterface`` is provided by PHP since version 5.4.0. CodeIgniter will automatically declare @@ -1016,7 +1016,7 @@ Class Reference .. note:: This method is just an alias for PHP's native `session_regenerate_id() - <http://php.net/session_regenerate_id>`_ function. + <https://secure.php.net/session_regenerate_id>`_ function. .. php:method:: sess_destroy() @@ -1030,7 +1030,7 @@ Class Reference .. note:: This method is just an alias for PHP's native `session_destroy() - <http://php.net/session_destroy>`_ function. + <https://secure.php.net/session_destroy>`_ function. .. php:method:: __get($key) diff --git a/user_guide_src/source/libraries/trackback.rst b/user_guide_src/source/libraries/trackback.rst index dc4477e9f..abc608b7d 100644 --- a/user_guide_src/source/libraries/trackback.rst +++ b/user_guide_src/source/libraries/trackback.rst @@ -6,7 +6,7 @@ The Trackback Class provides functions that enable you to send and receive Trackback data. If you are not familiar with Trackbacks you'll find more information -`here <http://en.wikipedia.org/wiki/Trackback>`_. +`here <https://en.wikipedia.org/wiki/Trackback>`_. .. contents:: :local: diff --git a/user_guide_src/source/libraries/xmlrpc.rst b/user_guide_src/source/libraries/xmlrpc.rst index 2fe07c49d..a9a899d7b 100644 --- a/user_guide_src/source/libraries/xmlrpc.rst +++ b/user_guide_src/source/libraries/xmlrpc.rst @@ -73,7 +73,7 @@ information: - The *request* data (explained below). Here is a basic example that sends a simple Weblogs.com ping to the -`Ping-o-Matic <http://pingomatic.com/>`_ +`Ping-o-Matic <https://pingomatic.com/>`_ :: diff --git a/user_guide_src/source/license.rst b/user_guide_src/source/license.rst index d65b56431..3752307cf 100644 --- a/user_guide_src/source/license.rst +++ b/user_guide_src/source/license.rst @@ -2,7 +2,7 @@ The MIT License (MIT) ##################### -Copyright (c) 2014 - 2018, British Columbia Institute of Technology +Copyright (c) 2014 - 2019, British Columbia Institute of Technology Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/user_guide_src/source/overview/at_a_glance.rst b/user_guide_src/source/overview/at_a_glance.rst index 742d7bd0e..d5e5bf929 100644 --- a/user_guide_src/source/overview/at_a_glance.rst +++ b/user_guide_src/source/overview/at_a_glance.rst @@ -111,4 +111,4 @@ CodeIgniter has a Friendly Community of Users ============================================= Our growing community of users can be seen actively participating in our -`Community Forums <http://forum.codeigniter.com/>`_. +`Community Forums <https://forum.codeigniter.com/>`_. diff --git a/user_guide_src/source/overview/getting_started.rst b/user_guide_src/source/overview/getting_started.rst index 04ee50df7..a5181d96d 100644 --- a/user_guide_src/source/overview/getting_started.rst +++ b/user_guide_src/source/overview/getting_started.rst @@ -19,6 +19,6 @@ Reference** and **Helper Reference** pages to learn to utilize the native libraries and helper files. Feel free to take advantage of our `Community -Forums <http://forum.codeigniter.com/>`_ if you have questions or +Forums <https://forum.codeigniter.com/>`_ if you have questions or problems, and our `Wiki <https://github.com/bcit-ci/CodeIgniter/wiki>`_ to see code examples posted by other users. diff --git a/user_guide_src/source/tutorial/conclusion.rst b/user_guide_src/source/tutorial/conclusion.rst index 0d90cde6f..fa41c4492 100644 --- a/user_guide_src/source/tutorial/conclusion.rst +++ b/user_guide_src/source/tutorial/conclusion.rst @@ -20,7 +20,7 @@ CodeIgniter within a few days. If you still have questions about the framework or your own CodeIgniter code, you can: -- Check out our `forums <http://forum.codeigniter.com/>`_ +- Check out our `forums <https://forum.codeigniter.com/>`_ - Visit our `IRC chatroom <https://github.com/bcit-ci/CodeIgniter/wiki/IRC>`_ - Explore the `Wiki <https://github.com/bcit-ci/CodeIgniter/wiki/>`_ diff --git a/user_guide_src/source/tutorial/static_pages.rst b/user_guide_src/source/tutorial/static_pages.rst index 5daaa958f..561082a48 100644 --- a/user_guide_src/source/tutorial/static_pages.rst +++ b/user_guide_src/source/tutorial/static_pages.rst @@ -162,7 +162,7 @@ arguments. More information about routing can be found in the URI Routing :doc:`documentation <../general/routing>`. -Here, the second rule in the ``$routes`` array matches **any** request +Here, the second rule in the ``$route`` array matches **any** request using the wildcard string ``(:any)``. and passes the parameter to the ``view()`` method of the ``Pages`` class. |