diff options
Diffstat (limited to 'user_guide_src/source/installation')
49 files changed, 0 insertions, 2865 deletions
diff --git a/user_guide_src/source/installation/downloads.rst b/user_guide_src/source/installation/downloads.rst deleted file mode 100644 index 4cd824f0c..000000000 --- a/user_guide_src/source/installation/downloads.rst +++ /dev/null @@ -1,39 +0,0 @@ -####################### -Downloading CodeIgniter -####################### - -- `CodeIgniter v3.1.5 (Current version) <https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.1.5>`_ -- `CodeIgniter v3.1.4 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.1.4>`_ -- `CodeIgniter v3.1.3 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.1.3>`_ -- `CodeIgniter v3.1.2 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.1.2>`_ -- `CodeIgniter v3.1.1 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.1.1>`_ -- `CodeIgniter v3.1.0 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.1.0>`_ -- `CodeIgniter v3.0.6 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.0.6>`_ -- `CodeIgniter v3.0.5 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.0.5>`_ -- `CodeIgniter v3.0.4 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.0.4>`_ -- `CodeIgniter v3.0.3 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.0.3>`_ -- `CodeIgniter v3.0.2 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.0.2>`_ -- `CodeIgniter v3.0.1 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.0.1>`_ -- `CodeIgniter v3.0.0 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/3.0.0>`_ -- `CodeIgniter v2.2.3 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/2.2.3>`_ -- `CodeIgniter v2.2.2 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/2.2.2>`_ -- `CodeIgniter v2.2.1 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/2.2.1>`_ -- `CodeIgniter v2.2.0 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/2.2.0>`_ -- `CodeIgniter v2.1.4 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/2.1.4>`_ -- `CodeIgniter v2.1.3 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/2.1.3>`_ -- `CodeIgniter v2.1.2 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/2.1.2>`_ -- `CodeIgniter v2.1.1 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/2.1.1>`_ -- `CodeIgniter v2.1.0 <https://codeload.github.com/bcit-ci/CodeIgniter/zip/v2.1.0>`_ - -****** -GitHub -****** - -`Git <http://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 -functional, we cannot guarantee the functionality of code taken from -the develop branch. - -Beginning with version 2.0.3, stable versions are also available via `GitHub Releases <https://github.com/bcit-ci/CodeIgniter/releases>`_. diff --git a/user_guide_src/source/installation/index.rst b/user_guide_src/source/installation/index.rst deleted file mode 100644 index fbf6ecee1..000000000 --- a/user_guide_src/source/installation/index.rst +++ /dev/null @@ -1,57 +0,0 @@ -######################### -Installation Instructions -######################### - -CodeIgniter is installed in four steps: - -#. Unzip the package. -#. Upload the CodeIgniter folders and files to your server. Normally the - *index.php* file will be at your root. -#. Open the *application/config/config.php* file with a text editor and - set your base URL. If you intend to use encryption or sessions, set - your encryption key. -#. If you intend to use a database, open the - *application/config/database.php* file with a text editor and set your - database settings. - -If you wish to increase security by hiding the location of your -CodeIgniter files you can rename the system and application folders to -something more private. If you do rename them, you must open your main -*index.php* file and set the ``$system_path`` and ``$application_folder`` -variables at the top of the file with the new name you've chosen. - -For the best security, both the system and any application folders -should be placed above web root so that they are not directly accessible -via a browser. By default, *.htaccess* files are included in each folder -to help prevent direct access, but it is best to remove them from public -access entirely in case the web server configuration changes or doesn't -abide by the *.htaccess*. - -If you would like to keep your views public it is also possible to move -the views folder out of your application folder. - -After moving them, open your main index.php file and set the -``$system_path``, ``$application_folder`` and ``$view_folder`` variables, -preferably with a full path, e.g. '*/www/MyUser/system*'. - -One additional measure to take in production environments is to disable -PHP error reporting and any other development-only functionality. In -CodeIgniter, this can be done by setting the ``ENVIRONMENT`` constant, which -is more fully described on the :doc:`security -page <../general/security>`. - -That's it! - -If you're new to CodeIgniter, please read the :doc:`Getting -Started <../overview/getting_started>` section of the User Guide -to begin learning how to build dynamic PHP applications. Enjoy! - -.. toctree:: - :hidden: - :titlesonly: - - downloads - self - upgrading - troubleshooting - diff --git a/user_guide_src/source/installation/troubleshooting.rst b/user_guide_src/source/installation/troubleshooting.rst deleted file mode 100644 index cca290763..000000000 --- a/user_guide_src/source/installation/troubleshooting.rst +++ /dev/null @@ -1,18 +0,0 @@ -############### -Troubleshooting -############### - -If you find that no matter what you put in your URL only your default -page is loading, it might be that your server does not support the -REQUEST_URI variable needed to serve search-engine friendly URLs. As a -first step, open your *application/config/config.php* file and look for -the URI Protocol information. It will recommend that you try a couple -alternate settings. If it still doesn't work after you've tried this -you'll need to force CodeIgniter to add a question mark to your URLs. To -do this open your *application/config/config.php* file and change this:: - - $config['index_page'] = "index.php"; - -To this:: - - $config['index_page'] = "index.php?"; diff --git a/user_guide_src/source/installation/upgrade_120.rst b/user_guide_src/source/installation/upgrade_120.rst deleted file mode 100644 index 76c510d66..000000000 --- a/user_guide_src/source/installation/upgrade_120.rst +++ /dev/null @@ -1,20 +0,0 @@ -#################################### -Upgrading From Beta 1.0 to Final 1.2 -#################################### - -To upgrade to Version 1.2 please replace the following directories with -the new versions: - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -- drivers -- helpers -- init -- language -- libraries -- plugins -- scaffolding - -Please also replace your local copy of the user guide with the new -version. diff --git a/user_guide_src/source/installation/upgrade_130.rst b/user_guide_src/source/installation/upgrade_130.rst deleted file mode 100644 index 6d6d4b9ac..000000000 --- a/user_guide_src/source/installation/upgrade_130.rst +++ /dev/null @@ -1,125 +0,0 @@ -######################### -Upgrading from 1.2 to 1.3 -######################### - -.. note:: The instructions on this page assume you are running version - 1.2. If you have not upgraded to that version please do so first. - -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 the following directories in your "system" folder with the new -versions: - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -- application/**models**/ (new for 1.3) -- codeigniter (new for 1.3) -- drivers -- helpers -- init -- language -- libraries -- plugins -- scaffolding - -Step 2: Update your error files -=============================== - -Version 1.3 contains two new error templates located in -application/errors, and for naming consistency the other error templates -have been renamed. - -If you **have not** customized any of the error templates simply replace -this folder: - -- application/errors/ - -If you **have** customized your error templates, rename them as follows: - -- 404.php = error_404.php -- error.php = error_general.php -- error_db.php (new) -- error_php.php (new) - -Step 3: Update your index.php file -================================== - -Please open your main index.php file (located at your root). At the very -bottom of the file, change this:: - - require_once BASEPATH.'libraries/Front_controller'.EXT; - -To this:: - - require_once BASEPATH.'codeigniter/CodeIgniter'.EXT; - -Step 4: Update your config.php file -=================================== - -Open your application/config/config.php file and add these new items:: - - - /* - |------------------------------------------------ - | URL suffix - |------------------------------------------------ - | - | This option allows you to add a suffix to all URLs. - | For example, if a URL is this: - | - | example.com/index.php/products/view/shoes - | - | You can optionally add a suffix, like ".html", - | making the page appear to be of a certain type: - | - | example.com/index.php/products/view/shoes.html - | - */ - $config['url_suffix'] = ""; - - - /* - |------------------------------------------------ - | Enable Query Strings - |------------------------------------------------ - | - | By default CodeIgniter uses search-engine and - | human-friendly segment based URLs: - | - | example.com/who/what/where/ - | - | You can optionally enable standard query string - | based URLs: - | - | example.com?who=me&what=something&where=here - | - | Options are: TRUE or FALSE (boolean) - | - | The two other items let you set the query string "words" - | that will invoke your controllers and functions: - | example.com/index.php?c=controller&m=function - | - */ - $config['enable_query_strings'] = FALSE; - $config['controller_trigger'] = 'c'; - $config['function_trigger'] = 'm'; - -Step 5: Update your database.php file -===================================== - -Open your application/config/database.php file and add these new items:: - - - $db['default']['dbprefix'] = ""; - $db['default']['active_r'] = TRUE; - -Step 6: Update your user guide -============================== - -Please also replace your local copy of the user guide with the new -version. diff --git a/user_guide_src/source/installation/upgrade_131.rst b/user_guide_src/source/installation/upgrade_131.rst deleted file mode 100644 index 8927c1b12..000000000 --- a/user_guide_src/source/installation/upgrade_131.rst +++ /dev/null @@ -1,30 +0,0 @@ -########################### -Upgrading from 1.3 to 1.3.1 -########################### - -.. note:: The instructions on this page assume you are running version - 1.3. If you have not upgraded to that version please do so first. - -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 the following directories in your "system" folder with the new -versions: - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -- drivers -- init/init_unit_test.php (new for 1.3.1) -- language/ -- libraries -- scaffolding - -Step 2: Update your user guide -============================== - -Please also replace your local copy of the user guide with the new -version. diff --git a/user_guide_src/source/installation/upgrade_132.rst b/user_guide_src/source/installation/upgrade_132.rst deleted file mode 100644 index 84b7cb4f7..000000000 --- a/user_guide_src/source/installation/upgrade_132.rst +++ /dev/null @@ -1,28 +0,0 @@ -############################# -Upgrading from 1.3.1 to 1.3.2 -############################# - -.. note:: The instructions on this page assume you are running version - 1.3.1. If you have not upgraded to that version please do so first. - -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 the following directories in your "system" folder with the new -versions: - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -- drivers -- init -- libraries - -Step 2: Update your user guide -============================== - -Please also replace your local copy of the user guide with the new -version. diff --git a/user_guide_src/source/installation/upgrade_133.rst b/user_guide_src/source/installation/upgrade_133.rst deleted file mode 100644 index 4212e4588..000000000 --- a/user_guide_src/source/installation/upgrade_133.rst +++ /dev/null @@ -1,44 +0,0 @@ -############################# -Upgrading from 1.3.2 to 1.3.3 -############################# - -.. note:: The instructions on this page assume you are running version - 1.3.2. If you have not upgraded to that version please do so first. - -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 the following directories in your "system" folder with the new -versions: - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -- codeigniter -- drivers -- helpers -- init -- libraries - -Step 2: Update your Models -========================== - -If you are **NOT** using CodeIgniter's -:doc:`Models <../general/models>` feature disregard this step. - -As of version 1.3.3, CodeIgniter does **not** connect automatically to -your database when a model is loaded. This allows you greater -flexibility in determining which databases you would like used with your -models. If your application is not connecting to your database prior to -a model being loaded you will have to update your code. There are -several options for connecting, :doc:`as described -here <../general/models>`. - -Step 3: Update your user guide -============================== - -Please also replace your local copy of the user guide with the new -version. diff --git a/user_guide_src/source/installation/upgrade_140.rst b/user_guide_src/source/installation/upgrade_140.rst deleted file mode 100644 index 987281fe1..000000000 --- a/user_guide_src/source/installation/upgrade_140.rst +++ /dev/null @@ -1,72 +0,0 @@ -############################# -Upgrading from 1.3.3 to 1.4.0 -############################# - -.. note:: The instructions on this page assume you are running version - 1.3.3. If you have not upgraded to that version please do so first. - -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 the following directories in your "system" folder with the new -versions: - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -- application/config/**hooks.php** -- application/config/**mimes.php** -- codeigniter -- drivers -- helpers -- init -- language -- libraries -- scaffolding - -Step 2: Update your config.php file -=================================== - -Open your application/config/config.php file and add these new items:: - - - - /* - |-------------------------------------------------------------------------- - | Enable/Disable System Hooks - |-------------------------------------------------------------------------- - | - | If you would like to use the "hooks" feature you must enable it by - | setting this variable to TRUE (boolean). See the user guide for details. - | - */ - $config['enable_hooks'] = FALSE; - - - /* - |-------------------------------------------------------------------------- - | Allowed URL Characters - |-------------------------------------------------------------------------- - | - | This lets you specify which characters are permitted within your URLs. - | When someone tries to submit a URL with disallowed characters they will - | get a warning message. - | - | As a security measure you are STRONGLY encouraged to restrict URLs to - | as few characters as possible. By default only these are allowed: a-z 0-9~%.:_- - | - | Leave blank to allow all characters -- but only if you are insane. - | - | DO NOT CHANGE THIS UNLESS YOU FULLY UNDERSTAND THE REPERCUSSIONS!! - | - */ - $config['permitted_uri_chars'] = 'a-z 0-9~%.:_-'; - -Step 3: Update your user guide -============================== - -Please also replace your local copy of the user guide with the new -version. diff --git a/user_guide_src/source/installation/upgrade_141.rst b/user_guide_src/source/installation/upgrade_141.rst deleted file mode 100644 index c9c2ca461..000000000 --- a/user_guide_src/source/installation/upgrade_141.rst +++ /dev/null @@ -1,71 +0,0 @@ -############################# -Upgrading from 1.4.0 to 1.4.1 -############################# - -.. note:: The instructions on this page assume you are running version - 1.4.0. If you have not upgraded to that version please do so first. - -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 the following directories in your "system" folder with the new -versions: - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -- codeigniter -- drivers -- helpers -- libraries - -Step 2: Update your config.php file -=================================== - -Open your application/config/config.php file and add this new item:: - - - - /* - |-------------------------------------------------------------------------- - | Output Compression - |-------------------------------------------------------------------------- - | - | Enables Gzip output compression for faster page loads. When enabled, - | the output class will test whether your server supports Gzip. - | Even if it does, however, not all browsers support compression - | so enable only if you are reasonably sure your visitors can handle it. - | - | VERY IMPORTANT: If you are getting a blank page when compression is enabled it - | means you are prematurely outputting something to your browser. It could - | even be a line of whitespace at the end of one of your scripts. For - | compression to work, nothing can be sent before the output buffer is called - | by the output class. Do not "echo" any values with compression enabled. - | - */ - $config['compress_output'] = FALSE; - -Step 3: Rename an Autoload Item -=============================== - -Open the following file: application/config/autoload.php - -Find this array item:: - - $autoload['core'] = array(); - -And rename it to this:: - - $autoload['libraries'] = array(); - -This change was made to improve clarity since some users were not sure -that their own libraries could be auto-loaded. - -Step 4: Update your user guide -============================== - -Please also replace your local copy of the user guide with the new -version. diff --git a/user_guide_src/source/installation/upgrade_150.rst b/user_guide_src/source/installation/upgrade_150.rst deleted file mode 100644 index 50eb5eae5..000000000 --- a/user_guide_src/source/installation/upgrade_150.rst +++ /dev/null @@ -1,100 +0,0 @@ -############################# -Upgrading from 1.4.1 to 1.5.0 -############################# - -.. note:: The instructions on this page assume you are running version - 1.4.1. If you have not upgraded to that version please do so first. - -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 these files and directories in your "system" folder with the new -versions: - -- application/config/user_agents.php (new file for 1.5) -- application/config/smileys.php (new file for 1.5) -- codeigniter/ -- database/ (new folder for 1.5. Replaces the "drivers" folder) -- helpers/ -- language/ -- libraries/ -- scaffolding/ - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -Step 2: Update your database.php file -===================================== - -Open your application/config/database.php file and add these new items:: - - - $db['default']['cache_on'] = FALSE; - $db['default']['cachedir'] = ''; - -Step 3: Update your config.php file -=================================== - -Open your application/config/config.php file and ADD these new items:: - - - /* - |-------------------------------------------------------------------------- - | Class Extension Prefix - |-------------------------------------------------------------------------- - | - | This item allows you to set the filename/classname prefix when extending - | native libraries. For more information please see the user guide: - | - | https://codeigniter.com/user_guide/general/core_classes.html - | https://codeigniter.com/user_guide/general/creating_libraries.html - | - */ - $config['subclass_prefix'] = 'MY_'; - - /* - |-------------------------------------------------------------------------- - | Rewrite PHP Short Tags - |-------------------------------------------------------------------------- - | - | If your PHP installation does not have short tag support enabled CI - | can rewrite the tags on-the-fly, enabling you to utilize that syntax - | in your view files. Options are TRUE or FALSE (boolean) - | - */ - $config['rewrite_short_tags'] = FALSE; - -In that same file REMOVE this item:: - - - /* - |-------------------------------------------------------------------------- - | Enable/Disable Error Logging - |-------------------------------------------------------------------------- - | - | If you would like errors or debug messages logged set this variable to - | TRUE (boolean). Note: You must set the file permissions on the "logs" folder - | such that it is writable. - | - */ - $config['log_errors'] = FALSE; - -Error logging is now disabled simply by setting the threshold to zero. - -Step 4: Update your main index.php file -======================================= - -If you are running a stock index.php file simply replace your version -with the new one. - -If your index.php file has internal modifications, please add your -modifications to the new file and use it. - -Step 5: Update your user guide -============================== - -Please also replace your local copy of the user guide with the new -version. diff --git a/user_guide_src/source/installation/upgrade_152.rst b/user_guide_src/source/installation/upgrade_152.rst deleted file mode 100644 index 781c907e1..000000000 --- a/user_guide_src/source/installation/upgrade_152.rst +++ /dev/null @@ -1,39 +0,0 @@ -############################# -Upgrading from 1.5.0 to 1.5.2 -############################# - -.. note:: The instructions on this page assume you are running version - 1.5.0 or 1.5.1. If you have not upgraded to that version please do so - first. - -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 these files and directories in your "system" folder with the new -versions: - -- system/helpers/download_helper.php -- system/helpers/form_helper.php -- system/libraries/Table.php -- system/libraries/User_agent.php -- system/libraries/Exceptions.php -- system/libraries/Input.php -- system/libraries/Router.php -- system/libraries/Loader.php -- system/libraries/Image_lib.php -- system/language/english/unit_test_lang.php -- system/database/DB_active_rec.php -- system/database/drivers/mysqli/mysqli_driver.php -- codeigniter/ - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -Step 2: Update your user guide -============================== - -Please also replace your local copy of the user guide with the new -version. diff --git a/user_guide_src/source/installation/upgrade_153.rst b/user_guide_src/source/installation/upgrade_153.rst deleted file mode 100644 index e3d487be1..000000000 --- a/user_guide_src/source/installation/upgrade_153.rst +++ /dev/null @@ -1,28 +0,0 @@ -############################# -Upgrading from 1.5.2 to 1.5.3 -############################# - -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 these files and directories in your "system" folder with the new -versions: - -- system/database/drivers -- system/helpers -- system/libraries/Input.php -- system/libraries/Loader.php -- system/libraries/Profiler.php -- system/libraries/Table.php - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -Step 2: Update your user guide -============================== - -Please also replace your local copy of the user guide with the new -version. diff --git a/user_guide_src/source/installation/upgrade_154.rst b/user_guide_src/source/installation/upgrade_154.rst deleted file mode 100644 index 1d2c51d4a..000000000 --- a/user_guide_src/source/installation/upgrade_154.rst +++ /dev/null @@ -1,56 +0,0 @@ -############################# -Upgrading from 1.5.3 to 1.5.4 -############################# - -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 these files and directories in your "system" folder with the new -versions: - -- application/config/mimes.php -- system/codeigniter -- system/database -- system/helpers -- system/libraries -- system/plugins - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -Step 2: Add charset to your config.php -====================================== - -Add the following to application/config/config.php - -:: - - /* - |-------------------------------------------------------------------------- - | Default Character Set - |-------------------------------------------------------------------------- - | - | This determines which character set is used by default in various methods - | that require a character set to be provided. - | - */ - $config['charset'] = "UTF-8"; - -Step 3: Autoloading language files -================================== - -If you want to autoload any language files, add this line to -application/config/autoload.php - -:: - - $autoload['language'] = array(); - -Step 4: Update your user guide -============================== - -Please also replace your local copy of the user guide with the new -version. diff --git a/user_guide_src/source/installation/upgrade_160.rst b/user_guide_src/source/installation/upgrade_160.rst deleted file mode 100644 index e5d26611b..000000000 --- a/user_guide_src/source/installation/upgrade_160.rst +++ /dev/null @@ -1,87 +0,0 @@ -############################# -Upgrading from 1.5.4 to 1.6.0 -############################# - -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 these files and directories in your "system" folder with the new -versions: - -- system/codeigniter -- system/database -- system/helpers -- system/libraries -- system/plugins -- system/language - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -Step 2: Add time_to_update to your config.php -=============================================== - -Add the following to application/config/config.php with the other -session configuration options - -:: - - $config['sess_time_to_update'] = 300; - - -Step 3: Add $autoload['model'] -============================== - -Add the following to application/config/autoload.php - -:: - - /* - | ------------------------------------------------------------------- - | Auto-load Model files - | ------------------------------------------------------------------- - | Prototype: - | - | $autoload['model'] = array('my_model'); - | - */ - - $autoload['model'] = array(); - - -Step 4: Add to your database.php -================================ - -Make the following changes to your application/config/database.php file: - -Add the following variable above the database configuration options, -with $active_group - -:: - - $active_record = TRUE; - - -Remove the following from your database configuration options - -:: - - $db['default']['active_r'] = TRUE; - - -Add the following to your database configuration options - -:: - - $db['default']['char_set'] = "utf8"; - $db['default']['dbcollat'] = "utf8_general_ci"; - - -Step 5: Update your user guide -============================== - -Please also replace your local copy of the user guide with the new -version. diff --git a/user_guide_src/source/installation/upgrade_161.rst b/user_guide_src/source/installation/upgrade_161.rst deleted file mode 100644 index 43869223f..000000000 --- a/user_guide_src/source/installation/upgrade_161.rst +++ /dev/null @@ -1,27 +0,0 @@ -############################# -Upgrading from 1.6.0 to 1.6.1 -############################# - -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 these files and directories in your "system" folder with the new -versions: - -- system/codeigniter -- system/database -- system/helpers -- system/language -- system/libraries - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -Step 2: Update your user guide -============================== - -Please also replace your local copy of the user guide with the new -version. diff --git a/user_guide_src/source/installation/upgrade_162.rst b/user_guide_src/source/installation/upgrade_162.rst deleted file mode 100644 index 6a618e4ad..000000000 --- a/user_guide_src/source/installation/upgrade_162.rst +++ /dev/null @@ -1,45 +0,0 @@ -############################# -Upgrading from 1.6.1 to 1.6.2 -############################# - -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 these files and directories in your "system" folder with the new -versions: - -- system/codeigniter -- system/database -- system/helpers -- system/language -- system/libraries - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -Step 2: Encryption Key -====================== - -If you are using sessions, open up application/config/config.php and -verify you've set an encryption key. - -Step 3: Constants File -====================== - -Copy /application/config/constants.php to your installation, and modify -if necessary. - -Step 4: Mimes File -================== - -Replace /application/config/mimes.php with the dowloaded version. If -you've added custom mime types, you'll need to re-add them. - -Step 5: Update your user guide -============================== - -Please also replace your local copy of the user guide with the new -version. diff --git a/user_guide_src/source/installation/upgrade_163.rst b/user_guide_src/source/installation/upgrade_163.rst deleted file mode 100644 index e24e20357..000000000 --- a/user_guide_src/source/installation/upgrade_163.rst +++ /dev/null @@ -1,27 +0,0 @@ -############################# -Upgrading from 1.6.2 to 1.6.3 -############################# - -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 these files and directories in your "system" folder with the new -versions: - -- system/codeigniter -- system/database -- system/helpers -- system/language -- system/libraries - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -Step 2: Update your user guide -============================== - -Please also replace your local copy of the user guide with the new -version. diff --git a/user_guide_src/source/installation/upgrade_170.rst b/user_guide_src/source/installation/upgrade_170.rst deleted file mode 100644 index fefb2ea51..000000000 --- a/user_guide_src/source/installation/upgrade_170.rst +++ /dev/null @@ -1,56 +0,0 @@ -############################# -Upgrading from 1.6.3 to 1.7.0 -############################# - -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 these files and directories in your "system" folder with the new -versions: - -- system/codeigniter -- system/database -- system/helpers -- system/language -- system/libraries - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -Step 2: Update your Session Table -================================= - -If you are using the Session class in your application, AND if you are -storing session data to a database, you must add a new column named -user_data to your session table. Here is an example of what this column -might look like for MySQL:: - - user_data text NOT NULL - -To add this column you will run a query similar to this:: - - ALTER TABLE `ci_sessions` ADD `user_data` text NOT NULL - -You'll find more information regarding the new Session functionality in -the :doc:`Session class <../libraries/sessions>` page. - -Step 3: Update your Validation Syntax -===================================== - -This is an **optional**, but recommended step, for people currently -using the Validation class. CI 1.7 introduces a new :doc:`Form Validation -class <../libraries/form_validation>`, which deprecates the old -Validation library. We have left the old one in place so that existing -applications that use it will not break, but you are encouraged to -migrate to the new version as soon as possible. Please read the user -guide carefully as the new library works a little differently, and has -several new features. - -Step 4: Update your user guide -============================== - -Please replace your local copy of the user guide with the new version, -including the image files. diff --git a/user_guide_src/source/installation/upgrade_171.rst b/user_guide_src/source/installation/upgrade_171.rst deleted file mode 100644 index e791b4eba..000000000 --- a/user_guide_src/source/installation/upgrade_171.rst +++ /dev/null @@ -1,27 +0,0 @@ -############################# -Upgrading from 1.7.0 to 1.7.1 -############################# - -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 these files and directories in your "system" folder with the new -versions: - -- system/codeigniter -- system/database -- system/helpers -- system/language -- system/libraries - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -Step 2: Update your user guide -============================== - -Please replace your local copy of the user guide with the new version, -including the image files. diff --git a/user_guide_src/source/installation/upgrade_172.rst b/user_guide_src/source/installation/upgrade_172.rst deleted file mode 100644 index 16f6dec1f..000000000 --- a/user_guide_src/source/installation/upgrade_172.rst +++ /dev/null @@ -1,48 +0,0 @@ -############################# -Upgrading from 1.7.1 to 1.7.2 -############################# - -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 these files and directories in your "system" folder with the new -versions: - -- system/codeigniter -- system/database -- system/helpers -- system/language -- system/libraries -- index.php - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -Step 2: Remove header() from 404 error template -=============================================== - -If you are using header() in your 404 error template, such as the case -with the default error_404.php template shown below, remove that line -of code. - -:: - - <?php header("HTTP/1.1 404 Not Found"); ?> - -404 status headers are now properly handled in the show_404() method -itself. - -Step 3: Confirm your system_path -================================= - -In your updated index.php file, confirm that the $system_path variable -is set to your application's system folder. - -Step 4: Update your user guide -============================== - -Please replace your local copy of the user guide with the new version, -including the image files. diff --git a/user_guide_src/source/installation/upgrade_200.rst b/user_guide_src/source/installation/upgrade_200.rst deleted file mode 100644 index 03b8ff4ac..000000000 --- a/user_guide_src/source/installation/upgrade_200.rst +++ /dev/null @@ -1,148 +0,0 @@ -############################# -Upgrading from 1.7.2 to 2.0.0 -############################# - -Before performing an update you should take your site offline by -replacing the index.php file with a static one. - -******************* -Update Instructions -******************* - -Step 1: Update your CodeIgniter files -===================================== - -Replace all files and directories in your "system" folder **except** -your application folder. - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -Step 2: Adjust get_dir_file_info() where necessary -===================================================== - -Version 2.0.0 brings a non-backwards compatible change to -get_dir_file_info() in the :doc:`File -Helper <../helpers/file_helper>`. Non-backwards compatible changes -are extremely rare in CodeIgniter, but this one we feel was warranted -due to how easy it was to create serious server performance issues. If -you *need* recursiveness where you are using this helper function, -change such instances, setting the second parameter, $top_level_only -to FALSE:: - - get_dir_file_info('/path/to/directory', FALSE); - -Step 3: Convert your Plugins to Helpers -======================================= - -2.0.0 gets rid of the "Plugin" system as their functionality was -identical to Helpers, but non-extensible. You will need to rename your -plugin files from filename_pi.php to filename_helper.php, move them to -your helpers folder, and change all instances of:: - - $this->load->plugin('foo'); - -to :: - - $this->load->helper('foo'); - - -Step 4: Update stored encrypted data -==================================== - -.. note:: If your application does not use the Encrypt library, does - not store Encrypted data permanently, or is on an environment that does - not support Mcrypt, you may skip this step. - -The Encrypt library has had a number of improvements, some for -encryption strength and some for performance, that has an unavoidable -consequence of making it no longer possible to decode encrypted data -produced by the original version of this library. To help with the -transition, a new method has been added, encode_from_legacy() that -will decode the data with the original algorithm and return a re-encoded -string using the improved methods. This will enable you to easily -replace stale encrypted data with fresh in your applications, either on -the fly or en masse. - -Please read :doc:`how to use this -method <../libraries/encrypt>` in the Encrypt library -documentation. - -Step 5: Remove loading calls for the compatibility helper. -========================================================== - -The compatibility helper has been removed from the CodeIgniter core. All -methods in it should be natively available in supported PHP versions. - -Step 6: Update Class extension -============================== - -All core classes are now prefixed with CI\_. Update Models and -Controllers to extend CI_Model and CI_Controller, respectively. - -Step 7: Update Parent Constructor calls -======================================= - -All native CodeIgniter classes now use the PHP 5 \__construct() -convention. Please update extended libraries to call -parent::\__construct(). - -Step 8: Move any core extensions to application/core -==================================================== - -Any extensions to core classes (e.g. MY_Controller.php) in your -application/libraries folder must be moved to the new -application/core folder. - -Step 9: Update your user guide -============================== - -Please replace your local copy of the user guide with the new version, -including the image files. - - -************ -Update Notes -************ - -Please refer to the :ref:`2.0.0 Change Log <2.0.0-changelog>` for full -details, but here are some of the larger changes that are more likely to -impact your code: - -- Scaffolding has been removed. -- The CAPTCHA plugin in now a :doc:`helper </helpers/captcha_helper>`. -- The JavaScript calendar plugin was removed. -- The *system/cache* and *system/logs* directories are now in the application - directory. -- The Validation class has been removed. Please see the - :doc:`Form Validation library </libraries/form_validation>` -- "default" is now a reserved name. -- The xss_clean() function has moved to the :doc:`Security Class - </libraries/security>`. -- do_xss_clean() now returns FALSE if the uploaded file fails XSS checks. -- The :doc:`Session Class </libraries/sessions>` requires now the use of an - encryption key set in the config file. -- The following deprecated Active Record functions have been removed: - ``orwhere``, ``orlike``, ``groupby``, ``orhaving``, ``orderby``, - ``getwhere``. -- ``_drop_database()`` and ``_create_database()`` functions have been removed - from the db utility drivers. -- The ``dohash()`` function of the :doc:`Security helper - </helpers/security_helper>` - has been renamed to ``do_hash()`` for naming consistency. - -The config folder -================= - -The following files have been changed: - -- config.php -- database.php -- mimes.php -- routes.php -- user_agents.php - -The following files have been added: - -- foreign_chars.php -- profiler.php
\ No newline at end of file diff --git a/user_guide_src/source/installation/upgrade_201.rst b/user_guide_src/source/installation/upgrade_201.rst deleted file mode 100644 index 93e1aa68d..000000000 --- a/user_guide_src/source/installation/upgrade_201.rst +++ /dev/null @@ -1,39 +0,0 @@ -############################# -Upgrading from 2.0.0 to 2.0.1 -############################# - -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" folder and replace -your index.php file. If any modifications were made to your index.php -they will need to be made fresh in this new one. - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -Step 2: Replace config/mimes.php -================================ - -This config file has been updated to contain more mime types, please -copy it to application/config/mimes.php. - -Step 3: Check for forms posting to default controller -===================================================== - -The default behavior for form_open() when called with no parameters -used to be to post to the default controller, but it will now just leave -an empty action="" meaning the form will submit to the current URL. If -submitting to the default controller was the expected behavior it will -need to be changed from:: - - echo form_open(); //<form action="" method="post" accept-charset="utf-8"> - -to use either a / or base_url():: - - echo form_open('/'); //<form action="http://example.com/index.php/" method="post" accept-charset="utf-8"> - echo form_open(base_url()); //<form action="http://example.com/" method="post" accept-charset="utf-8"> - diff --git a/user_guide_src/source/installation/upgrade_202.rst b/user_guide_src/source/installation/upgrade_202.rst deleted file mode 100644 index 8dbd38aff..000000000 --- a/user_guide_src/source/installation/upgrade_202.rst +++ /dev/null @@ -1,33 +0,0 @@ -############################# -Upgrading from 2.0.1 to 2.0.2 -############################# - -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" folder and replace -your index.php file. If any modifications were made to your index.php -they will need to be made fresh in this new one. - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -Step 2: Remove loading calls for the Security Library -===================================================== - -Security has been moved to the core and is now always loaded -automatically. Make sure you remove any loading calls as they will -result in PHP errors. - -Step 3: Move MY_Security -========================= - -If you are overriding or extending the Security library, you will need -to move it to application/core. - -csrf_token_name and csrf_hash have changed to protected class -properties. Please use security->get_csrf_hash() and -security->get_csrf_token_name() to access those values. diff --git a/user_guide_src/source/installation/upgrade_203.rst b/user_guide_src/source/installation/upgrade_203.rst deleted file mode 100644 index 717aa3e50..000000000 --- a/user_guide_src/source/installation/upgrade_203.rst +++ /dev/null @@ -1,63 +0,0 @@ -############################# -Upgrading from 2.0.2 to 2.0.3 -############################# - -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" folder and replace -your index.php file. If any modifications were made to your index.php -they will need to be made fresh in this new one. - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -Step 2: Update your main index.php file -======================================= - -If you are running a stock index.php file simply replace your version -with the new one. - -If your index.php file has internal modifications, please add your -modifications to the new file and use it. - -Step 3: Replace config/user_agents.php -======================================= - -This config file has been updated to contain more user agent types, -please copy it to application/config/user_agents.php. - -Step 4: Change references of the EXT constant to ".php" -======================================================= - -.. note:: The EXT Constant has been marked as deprecated, but has not - been removed from the application. You are encouraged to make the - changes sooner rather than later. - -Step 5: Remove APPPATH.'third_party' from autoload.php -======================================================= - -Open application/config/autoload.php, and look for the following:: - - $autoload['packages'] = array(APPPATH.'third_party'); - -If you have not chosen to load any additional packages, that line can be -changed to:: - - $autoload['packages'] = array(); - -Which should provide for nominal performance gains if not autoloading -packages. - -Update Sessions Database Tables -=============================== - -If you are using database sessions with the CI Session Library, please -update your ci_sessions database table as follows:: - - CREATE INDEX last_activity_idx ON ci_sessions(last_activity); - ALTER TABLE ci_sessions MODIFY user_agent VARCHAR(120); - diff --git a/user_guide_src/source/installation/upgrade_210.rst b/user_guide_src/source/installation/upgrade_210.rst deleted file mode 100644 index 421435452..000000000 --- a/user_guide_src/source/installation/upgrade_210.rst +++ /dev/null @@ -1,26 +0,0 @@ -############################# -Upgrading from 2.0.3 to 2.1.0 -############################# - -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" folder. - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -Step 2: Replace config/mimes.php -================================ - -This config file has been updated to contain more user agent types, -please copy it to *application/config/mimes.php*. - -Step 3: Update your user guide -============================== - -Please also replace your local copy of the user guide with the new -version. diff --git a/user_guide_src/source/installation/upgrade_211.rst b/user_guide_src/source/installation/upgrade_211.rst deleted file mode 100644 index f0e70f6dc..000000000 --- a/user_guide_src/source/installation/upgrade_211.rst +++ /dev/null @@ -1,31 +0,0 @@ -############################# -Upgrading from 2.1.0 to 2.1.1 -############################# - -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" folder. - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -Step 2: Replace config/mimes.php -================================ - -This config file has been updated to contain more user mime-types, please copy -it to _application/config/mimes.php*. - -Step 3: Update your IP address tables -===================================== - -This upgrade adds support for IPv6 IP addresses. In order to store them, you need -to enlarge your ip_address columns to 45 characters. For example, CodeIgniter's -session table will need to change - -:: - - ALTER TABLE ci_sessions CHANGE ip_address ip_address varchar(45) default '0' NOT NULL
\ No newline at end of file diff --git a/user_guide_src/source/installation/upgrade_212.rst b/user_guide_src/source/installation/upgrade_212.rst deleted file mode 100644 index 4b76482e3..000000000 --- a/user_guide_src/source/installation/upgrade_212.rst +++ /dev/null @@ -1,20 +0,0 @@ -############################# -Upgrading from 2.1.1 to 2.1.2 -############################# - -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" folder. - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -Step 2: Update your user guide -============================== - -Please also replace your local copy of the user guide with the new -version.
\ No newline at end of file diff --git a/user_guide_src/source/installation/upgrade_213.rst b/user_guide_src/source/installation/upgrade_213.rst deleted file mode 100644 index 3a3497ccb..000000000 --- a/user_guide_src/source/installation/upgrade_213.rst +++ /dev/null @@ -1,20 +0,0 @@ -############################# -Upgrading from 2.1.2 to 2.1.3 -############################# - -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" folder. - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -Step 2: Update your user guide -============================== - -Please also replace your local copy of the user guide with the new -version.
\ No newline at end of file diff --git a/user_guide_src/source/installation/upgrade_214.rst b/user_guide_src/source/installation/upgrade_214.rst deleted file mode 100644 index ba57e5976..000000000 --- a/user_guide_src/source/installation/upgrade_214.rst +++ /dev/null @@ -1,14 +0,0 @@ -############################# -Upgrading from 2.1.3 to 2.1.4 -############################# - -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" folder. - -.. note:: If you have any custom developed files in these folders please - make copies of them first.
\ No newline at end of file diff --git a/user_guide_src/source/installation/upgrade_220.rst b/user_guide_src/source/installation/upgrade_220.rst deleted file mode 100644 index 91f9e00cd..000000000 --- a/user_guide_src/source/installation/upgrade_220.rst +++ /dev/null @@ -1,21 +0,0 @@ -############################# -Upgrading from 2.1.4 to 2.2.x -############################# - -.. note:: The :doc:`Encrypt Class </libraries/encrypt>` now requires the - Mcrypt extension. If you were previously using the Encrypt Class - 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>`. - -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" folder. - -.. note:: If you have any custom developed files in these folders please - make copies of them first.
\ No newline at end of file diff --git a/user_guide_src/source/installation/upgrade_221.rst b/user_guide_src/source/installation/upgrade_221.rst deleted file mode 100644 index 4af73867e..000000000 --- a/user_guide_src/source/installation/upgrade_221.rst +++ /dev/null @@ -1,14 +0,0 @@ -############################# -Upgrading from 2.2.0 to 2.2.1 -############################# - -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" folder. - -.. note:: If you have any custom developed files in these folders please - make copies of them first.
\ No newline at end of file diff --git a/user_guide_src/source/installation/upgrade_222.rst b/user_guide_src/source/installation/upgrade_222.rst deleted file mode 100644 index 9dcc61d0e..000000000 --- a/user_guide_src/source/installation/upgrade_222.rst +++ /dev/null @@ -1,14 +0,0 @@ -############################# -Upgrading from 2.2.1 to 2.2.2 -############################# - -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" folder. - -.. note:: If you have any custom developed files in these folders please - make copies of them first.
\ No newline at end of file diff --git a/user_guide_src/source/installation/upgrade_223.rst b/user_guide_src/source/installation/upgrade_223.rst deleted file mode 100644 index 252318ae1..000000000 --- a/user_guide_src/source/installation/upgrade_223.rst +++ /dev/null @@ -1,14 +0,0 @@ -############################# -Upgrading from 2.2.2 to 2.2.3 -############################# - -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" folder. - -.. note:: If you have any custom developed files in these folders please - make copies of them first.
\ No newline at end of file diff --git a/user_guide_src/source/installation/upgrade_300.rst b/user_guide_src/source/installation/upgrade_300.rst deleted file mode 100644 index 5b2d3947d..000000000 --- a/user_guide_src/source/installation/upgrade_300.rst +++ /dev/null @@ -1,891 +0,0 @@ -############################# -Upgrading from 2.2.x to 3.0.x -############################# - -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 and -replace your index.php file. If any modifications were made to your -index.php they will need to be made fresh in this new one. - -.. important:: You have to delete the old *system/* directory first and - then put the new one in its place. A simple copy-paste may cause - issues. - -.. note:: If you have any custom developed files in these folders please - make copies of them first. - -************************************** -Step 2: Update your classes file names -************************************** - -Starting with CodeIgniter 3.0, all class filenames (libraries, drivers, controllers -and models) must be named in a Ucfirst-like manner or in other words - they must -start with a capital letter. - -For example, if you have the following library file: - - application/libraries/mylibrary.php - -... then you'll have to rename it to: - - application/libraries/Mylibrary.php - -The same goes for driver libraries and extensions and/or overrides of CodeIgniter's -own libraries and core classes. - - application/libraries/MY_email.php - application/core/MY_log.php - -The above files should respectively be renamed to the following: - - application/libraries/MY_Email.php - application/core/MY_Log.php - -Controllers: - - application/controllers/welcome.php -> application/controllers/Welcome.php - -Models: - - application/models/misc_model.php -> application/models/Misc_model.php - -Please note that this DOES NOT affect directories, configuration files, views, -helpers, hooks and anything else - it is only applied to classes. - -You must now follow just one simple rule - class names in Ucfirst and everything else -in lowercase. - -******************************** -Step 3: Replace config/mimes.php -******************************** - -This config file has been updated to contain more user mime-types, please copy -it to *application/config/mimes.php*. - -************************************************************** -Step 4: Remove $autoload['core'] from your config/autoload.php -************************************************************** - -Use of the ``$autoload['core']`` config array has been deprecated as of CodeIgniter 1.4.1 and is now removed. -Move any entries that you might have listed there to ``$autoload['libraries']`` instead. - -*************************************************** -Step 5: Move your Log class overrides or extensions -*************************************************** - -The Log Class is considered as a "core" class and is now located in the -**system/core/** directory. Therefore, in order for your Log class overrides -or extensions to work, you need to move them to **application/core/**: - - application/libraries/Log.php -> application/core/Log.php - application/libraries/MY_Log.php -> application/core/MY_Log.php - -***************************************** -Step 6: Update your Session library usage -***************************************** - -The :doc:`Session Library </libraries/sessions>` has been completely -re-written in CodeIgniter 3 and now comes with a bunch of new features, -but that also means that there are changes that you should make ... - -Most notably, the library now uses separate storage drivers instead of -always relying on (encrypted) cookies. -In fact, cookies as storage have now been removed and you must always use -some kind of server-side storage engine, with the file-system being the -default option. - -The Session Class now utilizes PHP's own mechanisms for building custom -session handlers, which also means that your session data is now -accessible via the ``$_SESSION`` superglobal (though, we've kept the -possibility to use it as "userdata", like you've done until now). - -A few configuration options have been removed and a few have been added. -You should really read the whole :doc:`Session library manual -</libraries/sessions>` for the details, but here's a short list of changes -that you should make: - - - Set your ``$config['sess_driver']`` value - - It will default to 'files', unless you've previously used - ``$config['sess_use_database']``, in which case it will be set to - 'database'. - - - Set a ``$config['sess_save_path']`` value - - For the 'database' driver, a fallback to ``$config['sess_table_name']`` - is in place, but otherwise requires you to read the manual for the - specific driver of your choice. - - - Update your ``ci_sessions`` table ('database' driver only) - - The table structure has changed a bit, and more specifically: - - - ``session_id`` field is renamed to ``id`` - - ``user_agent`` field is dropped - - ``user_data`` field is renamed to ``data`` and under MySQL is now of type BLOB - - ``last_activity`` field is renamed to ``timestamp`` - - This is accompanied by a slight change in the table indexes too, so - please read the manual about the `Session Database Driver - <../libraries/sessions.html#database-driver>`_ for more information. - - .. important:: Only MySQL and PostgreSQL are officially supported - now. Other databases may still work, but due to lack of advisory - locking features, they are unsafe for concurrent requests and - you should consider using another driver instead. - - - Remove ``$config['sess_match_useragent']`` - - The user-agent string is input supplied by the user's browser, or in - other words: client side input. As such, it is an ineffective feature - and hence why it has been removed. - - - Remove ``$config['sess_encrypt_cookie']`` - - As already noted, the library no longer uses cookies as a storage - mechanism, which renders this option useless. - - - Remove ``$config['sess_expire_on_close']`` - - This option is still usable, but only for backwards compatibility - purposes and it should be otherwise removed. The same effect is - achieved by setting ``$config['sess_expiration']`` to 0. - - - Check "flashdata" for collisions with "userdata" - - Flashdata is now just regular "userdata", only marked for deletion on - the next request. In other words: you can't have both "userdata" and - "flashdata" with the same name, because it's the same thing. - - - Check usage of session metadata - - Previously, you could access the 'session_id', 'ip_address', - 'user_agent' and 'last_activity' metadata items as userdata. - This is no longer possible, and you should read the notes about - `Session Metadata <../libraries/sessions.html#accessing-session-metadata>`_ - if your application relies on those values. - - - Check ``unset_userdata()`` usage - - Previously, this method used to accept an associative array of - ``'key' => 'dummy value'`` pairs for unsetting multiple keys. That - however makes no sense and you now have to pass *only* the keys, as - the elements of an array. - - :: - - // Old - $this->session->unset_userdata(array('item' => '', 'item2' => '')); - - // New - $this->session->unset_userdata(array('item', 'item2')); - -Finally, if you have written a Session extension, you must now move it to -the *application/libraries/Session/* directory, although chances are that -it will now also have to be re-factored. - -*************************************** -Step 7: Update your config/database.php -*************************************** - -Due to 3.0.0's renaming of Active Record to Query Builder, inside your -**config/database.php**, you will need to rename the ``$active_record`` -variable to ``$query_builder``:: - - $active_group = 'default'; - // $active_record = TRUE; - $query_builder = TRUE; - -************************************ -Step 8: Replace your error templates -************************************ - -In CodeIgniter 3.0, the error templates are now considered as views and have been moved to the -*application/views/errors* directory. - -Furthermore, we've added support for CLI error templates in plain-text format that unlike HTML, -is suitable for the command line. This of course requires another level of separation. - -It is safe to move your old templates from *application/errors* to *application/views/errors/html*, -but you'll have to copy the new *application/views/errors/cli* directory from the CodeIgniter archive. - -****************************************** -Step 9: Update your config/routes.php file -****************************************** - -Routes containing :any -====================== - -Historically, CodeIgniter has always provided the **:any** wildcard in -routing, with the intention of providing a way to match any character -**within** an URI segment. - -However, the **:any** wildcard is actually just an alias for a regular -expression and used to be executed in that manner as **.+**. This is -considered a bug, as it also matches the / (forward slash) character, which -is the URI segment delimiter and that was never the intention. - -In CodeIgniter 3, the **:any** wildcard will now represent **[^/]+**, so -that it will not match a forward slash. - -There are certainly many developers that have utilized this bug as an actual -feature. If you're one of them and want to match a forward slash, please use -the **.+** regular expression:: - - (.+) // matches ANYTHING - (:any) // matches any character, except for '/' - -Directories and 'default_controller', '404_override' -==================================================== - -As you should know, the ``$route['default_controller']`` and -``$route['404_override']`` settings accept not only a controller name, but -also *controller/method* pairs. However, a bug in the routing logic has -made it possible for some users to use that as *directory/controller* -instead. - -As already said, this behavior was incidental and was never intended, nor -documented. If you've relied on it, your application will break with -CodeIgniter 3.0. - -Another notable change in version 3 is that 'default_controller' and -'404_override' are now applied *per directory*. To explain what this means, -let's take the following example:: - - $route['default_controller'] = 'main'; - -Now, assuming that your website is located at *example.com*, you already -know that if a user visits ``http://example.com/``, the above setting will -cause your 'Main' controller to be loaded. - -However, what happens if you have an *application/controllers/admin/* -directory and the user visits ``http://example.com/admin/``? -In CodeIgniter 3, the router will look for a 'Main' controller under the -admin/ directory as well. If not found, a Not Found (404) will be triggered. - -The same rule applies to the '404_override' setting. - -************************************************************************* -Step 10: Many functions now return NULL instead of FALSE on missing items -************************************************************************* - -Many methods and functions now return NULL instead of FALSE when the required items don't exist: - - - :doc:`Common functions <../general/common_functions>` - - - config_item() - - - :doc:`Config Class <../libraries/config>` - - - config->item() - - config->slash_item() - - - :doc:`Input Class <../libraries/input>` - - - input->get() - - input->post() - - input->get_post() - - input->cookie() - - input->server() - - input->input_stream() - - input->get_request_header() - - - :doc:`Session Class <../libraries/sessions>` - - - session->userdata() - - session->flashdata() - - - :doc:`URI Class <../libraries/uri>` - - - uri->segment() - - uri->rsegment() - - - :doc:`Array Helper <../helpers/array_helper>` - - - element() - - elements() - -******************************* -Step 11: Usage of XSS filtering -******************************* - -Many functions in CodeIgniter allow you to use its XSS filtering feature -on demand by passing a boolean parameter. The default value of that -parameter used to be boolean FALSE, but it is now changed to NULL and it -will be dynamically determined by your ``$config['global_xss_filtering']`` -value. - -If you used to manually pass a boolean value for the ``$xss_filter`` -parameter or if you've always had ``$config['global_xss_filtering']`` set -to FALSE, then this change doesn't concern you. - -Otherwise however, please review your usage of the following functions: - - - :doc:`Input Library <../libraries/input>` - - - input->get() - - input->post() - - input->get_post() - - input->cookie() - - input->server() - - input->input_stream() - - - :doc:`Cookie Helper <../helpers/cookie_helper>` :php:func:`get_cookie()` - -.. important:: Another related change is that the ``$_GET``, ``$_POST``, - ``$_COOKIE`` and ``$_SERVER`` superglobals are no longer - automatically overwritten when global XSS filtering is turned on. - -************************************************* -Step 12: Check for potential XSS issues with URIs -************************************************* - -The :doc:`URI Library <../libraries/uri>` used to automatically convert -a certain set of "programmatic characters" to HTML entities when they -are encountered in a URI segment. - -This was aimed at providing some automatic XSS protection, in addition -to the ``$config['permitted_uri_chars']`` setting, but has proven to be -problematic and is now removed in CodeIgniter 3.0. - -If your application has relied on this feature, you should update it to -filter URI segments through ``$this->security->xss_clean()`` whenever you -output them. - -**************************************************************** -Step 13: Check for usage of the 'xss_clean' Form validation rule -**************************************************************** - -A largely unknown rule about XSS cleaning is that it should *only be -applied to output*, as opposed to input data. - -We've made that mistake ourselves with our automatic and global XSS cleaning -feature (see previous step about XSS above), so now in an effort to discourage that -practice, we're also removing 'xss_clean' from the officially supported -list of :doc:`form validation <../libraries/form_validation>` rules. - -Because the :doc:`Form Validation library <../libraries/form_validation>` -generally validates *input* data, the 'xss_clean' rule simply doesn't -belong in it. - -If you really, really need to apply that rule, you should now also load the -:doc:`Security Helper <../helpers/security_helper>`, which contains -``xss_clean()`` as a regular function and therefore can be also used as -a validation rule. - -******************************************************** -Step 14: Update usage of Input Class's get_post() method -******************************************************** - -Previously, the :doc:`Input Class <../libraries/input>` method ``get_post()`` -was searching first in POST data, then in GET data. This method has been -modified so that it searches in GET then in POST, as its name suggests. - -A method has been added, ``post_get()``, which searches in POST then in GET, as -``get_post()`` was doing before. - -******************************************************************** -Step 15: Update usage of Directory Helper's directory_map() function -******************************************************************** - -In the resulting array, directories now end with a trailing directory -separator (i.e. a slash, usually). - -************************************************************* -Step 16: Update usage of Database Forge's drop_table() method -************************************************************* - -Up until now, ``drop_table()`` added an IF EXISTS clause by default or it didn't work -at all with some drivers. In CodeIgniter 3.0, the IF EXISTS condition is no longer added -by default and has an optional second parameter that allows that instead and is set to -FALSE by default. - -If your application relies on IF EXISTS, you'll have to change its usage. - -:: - - // Now produces just DROP TABLE `table_name` - $this->dbforge->drop_table('table_name'); - - // Produces DROP TABLE IF EXISTS `table_name` - $this->dbforge->drop_table('table_name', TRUE); - -.. note:: The given example uses MySQL-specific syntax, but it should work across - all drivers with the exception of ODBC. - -*********************************************************** -Step 17: Change usage of Email library with multiple emails -*********************************************************** - -The :doc:`Email Library <../libraries/email>` will automatically clear the -set parameters after successfully sending emails. To override this behaviour, -pass FALSE as the first parameter in the ``send()`` method: - -:: - - if ($this->email->send(FALSE)) - { - // Parameters won't be cleared - } - -*************************************************** -Step 18: Update your Form_validation language lines -*************************************************** - -Two improvements have been made to the :doc:`Form Validation Library -<../libraries/form_validation>`'s :doc:`language <../libraries/language>` -files and error messages format: - - - :doc:`Language Library <../libraries/language>` line keys now must be - prefixed with **form_validation_** in order to avoid collisions:: - - // Old - $lang['rule'] = ... - - // New - $lang['form_validation_rule'] = ... - - - The error messages format has been changed to use named parameters, to - allow more flexibility than what `sprintf()` offers:: - - // Old - 'The %s field does not match the %s field.' - - // New - 'The {field} field does not match the {param} field.' - -.. note:: The old formatting still works, but the non-prefixed line keys - are DEPRECATED and scheduled for removal in CodeIgniter 3.1+. - Therefore you're encouraged to update its usage sooner rather than - later. - -************************************************************ -Step 19: Make sure your 'base_url' config value is not empty -************************************************************ - -When ``$config['base_url']`` is not set, CodeIgniter tries to automatically -detect what your website's base URL is. This is done purely for convenience -when you are starting development of a new application. - -Auto-detection is never reliable and also has security implications, which -is why you should **always** have it manually configured! - -One of the changes in CodeIgniter 3.0.3 is how this auto-detection works, -and more specifically it now falls back to the server's IP address instead -of the hostname requested by the client. Therefore, if you've ever relied -on auto-detection, it will change how your website works now. - -In case you need to allow e.g. multiple domains, or both http:// and -https:// prefixes to be dynamically used depending on the request, -remember that *application/config/config.php* is still a PHP script, in -which you can create this logic with a few lines of code. For example:: - - $allowed_domains = array('domain1.tld', 'domain2.tld'); - $default_domain = 'domain1.tld'; - - if (in_array($_SERVER['HTTP_HOST'], $allowed_domains, TRUE)) - { - $domain = $_SERVER['HTTP_HOST']; - } - else - { - $domain = $default_domain; - } - - if ( ! empty($_SERVER['HTTPS'])) - { - $config['base_url'] = 'https://'.$domain; - } - else - { - $config['base_url'] = 'http://'.$domain; - } - - -**************************************************************** -Step 20: Remove usage of (previously) deprecated functionalities -**************************************************************** - -In addition to the ``$autoload['core']`` configuration setting, there's a -number of other functionalities that have been removed in CodeIgniter 3.0.0: - -The SHA1 library -================ - -The previously deprecated SHA1 library has been removed, alter your code to use PHP's native -``sha1()`` function to generate a SHA1 hash. - -Additionally, the ``sha1()`` method in the :doc:`Encrypt Library <../libraries/encrypt>` has been removed. - -The EXT constant -================ - -Usage of the ``EXT`` constant has been deprecated since dropping support for PHP 4. There's no -longer a need to maintain different filename extensions and in this new CodeIgniter version, -the ``EXT`` constant has been removed. Use just '.php' instead. - -Smiley helper -============= - -The :doc:`Smiley Helper <../helpers/smiley_helper>` is a legacy feature from EllisLab's -ExpressionEngine product. However, it is too specific for a general purpose framework like -CodeIgniter and as such it is now deprecated. - -Also, the previously deprecated ``js_insert_smiley()`` (since version 1.7.2) is now removed. - -The Encrypt library -=================== - -Following numerous vulnerability reports, the :doc:`Encrypt Library <../libraries/encrypt>` has -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>`_. -While this might be rather inconvenient, it is a requirement that allows us to have properly -implemented cryptographic functions. - -.. note:: The :doc:`Encrypt Library <../libraries/encrypt>` is still available for the purpose - of keeping backwards compatibility. - -.. important:: You are strongly encouraged to switch to the new :doc:`Encryption Library - <../libraries/encryption>` as soon as possible! - -The Cart library -================ - -The :doc:`Cart Library <../libraries/cart>`, similarly to the :doc:`Smiley Helper -<../helpers/smiley_helper>` is too specific for CodeIgniter. It is now deprecated -and scheduled for removal in CodeIgniter 3.1+. - -.. note:: The library is still available, but you're strongly encouraged to remove its usage sooner - rather than later. - -Database drivers 'mysql', 'sqlite', 'mssql', 'pdo/dblib' -======================================================== - -The **mysql** driver utilizes the old 'mysql' PHP extension, known for its aging code base and -many low-level problems. The extension is deprecated as of PHP 5.5 and CodeIgniter deprecates -it in version 3.0, switching the default configured MySQL driver to **mysqli**. - -Please use either the 'mysqli' or 'pdo/mysql' drivers for MySQL. The old 'mysql' driver will be -removed at some point in the future. - -The **sqlite**, **mssql** and **pdo/dblib** (also known as pdo/mssql or pdo/sybase) drivers -all depend on PHP extensions that for different reasons no longer exist since PHP 5.3. - -Therefore we are now deprecating these drivers as we will have to remove them in one of the next -CodeIgniter versions. You should use the more advanced, **sqlite3**, **sqlsrv** or **pdo/sqlsrv** -drivers respectively. - -.. note:: These drivers are still available, but you're strongly encouraged to switch to other ones - sooner rather than later. - -Security helper do_hash() -========================= - -:doc:`Security Helper <../helpers/security_helper>` function ``do_hash()`` is now just an alias for -PHP's native ``hash()`` function. It is deprecated and scheduled for removal in CodeIgniter 3.1+. - -.. note:: This function is still available, but you're strongly encouraged to remove its usage sooner - rather than later. - -The $config['global_xss_filtering'] setting -=========================================== - -As already explained above, XSS filtering should not be done on input data, -but on output instead. Therefore, the ``$config['global_xss_filtering']``, -which automatically filters *input* data, is considered a bad practice and -is now deprecated. - -Instead, you should manually escape any user-provided data via the -:php:func:`xss_clean()` function when you need to output it, or use a -library like `HTML Purifier <http://htmlpurifier.org/>`_ that does that -for you. - -.. note:: The setting is still available, but you're strongly encouraged to - remove its usage sooner rather than later. - -File helper read_file() -======================= - -:doc:`File Helper <../helpers/file_helper>` function ``read_file()`` is now just an alias for -PHP's native ``file_get_contents()`` function. It is deprecated and scheduled for removal in -CodeIgniter 3.1+. - -.. note:: This function is still available, but you're strongly encouraged to remove its usage sooner - rather than later. - -String helper repeater() -======================== - -:doc:`String Helper <../helpers/string_helper>` function :php:func:`repeater()` is now just an alias for -PHP's native ``str_repeat()`` function. It is deprecated and scheduled for removal in CodeIgniter 3.1+. - -.. note:: This function is still available, but you're strongly encouraged to remove its usage sooner - rather than later. - -String helper trim_slashes() -============================ - -:doc:`String Helper <../helpers/string_helper>` function :php:func:`trim_slashes()` is now just an alias -for PHP's native ``trim()`` function (with a slash passed as its second argument). It is deprecated and -scheduled for removal in CodeIgniter 3.1+. - -.. note:: This function is still available, but you're strongly encouraged to remove its usage sooner - rather than later. - -Form helper form_prep() -======================= - -:doc:`Form Helper <../helpers/form_helper>` function :php:func:`form_prep()` -is now just an alias for :doc:`common function </general/common_functions>` -:func:`html_escape()`. It is deprecated and will be removed in the future. - -Please use :php:func:`html_escape()` instead. - -.. note:: This function is still available, but you're strongly encouraged - to remove its usage sooner rather than later. - -Email helper functions -====================== - -:doc:`Email Helper <../helpers/email_helper>` only has two functions - - - :php:func:`valid_email()` - - :php:func:`send_email()` - -Both of them are now aliases for PHP's native ``filter_var()`` and ``mail()`` functions, respectively. -Therefore the :doc:`Email Helper <../helpers/email_helper>` altogether is being deprecated and -is scheduled for removal in CodeIgniter 3.1+. - -.. note:: These functions are still available, but you're strongly encouraged to remove their usage - sooner rather than later. - -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>`_, -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: - -:: - - // Old way - standard_date(); // defaults to standard_date('DATE_RFC822', now()); - - // Replacement - date(DATE_RFC822, now()); - - // Old way - standard_date('DATE_ATOM', $time); - - // Replacement - date(DATE_ATOM, $time); - -.. note:: This function is still available, but you're strongly encouraged to remove its usage sooner - rather than later as it is scheduled for removal in CodeIgniter 3.1+. - -HTML helpers nbs(), br() -======================== - -:doc:`HTML Helper <../helpers/html_helper>` functions ``nbs()`` and ``br()`` are just aliases -for the native ``str_repeat()`` function used with `` `` and ``<br >`` respectively. - -Because there's no point in just aliasing native PHP functions, they are now deprecated and -scheduled for removal in CodeIgniter 3.1+. - -.. note:: These functions are still available, but you're strongly encouraged to remove their usage - sooner rather than later. - -Pagination library 'anchor_class' setting -========================================= - -The :doc:`Pagination Library <../libraries/pagination>` now supports adding pretty much any HTML -attribute to your anchors via the 'attributes' configuration setting. This includes passing the -'class' attribute and using the separate 'anchor_class' setting no longer makes sense. -As a result of that, the 'anchor_class' setting is now deprecated and scheduled for removal in -CodeIgniter 3.1+. - -.. note:: This setting is still available, but you're strongly encouraged to remove its usage sooner - rather than later. - -String helper random_string() types 'unique' and 'encrypt' -========================================================== - -When using the :doc:`String Helper <../helpers/string_helper>` function :php:func:`random_string()`, -you should no longer pass the **unique** and **encrypt** randomization types. They are only -aliases for **md5** and **sha1** respectively and are now deprecated and scheduled for removal -in CodeIgniter 3.1+. - -.. note:: These options are still available, but you're strongly encouraged to remove their usage - sooner rather than later. - -URL helper url_title() separators 'dash' and 'underscore' -========================================================= - -When using the :doc:`URL Helper <../helpers/url_helper>` function :php:func:`url_title()`, you -should no longer pass **dash** or **underscore** as the word separator. This function will -now accept any character and you should just pass the chosen character directly, so you -should write '-' instead of 'dash' and '_' instead of 'underscore'. - -**dash** and **underscore** now act as aliases and are deprecated and scheduled for removal -in CodeIgniter 3.1+. - -.. note:: These options are still available, but you're strongly encouraged to remove their usage - sooner rather than later. - -Session Library method all_userdata() -===================================== - -As seen in the :doc:`Change Log <../changelog>`, :doc:`Session Library <../libraries/sessions>` -method ``userdata()`` now allows you to fetch all userdata by simply omitting its parameter:: - - $this->session->userdata(); - -This makes the ``all_userdata()`` method redudant and therefore it is now just an alias for -``userdata()`` with the above shown usage and is being deprecated and scheduled for removal -in CodeIgniter 3.1+. - -.. note:: This method is still available, but you're strongly encouraged to remove its usage - sooner rather than later. - -Database Forge method add_column() with an AFTER clause -======================================================= - -If you have used the **third parameter** for :doc:`Database Forge <../database/forge>` method -``add_column()`` to add a field for an AFTER clause, then you should change its usage. - -That third parameter has been deprecated and scheduled for removal in CodeIgniter 3.1+. - -You should now put AFTER clause field names in the field definition array instead:: - - // Old usage: - $field = array( - 'new_field' => array('type' => 'TEXT') - ); - - $this->dbforge->add_column('table_name', $field, 'another_field'); - - // New usage: - $field = array( - 'new_field' => array('type' => 'TEXT', 'after' => 'another_field') - ); - - $this->dbforge->add_column('table_name', $field); - -.. note:: The parameter is still available, but you're strongly encouraged to remove its usage - sooner rather than later. - -.. note:: This is for MySQL and CUBRID databases only! Other drivers don't support this - clause and will silently ignore it. - -URI Routing methods fetch_directory(), fetch_class(), fetch_method() -==================================================================== - -With properties ``CI_Router::$directory``, ``CI_Router::$class`` and ``CI_Router::$method`` -being public and their respective ``fetch_*()`` no longer doing anything else to just return -the properties - it doesn't make sense to keep them. - -Those are all internal, undocumented methods, but we've opted to deprecate them for now -in order to maintain backwards-compatibility just in case. If some of you have utilized them, -then you can now just access the properties instead:: - - $this->router->directory; - $this->router->class; - $this->router->method; - -.. note:: Those methods are still available, but you're strongly encouraged to remove their usage - sooner rather than later. - -Input library method is_cli_request() -===================================== - -Calls to the ``CI_Input::is_cli_request()`` method are necessary at many places -in the CodeIgniter internals and this is often before the :doc:`Input Library -<../libraries/input>` is loaded. Because of that, it is being replaced by a common -function named :php:func:`is_cli()` and this method is now just an alias. - -The new function is both available at all times for you to use and shorter to type. - -:: - - // Old - $this->input->is_cli_request(); - - // New - is_cli(); - -``CI_Input::is_cli_request()`` is now now deprecated and scheduled for removal in -CodeIgniter 3.1+. - -.. note:: This method is still available, but you're strongly encouraged to remove its usage - sooner rather than later. - -Config library method system_url() -================================== - -Usage of ``CI_Config::system_url()`` encourages insecure coding practices. -Namely, your CodeIgniter *system/* directory shouldn't be publicly accessible -from a security point of view. - -Because of this, this method is now deprecated and scheduled for removal in -CodeIgniter 3.1+. - -.. note:: This method is still available, but you're strongly encouraged to remove its usage - sooner rather than later. - -The Javascript library -====================== - -The :doc:`Javascript Library <../libraries/javascript>` has always had an -'experimental' status and was never really useful, nor a proper solution. - -It is now deprecated and scheduled for removal in CodeIgniter 3.1+. - -.. note:: This library is still available, but you're strongly encouraged to remove its usage - sooner rather than later. - -Form Validation method prep_for_form() -====================================== - -The :doc:`Form Validation Library <../libraries/form_validation>` has a -``prep_for_form()`` method, which is/can also be used as a rule in -``set_rules()`` to automatically perform HTML encoding on input data. - -Automatically encoding input (instead of output) data is a bad practice in -the first place, and CodeIgniter and PHP itself offer other alternatives -to this method anyway. -For example, :doc:`Form Helper <../helpers/form_helper>` functions will -automatically perform HTML escaping when necessary. - -Therefore, the *prep_for_form* method/rule is pretty much useless and is now -deprecated and scheduled for removal in 3.1+. - -.. note:: The method is still available, but you're strongly encouraged to - remove its usage sooner rather than later. - -*********************************************************** -Step 21: Check your usage of Text helper highlight_phrase() -*********************************************************** - -The default HTML tag used by :doc:`Text Helper <../helpers/text_helper>` function -:func:`highlight_phrase()` has been changed from ``<strong>`` to the new HTML5 -tag ``<mark>``. - -Unless you've used your own highlighting tags, this might cause trouble -for your visitors who use older web browsers such as Internet Explorer 8. -We therefore suggest that you add the following code to your CSS files -in order to avoid backwards compatibility with old browsers:: - - mark { - background: #ff0; - color: #000; - }; diff --git a/user_guide_src/source/installation/upgrade_301.rst b/user_guide_src/source/installation/upgrade_301.rst deleted file mode 100644 index 450cdb288..000000000 --- a/user_guide_src/source/installation/upgrade_301.rst +++ /dev/null @@ -1,19 +0,0 @@ -############################# -Upgrading from 3.0.0 to 3.0.1 -############################# - -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: Update your CLI error templates -======================================= - -Replace all files under your *application/views/errors/cli/* directory. diff --git a/user_guide_src/source/installation/upgrade_302.rst b/user_guide_src/source/installation/upgrade_302.rst deleted file mode 100644 index 93d87ac41..000000000 --- a/user_guide_src/source/installation/upgrade_302.rst +++ /dev/null @@ -1,24 +0,0 @@ -############################# -Upgrading from 3.0.1 to 3.0.2 -############################# - -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: Update your application/config/constants.php file -========================================================= - -The *application/config/constants.php* file has been updated to check -if constants aren't already defined before doing that, making it easier -to add an environment-specific configuration. - -.. note:: If you've made modifications to this file, please make a - backup first and cross-check the differences first.
\ No newline at end of file diff --git a/user_guide_src/source/installation/upgrade_303.rst b/user_guide_src/source/installation/upgrade_303.rst deleted file mode 100644 index d13a0fe46..000000000 --- a/user_guide_src/source/installation/upgrade_303.rst +++ /dev/null @@ -1,55 +0,0 @@ -############################# -Upgrading from 3.0.2 to 3.0.3 -############################# - -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: Make sure your 'base_url' config value is not empty -=========================================================== - -When ``$config['base_url']`` is not set, CodeIgniter tries to automatically -detect what your website's base URL is. This is done purely for convenience -when you are starting development of a new application. - -Auto-detection is never reliable and also has security implications, which -is why you should **always** have it manually configured! - -One of the changes in CodeIgniter 3.0.3 is how this auto-detection works, -and more specifically it now falls back to the server's IP address instead -of the hostname requested by the client. Therefore, if you've ever relied -on auto-detection, it will change how your website works now. - -In case you need to allow e.g. multiple domains, or both http:// and -https:// prefixes to be dynamically used depending on the request, -remember that *application/config/config.php* is still a PHP script, in -which you can create this logic with a few lines of code. For example:: - - $allowed_domains = array('domain1.tld', 'domain2.tld'); - $default_domain = 'domain1.tld'; - - if (in_array($_SERVER['HTTP_HOST'], $allowed_domains, TRUE)) - { - $domain = $_SERVER['HTTP_HOST']; - } - else - { - $domain = $default_domain; - } - - if ( ! empty($_SERVER['HTTPS'])) - { - $config['base_url'] = 'https://'.$domain; - } - else - { - $config['base_url'] = 'http://'.$domain; - } diff --git a/user_guide_src/source/installation/upgrade_304.rst b/user_guide_src/source/installation/upgrade_304.rst deleted file mode 100644 index 4d5bd2bb0..000000000 --- a/user_guide_src/source/installation/upgrade_304.rst +++ /dev/null @@ -1,14 +0,0 @@ -############################# -Upgrading from 3.0.3 to 3.0.4 -############################# - -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_305.rst b/user_guide_src/source/installation/upgrade_305.rst deleted file mode 100644 index a47982481..000000000 --- a/user_guide_src/source/installation/upgrade_305.rst +++ /dev/null @@ -1,14 +0,0 @@ -############################# -Upgrading from 3.0.4 to 3.0.5 -############################# - -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_306.rst b/user_guide_src/source/installation/upgrade_306.rst deleted file mode 100644 index 3863e0afa..000000000 --- a/user_guide_src/source/installation/upgrade_306.rst +++ /dev/null @@ -1,48 +0,0 @@ -############################# -Upgrading from 3.0.5 to 3.0.6 -############################# - -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: Update your index.php file (optional) -============================================= - -We've made some tweaks to the index.php file, mostly related to proper -usage of directory separators (i.e. use the ``DIRECTORY_SEPARATOR`` -constant instead of a hard coded forward slash "/"). - -Nothing will break if you skip this step, but if you're running Windows -or just want to be up to date with every change - we do recommend that -you update your index.php file. - -*Tip: Just copy the ``ENVIRONMENT``, ``$system_path``, ``$application_folder`` -and ``$view_folder`` declarations from the old file and put them into the -new one, replacing the defaults.* - -Step 3: Remove 'prep_for_form' usage (deprecation) -================================================== - -The :doc:`Form Validation Library <../libraries/form_validation>` has a -``prep_for_form()`` method, which is/can also be used as a rule in -``set_rules()`` to automatically perform HTML encoding on input data. - -Automatically encoding input (instead of output) data is a bad practice in -the first place, and CodeIgniter and PHP itself offer other alternatives -to this method anyway. -For example, :doc:`Form Helper <../helpers/form_helper>` functions will -automatically perform HTML escaping when necessary. - -Therefore, the *prep_for_form* method/rule is pretty much useless and is now -deprecated and scheduled for removal in 3.1+. - -.. note:: The method is still available, but you're strongly encouraged to - remove its usage sooner rather than later. diff --git a/user_guide_src/source/installation/upgrade_310.rst b/user_guide_src/source/installation/upgrade_310.rst deleted file mode 100644 index 9e0108691..000000000 --- a/user_guide_src/source/installation/upgrade_310.rst +++ /dev/null @@ -1,38 +0,0 @@ -############################# -Upgrading from 3.0.6 to 3.1.0 -############################# - -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 your PHP version -============================== - -We recommend always running versions that are `currently supported -<https://secure.php.net/supported-versions.php>`_, which right now is at least PHP 5.6. - -PHP 5.2.x versions are now officially not supported by CodeIgniter, and while 5.3.7+ -may be at least runnable, we strongly discourage you from using any PHP versions below -the ones listed on the `PHP.net Supported Versions <https://secure.php.net/supported-versions.php>`_ -page. - -Step 3: If you're using the 'odbc' database driver, check for usage of Query Builder -==================================================================================== - -:doc:`Query Builder <../database/query_builder>` functionality and ``escape()`` can -no longer be used with the 'odbc' database driver. - -This is because, due to its nature, the `ODBC extension for PHP <https://secure.php.net/odbc>`_ -does not provide a function that allows to safely escape user-supplied strings for usage -inside an SQL query (which our :doc:`Query Builder <../database/query_builder>` relies on). - -Thus, user inputs MUST be bound, as shown in :doc:`Running Queries <../database/queries>`, -under the "Query Bindings" section.
\ No newline at end of file diff --git a/user_guide_src/source/installation/upgrade_311.rst b/user_guide_src/source/installation/upgrade_311.rst deleted file mode 100644 index a36e72323..000000000 --- a/user_guide_src/source/installation/upgrade_311.rst +++ /dev/null @@ -1,14 +0,0 @@ -############################# -Upgrading from 3.1.0 to 3.1.1 -############################# - -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_312.rst b/user_guide_src/source/installation/upgrade_312.rst deleted file mode 100644 index e0b2191dd..000000000 --- a/user_guide_src/source/installation/upgrade_312.rst +++ /dev/null @@ -1,40 +0,0 @@ -############################# -Upgrading from 3.1.1 to 3.1.2 -############################# - -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: Update your "ci_sessions" database table -================================================ - -If you're using the :doc:`Session Library </libraries/sessions>` with the -'database' driver, you may have to ``ALTER`` your sessions table for your -sessions to continue to work. - -.. note:: The table in question is not necessarily named "ci_sessions". - It is what you've set as your ``$config['sess_save_path']``. - -This will only affect you if you've changed your ``session.hash_function`` -*php.ini* setting to something like 'sha512'. Or if you've been running -an older CodeIgniter version on PHP 7.1+. - -It is recommended that you do this anyway, just to avoid potential issues -in the future if you do change your configuration. - -Just execute the one of the following SQL queries, depending on your -database:: - - // MySQL: - ALTER TABLE ci_sessions CHANGE id id varchar(128) NOT NULL; - - // PostgreSQL - ALTER TABLE ci_sessions ALTER COLUMN id SET DATA TYPE varchar(128); diff --git a/user_guide_src/source/installation/upgrade_313.rst b/user_guide_src/source/installation/upgrade_313.rst deleted file mode 100644 index 13af775a1..000000000 --- a/user_guide_src/source/installation/upgrade_313.rst +++ /dev/null @@ -1,46 +0,0 @@ -############################# -Upgrading from 3.1.2 to 3.1.3 -############################# - -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: Remove usage of nice_date() helper (deprecation) -======================================================== - -The :doc:`Date Helper <../helpers/date_helper>` function ``nice_date()`` is -no longer useful since the introduction of PHP's `DateTime classes -<https://secure.php.net/datetime>`_ - -You can replace it with the following: -:: - - DateTime::createFromFormat($input_format, $input_date)->format($desired_output_format); - -Thus, ``nice_date()`` is now deprecated and scheduled for removal in -CodeIgniter 3.2+. - -.. note:: The function is still available, but you're strongly encouraged - to remove its usage sooner rather than later. - -Step 3: Remove usage of $config['standardize_newlines'] -======================================================= - -The :doc:`Input Library <../libraries/input>` would optionally replace -occurrences of `\r\n`, `\r`, `\n` in input data with whatever the ``PHP_EOL`` -value is on your system - if you've set ``$config['standardize_newlines']`` -to ``TRUE`` in your *application/config/config.php*. - -This functionality is now deprecated and scheduled for removal in -CodeIgniter 3.2.+. - -.. note:: The functionality is still available, but you're strongly - encouraged to remove its usage sooner rather than later. diff --git a/user_guide_src/source/installation/upgrade_314.rst b/user_guide_src/source/installation/upgrade_314.rst deleted file mode 100644 index 3f2da6564..000000000 --- a/user_guide_src/source/installation/upgrade_314.rst +++ /dev/null @@ -1,14 +0,0 @@ -############################# -Upgrading from 3.1.3 to 3.1.4 -############################# - -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_315.rst b/user_guide_src/source/installation/upgrade_315.rst deleted file mode 100644 index cf673abbb..000000000 --- a/user_guide_src/source/installation/upgrade_315.rst +++ /dev/null @@ -1,14 +0,0 @@ -############################# -Upgrading from 3.1.4 to 3.1.5 -############################# - -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_b11.rst b/user_guide_src/source/installation/upgrade_b11.rst deleted file mode 100644 index e70759be6..000000000 --- a/user_guide_src/source/installation/upgrade_b11.rst +++ /dev/null @@ -1,78 +0,0 @@ -################################### -Upgrading From Beta 1.0 to Beta 1.1 -################################### - -To upgrade to Beta 1.1 please perform the following steps: - -Step 1: Replace your index file -=============================== - -Replace your main index.php file with the new index.php file. Note: If -you have renamed your "system" folder you will need to edit this info in -the new file. - -Step 2: Relocate your config folder -=================================== - -This version of CodeIgniter now permits multiple sets of "applications" -to all share a common set of backend files. In order to enable each -application to have its own configuration values, the config directory -must now reside inside of your application folder, so please move it -there. - -Step 3: Replace directories -=========================== - -Replace the following directories with the new versions: - -- drivers -- helpers -- init -- libraries -- scaffolding - -Step 4: Add the calendar language file -====================================== - -There is a new language file corresponding to the new calendaring class -which must be added to your language folder. Add the following item to -your version: language/english/calendar_lang.php - -Step 5: Edit your config file -============================= - -The original application/config/config.php file has a typo in it Open -the file and look for the items related to cookies:: - - $conf['cookie_prefix'] = ""; - $conf['cookie_domain'] = ""; - $conf['cookie_path'] = "/"; - -Change the array name from $conf to $config, like this:: - - $config['cookie_prefix'] = ""; - $config['cookie_domain'] = ""; - $config['cookie_path'] = "/"; - -Lastly, add the following new item to the config file (and edit the -option if needed):: - - - /* - |------------------------------------------------ - | URI PROTOCOL - |------------------------------------------------ - | - | This item determines which server global - | should be used to retrieve the URI string. The - | default setting of "auto" works for most servers. - | If your links do not seem to work, try one of - | the other delicious flavors: - | - | 'auto' Default - auto detects - | 'path_info' Uses the PATH_INFO - | 'query_string' Uses the QUERY_STRING - */ - - $config['uri_protocol'] = "auto"; - diff --git a/user_guide_src/source/installation/upgrading.rst b/user_guide_src/source/installation/upgrading.rst deleted file mode 100644 index 8f30e1a01..000000000 --- a/user_guide_src/source/installation/upgrading.rst +++ /dev/null @@ -1,55 +0,0 @@ -################################# -Upgrading From a Previous Version -################################# - -Please read the upgrade notes corresponding to the version you are -upgrading from. - -.. toctree:: - :titlesonly: - - Upgrading from 3.1.4 to 3.1.5 <upgrade_315> - Upgrading from 3.1.3 to 3.1.4 <upgrade_314> - Upgrading from 3.1.2 to 3.1.3 <upgrade_313> - Upgrading from 3.1.1 to 3.1.2 <upgrade_312> - Upgrading from 3.1.0 to 3.1.1 <upgrade_311> - Upgrading from 3.0.6 to 3.1.0 <upgrade_310> - Upgrading from 3.0.5 to 3.0.6 <upgrade_306> - Upgrading from 3.0.4 to 3.0.5 <upgrade_305> - Upgrading from 3.0.3 to 3.0.4 <upgrade_304> - Upgrading from 3.0.2 to 3.0.3 <upgrade_303> - Upgrading from 3.0.1 to 3.0.2 <upgrade_302> - Upgrading from 3.0.0 to 3.0.1 <upgrade_301> - Upgrading from 2.2.x to 3.0.x <upgrade_300> - Upgrading from 2.2.2 to 2.2.3 <upgrade_223> - Upgrading from 2.2.1 to 2.2.2 <upgrade_222> - Upgrading from 2.2.0 to 2.2.1 <upgrade_221> - Upgrading from 2.1.4 to 2.2.x <upgrade_220> - Upgrading from 2.1.3 to 2.1.4 <upgrade_214> - Upgrading from 2.1.2 to 2.1.3 <upgrade_213> - Upgrading from 2.1.1 to 2.1.2 <upgrade_212> - Upgrading from 2.1.0 to 2.1.1 <upgrade_211> - Upgrading from 2.0.3 to 2.1.0 <upgrade_210> - Upgrading from 2.0.2 to 2.0.3 <upgrade_203> - Upgrading from 2.0.1 to 2.0.2 <upgrade_202> - Upgrading from 2.0 to 2.0.1 <upgrade_201> - Upgrading from 1.7.2 to 2.0 <upgrade_200> - Upgrading from 1.7.1 to 1.7.2 <upgrade_172> - Upgrading from 1.7.0 to 1.7.1 <upgrade_171> - Upgrading from 1.6.3 to 1.7.0 <upgrade_170> - Upgrading from 1.6.2 to 1.6.3 <upgrade_163> - Upgrading from 1.6.1 to 1.6.2 <upgrade_162> - Upgrading from 1.6.0 to 1.6.1 <upgrade_161> - Upgrading from 1.5.4 to 1.6.0 <upgrade_160> - Upgrading from 1.5.3 to 1.5.4 <upgrade_154> - Upgrading from 1.5.2 to 1.5.3 <upgrade_153> - Upgrading from 1.5.0 or 1.5.1 to 1.5.2 <upgrade_152> - Upgrading from 1.4.1 to 1.5.0 <upgrade_150> - Upgrading from 1.4.0 to 1.4.1 <upgrade_141> - Upgrading from 1.3.3 to 1.4.0 <upgrade_140> - Upgrading from 1.3.2 to 1.3.3 <upgrade_133> - Upgrading from 1.3.1 to 1.3.2 <upgrade_132> - Upgrading from 1.3 to 1.3.1 <upgrade_131> - Upgrading from 1.2 to 1.3 <upgrade_130> - Upgrading from 1.1 to 1.2 <upgrade_120> - Upgrading from Beta 1.0 to Beta 1.1 <upgrade_b11> |