diff options
-rw-r--r-- | system/database/DB_utility.php | 5 | ||||
-rw-r--r-- | system/database/drivers/mysql/mysql_utility.php | 2 | ||||
-rw-r--r-- | system/libraries/Controller.php | 20 | ||||
-rw-r--r-- | system/libraries/Xmlrpcs.php | 20 | ||||
-rw-r--r-- | user_guide/database/utilities.html | 16 | ||||
-rw-r--r-- | user_guide/libraries/xmlrpc.html | 13 |
6 files changed, 52 insertions, 24 deletions
diff --git a/system/database/DB_utility.php b/system/database/DB_utility.php index 281a3b87d..a2469d059 100644 --- a/system/database/DB_utility.php +++ b/system/database/DB_utility.php @@ -191,8 +191,7 @@ class CI_DB_utility { * Optimize Database * * @access public - * @param string the table name - * @return bool + * @return array */ function optimize_database() { @@ -207,6 +206,8 @@ class CI_DB_utility { } $query = $this->db->query($sql); + + // Build the result array... $res = current($query->result_array()); $key = str_replace($this->db->database.'.', '', current($res)); $keys = array_keys($res); diff --git a/system/database/drivers/mysql/mysql_utility.php b/system/database/drivers/mysql/mysql_utility.php index 9ba4a79c5..a81936c56 100644 --- a/system/database/drivers/mysql/mysql_utility.php +++ b/system/database/drivers/mysql/mysql_utility.php @@ -12,7 +12,7 @@ * @since Version 1.0 * @filesource */ - + // ------------------------------------------------------------------------ /** diff --git a/system/libraries/Controller.php b/system/libraries/Controller.php index 23c050e18..56b4d6f90 100644 --- a/system/libraries/Controller.php +++ b/system/libraries/Controller.php @@ -468,10 +468,22 @@ class Controller extends CI_Base { */ function _ci_init_dbextra($class) { - $map = array('dbutil' => 'DB_utility', 'dbexport' => 'DB_export'); - require_once(BASEPATH.'database/'.$map[$class].EXT); - - $this->init_class('CI_'.$map[$class], $class); + if ( ! $this->_ci_is_loaded('db')) + { + $this->_init_database(); + } + + if ($class == 'dbutil') + { + require_once(BASEPATH.'database/DB_utility'.EXT); + require_once(BASEPATH.'database/drivers/'.$this->db->dbdriver.'/'.$this->db->dbdriver.'_utility'.EXT); + $this->init_class('CI_DB_'.$this->db->dbdriver.'_utility', 'dbutil'); + } + elseif ($class == 'dbexport') + { + require_once(BASEPATH.'database/DB_export'.EXT); + $this->init_class('CI_DB_export', 'dbexport'); + } } // -------------------------------------------------------------------- diff --git a/system/libraries/Xmlrpcs.php b/system/libraries/Xmlrpcs.php index a95764a98..f41437342 100644 --- a/system/libraries/Xmlrpcs.php +++ b/system/libraries/Xmlrpcs.php @@ -18,13 +18,15 @@ if ( ! function_exists('xml_parser_create')) show_error('Your PHP installation does not support XML'); } +if ( ! class_exists('CI_Xmlrpc')) +{ + show_error('You must load the Xmlrpc class before loading the Xmlrpcs class in order to create a server.'); +} // INITIALIZE THE CLASS --------------------------------------------------- -require_once(BASEPATH.'libraries/Xmlrpc'.EXT); - -// The initialization code is at the bottom of this file. It seems to -// cause an error to have it at the top +$obj =& get_instance(); +$obj->init_class('CI_Xmlrpcs'); // ------------------------------------------------------------------------ @@ -503,14 +505,4 @@ class CI_Xmlrpcs extends CI_Xmlrpc } // END XML_RPC_Server class - -// INITIALIZE THE CLASS --------------------------------------------------- - -$obj =& get_instance(); -$obj->init_class('CI_Xmlrpc'); -$obj->init_class('CI_Xmlrpcs'); - -// ------------------------------------------------------------------------ - - ?>
\ No newline at end of file diff --git a/user_guide/database/utilities.html b/user_guide/database/utilities.html index aa2ed3dcd..775c3f239 100644 --- a/user_guide/database/utilities.html +++ b/user_guide/database/utilities.html @@ -176,6 +176,20 @@ if ($this->dbutil->optimize_table('table_name'))<br /> +<h2>$this->dbutil->optimize_database();</h2>
+
+<p>Permits you to optimize the database your DB class is currently connected to. Returns an array containing the returned status messages or FALSE on failure.</p>
+
+<code>
+$result = $this->dbutil->optimize_databas();<br />
+<br />
+if ($result !== FALSE)<br />
+{<br />
+ print_r($result);<br />
+}
+</code>
+
+<p><strong>Note:</strong> Not all database platforms support table optimization.</p>
@@ -190,7 +204,7 @@ Previous Topic: <a href="call_function.html">Custom Function Calls</a ·
<a href="#top">Top of Page</a> ·
<a href="../index.html">User Guide Home</a> ·
-Next Topic: <a href="../libraries/email.html">Email Class</a>
+Next Topic: <a href="export.html">Database Export Class</a>
<p>
<p><a href="http://www.codeigniter.com">Code Igniter</a> · Copyright © 2006 · <a href="http://www.pmachine.com">pMachine, Inc.</a></p>
</div>
diff --git a/user_guide/libraries/xmlrpc.html b/user_guide/libraries/xmlrpc.html index 1417b4a45..96a52a1a2 100644 --- a/user_guide/libraries/xmlrpc.html +++ b/user_guide/libraries/xmlrpc.html @@ -93,9 +93,14 @@ Once processed, the server will then send back a response message.</p> <p>Once loaded, the xml-rpc library object will be available using: <dfn>$this->xmlrpc</dfn></p>
<p>To load the XML-RPC Server class you will use:
-<code>$this->load->library('xmlrpcs');</code>
+<code>
+$this->load->library('xmlrpc');<br />
+$this->load->library('xmlrpcs');
+</code>
<p>Once loaded, the xml-rpcs library object will be available using: <dfn>$this->xmlrpcs</dfn></p>
+<p class="important"><strong>Note:</strong> When using the XML-RPC Sever class you must load BOTH the XML-RPC class and the XML-RPC Server class.</p>
+
<h2>Sending XML-RPC Requests</h2>
@@ -177,7 +182,9 @@ class and method for processing.</p> <p>Here is an example to illustrate:</p>
-<code>$this->load->library('xmlrpcs');<br />
+<code>
+$this->load->library('xmlrpcs');<br />
+$this->load->library('xmlrpcs');<br />
<br />
$config['functions']['<var>new_post</var>']; = array('function' => '<dfn>My_blog.new_entry</dfn>');<br />
$config['functions']['<var>update_post</var>'] = array('function' => '<dfn>My_blog.update_entry</dfn>');<br />
@@ -359,6 +366,8 @@ class Xmlrpc_server extends Controller { function index()
{
+
+ $this->load->library('xmlrpc');
$this->load->library('xmlrpcs');
$config['functions']['Greetings'] = array('function' => 'Xmlrpc_server.process');
|