Changing EOL style to LF
diff --git a/system/database/DB_utility.php b/system/database/DB_utility.php
index a37522d..195e4c4 100644
--- a/system/database/DB_utility.php
+++ b/system/database/DB_utility.php
@@ -1,389 +1,389 @@
-<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

-/**

- * Code Igniter

- *

- * An open source application development framework for PHP 4.3.2 or newer

- *

- * @package		CodeIgniter

- * @author		ExpressionEngine Dev Team

- * @copyright	Copyright (c) 2008, EllisLab, Inc.

- * @license		http://codeigniter.com/user_guide/license.html

- * @link		http://codeigniter.com

- * @since		Version 1.0

- * @filesource

- */

-

-// ------------------------------------------------------------------------

-

-/**

- * Database Utility Class

- *

- * @category	Database

- * @author		ExpressionEngine Dev Team

- * @link		http://codeigniter.com/user_guide/database/

- */

-class CI_DB_utility extends CI_DB_forge {

-

-	var $db;

-	var $data_cache 	= array();

-

-	/**

-	 * Constructor

-	 *

-	 * Grabs the CI super object instance so we can access it.

-	 *

-	 */	

-	function CI_DB_utility()

-	{

-		// Assign the main database object to $this->db

-		$CI =& get_instance();

-		$this->db =& $CI->db;

-		

-		log_message('debug', "Database Utility Class Initialized");

-	}

-

-	// --------------------------------------------------------------------

-

-	/**

-	 * List databases

-	 *

-	 * @access	public

-	 * @return	bool

-	 */

-	function list_databases()

-	{	

-		// Is there a cached result?

-		if (isset($this->data_cache['db_names']))

-		{

-			return $this->data_cache['db_names'];

-		}

-	

-		$query = $this->db->query($this->_list_databases());

-		$dbs = array();

-		if ($query->num_rows() > 0)

-		{

-			foreach ($query->result_array() as $row)

-			{

-				$dbs[] = current($row);

-			}

-		}

-			

-		$this->data_cache['db_names'] = $dbs;

-		return $this->data_cache['db_names'];

-	}

-

-	// --------------------------------------------------------------------

-

-	/**

-	 * Optimize Table

-	 *

-	 * @access	public

-	 * @param	string	the table name

-	 * @return	bool

-	 */

-	function optimize_table($table_name)

-	{

-		$sql = $this->_optimize_table($table_name);

-		

-		if (is_bool($sql))

-		{

-				show_error('db_must_use_set');

-		}

-	

-		$query = $this->db->query($sql);

-		$res = $query->result_array();

-		

-		// Note: Due to a bug in current() that affects some versions

-		// of PHP we can not pass function call directly into it

-		return current($res);

-	}

-

-	// --------------------------------------------------------------------

-

-	/**

-	 * Optimize Database

-	 *

-	 * @access	public

-	 * @return	array

-	 */

-	function optimize_database()

-	{

-		$result = array();

-		foreach ($this->db->list_tables() as $table_name)

-		{

-			$sql = $this->_optimize_table($table_name);

-			

-			if (is_bool($sql))

-			{

-				return $sql;

-			}

-			

-			$query = $this->db->query($sql);

-			

-			// Build the result array...

-			// Note: Due to a bug in current() that affects some versions

-			// of PHP we can not pass function call directly into it

-			$res = $query->result_array();

-			$res = current($res);

-			$key = str_replace($this->db->database.'.', '', current($res));

-			$keys = array_keys($res);

-			unset($res[$keys[0]]);

-			

-			$result[$key] = $res;

-		}

-

-		return $result;

-	}

-

-	// --------------------------------------------------------------------

-

-	/**

-	 * Repair Table

-	 *

-	 * @access	public

-	 * @param	string	the table name

-	 * @return	bool

-	 */

-	function repair_table($table_name)

-	{

-		$sql = $this->_repair_table($table_name);

-		

-		if (is_bool($sql))

-		{

-			return $sql;

-		}

-	

-		$query = $this->db->query($sql);

-		

-		// Note: Due to a bug in current() that affects some versions

-		// of PHP we can not pass function call directly into it

-		$res = $query->result_array();

-		return current($res);

-	}

-	

-	// --------------------------------------------------------------------

-

-	/**

-	 * Generate CSV from a query result object

-	 *

-	 * @access	public

-	 * @param	object	The query result object

-	 * @param	string	The delimiter - comma by default

-	 * @param	string	The newline character - \n by default

-	 * @param	string	The enclosure - double quote by default

-	 * @return	string

-	 */

-	function csv_from_result($query, $delim = ",", $newline = "\n", $enclosure = '"')

-	{

-		if ( ! is_object($query) OR ! method_exists($query, 'field_names'))

-		{

-			show_error('You must submit a valid result object');

-		}	

-	

-		$out = '';

-		

-		// First generate the headings from the table column names

-		foreach ($query->list_fields() as $name)

-		{

-			$out .= $enclosure.str_replace($enclosure, $enclosure.$enclosure, $name).$enclosure.$delim;

-		}

-		

-		$out = rtrim($out);

-		$out .= $newline;

-		

-		// Next blast through the result array and build out the rows

-		foreach ($query->result_array() as $row)

-		{

-			foreach ($row as $item)

-			{

-				$out .= $enclosure.str_replace($enclosure, $enclosure.$enclosure, $item).$enclosure.$delim;			

-			}

-			$out = rtrim($out);

-			$out .= $newline;

-		}

-

-		return $out;

-	}

-	

-	// --------------------------------------------------------------------

-

-	/**

-	 * Generate XML data from a query result object

-	 *

-	 * @access	public

-	 * @param	object	The query result object

-	 * @param	array	Any preferences

-	 * @return	string

-	 */

-	function xml_from_result($query, $params = array())

-	{

-		if ( ! is_object($query) OR ! method_exists($query, 'field_names'))

-		{

-			show_error('You must submit a valid result object');

-		}

-		

-		// Set our default values

-		foreach (array('root' => 'root', 'element' => 'element', 'newline' => "\n", 'tab' => "\t") as $key => $val)

-		{

-			if ( ! isset($params[$key]))

-			{

-				$params[$key] = $val;

-			}

-		}

-		

-		// Create variables for convenience

-		extract($params);

-			

-		// Load the xml helper

-		$CI =& get_instance();

-		$CI->load->helper('xml');

-

-		// Generate the result

-		$xml = "<{$root}>".$newline;

-		foreach ($query->result_array() as $row)

-		{

-			$xml .= $tab."<{$element}>".$newline;

-			

-			foreach ($row as $key => $val)

-			{

-				$xml .= $tab.$tab."<{$key}>".xml_convert($val)."</{$key}>".$newline;

-			}

-			$xml .= $tab."</{$element}>".$newline;

-		}

-		$xml .= "</$root>".$newline;

-		

-		return $xml;

-	}

-

-	// --------------------------------------------------------------------

-

-	/**

-	 * Database Backup

-	 *

-	 * @access	public

-	 * @return	void

-	 */

-	function backup($params = array())

-	{

-		// If the parameters have not been submitted as an

-		// array then we know that it is simply the table

-		// name, which is a valid short cut.

-		if (is_string($params))

-		{

-			$params = array('tables' => $params);

-		}

-		

-		// ------------------------------------------------------

-	

-		// Set up our default preferences

-		$prefs = array(

-							'tables'		=> array(),

-							'ignore'		=> array(),

-							'filename'		=> '',

-							'format'		=> 'gzip', // gzip, zip, txt

-							'add_drop'		=> TRUE,

-							'add_insert'	=> TRUE,

-							'newline'		=> "\n"

-						);

-

-		// Did the user submit any preferences? If so set them....

-		if (count($params) > 0)

-		{

-			foreach ($prefs as $key => $val)

-			{

-				if (isset($params[$key]))

-				{

-					$prefs[$key] = $params[$key];

-				}

-			}

-		}

-

-		// ------------------------------------------------------

-

-		// Are we backing up a complete database or individual tables?	

-		// If no table names were submitted we'll fetch the entire table list

-		if (count($prefs['tables']) == 0)

-		{

-			$prefs['tables'] = $this->db->list_tables();

-		}

-		

-		// ------------------------------------------------------

-

-		// Validate the format

-		if ( ! in_array($prefs['format'], array('gzip', 'zip', 'txt'), TRUE))

-		{

-			$prefs['format'] = 'txt';

-		}

-

-		// ------------------------------------------------------

-

-		// Is the encoder supported?  If not, we'll either issue an

-		// error or use plain text depending on the debug settings

-		if (($prefs['format'] == 'gzip' AND ! @function_exists('gzencode'))

-		 OR ($prefs['format'] == 'zip'  AND ! @function_exists('gzcompress')))

-		{

-			if ($this->db->db_debug)

-			{

-				return $this->db->display_error('db_unsuported_compression');

-			}

-		

-			$prefs['format'] = 'txt';

-		}

-

-		// ------------------------------------------------------

-

-		// Set the filename if not provided - Only needed with Zip files

-		if ($prefs['filename'] == '' AND $prefs['format'] == 'zip')

-		{

-			$prefs['filename'] = (count($prefs['tables']) == 1) ? $prefs['tables'] : $this->db->database;

-			$prefs['filename'] .= '_'.date('Y-m-d_H-i', time());

-		}

-

-		// ------------------------------------------------------

-				

-		// Was a Gzip file requested?

-		if ($prefs['format'] == 'gzip')

-		{

-			return gzencode($this->_backup($prefs));

-		}

-

-		// ------------------------------------------------------

-		

-		// Was a text file requested?

-		if ($prefs['format'] == 'txt')

-		{

-			return $this->_backup($prefs);

-		}

-

-		// ------------------------------------------------------

-

-		// Was a Zip file requested?		

-		if ($prefs['format'] == 'zip')

-		{

-			// If they included the .zip file extension we'll remove it

-			if (preg_match("|.+?\.zip$|", $prefs['filename']))

-			{

-				$prefs['filename'] = str_replace('.zip', '', $prefs['filename']);

-			}

-			

-			// Tack on the ".sql" file extension if needed

-			if ( ! preg_match("|.+?\.sql$|", $prefs['filename']))

-			{

-				$prefs['filename'] .= '.sql';

-			}

-

-			// Load the Zip class and output it

-			

-			$CI =& get_instance();

-			$CI->load->library('zip');

-			$CI->zip->add_data($prefs['filename'], $this->_backup($prefs));							

-			return $CI->zip->get_zip();

-		}

-		

-	}

-

-}

-

-

-/* End of file DB_utility.php */

+<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+/**
+ * Code Igniter
+ *
+ * An open source application development framework for PHP 4.3.2 or newer
+ *
+ * @package		CodeIgniter
+ * @author		ExpressionEngine Dev Team
+ * @copyright	Copyright (c) 2008, EllisLab, Inc.
+ * @license		http://codeigniter.com/user_guide/license.html
+ * @link		http://codeigniter.com
+ * @since		Version 1.0
+ * @filesource
+ */
+
+// ------------------------------------------------------------------------
+
+/**
+ * Database Utility Class
+ *
+ * @category	Database
+ * @author		ExpressionEngine Dev Team
+ * @link		http://codeigniter.com/user_guide/database/
+ */
+class CI_DB_utility extends CI_DB_forge {
+
+	var $db;
+	var $data_cache 	= array();
+
+	/**
+	 * Constructor
+	 *
+	 * Grabs the CI super object instance so we can access it.
+	 *
+	 */	
+	function CI_DB_utility()
+	{
+		// Assign the main database object to $this->db
+		$CI =& get_instance();
+		$this->db =& $CI->db;
+		
+		log_message('debug', "Database Utility Class Initialized");
+	}
+
+	// --------------------------------------------------------------------
+
+	/**
+	 * List databases
+	 *
+	 * @access	public
+	 * @return	bool
+	 */
+	function list_databases()
+	{	
+		// Is there a cached result?
+		if (isset($this->data_cache['db_names']))
+		{
+			return $this->data_cache['db_names'];
+		}
+	
+		$query = $this->db->query($this->_list_databases());
+		$dbs = array();
+		if ($query->num_rows() > 0)
+		{
+			foreach ($query->result_array() as $row)
+			{
+				$dbs[] = current($row);
+			}
+		}
+			
+		$this->data_cache['db_names'] = $dbs;
+		return $this->data_cache['db_names'];
+	}
+
+	// --------------------------------------------------------------------
+
+	/**
+	 * Optimize Table
+	 *
+	 * @access	public
+	 * @param	string	the table name
+	 * @return	bool
+	 */
+	function optimize_table($table_name)
+	{
+		$sql = $this->_optimize_table($table_name);
+		
+		if (is_bool($sql))
+		{
+				show_error('db_must_use_set');
+		}
+	
+		$query = $this->db->query($sql);
+		$res = $query->result_array();
+		
+		// Note: Due to a bug in current() that affects some versions
+		// of PHP we can not pass function call directly into it
+		return current($res);
+	}
+
+	// --------------------------------------------------------------------
+
+	/**
+	 * Optimize Database
+	 *
+	 * @access	public
+	 * @return	array
+	 */
+	function optimize_database()
+	{
+		$result = array();
+		foreach ($this->db->list_tables() as $table_name)
+		{
+			$sql = $this->_optimize_table($table_name);
+			
+			if (is_bool($sql))
+			{
+				return $sql;
+			}
+			
+			$query = $this->db->query($sql);
+			
+			// Build the result array...
+			// Note: Due to a bug in current() that affects some versions
+			// of PHP we can not pass function call directly into it
+			$res = $query->result_array();
+			$res = current($res);
+			$key = str_replace($this->db->database.'.', '', current($res));
+			$keys = array_keys($res);
+			unset($res[$keys[0]]);
+			
+			$result[$key] = $res;
+		}
+
+		return $result;
+	}
+
+	// --------------------------------------------------------------------
+
+	/**
+	 * Repair Table
+	 *
+	 * @access	public
+	 * @param	string	the table name
+	 * @return	bool
+	 */
+	function repair_table($table_name)
+	{
+		$sql = $this->_repair_table($table_name);
+		
+		if (is_bool($sql))
+		{
+			return $sql;
+		}
+	
+		$query = $this->db->query($sql);
+		
+		// Note: Due to a bug in current() that affects some versions
+		// of PHP we can not pass function call directly into it
+		$res = $query->result_array();
+		return current($res);
+	}
+	
+	// --------------------------------------------------------------------
+
+	/**
+	 * Generate CSV from a query result object
+	 *
+	 * @access	public
+	 * @param	object	The query result object
+	 * @param	string	The delimiter - comma by default
+	 * @param	string	The newline character - \n by default
+	 * @param	string	The enclosure - double quote by default
+	 * @return	string
+	 */
+	function csv_from_result($query, $delim = ",", $newline = "\n", $enclosure = '"')
+	{
+		if ( ! is_object($query) OR ! method_exists($query, 'field_names'))
+		{
+			show_error('You must submit a valid result object');
+		}	
+	
+		$out = '';
+		
+		// First generate the headings from the table column names
+		foreach ($query->list_fields() as $name)
+		{
+			$out .= $enclosure.str_replace($enclosure, $enclosure.$enclosure, $name).$enclosure.$delim;
+		}
+		
+		$out = rtrim($out);
+		$out .= $newline;
+		
+		// Next blast through the result array and build out the rows
+		foreach ($query->result_array() as $row)
+		{
+			foreach ($row as $item)
+			{
+				$out .= $enclosure.str_replace($enclosure, $enclosure.$enclosure, $item).$enclosure.$delim;			
+			}
+			$out = rtrim($out);
+			$out .= $newline;
+		}
+
+		return $out;
+	}
+	
+	// --------------------------------------------------------------------
+
+	/**
+	 * Generate XML data from a query result object
+	 *
+	 * @access	public
+	 * @param	object	The query result object
+	 * @param	array	Any preferences
+	 * @return	string
+	 */
+	function xml_from_result($query, $params = array())
+	{
+		if ( ! is_object($query) OR ! method_exists($query, 'field_names'))
+		{
+			show_error('You must submit a valid result object');
+		}
+		
+		// Set our default values
+		foreach (array('root' => 'root', 'element' => 'element', 'newline' => "\n", 'tab' => "\t") as $key => $val)
+		{
+			if ( ! isset($params[$key]))
+			{
+				$params[$key] = $val;
+			}
+		}
+		
+		// Create variables for convenience
+		extract($params);
+			
+		// Load the xml helper
+		$CI =& get_instance();
+		$CI->load->helper('xml');
+
+		// Generate the result
+		$xml = "<{$root}>".$newline;
+		foreach ($query->result_array() as $row)
+		{
+			$xml .= $tab."<{$element}>".$newline;
+			
+			foreach ($row as $key => $val)
+			{
+				$xml .= $tab.$tab."<{$key}>".xml_convert($val)."</{$key}>".$newline;
+			}
+			$xml .= $tab."</{$element}>".$newline;
+		}
+		$xml .= "</$root>".$newline;
+		
+		return $xml;
+	}
+
+	// --------------------------------------------------------------------
+
+	/**
+	 * Database Backup
+	 *
+	 * @access	public
+	 * @return	void
+	 */
+	function backup($params = array())
+	{
+		// If the parameters have not been submitted as an
+		// array then we know that it is simply the table
+		// name, which is a valid short cut.
+		if (is_string($params))
+		{
+			$params = array('tables' => $params);
+		}
+		
+		// ------------------------------------------------------
+	
+		// Set up our default preferences
+		$prefs = array(
+							'tables'		=> array(),
+							'ignore'		=> array(),
+							'filename'		=> '',
+							'format'		=> 'gzip', // gzip, zip, txt
+							'add_drop'		=> TRUE,
+							'add_insert'	=> TRUE,
+							'newline'		=> "\n"
+						);
+
+		// Did the user submit any preferences? If so set them....
+		if (count($params) > 0)
+		{
+			foreach ($prefs as $key => $val)
+			{
+				if (isset($params[$key]))
+				{
+					$prefs[$key] = $params[$key];
+				}
+			}
+		}
+
+		// ------------------------------------------------------
+
+		// Are we backing up a complete database or individual tables?	
+		// If no table names were submitted we'll fetch the entire table list
+		if (count($prefs['tables']) == 0)
+		{
+			$prefs['tables'] = $this->db->list_tables();
+		}
+		
+		// ------------------------------------------------------
+
+		// Validate the format
+		if ( ! in_array($prefs['format'], array('gzip', 'zip', 'txt'), TRUE))
+		{
+			$prefs['format'] = 'txt';
+		}
+
+		// ------------------------------------------------------
+
+		// Is the encoder supported?  If not, we'll either issue an
+		// error or use plain text depending on the debug settings
+		if (($prefs['format'] == 'gzip' AND ! @function_exists('gzencode'))
+		 OR ($prefs['format'] == 'zip'  AND ! @function_exists('gzcompress')))
+		{
+			if ($this->db->db_debug)
+			{
+				return $this->db->display_error('db_unsuported_compression');
+			}
+		
+			$prefs['format'] = 'txt';
+		}
+
+		// ------------------------------------------------------
+
+		// Set the filename if not provided - Only needed with Zip files
+		if ($prefs['filename'] == '' AND $prefs['format'] == 'zip')
+		{
+			$prefs['filename'] = (count($prefs['tables']) == 1) ? $prefs['tables'] : $this->db->database;
+			$prefs['filename'] .= '_'.date('Y-m-d_H-i', time());
+		}
+
+		// ------------------------------------------------------
+				
+		// Was a Gzip file requested?
+		if ($prefs['format'] == 'gzip')
+		{
+			return gzencode($this->_backup($prefs));
+		}
+
+		// ------------------------------------------------------
+		
+		// Was a text file requested?
+		if ($prefs['format'] == 'txt')
+		{
+			return $this->_backup($prefs);
+		}
+
+		// ------------------------------------------------------
+
+		// Was a Zip file requested?		
+		if ($prefs['format'] == 'zip')
+		{
+			// If they included the .zip file extension we'll remove it
+			if (preg_match("|.+?\.zip$|", $prefs['filename']))
+			{
+				$prefs['filename'] = str_replace('.zip', '', $prefs['filename']);
+			}
+			
+			// Tack on the ".sql" file extension if needed
+			if ( ! preg_match("|.+?\.sql$|", $prefs['filename']))
+			{
+				$prefs['filename'] .= '.sql';
+			}
+
+			// Load the Zip class and output it
+			
+			$CI =& get_instance();
+			$CI->load->library('zip');
+			$CI->zip->add_data($prefs['filename'], $this->_backup($prefs));							
+			return $CI->zip->get_zip();
+		}
+		
+	}
+
+}
+
+
+/* End of file DB_utility.php */
 /* Location: ./system/database/DB_utility.php */
\ No newline at end of file