diff options
Diffstat (limited to 'user_guide_src')
-rw-r--r-- | user_guide_src/source/changelog.rst | 81 | ||||
-rw-r--r-- | user_guide_src/source/database/active_record.rst | 10 | ||||
-rw-r--r-- | user_guide_src/source/database/configuration.rst | 42 | ||||
-rw-r--r-- | user_guide_src/source/database/connecting.rst | 23 | ||||
-rw-r--r-- | user_guide_src/source/general/urls.rst | 9 | ||||
-rw-r--r-- | user_guide_src/source/helpers/string_helper.rst | 2 | ||||
-rw-r--r-- | user_guide_src/source/helpers/url_helper.rst | 21 | ||||
-rw-r--r-- | user_guide_src/source/libraries/email.rst | 6 | ||||
-rw-r--r-- | user_guide_src/source/libraries/image_lib.rst | 2 | ||||
-rw-r--r-- | user_guide_src/source/tutorial/static_pages.rst | 4 |
10 files changed, 149 insertions, 51 deletions
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst index 3a2990b2c..2bfae3fd7 100644 --- a/user_guide_src/source/changelog.rst +++ b/user_guide_src/source/changelog.rst @@ -22,16 +22,61 @@ Release Date: Not Released - Added an optional backtrace to php-error template. - Added Android to the list of user agents. - Added Windows 7 to the list of user platforms. + - Ability to log certain error types, not all under a threshold. + - Added support for pem, p10, p12, p7a, p7c, p7m, p7r, p7s, crt, crl, der, kdb, rsa, cer, sst, csr Certs to mimes.php. + - Added support pgp and gpg to mimes.php. + - Added support 3gp, 3g2, mp4, wmv, f4v, vlc Video files to mimes.php. + - Added support m4a, aac, m4u, xspf, au, ac3, flac, ogg Audio files to mimes.php. + - Changed logger to only chmod when file is first created. + +- Helpers + + - url_title() will now trim extra dashes from beginning and end. + - Added XHTML Basic 1.1 doctype to :doc:`HTML Helper <helpers/html_helper>`. + +- Database + + - Added new :doc:`Active Record <database/active_record>` methods that return + the SQL string of queries without executing them: get_compiled_select(), + get_compiled_insert(), get_compiled_update(), get_compiled_delete(). + +- Libraries + + - Added max_filename_increment config setting for Upload library. + - CI_Loader::_ci_autoloader() is now a protected method. + - Modified valid_ip() to use PHP's filter_var() when possible (>= PHP 5.2) in the :doc:`Form Validation library <libraries/form_validation>`. + - Added custom filename to Email::attach() as $this->email->attach($filename, $disposition, $newname) + +- Core + + - Changed private functions in CI_URI to protected so MY_URI can + override them. + - Removed CI_CORE boolean constant from CodeIgniter.php (no longer Reactor and Core versions). + +Bug fixes for 3.0 +------------------ + +- Unlink raised an error if cache file did not exist when you try to delete it. +- Fixed a bug (#181) where a mis-spelling was in the form validation + language file. +- Fixed a bug (#159, #163) that mishandled Active Record nested transactions because _trans_depth was not getting incremented. +- Fixed a bug (#737, #75) where pagination anchor class was not set properly when using initialize method. +- Bug #419 - auto_link() now recognizes URLs that come after a word boundary. +- Bug #724 - is_unique in form validation now checks that you are connected to a database. +- Bug #647 - _get_mod_time() in Zip library no longer generates stat failed errors + +Version 2.1.0 +============= + +Release Date: Not Released + +- General Changes + - Callback validation rules can now accept parameters like any other validation rule. - - Ability to log certain error types, not all under a threshold. - Added html_escape() to :doc:`Common functions <general/common_functions>` to escape HTML output for preventing XSS. - - Added support for pem,p10,p12,p7a,p7c,p7m,p7r,p7s,crt,crl,der,kdb,rsa,cer,sst,csr Certs to mimes.php. - - Added support pgp,gpg to mimes.php. - - Added support 3gp, 3g2, mp4, wmv, f4v, vlc Video files to mimes.php. - - Added support m4a, aac, m4u, xspf, au, ac3, flac, ogg Audio files to mimes.php. - Helpers @@ -42,7 +87,6 @@ Release Date: Not Released function call optional. Fixes (#65) - url_title() will now trim extra dashes from beginning and end. - Improved speed of :doc:`String Helper <helpers/string_helper>`'s random_string() method - - Added XHTML Basic 1.1 doctype to :doc:`HTML Helper <helpers/html_helper>`. - Database @@ -57,9 +101,7 @@ Release Date: Not Released $this->db->like() in the :doc:`Database Driver <database/active_record>`. - Added $this->db->insert_batch() support to the OCI8 (Oracle) driver. - - Added new :doc:`Active Record <database/active_record>` methods that return - the SQL string of queries without executing them: get_compiled_select(), - get_compiled_insert(), get_compiled_update(), get_compiled_delete(). + - Added failover if the main connections in the config should fail - Libraries @@ -69,14 +111,12 @@ Release Date: Not Released - Added support to set an optional parameter in your callback rules of validation using the :doc:`Form Validation Library <libraries/form_validation>`. - - Added a :doc:`Migration Library <libraries/migration>` to assist with applying + - Added a :doc:`Migration library <libraries/migration>` to assist with applying incremental updates to your database schema. - Driver children can be located in any package path. - Added max_filename_increment config setting for Upload library. - - CI_Loader::_ci_autoloader() is now a protected method. - Added is_unique to the :doc:`Form Validation library <libraries/form_validation>`. - - Modified valid_ip() to use PHP's filter_var() when possible (>= PHP 5.2) in the :doc:`Form Validation library <libraries/form_validation>`. - Added $config['use_page_numbers'] to the :doc:`Pagination library <libraries/pagination>`, which enables real page numbers in the URI. - Added TLS and SSL Encryption for SMTP. @@ -86,10 +126,11 @@ Release Date: Not Released override them. - Removed CI_CORE boolean constant from CodeIgniter.php (no longer Reactor and Core versions). + Bug fixes for 2.1.0 ------------------- -- Unlink raised an error if cache file did not exist when you try to delete it. + - Fixed #378 Robots identified as regular browsers by the User Agent class. - If a config class was loaded first then a library with the same name @@ -100,21 +141,16 @@ Bug fixes for 2.1.0 but the requested method did not. - Fixed a bug (Reactor #89) where MySQL export would fail if the table had hyphens or other non alphanumeric/underscore characters. -- Fixed a bug (#200) where MySQL queries would be malformed after - calling count_all() then db->get() -- Fixed bug #105 that stopped query errors from being logged unless database debugging was enabled -- Fixed a bug (#181) where a mis-spelling was in the form validation - language file. +- Fixed a bug (#200) where MySQL queries would be malformed after calling $this->db->count_all() then $this->db->get() +- Fixed a bug (#105) that stopped query errors from being logged unless database debugging was enabled - Fixed a bug (#160) - Removed unneeded array copy in the file cache driver. - Fixed a bug (#150) - field_data() now correctly returns column length. - Fixed a bug (#8) - load_class() now looks for core classes in APPPATH first, allowing them to be replaced. -- Fixed a bug (#24) - ODBC database driver called incorrect parent in - __construct(). -- Fixed a bug (#85) - OCI8 (Oracle) database escape_str() function did - not escape correct. +- Fixed a bug (#24) - ODBC database driver called incorrect parent in __construct(). +- Fixed a bug (#85) - OCI8 (Oracle) database escape_str() function did not escape correct. - Fixed a bug (#344) - Using schema found in :doc:`Saving Session Data to a Database <libraries/sessions>`, system would throw error "user_data does not have a default value" when deleting then creating a session. - Fixed a bug (#112) - OCI8 (Oracle) driver didn't pass the configured database character set when connecting. - Fixed a bug (#182) - OCI8 (Oracle) driver used to re-execute the statement whenever num_rows() is called. @@ -125,6 +161,7 @@ Bug fixes for 2.1.0 - Fixed a bug (#60) - Added _file_mime_type() method to the :doc:`File Uploading Library <libraries/file_uploading>` in order to fix a possible MIME-type injection. - Fixed a bug (#537) - Support for all wav type in browser. - Fixed a bug (#576) - Using ini_get() function to detect if apc is enabled or not. +- Fixed invalid date time format in :doc:`Date helper <helpers/date_helper>` and :doc:`XMLRPC library <libraries/xmlrpc>`. Version 2.0.3 ============= diff --git a/user_guide_src/source/database/active_record.rst b/user_guide_src/source/database/active_record.rst index 5555a30bc..228d1d509 100644 --- a/user_guide_src/source/database/active_record.rst +++ b/user_guide_src/source/database/active_record.rst @@ -96,7 +96,7 @@ function:: Please read the about the where function below for more information. -Note: get_where() was formerly known as getwhere(), which has been +.. note:: get_where() was formerly known as getwhere(), which has been removed $this->db->select() @@ -198,7 +198,7 @@ Permits you to write the JOIN portion of your query:: $query = $this->db->get(); // Produces: - // SELECT * FROM blogs // JOIN comments ON comments.id = blogs.id + // SELECT * FROM blogs JOIN comments ON comments.id = blogs.id Multiple function calls can be made if you need several joins in one query. @@ -836,7 +836,7 @@ $this->db->empty_table() Generates a delete SQL string and runs the query.:: - $this->db->empty_table('mytable'); // Produces // DELETE FROM mytable + $this->db->empty_table('mytable'); // Produces: DELETE FROM mytable $this->db->truncate() @@ -847,7 +847,7 @@ Generates a truncate SQL string and runs the query. :: $this->db->from('mytable'); - $this->db->truncate(); + $this->db->truncate(); // or @@ -878,8 +878,6 @@ multiple functions. Consider this example:: ->limit(10, 20) ->get('mytable'); -.. note:: Method chaining only works with PHP 5. - .. _ar-caching: ********************* diff --git a/user_guide_src/source/database/configuration.rst b/user_guide_src/source/database/configuration.rst index 687f0d920..433c67152 100644 --- a/user_guide_src/source/database/configuration.rst +++ b/user_guide_src/source/database/configuration.rst @@ -28,6 +28,48 @@ prototype:: $db['default']['autoinit'] = TRUE; $db['default']['stricton'] = FALSE; +You can also specify failovers for the situation when the main connection cannot connect for some reason. +These failovers can be specified by setting the failover for a connection like this:: + + $db['default']['failover'] = array( + array( + 'hostname' => 'localhost1', + 'username' => '', + 'password' => '', + 'database' => '', + 'dbdriver' => 'mysql', + 'dbprefix' => '', + 'pconnect' => TRUE, + 'db_debug' => TRUE, + 'cache_on' => FALSE, + 'cachedir' => '', + 'char_set' => 'utf8', + 'dbcollat' => 'utf8_general_ci', + 'swap_pre' => '', + 'autoinit' => TRUE, + 'stricton' => FALSE + ), + array( + 'hostname' => 'localhost2', + 'username' => '', + 'password' => '', + 'database' => '', + 'dbdriver' => 'mysql', + 'dbprefix' => '', + 'pconnect' => TRUE, + 'db_debug' => TRUE, + 'cache_on' => FALSE, + 'cachedir' => '', + 'char_set' => 'utf8', + 'dbcollat' => 'utf8_general_ci', + 'swap_pre' => '', + 'autoinit' => TRUE, + 'stricton' => FALSE + ) + ); + +You can specify as many failovers as you like. + The reason we use a multi-dimensional array rather than a more simple one is to permit you to optionally store multiple sets of connection values. If, for example, you run multiple environments (development, diff --git a/user_guide_src/source/database/connecting.rst b/user_guide_src/source/database/connecting.rst index 64adc3047..a834cc0f7 100644 --- a/user_guide_src/source/database/connecting.rst +++ b/user_guide_src/source/database/connecting.rst @@ -57,7 +57,19 @@ file. To connect manually to a desired database you can pass an array of values:: - $config['hostname'] = "localhost"; $config['username'] = "myusername"; $config['password'] = "mypassword"; $config['database'] = "mydatabase"; $config['dbdriver'] = "mysql"; $config['dbprefix'] = ""; $config['pconnect'] = FALSE; $config['db_debug'] = TRUE; $config['cache_on'] = FALSE; $config['cachedir'] = ""; $config['char_set'] = "utf8"; $config['dbcollat'] = "utf8_general_ci"; $this->load->database($config); + $config['hostname'] = "localhost"; + $config['username'] = "myusername"; + $config['password'] = "mypassword"; + $config['database'] = "mydatabase"; + $config['dbdriver'] = "mysql"; + $config['dbprefix'] = ""; + $config['pconnect'] = FALSE; + $config['db_debug'] = TRUE; + $config['cache_on'] = FALSE; + $config['cachedir'] = ""; + $config['char_set'] = "utf8"; + $config['dbcollat'] = "utf8_general_ci"; + $this->load->database($config); For information on each of these values please see the :doc:`configuration page <configuration>`. @@ -68,14 +80,16 @@ page <configuration>`. Or you can submit your database values as a Data Source Name. DSNs must have this prototype:: - $dsn = 'dbdriver://username:password@hostname/database'; $this->load->database($dsn); + $dsn = 'dbdriver://username:password@hostname/database'; + $this->load->database($dsn); To override default config values when connecting with a DSN string, add the config variables as a query string. :: - $dsn = 'dbdriver://username:password@hostname/database?char_set=utf8&dbcollat=utf8_general_ci&cache_on=true&cachedir=/path/to/cache'; $this->load->database($dsn); + $dsn = 'dbdriver://username:password@hostname/database?char_set=utf8&dbcollat=utf8_general_ci&cache_on=true&cachedir=/path/to/cache'; + $this->load->database($dsn); Connecting to Multiple Databases ================================ @@ -83,7 +97,8 @@ Connecting to Multiple Databases If you need to connect to more than one database simultaneously you can do so as follows:: - $DB1 = $this->load->database('group_one', TRUE); $DB2 = $this->load->database('group_two', TRUE); + $DB1 = $this->load->database('group_one', TRUE); + $DB2 = $this->load->database('group_two', TRUE); Note: Change the words "group_one" and "group_two" to the specific group names you are connecting to (or you can pass the connection values diff --git a/user_guide_src/source/general/urls.rst b/user_guide_src/source/general/urls.rst index 211537675..3126fcf36 100644 --- a/user_guide_src/source/general/urls.rst +++ b/user_guide_src/source/general/urls.rst @@ -45,12 +45,13 @@ method in which everything is redirected except the specified items: :: - RewriteEngine on - RewriteCond $1 !^(index\.php|images|robots\.txt) + RewriteEngine On + RewriteCond %{REQUEST_FILENAME} !-f + RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L] -In the above example, any HTTP request other than those for index.php, -images, and robots.txt is treated as a request for your index.php file. +In the above example, any HTTP request other than those for existing +directories and existing files is treated as a request for your index.php file. Adding a URL Suffix =================== diff --git a/user_guide_src/source/helpers/string_helper.rst b/user_guide_src/source/helpers/string_helper.rst index b8a69e036..dc70e461a 100644 --- a/user_guide_src/source/helpers/string_helper.rst +++ b/user_guide_src/source/helpers/string_helper.rst @@ -58,7 +58,7 @@ Usage example echo increment_string('file', '_'); // "file_1" echo increment_string('file', '-', 2); // "file-2" - echo increment_string('file-4'); // "file-5" + echo increment_string('file_4'); // "file_5" alternator() ============ diff --git a/user_guide_src/source/helpers/url_helper.rst b/user_guide_src/source/helpers/url_helper.rst index c72558705..e6d51b22b 100644 --- a/user_guide_src/source/helpers/url_helper.rst +++ b/user_guide_src/source/helpers/url_helper.rst @@ -284,23 +284,24 @@ redirect() ========== Does a "header redirect" to the URI specified. If you specify the full -site URL that link will be build, but for local links simply providing +site URL that link will be built, but for local links simply providing the URI segments to the controller you want to direct to will create the link. The function will build the URL based on your config file values. -The optional second parameter allows you to choose between the -"location" method (default) or the "refresh" method. Location is faster, -but on Windows servers it can sometimes be a problem. The optional third -parameter allows you to send a specific HTTP Response Code - this could -be used for example to create 301 redirects for search engine purposes. -The default Response Code is 302. The third parameter is *only* -available with 'location' redirects, and not 'refresh'. Examples +The optional second parameter allows you to force a particular redirection +method. The available methods are "location" or "refresh", with location +being faster but less reliable on Windows servers. The default is "auto", +which will attempt to intelligently choose the method based on the server +environment. -:: +The optional third parameter allows you to send a specific HTTP Response +Code - this could be used for example to create 301 redirects for search +engine purposes. The default Response Code is 302. The third parameter is +*only* available with 'location' redirects, and not 'refresh'. Examples:: if ($logged_in == FALSE) { - redirect('/login/form/', 'refresh'); + redirect('/login/form/'); } // with 301 redirect diff --git a/user_guide_src/source/libraries/email.rst b/user_guide_src/source/libraries/email.rst index 759899242..27b704dae 100644 --- a/user_guide_src/source/libraries/email.rst +++ b/user_guide_src/source/libraries/email.rst @@ -228,7 +228,11 @@ use the function multiple times. For example:: $this->email->attach('/path/to/photo2.jpg'); $this->email->attach('/path/to/photo3.jpg'); - $this->email->send(); +If you'd like to change the disposition or add a custom file name, you can use the second and third paramaters. To use the default disposition (attachment), leave the second parameter blank. Here's an example:: + + $this->email->attach('/path/to/photo1.jpg', 'inline'); + $this->email->attach('/path/to/photo1.jpg', '', 'birthday.jpg'); + $this->email->print_debugger() ------------------------------- diff --git a/user_guide_src/source/libraries/image_lib.rst b/user_guide_src/source/libraries/image_lib.rst index 300cbef31..14bd128a6 100644 --- a/user_guide_src/source/libraries/image_lib.rst +++ b/user_guide_src/source/libraries/image_lib.rst @@ -360,7 +360,7 @@ Preference Default Value Options Description image headers. **quality** 90% 1 - 100% Sets the quality of the image. The higher the quality the larger the file size. -**padding** None A number The amount of padding, set in pixels, that will be applied to the +**wm_padding** None A number The amount of padding, set in pixels, that will be applied to the watermark to set it away from the edge of your images. **wm_vrt_alignment** bottom top, middle, bottom Sets the vertical alignment for the watermark image. **wm_hor_alignment** center left, center, right Sets the horizontal alignment for the watermark image. diff --git a/user_guide_src/source/tutorial/static_pages.rst b/user_guide_src/source/tutorial/static_pages.rst index 0bbf51b1b..82de2a8cb 100644 --- a/user_guide_src/source/tutorial/static_pages.rst +++ b/user_guide_src/source/tutorial/static_pages.rst @@ -28,7 +28,7 @@ code. <?php class Pages extends CI_Controller { - public function view($page == 'home') + public function view($page = 'home') { } @@ -62,7 +62,7 @@ following code. </head> <body> - <h1>CodeIgniter 2 Tutorial<h1> + <h1>CodeIgniter 2 Tutorial</h1> The header contains the basic HTML code that you'll want to display before loading the main view, together with a heading. It will also |