summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--system/database/DB_utility.php5
-rw-r--r--system/database/drivers/mysql/mysql_utility.php2
-rw-r--r--system/libraries/Controller.php20
-rw-r--r--system/libraries/Xmlrpcs.php20
-rw-r--r--user_guide/database/utilities.html16
-rw-r--r--user_guide/libraries/xmlrpc.html13
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 />
+&nbsp;&nbsp;&nbsp; print_r($result);<br />
+}
+</code>
+
+<p><strong>Note:</strong> Not all database platforms support table optimization.</p>
@@ -190,7 +204,7 @@ Previous Topic:&nbsp;&nbsp;<a href="call_function.html">Custom Function Calls</a
&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">Top of Page</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">User Guide Home</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
-Next Topic:&nbsp;&nbsp;<a href="../libraries/email.html">Email Class</a>
+Next Topic:&nbsp;&nbsp;<a href="export.html">Database Export Class</a>
<p>
<p><a href="http://www.codeigniter.com">Code Igniter</a> &nbsp;&middot;&nbsp; Copyright &#169; 2006 &nbsp;&middot;&nbsp; <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>&nbsp; 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>'];&nbsp;&nbsp;= 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');