mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-08 19:21:40 +09:00
Issue 2759: Update code comments for database classes
git-svn-id: http://xe-core.googlecode.com/svn/branches/luminous@12416 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
9d9914ff3b
commit
d2872f1ac4
1 changed files with 104 additions and 91 deletions
|
|
@ -1,109 +1,122 @@
|
||||||
<?php
|
<?php
|
||||||
if(!defined('__XE_LOADED_XML_CLASS__')){
|
/**
|
||||||
define('__XE_LOADED_XML_CLASS__', 1);
|
* File containing the XE 1.5 XmlQueryParserClass
|
||||||
|
*/
|
||||||
|
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/tags/query/QueryTag.class.php');
|
if(!defined('__XE_LOADED_XML_CLASS__')){
|
||||||
|
define('__XE_LOADED_XML_CLASS__', 1);
|
||||||
|
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/tags/table/TableTag.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/tags/query/QueryTag.class.php');
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/tags/table/HintTableTag.class.php');
|
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/tags/table/TablesTag.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/tags/table/TableTag.class.php');
|
||||||
|
require(_XE_PATH_.'classes/xml/xmlquery/tags/table/HintTableTag.class.php');
|
||||||
|
require(_XE_PATH_.'classes/xml/xmlquery/tags/table/TablesTag.class.php');
|
||||||
|
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/tags/column/ColumnTag.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/tags/column/ColumnTag.class.php');
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/tags/column/SelectColumnTag.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/tags/column/SelectColumnTag.class.php');
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/tags/column/InsertColumnTag.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/tags/column/InsertColumnTag.class.php');
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/tags/column/InsertColumnTagWithoutArgument.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/tags/column/InsertColumnTagWithoutArgument.class.php');
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/tags/column/UpdateColumnTag.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/tags/column/UpdateColumnTag.class.php');
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/tags/column/SelectColumnsTag.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/tags/column/SelectColumnsTag.class.php');
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/tags/column/InsertColumnsTag.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/tags/column/InsertColumnsTag.class.php');
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/tags/column/UpdateColumnsTag.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/tags/column/UpdateColumnsTag.class.php');
|
||||||
|
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/tags/condition/ConditionTag.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/tags/condition/ConditionTag.class.php');
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/tags/condition/ConditionsTag.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/tags/condition/ConditionsTag.class.php');
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/tags/condition/JoinConditionsTag.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/tags/condition/JoinConditionsTag.class.php');
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/tags/condition/ConditionGroupTag.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/tags/condition/ConditionGroupTag.class.php');
|
||||||
|
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/tags/group/GroupsTag.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/tags/group/GroupsTag.class.php');
|
||||||
|
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/tags/navigation/NavigationTag.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/tags/navigation/NavigationTag.class.php');
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/tags/navigation/IndexTag.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/tags/navigation/IndexTag.class.php');
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/tags/navigation/LimitTag.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/tags/navigation/LimitTag.class.php');
|
||||||
|
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/queryargument/QueryArgument.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/queryargument/QueryArgument.class.php');
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/queryargument/SortQueryArgument.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/queryargument/SortQueryArgument.class.php');
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/queryargument/validator/QueryArgumentValidator.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/queryargument/validator/QueryArgumentValidator.class.php');
|
||||||
require(_XE_PATH_.'classes/xml/xmlquery/queryargument/DefaultValue.class.php');
|
require(_XE_PATH_.'classes/xml/xmlquery/queryargument/DefaultValue.class.php');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* New XmlQueryParser class
|
||||||
|
* Parses XE XML query files
|
||||||
|
*
|
||||||
|
* @author Corina Udrescu (corina.udrescu@arnia.ro)
|
||||||
|
* @package dbclasses
|
||||||
|
*/
|
||||||
|
class XmlQueryParser extends XmlParser {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* New XmlQueryParser class
|
* Create XmlQueryParser instance for Singleton
|
||||||
* @author NHN (developers@xpressengine.com)
|
* @return XmlQueryParser object
|
||||||
* @brief case to parse XE xml query
|
|
||||||
* @version 0.1
|
|
||||||
*
|
|
||||||
* @todo need to support extend query such as subquery, union
|
|
||||||
* @todo include info about column types for parsing user input
|
|
||||||
*/
|
*/
|
||||||
class XmlQueryParser extends XmlParser {
|
function &getInstance()
|
||||||
/**
|
|
||||||
* constructor
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function XmlQueryParser(){
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create XmlQueryParser instance for Singleton
|
|
||||||
* @return XmlQueryParser object
|
|
||||||
*/
|
|
||||||
function &getInstance(){
|
|
||||||
static $theInstance = null;
|
|
||||||
if(!isset($theInstance)){
|
|
||||||
$theInstance = new XmlQueryParser();
|
|
||||||
}
|
|
||||||
return $theInstance;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 1. Read xml file<br />
|
|
||||||
* 2. Check the action<br />
|
|
||||||
* 3. Parsing and write a cache file<br />
|
|
||||||
* @return QueryParser object
|
|
||||||
*/
|
|
||||||
function &parse_xml_query($query_id, $xml_file, $cache_file)
|
|
||||||
{
|
{
|
||||||
// Read xml file
|
static $theInstance = NULL;
|
||||||
$xml_obj = $this->getXmlFileContent($xml_file);
|
if(!isset($theInstance)){
|
||||||
|
$theInstance = new XmlQueryParser();
|
||||||
// insert, update, delete, select action
|
}
|
||||||
$action = strtolower($xml_obj->query->attrs->action);
|
return $theInstance;
|
||||||
if(!$action) return;
|
|
||||||
|
|
||||||
// Write query cache file
|
|
||||||
$parser = new QueryParser($xml_obj->query);
|
|
||||||
FileHandler::writeFile($cache_file, $parser->toString());
|
|
||||||
|
|
||||||
return $parser;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Query XML file parsing
|
|
||||||
* @return QueryParser object
|
|
||||||
*/
|
|
||||||
function parse($query_id = NULL, $xml_file = NULL, $cache_file = NULL)
|
|
||||||
{
|
|
||||||
$this->parse_xml_query($query_id, $xml_file, $cache_file);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return XML file content
|
* Parses an XML query file
|
||||||
* @return array|NULL Returns a resultant data object or NULL in case of error
|
*
|
||||||
*/
|
* 1. Read xml file <br />
|
||||||
function getXmlFileContent($xml_file){
|
* 2. Check the action <br />
|
||||||
$buff = FileHandler::readFile($xml_file);
|
* 3. Parse and write cache file <br />
|
||||||
$xml_obj = parent::parse($buff);
|
*
|
||||||
if(!$xml_obj) return;
|
* @param $query_id
|
||||||
unset($buff);
|
* @param $xml_file
|
||||||
return $xml_obj;
|
* @param $cache_file
|
||||||
}
|
*
|
||||||
}
|
* @return QueryParser object
|
||||||
|
*/
|
||||||
|
function &parse_xml_query($query_id, $xml_file, $cache_file)
|
||||||
|
{
|
||||||
|
// Read xml file
|
||||||
|
$xml_obj = $this->getXmlFileContent($xml_file);
|
||||||
|
|
||||||
|
// insert, update, delete, select action
|
||||||
|
$action = strtolower($xml_obj->query->attrs->action);
|
||||||
|
if(!$action) return;
|
||||||
|
|
||||||
|
// Write query cache file
|
||||||
|
$parser = new QueryParser($xml_obj->query);
|
||||||
|
FileHandler::writeFile($cache_file, $parser->toString());
|
||||||
|
|
||||||
|
return $parser;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Override for parent "parse" method
|
||||||
|
*
|
||||||
|
* @param null $query_id
|
||||||
|
* @param null $xml_file
|
||||||
|
* @param null $cache_file
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function parse($query_id = NULL, $xml_file = NULL, $cache_file = NULL)
|
||||||
|
{
|
||||||
|
$this->parse_xml_query($query_id, $xml_file, $cache_file);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns XML file contents as an object
|
||||||
|
* or NULL in case of error
|
||||||
|
*
|
||||||
|
* @param $xml_file
|
||||||
|
* @return array|NULL
|
||||||
|
*/
|
||||||
|
function getXmlFileContent($xml_file)
|
||||||
|
{
|
||||||
|
$buff = FileHandler::readFile($xml_file);
|
||||||
|
$xml_obj = parent::parse($buff);
|
||||||
|
if(!$xml_obj) return;
|
||||||
|
unset($buff);
|
||||||
|
return $xml_obj;
|
||||||
|
}
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue