diff --git a/classes/httprequest/XEHttpRequest.class.php b/classes/httprequest/XEHttpRequest.class.php index 621676cf5..05cb3c271 100644 --- a/classes/httprequest/XEHttpRequest.class.php +++ b/classes/httprequest/XEHttpRequest.class.php @@ -1,21 +1,32 @@ __construct($xml_path); } + /** + * @constructor + * @param string $xml_path + * @return void + */ function __construct($xml_path='') { $this->_rules = array(); $this->_filters = array(); @@ -42,6 +83,10 @@ class Validator $this->setCacheDir('./files/cache'); } + /** + * @destructor + * @return void + */ function __destruct() { $this->_rules = null; $this->_filters = null; @@ -49,7 +94,8 @@ class Validator /** * Load a xml file - * @param[in] string $xml_path A file name to be loaded + * @param string $xml_path A file name to be loaded + * @return boolean */ function load($xml_path) { $this->_xml_ruleset = null; @@ -116,7 +162,8 @@ class Validator /** * Set root cache directory - * @param[in] string $cache_dir Root cache directory + * @param string $cache_dir Root cache directory + * @return void */ function setCacheDir($cache_dir){ if(is_dir($cache_dir)) { @@ -126,8 +173,8 @@ class Validator /** * Validate the fields. If the fields aren't passed, validation will be execute on the Context variables. - * @param[in] (optional) array $fields Target fields. The keys of the array represents field's name, its values represents field's value. - * @return bool True if it is valid, FALSE otherwise. + * @param array $fields Target fields. The keys of the array represents field's name, its values represents field's value. + * @return boolean TRUE if it is valid, FALSE otherwise. */ function validate($fields_=null) { if(is_array($fields_)) { @@ -245,6 +292,8 @@ class Validator /** * apply trim recursive + * @param string|array $array + * @return string|array */ function arrayTrim($array) { @@ -260,8 +309,8 @@ class Validator /** * Log an error - * @param[in] $msg error message - * @return always false + * @param $msg error message + * @return boolean always false */ function error($field, $msg){ $lang_filter = Context::getLang('filter'); @@ -283,8 +332,9 @@ class Validator /** * Add a new rule - * @param[in] string $name rule name - * @param[in] mixed $rule + * @param string $name rule name + * @param mixed $rule + * @return void */ function addRule($name, $rule=''){ if(is_array($name)) $args = $name; @@ -305,12 +355,19 @@ class Validator /** * Remove a rule - * @param[in] string $name rule name + * @param string $name rule name + * @return void */ function removeRule($name){ unset($this->_rules[$name]); } + /** + * add filter to filter list + * @param string $name rule name + * @param string $filter filter + * @return void + */ function addFilter($name, $filter='') { if(is_array($name)) $args = $name; else $args = array($name=>$filter); @@ -331,15 +388,20 @@ class Validator } } + /** + * remove filter from filter list + * @param string $name rule name + * @return void + */ function removeFilter($name) { unset($this->_filters[$name]); } /** * Find whether the field is valid with the rule - * @param[in] string $name rule name - * @param[in] string $value a value to be validated - * @return bool TRUE if the field is valid, FALSE otherwise. + * @param string $name rule name + * @param string $value a value to be validated + * @return boolean TRUE if the field is valid, FALSE otherwise. */ function applyRule($name, $value){ $rule = $this->_rules[$name]; @@ -365,7 +427,9 @@ class Validator } /** - * Return + * if not supported 'mb_strlen' function, this method can use. + * @param string $str + * @return int */ function mbStrLen($str){ $arr = count_chars($str); @@ -411,7 +475,7 @@ class Validator /** * Compile a ruleset to a javascript file - * @private + * @return string */ function _compile2js() { global $lang; diff --git a/classes/xml/GeneralXmlParser.class.php b/classes/xml/GeneralXmlParser.class.php index becf581d4..a4421c28d 100644 --- a/classes/xml/GeneralXmlParser.class.php +++ b/classes/xml/GeneralXmlParser.class.php @@ -1,18 +1,23 @@ output; } - /** - * @brief start element handler - * @param[in] $parse an instance of parser - * @param[in] $node_name a name of node - * @param[in] $attrs attributes to be set - */ + /** + * Start element handler + * @param resource $parser an instance of parser + * @param string $node_name a name of node + * @param array $attrs attributes to be set + * @return void + */ function _tagOpen($parser, $node_name, $attrs) { $obj->node_name = strtolower($node_name); $obj->attrs = $attrs; @@ -42,23 +48,25 @@ array_push($this->output, $obj); } - /** - * @brief character data handler - * variable in the last element of this->output - * @param[in] $parse an instance of parser - * @param[in] $body a data to be added - */ + /** + * Character data handler + * Variable in the last element of this->output + * @param resource $parse an instance of parser + * @param string $body a data to be added + * @return void + */ function _tagBody($parser, $body) { //if(!trim($body)) return; $this->output[count($this->output)-1]->body .= $body; } - /** - * @brief end element handler - * @param[in] $parse an instance of parser - * @param[in] $node_name name of xml node - */ + /** + * End element handler + * @param resource $parse an instance of parser + * @param string $node_name name of xml node + * @return void + */ function _tagClosed($parser, $node_name) { $node_name = strtolower($node_name); $cur_obj = array_pop($this->output); @@ -79,5 +87,5 @@ } } - } +} ?> diff --git a/classes/xml/XmlGenerator.class.php b/classes/xml/XmlGenerator.class.php index 5956c2bea..dbe221773 100644 --- a/classes/xml/XmlGenerator.class.php +++ b/classes/xml/XmlGenerator.class.php @@ -1,7 +1,16 @@ \n"; @@ -11,6 +20,11 @@ class XmlGenerator{ return $buff; } + /** + * object change to xml + * @param object $node node in xml object + * @return string + */ function _makexml($node){ $body = ''; foreach($node as $key => $value){ diff --git a/classes/xml/XmlJsFilter.class.php b/classes/xml/XmlJsFilter.class.php index db1bae032..7f1c2190f 100644 --- a/classes/xml/XmlJsFilter.class.php +++ b/classes/xml/XmlJsFilter.class.php @@ -1,13 +1,10 @@ { * *
<-- code to validate data in the form * @@ -19,9 +16,10 @@ * <- get the result of error name * * - * } + * } * - * @detail { + * @detail + *
{
      * - syntax description of  node
 	 *  target = name of for element
 	 *  required = flag indicating whether a field is mandatory or not
@@ -40,18 +38,40 @@
 	 *
 	 * - response
 	 *  tag = key : name of variable that will contain the result of the execution
-     *  }
-	 **/
-
+     * }
+ * @class XmlJsFilter + * @author NHN (developers@xpressengine.com) + * @package /classes/xml + * @version 0.2 + */ class XmlJsFilter extends XmlParser { + /** + * version + * @var string + */ var $version = '0.2.5'; + /** + * compiled javascript cache path + * @var string + */ var $compiled_path = './files/cache/js_filter_compiled/'; // / directory path for compiled cache file - var $xml_file = NULL; // / Target xml file - var $js_file = NULL; // / Compiled js file + /** + * Target xml file + * @var string + */ + var $xml_file = NULL; + /** + * Compiled js file + * @var string + */ + var $js_file = NULL; // / /** - * @brief constructor - **/ + * constructor + * @param string $path + * @param string $xml_file + * @return void + */ function XmlJsFilter($path, $xml_file) { if(substr($path,-1)!=='/') $path .= '/'; $this->xml_file = sprintf("%s%s",$path, $xml_file); @@ -59,9 +79,9 @@ } /** - * @brief compile a xml_file only when a corresponding js file does not exists or is outdated - * @return Returns NULL regardless of the success of failure of the operation - **/ + * Compile a xml_file only when a corresponding js file does not exists or is outdated + * @return void Returns NULL regardless of the success of failure of the operation + */ function compile() { if(!file_exists($this->xml_file)) return; if(!file_exists($this->js_file)) $this->_compile(); @@ -70,8 +90,9 @@ } /** - * @brief compile a xml_file into js_file - **/ + * compile a xml_file into js_file + * @return void + */ function _compile() { global $lang; @@ -283,7 +304,9 @@ } /** - * @brief return a file name of js file corresponding to the xml file + * return a file name of js file corresponding to the xml file + * @param string $xml_file + * @return string **/ function _getCompiledFileName($xml_file) { return sprintf('%s%s.%s.compiled.js',$this->compiled_path, md5($this->version.$xml_file),Context::getLangType()); diff --git a/classes/xml/XmlLangParser.class.php b/classes/xml/XmlLangParser.class.php index 9a780a4d6..b22a4fb98 100644 --- a/classes/xml/XmlLangParser.class.php +++ b/classes/xml/XmlLangParser.class.php @@ -1,22 +1,50 @@ lang_type = $lang_type; $this->xml_file = $xml_file; @@ -24,9 +52,9 @@ } /** - * @brief compile a xml_file only when a corresponding php lang file does not exists or is outdated - * @return Returns compiled php file. - **/ + * compile a xml_file only when a corresponding php lang file does not exists or is outdated + * @return string|bool Returns compiled php file. + */ function compile() { if(!file_exists($this->xml_file)) return false; if(!file_exists($this->php_file)){ @@ -36,9 +64,13 @@ else return $this->php_file; } - return $this->_writefile() ? $this->php_file : false; + return $this->_writeFile() ? $this->php_file : false; } + /** + * Return compiled content + * @return string Returns compiled lang source code + */ function getCompileContent() { if(!file_exists($this->xml_file)) return false; $this->_compile(); @@ -47,8 +79,9 @@ } /** - * @brief compile a xml_file - **/ + * Compile a xml_file + * @return void + */ function _compile() { $lang_selected = Context::loadLangSelected(); $this->lang_types = array_keys($lang_selected); @@ -68,8 +101,9 @@ } /** - * @brief writing cache file - **/ + * Writing cache file + * @return void|bool + */ function _writeFile(){ if(!$this->code) return; FileHandler::writeFile($this->php_file, "code); @@ -77,8 +111,11 @@ } /** - * @brief Parsing item node - **/ + * Parsing item node, set content to '$this->code' + * @param object $item + * @param string $var + * @return void + */ function _parseItem($item, $var){ $name = $item->attrs->name; $value = $item->value; @@ -108,8 +145,11 @@ } /** - * @brief Parsing value nodes - **/ + * Parsing value nodes + * @param array $nodes + * @param string $var + * @return array|string + */ function _parseValues($nodes, $var) { if(!is_array($nodes)) $nodes = array($nodes); @@ -132,8 +172,11 @@ } /** - * @brief Parsing value node - **/ + * Parsing value node + * @param object $node + * @param string $var + * @return array|bool + */ function _parseValue($node, $var) { $lang_type = $node->attrs->xml_lang; $value = $node->body; @@ -144,8 +187,11 @@ } /** - * @brief get cache file name - **/ + * Get cache file name + * @param string $lang_type + * @param string $type + * @return string + */ function _getCompiledFileName($lang_type, $type='php') { return sprintf('%s%s.%s.php',$this->compiled_path, md5($this->xml_file), $lang_type); } diff --git a/classes/xml/XmlParser.class.php b/classes/xml/XmlParser.class.php index 76e0b7c2f..9e3a6cbbe 100644 --- a/classes/xml/XmlParser.class.php +++ b/classes/xml/XmlParser.class.php @@ -1,6 +1,11 @@ { + * This class may drops unsupported xml lanuage attributes when multiple language attributes are given. + * For example, if 'xml:lang='ko, en, ch, jp..' is given in a xml file, only ko will be left ignoring all other language + * attributes when kor is only supported language. It seems to work fine now but we did not scrutinze any potential side effects, + * } + * + * @author NHN (developers@xpressengine.com) + * @package /classes/xml + * @version 0.1 + */ class XmlParser { + /** + * Xml parser + * @var resource + */ + var $oParser = NULL; + /** + * Input xml + * @var string + */ + var $input = NULL; + /** + * Output object in array + * @var array + */ + var $output = array(); + /** + * The default language type + * @var string + */ + var $lang = "en"; - var $oParser = NULL; ///< xml parser - - var $input = NULL; ///< input xml - var $output = array(); ///< output object - - var $lang = "en"; // /< The default language type - - /** - * @brief load a xml file specified by a filename and parse it to Return the resultant data object - * @param[in] $filename a file path of file - * @return Returns a data object containing data extracted from a xml file or NULL if a specified file does not exist - **/ + /** + * Load a xml file specified by a filename and parse it to Return the resultant data object + * @param string $filename a file path of file + * @return array Returns a data object containing data extracted from a xml file or NULL if a specified file does not exist + */ function loadXmlFile($filename) { if(!file_exists($filename)) return; $buff = FileHandler::readFile($filename); @@ -48,11 +66,13 @@ return $oXmlParser->parse($buff); } - /** - * @brief parse xml data to extract values from it and construct data object - * @param[in] a data buffer containing xml data - * @return Returns a resultant data object or NULL in case of error - **/ + /** + * Parse xml data to extract values from it and construct data object + * @param string $input a data buffer containing xml data + * @param mixed $arg1 ??? + * @param mixed $arg2 ??? + * @return array Returns a resultant data object or NULL in case of error + */ function parse($input = '', $arg1 = NULL, $arg2 = NULL) { // Save the compile starting time for debugging if(__DEBUG__==3) $start = getMicroTime(); @@ -99,12 +119,13 @@ } - /** - * @brief start element handler. - * @param[in] $parse an instance of parser - * @param[in] $node_name a name of node - * @param[in] $attrs attributes to be set - */ + /** + * Start element handler. + * @param resource $parse an instance of parser + * @param string $node_name a name of node + * @param array $attrs attributes to be set + * @return array + */ function _tagOpen($parser, $node_name, $attrs) { $obj = new Xml_Node_(); $obj->node_name = strtolower($node_name); @@ -114,23 +135,24 @@ } - /** - * @brief character data handler - * variable in the last element of this->output - * @param[in] $parse an instance of parser - * @param[in] $body a data to be added - * @remark the first parameter, $parser ought to be remove since it is not used. - */ + /** + * Character data handler + * Variable in the last element of this->output + * @param resource $parse an instance of parser + * @param string $body a data to be added + * @return void + */ function _tagBody($parser, $body) { //if(!trim($body)) return; $this->output[count($this->output)-1]->body .= $body; } - /** - * @brief end element handler - * @param[in] $parse an instance of parser - * @param[in] $node_name name of xml node - */ + /** + * End element handler + * @param resource $parse an instance of parser + * @param string $node_name name of xml node + * @return void + */ function _tagClosed($parser, $node_name) { $node_name = strtolower($node_name); $cur_obj = array_pop($this->output); @@ -155,10 +177,11 @@ } } - /** - * @brief method to transfer values in an array to a data object - * @param[in] $arr data array - **/ + /** + * Method to transfer values in an array to a data object + * @param array $arr data array + * @return Xml_Node_ object + **/ function _arrToAttrsObj($arr) { $output = new Xml_Node_(); foreach($arr as $key => $val) { diff --git a/classes/xml/XmlQueryParser.150.class.php b/classes/xml/XmlQueryParser.150.class.php index 4c167cab8..b0c2087d4 100644 --- a/classes/xml/XmlQueryParser.150.class.php +++ b/classes/xml/XmlQueryParser.150.class.php @@ -1,14 +1,4 @@ + * 2. Check the action
+ * 3. Parsing and write a cache file
+ * @return QueryParser object + */ function &parse_xml_query($query_id, $xml_file, $cache_file) { // Read xml file @@ -74,11 +85,19 @@ 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 + * @return array|NULL Returns a resultant data object or NULL in case of error + */ function getXmlFileContent($xml_file){ $buff = FileHandler::readFile($xml_file); $xml_obj = parent::parse($buff); diff --git a/classes/xml/XmlQueryParser.class.php b/classes/xml/XmlQueryParser.class.php index bf6d291fd..48aea3ff5 100644 --- a/classes/xml/XmlQueryParser.class.php +++ b/classes/xml/XmlQueryParser.class.php @@ -1,13 +1,12 @@ columns - * @param[in] column information - * @result Returns $object + * Transfer given column information to object->columns + * @param array $columns column information + * @return object */ - function _setColumn($columns){ if(!$columns) { $output->column[] = array("*" => "*"); @@ -296,9 +294,9 @@ } /** - * @brief transfer condition information to $object->conditions - * @param[in] SQL condition information - * @result Returns $output + * Transfer condition information to $object->conditions + * @param object @condition SQL condition information + * @retrun object */ function _setConditions($conditions){ // 조건절 정리 @@ -339,9 +337,9 @@ } /** - * @brief transfer condition information to $object->groups - * @param[in] SQL group information - * @result Returns $output + * Transfer condition information to $object->groups + * @param array $group_list SQL group information + * @return object */ function _setGroup($group_list){ // group 정리 @@ -361,9 +359,9 @@ /** - * @brief transfer pagnation information to $output - * @param[in] $xml_obj xml object containing Navigation information - * @result Returns $output + * Transfer pagnation information to $output + * @param object $xml_obj xml object containing Navigation information + * @return object */ function _setNavigation($xml_obj){ $navigation = $xml_obj->query->navigation; @@ -389,10 +387,10 @@ } /** - * @brief retrieve column information from $output->colums to generate corresponding php code - * @param[in] $column - * @remarks the name of this method is misleading. - * @result Returns string buffer containing php code + * Retrieve column information from $output->colums to generate corresponding php code
+ * The name of this method is misleading. + * @param array $columns + * @return string buffer containing php code */ function _getColumn($columns){ $buff = ''; @@ -439,10 +437,10 @@ } /** - * @brief retrieve condition information from $output->condition to generate corresponding php code - * @param[in] $conditions array containing Query conditions - * @remarks the name of this method is misleading. - * @return Returns string buffer containing php code + * Retrieve condition information from $output->condition to generate corresponding php code + * The name of this method is misleading. + * @param array $conditions array containing Query conditions + * @return string buffer containing php code */ function _getConditions($conditions){ $buff = ''; @@ -472,21 +470,30 @@ return $buff; } + /** + * Add argument to $this->args + * @param mixed $args_name argument value + * @return void + */ function addArguments($args_name) { $this->args[] = $args_name; } + /** + * Get argument from $this->args + * @return mixed + */ function getArguments() { return $this->args; } /** - * @brief returns predefined default values correspoding to given parameters - * @param[in] $name - * @param[in] $value - * @return Returns a default value for specified field + * Returns predefined default values correspoding to given parameters + * @param string $name + * @param mixed $value + * @return mixed Returns a default value for specified field */ function getDefault($name, $value) { $db_info = Context::getDBInfo (); diff --git a/classes/xml/xmlquery/DBParser.class.php b/classes/xml/xmlquery/DBParser.class.php index 7fd962dcd..b10d8df6e 100644 --- a/classes/xml/xmlquery/DBParser.class.php +++ b/classes/xml/xmlquery/DBParser.class.php @@ -1,9 +1,34 @@ escape_char_left = $escape_char_left; if ($escape_char_right !== "")$this->escape_char_right = $escape_char_right; @@ -11,33 +36,68 @@ $this->table_prefix = $table_prefix; } + /** + * Get escape character + * @param string $leftOrRight left or right + * @return string + */ function getEscapeChar($leftOrRight){ if ($leftOrRight === 'left')return $this->escape_char_left; else return $this->escape_char_right; } + /** + * escape the value + * @param mixed $name + * @return string + */ function escape($name){ return $this->escape_char_left . $name . $this->escape_char_right; } + /** + * escape the string value + * @param string $name + * @return string + */ function escapeString($name){ return "'".$this->escapeStringValue($name)."'"; } + /** + * escape the string value + * @param string $value + * @return string + */ function escapeStringValue($value){ if($value == "*") return $value; if (is_string($value)) return $value = str_replace("'","''",$value); return $value; } + /** + * Return table full name + * @param string $name table name without table prefix + * @return string table full name with table prefix + */ function parseTableName($name){ return $this->table_prefix . $name; } + /** + * Return colmun name after escape + * @param string $name column name before escape + * @return string column name after escape + */ function parseColumnName($name){ return $this->escapeColumn($name); } + /** + * Escape column + * @param string $column_name + * @return string column name with db name + */ function escapeColumn($column_name){ if($this->isUnqualifiedColumnName($column_name)) return $this->escape($column_name); @@ -49,11 +109,21 @@ } } + /** + * Column name is suitable for use in checking + * @param string $column_name + * @return bool + */ function isUnqualifiedColumnName($column_name){ if(strpos($column_name,'.')===false && strpos($column_name,'(')===false) return true; return false; } + /** + * Column name is suitable for use in checking + * @param string $column_name + * @return bool + */ function isQualifiedColumnName($column_name){ if(strpos($column_name,'.')!==false && strpos($column_name,'(')===false) return true; return false; @@ -92,12 +162,19 @@ /* * Checks to see if expression is an aggregate star function * like count(*) + * @param string $column_name + * @return bool */ function isStarFunction($column_name){ if(strpos($column_name, "(*)")!==false) return true; return false; } + /* + * Return column name after escape + * @param string $column_name + * @return string + */ function escapeColumnExpression($column_name){ if($this->isStar($column_name)) return $column_name; if($this->isStarFunction($column_name)){ @@ -108,4 +185,4 @@ } } - \ No newline at end of file +