diff --git a/classes/widget/WidgetHandler.class.php b/classes/widget/WidgetHandler.class.php index 44a9a3453..455f17157 100644 --- a/classes/widget/WidgetHandler.class.php +++ b/classes/widget/WidgetHandler.class.php @@ -1,4 +1,5 @@ output)) return; + if(!count($this->output)) + { + return; + } $this->output = array_shift($this->output); return $this->output; @@ -61,7 +66,7 @@ class GeneralXmlParser function _tagBody($parser, $body) { //if(!trim($body)) return; - $this->output[count($this->output)-1]->body .= $body; + $this->output[count($this->output) - 1]->body .= $body; } /** @@ -74,9 +79,9 @@ class GeneralXmlParser { $node_name = strtolower($node_name); $cur_obj = array_pop($this->output); - $parent_obj = &$this->output[count($this->output)-1]; + $parent_obj = &$this->output[count($this->output) - 1]; - if($parent_obj->childNodes[$node_name]) + if($parent_obj->childNodes[$node_name]) { $tmp_obj = $parent_obj->childNodes[$node_name]; if(is_array($tmp_obj)) @@ -95,6 +100,7 @@ class GeneralXmlParser $parent_obj->childNodes[$node_name] = $cur_obj; } } + } /* End of file GeneralXmlParser.class.php */ /* Location: ./classes/xml/GeneralXmlParser.class.php */ diff --git a/classes/xml/XmlGenerator.class.php b/classes/xml/XmlGenerator.class.php index 3f5aa3cad..32714c2f2 100644 --- a/classes/xml/XmlGenerator.class.php +++ b/classes/xml/XmlGenerator.class.php @@ -1,4 +1,5 @@ $attrValue) + foreach($value as $attrName => $attrValue) { $attrs .= sprintf(' %s="%s"', $attrName, htmlspecialchars($attrValue)); } @@ -51,9 +52,8 @@ class XmlGenerator case 'body' : $body = $value; break; - default : - { - if (is_array($value)) + default : { + if(is_array($value)) { foreach($value as $idx => $arrNode) { @@ -67,8 +67,9 @@ class XmlGenerator } } } - return sprintf('<%s%s>%s'."\n", $node->node_name, $attrs, $body, $node->node_name); + return sprintf('<%s%s>%s' . "\n", $node->node_name, $attrs, $body, $node->node_name); } + } /* End of file XmlGenerator.class.php */ /* Location: ./classes/xml/XmlGenerator.class.php */ diff --git a/classes/xml/XmlJsFilter.class.php b/classes/xml/XmlJsFilter.class.php index 542c01855..ef0274d43 100644 --- a/classes/xml/XmlJsFilter.class.php +++ b/classes/xml/XmlJsFilter.class.php @@ -1,4 +1,5 @@ xml_file = sprintf("%s%s",$path, $xml_file); + if(substr($path, -1) !== '/') + { + $path .= '/'; + } + $this->xml_file = sprintf("%s%s", $path, $xml_file); $this->js_file = $this->_getCompiledFileName($this->xml_file); } @@ -86,10 +94,19 @@ class XmlJsFilter extends XmlParser */ function compile() { - if(!file_exists($this->xml_file)) return; - if(!file_exists($this->js_file)) $this->_compile(); - else if(filemtime($this->xml_file)>filemtime($this->js_file)) $this->_compile(); - Context::loadFile(array($this->js_file, 'body', '',null)); + if(!file_exists($this->xml_file)) + { + return; + } + if(!file_exists($this->js_file)) + { + $this->_compile(); + } + else if(filemtime($this->xml_file) > filemtime($this->js_file)) + { + $this->_compile(); + } + Context::loadFile(array($this->js_file, 'body', '', null)); } /** @@ -110,21 +127,30 @@ class XmlJsFilter extends XmlParser $rules = $xml_obj->filter->rules; // XmlJsFilter handles three data; filter_name, field, and parameter - $filter_name = $attrs->name; - $confirm_msg_code = $attrs->confirm_msg_code; - $module = $attrs->module; - $act = $attrs->act; - $extend_filter = $attrs->extend_filter; + $filter_name = $attrs->name; + $confirm_msg_code = $attrs->confirm_msg_code; + $module = $attrs->module; + $act = $attrs->act; + $extend_filter = $attrs->extend_filter; $field_node = $xml_obj->filter->form->node; - if($field_node && !is_array($field_node)) $field_node = array($field_node); + if($field_node && !is_array($field_node)) + { + $field_node = array($field_node); + } $parameter_param = $xml_obj->filter->parameter->param; - if($parameter_param && !is_array($parameter_param)) $parameter_param = array($parameter_param); + if($parameter_param && !is_array($parameter_param)) + { + $parameter_param = array($parameter_param); + } $response_tag = $xml_obj->filter->response->tag; - if($response_tag && !is_array($response_tag)) $response_tag = array($response_tag); + if($response_tag && !is_array($response_tag)) + { + $response_tag = array($response_tag); + } // If extend_filter exists, result returned by calling the method if($extend_filter) @@ -133,46 +159,52 @@ class XmlJsFilter extends XmlParser $this->js_file .= '.nocache.js'; // Separate the extend_filter - list($module_name, $method) = explode('.',$extend_filter); + list($module_name, $method) = explode('.', $extend_filter); // contibue if both module_name and methos exist. - if($module_name&&$method) + if($module_name && $method) { // get model object of the module - $oExtendFilter = &getModel($module_name); + $oExtendFilter = getModel($module_name); // execute if method exists if(method_exists($oExtendFilter, $method)) { // get the result - $extend_filter_list = $oExtendFilter->{$method}(true); + $extend_filter_list = $oExtendFilter->{$method}(TRUE); $extend_filter_count = count($extend_filter_list); // apply lang_value from the result to the variable - for($i=0; $i < $extend_filter_count; $i++) + for($i = 0; $i < $extend_filter_count; $i++) { $name = $extend_filter_list[$i]->name; $lang_value = $extend_filter_list[$i]->lang; - if($lang_value) $lang->{$name} = $lang_value; + if($lang_value) + { + $lang->{$name} = $lang_value; + } } } } } // search the field to be used for entering language - $target_list = array(); + $target_list = array(); $target_type_list = array(); // javascript contents - $js_rules = array(); - $js_messages = array(); + $js_rules = array(); + $js_messages = array(); $fields = array(); // create custom rule if($rules && $rules->rule) { - if(!is_array($rules->rule)) $rules->rule = array($rules->rule); + if(!is_array($rules->rule)) + { + $rules->rule = array($rules->rule); + } foreach($rules->rule as $r) { if($r->attrs->type == 'regex') @@ -186,87 +218,138 @@ class XmlJsFilter extends XmlParser $node_count = count($field_node); if($node_count) { - foreach($field_node as $key =>$node) + foreach($field_node as $key => $node) { - $attrs = $node->attrs; + $attrs = $node->attrs; $target = trim($attrs->target); - if(!$target) continue; + if(!$target) + { + continue; + } - $rule = trim($attrs->rule?$attrs->rule:$attrs->filter); + $rule = trim($attrs->rule ? $attrs->rule : $attrs->filter); $equalto = trim($attrs->equalto); $field = array(); - if($attrs->required == 'true') $field[] = 'required:true'; - if($attrs->minlength > 0) $field[] = 'minlength:'.$attrs->minlength; - if($attrs->maxlength > 0) $field[] = 'maxlength:'.$attrs->maxlength; - if($equalto) $field[] = "equalto:'{$attrs->equalto}'"; - if($rule) $field[] = "rule:'{$rule}'"; + if($attrs->required == 'true') + { + $field[] = 'required:true'; + } + if($attrs->minlength > 0) + { + $field[] = 'minlength:' . $attrs->minlength; + } + if($attrs->maxlength > 0) + { + $field[] = 'maxlength:' . $attrs->maxlength; + } + if($equalto) + { + $field[] = "equalto:'{$attrs->equalto}'"; + } + if($rule) + { + $field[] = "rule:'{$rule}'"; + } - $fields[] = "'{$target}': {".implode(',', $field)."}"; + $fields[] = "'{$target}': {" . implode(',', $field) . "}"; - if(!in_array($target, $target_list)) $target_list[] = $target; - if(!$target_type_list[$target]) $target_type_list[$target] = $filter; + if(!in_array($target, $target_list)) + { + $target_list[] = $target; + } + if(!$target_type_list[$target]) + { + $target_type_list[$target] = $filter; + } } } // Check extend_filter_item - $rule_types = array('homepage'=>'homepage', 'email_address'=>'email'); + $rule_types = array('homepage' => 'homepage', 'email_address' => 'email'); - for($i=0;$i<$extend_filter_count;$i++) + for($i = 0; $i < $extend_filter_count; $i++) { $filter_item = $extend_filter_list[$i]; - $target = trim($filter_item->name); + $target = trim($filter_item->name); - if(!$target) continue; + if(!$target) + { + continue; + } // get the filter from the type of extend filter item - $type = $filter_item->type; - $rule = $rule_types[$type]?$rule_types[$type]:''; + $type = $filter_item->type; + $rule = $rule_types[$type] ? $rule_types[$type] : ''; $required = ($filter_item->required == 'true'); $field = array(); - if($required) $field[] = 'required:true'; - if($rule) $field[] = "rule:'{$rule}'"; - $fields[] = "\t\t'{$target}' : {".implode(',', $field)."}"; + if($required) + { + $field[] = 'required:true'; + } + if($rule) + { + $field[] = "rule:'{$rule}'"; + } + $fields[] = "\t\t'{$target}' : {" . implode(',', $field) . "}"; - if(!in_array($target, $target_list)) $target_list[] = $target; - if(!$target_type_list[$target]) $target_type_list[$target] = $type; + if(!in_array($target, $target_list)) + { + $target_list[] = $target; + } + if(!$target_type_list[$target]) + { + $target_type_list[$target] = $type; + } } // generates parameter script to create dbata - $rename_params = array(); + $rename_params = array(); $parameter_count = count($parameter_param); if($parameter_count) { // contains parameter of the default filter contents - foreach($parameter_param as $key =>$param) + foreach($parameter_param as $key => $param) { - $attrs = $param->attrs; - $name = trim($attrs->name); + $attrs = $param->attrs; + $name = trim($attrs->name); $target = trim($attrs->target); //if($name && $target && ($name != $target)) $js_doc[] = "\t\tparams['{$name}'] = params['{$target}']; delete params['{$target}'];"; - if($name && $target && ($name != $target)) $rename_params[] = "'{$target}':'{$name}'"; - if($name && !in_array($name, $target_list)) $target_list[] = $name; + if($name && $target && ($name != $target)) + { + $rename_params[] = "'{$target}':'{$name}'"; + } + if($name && !in_array($name, $target_list)) + { + $target_list[] = $name; + } } // Check extend_filter_item - for($i=0;$i<$extend_filter_count;$i++) + for($i = 0; $i < $extend_filter_count; $i++) { $filter_item = $extend_filter_list[$i]; $target = $name = trim($filter_item->name); - if(!$name || !$target) continue; + if(!$name || !$target) + { + continue; + } - if(!in_array($name, $target_list)) $target_list[] = $name; + if(!in_array($name, $target_list)) + { + $target_list[] = $name; + } } } // generates the response script $response_count = count($response_tag); $responses = array(); - for($i=0;$i<$response_count;$i++) + for($i = 0; $i < $response_count; $i++) { $attrs = $response_tag[$i]->attrs; $name = $attrs->name; @@ -275,47 +358,59 @@ class XmlJsFilter extends XmlParser // writes lang values of the form field $target_count = count($target_list); - for($i=0;$i<$target_count;$i++) + for($i = 0; $i < $target_count; $i++) { $target = $target_list[$i]; - if(!$lang->{$target}) $lang->{$target} = $target; + if(!$lang->{$target}) + { + $lang->{$target} = $target; + } $text = preg_replace('@\r?\n@', '\\n', addslashes($lang->{$target})); $js_messages[] = "v.cast('ADD_MESSAGE',['{$target}','{$text}']);"; } // writes the target type /* - $target_type_count = count($target_type_list); - if($target_type_count) { - foreach($target_type_list as $target => $type) { - //$js_doc .= sprintf("target_type_list[\"%s\"] = \"%s\";\n", $target, $type); - } - } + $target_type_count = count($target_type_list); + if($target_type_count) { + foreach($target_type_list as $target => $type) { + //$js_doc .= sprintf("target_type_list[\"%s\"] = \"%s\";\n", $target, $type); + } + } */ // writes error messages foreach($lang->filter as $key => $val) { - if(!$val) $val = $key; + if(!$val) + { + $val = $key; + } $val = preg_replace('@\r?\n@', '\\n', addslashes($val)); $js_messages[] = sprintf("v.cast('ADD_MESSAGE',['%s','%s']);", $key, $val); } $callback_func = $xml_obj->filter->response->attrs->callback_func; - if(!$callback_func) $callback_func = "filterAlertMessage"; + if(!$callback_func) + { + $callback_func = "filterAlertMessage"; + } $confirm_msg = ''; - if ($confirm_msg_code) $confirm_msg = $lang->{$confirm_msg_code}; + if($confirm_msg_code) + { + $confirm_msg = $lang->{$confirm_msg_code}; + } - $jsdoc = array(); - $jsdoc[] = "function {$filter_name}(form){ return legacy_filter('{$filter_name}', form, '{$module}', '{$act}', {$callback_func}, [".implode(',', $responses)."], '".addslashes($confirm_msg)."', {".implode(',', $rename_params)."}) };"; + $jsdoc = array(); + $jsdoc[] = "function {$filter_name}(form){ return legacy_filter('{$filter_name}', form, '{$module}', '{$act}', {$callback_func}, [" . implode(',', $responses) . "], '" . addslashes($confirm_msg) . "', {" . implode(',', $rename_params) . "}) };"; $jsdoc[] = '(function($){'; - $jsdoc[] = "\tvar v=xe.getApp('validator')[0];if(!v)return false;"; - $jsdoc[] = "\t".'v.cast("ADD_FILTER", ["'.$filter_name.'", {'.implode(',', $fields).'}]);'; - $jsdoc[] = "\t".implode("\n\t", $js_rules); - $jsdoc[] = "\t".implode("\n\t", $js_messages); - $jsdoc[] = '})(jQuery);'; - $jsdoc = implode("\n", $jsdoc); + $jsdoc[] = "\tvar v=xe.getApp('validator')[0];if(!v)return false;"; + $jsdoc[] = "\t" . 'v.cast("ADD_FILTER", ["' . $filter_name . '", {' . implode(',', $fields) . '}]);'; + $jsdoc[] = "\t" . implode("\n\t", $js_rules); + $jsdoc[] = "\t" . implode("\n\t", $js_messages); + $jsdoc[] = '})(jQuery);'; + $jsdoc = implode("\n", $jsdoc); // generates the js file FileHandler::writeFile($this->js_file, $jsdoc); @@ -328,8 +423,9 @@ class XmlJsFilter extends XmlParser */ function _getCompiledFileName($xml_file) { - return sprintf('%s%s.%s.compiled.js',$this->compiled_path, md5($this->version.$xml_file),Context::getLangType()); + return sprintf('%s%s.%s.compiled.js', $this->compiled_path, md5($this->version . $xml_file), Context::getLangType()); } + } /* End of file XmlJsFilter.class.php */ /* Location: ./classes/xml/XmlJsFilter.class.php */ diff --git a/classes/xml/XmlLangParser.class.php b/classes/xml/XmlLangParser.class.php index 587f94259..1887987c2 100644 --- a/classes/xml/XmlLangParser.class.php +++ b/classes/xml/XmlLangParser.class.php @@ -1,4 +1,5 @@ xml_file)) return false; + if(!file_exists($this->xml_file)) + { + return FALSE; + } if(!file_exists($this->php_file)) { $this->_compile(); } else { - if(filemtime($this->xml_file)>filemtime($this->php_file)) $this->_compile(); - else return $this->php_file; + if(filemtime($this->xml_file) > filemtime($this->php_file)) + { + $this->_compile(); + } + else + { + return $this->php_file; + } } - return $this->_writeFile() ? $this->php_file : false; + return $this->_writeFile() ? $this->php_file : FALSE; } /** @@ -79,7 +94,10 @@ class XmlLangParser extends XmlParser */ function getCompileContent() { - if(!file_exists($this->xml_file)) return false; + if(!file_exists($this->xml_file)) + { + return FALSE; + } $this->_compile(); return $this->code; @@ -96,16 +114,19 @@ class XmlLangParser extends XmlParser // read xml file $buff = FileHandler::readFile($this->xml_file); - $buff = str_replace('xml:lang','xml_lang',$buff); + $buff = str_replace('xml:lang', 'xml_lang', $buff); // xml parsing $xml_obj = parent::parse($buff); $item = $xml_obj->lang->item; - if(!is_array($item)) $item = array($item); + if(!is_array($item)) + { + $item = array($item); + } foreach($item as $i) { - $this->_parseItem($i, $var='$lang->%s'); + $this->_parseItem($i, $var = '$lang->%s'); } } @@ -115,8 +136,11 @@ class XmlLangParser extends XmlParser */ function _writeFile() { - if(!$this->code) return; - FileHandler::writeFile($this->php_file, "code); + if(!$this->code) + { + return; + } + FileHandler::writeFile($this->php_file, "code); return false; } @@ -138,22 +162,24 @@ class XmlLangParser extends XmlParser if($type == 'array') { - $this->code .= $var."=array();\n"; + $this->code .= $var . "=array();\n"; $var .= '[\'%s\']'; } else { - $this->code .= $var."=new stdClass;\n"; + $this->code .= $var . "=new stdClass;\n"; $var .= '->%s'; } $items = $item->item; - if(!is_array($items)) $items = array($items); + if(!is_array($items)) + { + $items = array($items); + } foreach($items as $item) { $this->_parseItem($item, $var); } - } else { @@ -170,23 +196,44 @@ class XmlLangParser extends XmlParser */ function _parseValues($nodes, $var) { - if(!is_array($nodes)) $nodes = array($nodes); + if(!is_array($nodes)) + { + $nodes = array($nodes); + } $value = array(); foreach($nodes as $node) { $return = $this->_parseValue($node, $var); - if($return && is_array($return)) $value = array_merge($value, $return); + if($return && is_array($return)) + { + $value = array_merge($value, $return); + } } - if($value[$this->lang_type]) return $value[$this->lang_type]; - else if($value['en']) return $value['en']; - else if($value['ko']) return $value['ko']; + if($value[$this->lang_type]) + { + return $value[$this->lang_type]; + } + else if($value['en']) + { + return $value['en']; + } + else if($value['ko']) + { + return $value['ko']; + } foreach($this->lang_types as $lang_type) { - if($lang_type == 'en' || $lang_type == 'ko' || $lang_type == $this->lang_type) continue; - if($value[$lang_type]) return $value[$lang_type]; + if($lang_type == 'en' || $lang_type == 'ko' || $lang_type == $this->lang_type) + { + continue; + } + if($value[$lang_type]) + { + return $value[$lang_type]; + } } return ''; @@ -202,10 +249,13 @@ class XmlLangParser extends XmlParser { $lang_type = $node->attrs->xml_lang; $value = $node->body; - if(!$value) return false; + if(!$value) + { + return false; + } - $var .= '=\'' . str_replace("'","\'",$value) . "';\n"; - return array($lang_type=>$var); + $var .= '=\'' . str_replace("'", "\'", $value) . "';\n"; + return array($lang_type => $var); } /** @@ -214,10 +264,11 @@ class XmlLangParser extends XmlParser * @param string $type * @return string */ - function _getCompiledFileName($lang_type, $type='php') + function _getCompiledFileName($lang_type, $type = 'php') { - return sprintf('%s%s.%s.php',$this->compiled_path, md5($this->xml_file), $lang_type); + return sprintf('%s%s.%s.php', $this->compiled_path, md5($this->xml_file), $lang_type); } + } /* End of file XmlLangParser.class.php */ /* Location: ./classes/xml/XmlLangParser.class.php */ diff --git a/classes/xml/XmlParser.class.php b/classes/xml/XmlParser.class.php index 44ff267a4..035f791e3 100644 --- a/classes/xml/XmlParser.class.php +++ b/classes/xml/XmlParser.class.php @@ -1,4 +1,5 @@ lang = Context::getLangType(); - $this->input = $input?$input:$GLOBALS['HTTP_RAW_POST_DATA']; - $this->input = str_replace(array('',''),array('',''),$this->input); + $this->input = $input ? $input : $GLOBALS['HTTP_RAW_POST_DATA']; + $this->input = str_replace(array('', ''), array('', ''), $this->input); // extracts a supported language preg_match_all("/xml:lang=\"([^\"].+)\"/i", $this->input, $matches); @@ -120,16 +133,21 @@ class XmlParser xml_parse($this->oParser, $this->input); xml_parser_free($this->oParser); - if(!count($this->output)) return; + if(!count($this->output)) + { + return; + } $output = array_shift($this->output); // Save compile starting time for debugging - if(__DEBUG__==3) $GLOBALS['__xmlparse_elapsed__'] += getMicroTime() - $start; + if(__DEBUG__ == 3) + { + $GLOBALS['__xmlparse_elapsed__'] += getMicroTime() - $start; + } return $output; } - /** * Start element handler. * @param resource $parse an instance of parser @@ -146,7 +164,6 @@ class XmlParser array_push($this->output, $obj); } - /** * Character data handler * Variable in the last element of this->output @@ -157,7 +174,7 @@ class XmlParser function _tagBody($parser, $body) { //if(!trim($body)) return; - $this->output[count($this->output)-1]->body .= $body; + $this->output[count($this->output) - 1]->body .= $body; } /** @@ -170,9 +187,15 @@ class XmlParser { $node_name = strtolower($node_name); $cur_obj = array_pop($this->output); - $parent_obj = &$this->output[count($this->output)-1]; - if($this->lang&&$cur_obj->attrs->{'xml:lang'}&&$cur_obj->attrs->{'xml:lang'}!=$this->lang) return; - if($this->lang&&$parent_obj->{$node_name}->attrs->{'xml:lang'}&&$parent_obj->{$node_name}->attrs->{'xml:lang'}!=$this->lang) return; + $parent_obj = &$this->output[count($this->output) - 1]; + if($this->lang && $cur_obj->attrs->{'xml:lang'} && $cur_obj->attrs->{'xml:lang'} != $this->lang) + { + return; + } + if($this->lang && $parent_obj->{$node_name}->attrs->{'xml:lang'} && $parent_obj->{$node_name}->attrs->{'xml:lang'} != $this->lang) + { + return; + } if(isset($parent_obj->{$node_name})) { @@ -191,7 +214,9 @@ class XmlParser else { if(!is_object($parent_obj)) - $parent_obj = (object)$parent_obj; + { + $parent_obj = (object) $parent_obj; + } $parent_obj->{$node_name} = $cur_obj; } @@ -212,6 +237,7 @@ class XmlParser } return $output; } + } /* End of file XmlParser.class.php */ /* Location: ./classes/xml/XmlParser.class.php */ diff --git a/classes/xml/XmlQueryParser.150.class.php b/classes/xml/XmlQueryParser.150.class.php index 3c90600b0..31c389f79 100644 --- a/classes/xml/XmlQueryParser.150.class.php +++ b/classes/xml/XmlQueryParser.150.class.php @@ -1,36 +1,36 @@ query->attrs->action); - if(!$action) return; + if(!$action) + { + return; + } // Write query cache file $parser = new QueryParser($xml_obj->query); @@ -120,10 +125,14 @@ class XmlQueryParser extends XmlParser { $buff = FileHandler::readFile($xml_file); $xml_obj = parent::parse($buff); - if(!$xml_obj) return; + if(!$xml_obj) + { + return; + } unset($buff); return $xml_obj; } + } /* End of file XmlQueryParser.150.class.php */ /* Location: ./classes/xml/XmlQueryParser.150.class.php */ diff --git a/classes/xml/XmlQueryParser.class.php b/classes/xml/XmlQueryParser.class.php index 42f42279a..50149e1a4 100644 --- a/classes/xml/XmlQueryParser.class.php +++ b/classes/xml/XmlQueryParser.class.php @@ -1,4 +1,5 @@ 1, 'addons'=>1, 'widgets'=>1); - if(!isset($typeList[$target])) return; + $typeList = array('modules' => 1, 'addons' => 1, 'widgets' => 1); + if(!isset($typeList[$target])) + { + return; + } $module = $id_args[1]; $id = $id_args[2]; } // insert, update, delete, select등의 action $action = strtolower($xml_obj->query->attrs->action); - if(!$action) return; + if(!$action) + { + return; + } // 테이블 정리 (배열코드로 변환) $tables = $xml_obj->query->tables->table; @@ -56,21 +66,30 @@ class XmlQueryParser extends XmlParser $left_conditions = array(); - if(!$tables) return; - if(!is_array($tables)) $tables = array($tables); - $joinList = array('left join'=>1, 'left outer join'=>1, 'right join'=>1, 'right outer join'=>1); + if(!$tables) + { + return; + } + if(!is_array($tables)) + { + $tables = array($tables); + } + $joinList = array('left join' => 1, 'left outer join' => 1, 'right join' => 1, 'right outer join' => 1); foreach($tables as $key => $val) { // 테이블과 alias의 이름을 구함 $table_name = $val->attrs->name; $alias = $val->attrs->alias; - if(!$alias) $alias = $table_name; + if(!$alias) + { + $alias = $table_name; + } $output->tables[$alias] = $table_name; if(isset($joinList[$val->attrs->type]) && count($val->conditions)) { - $output->left_tables[$alias] = $val->attrs->type; + $output->left_tables[$alias] = $val->attrs->type; $left_conditions[$alias] = $val->conditions; } @@ -78,12 +97,15 @@ class XmlQueryParser extends XmlParser $table_file = sprintf('%s%s/%s/schemas/%s.xml', _XE_PATH_, 'modules', $module, $table_name); if(!file_exists($table_file)) { - $searched_list = FileHandler::readDir(_XE_PATH_.'modules'); + $searched_list = FileHandler::readDir(_XE_PATH_ . 'modules'); $searched_count = count($searched_list); - for($i=0;$i<$searched_count;$i++) + for($i = 0; $i < $searched_count; $i++) { $table_file = sprintf('%s%s/%s/schemas/%s.xml', _XE_PATH_, 'modules', $searched_list[$i], $table_name); - if(file_exists($table_file)) break; + if(file_exists($table_file)) + { + break; + } } } @@ -142,12 +164,12 @@ class XmlQueryParser extends XmlParser $buff .= '$output->tables = array( '; foreach($output->tables as $key => $val) { - if(!array_key_exists($key,$output->left_tables)) + if(!array_key_exists($key, $output->left_tables)) { $buff .= sprintf('"%s"=>"%s",', $key, $val); } } - $buff .= ' );'."\n"; + $buff .= ' );' . "\n"; // php script 생성 $buff .= '$output->_tables = array( '; @@ -155,7 +177,7 @@ class XmlQueryParser extends XmlParser { $buff .= sprintf('"%s"=>"%s",', $key, $val); } - $buff .= ' );'."\n"; + $buff .= ' );' . "\n"; if(count($output->left_tables)) { @@ -164,7 +186,7 @@ class XmlQueryParser extends XmlParser { $buff .= sprintf('"%s"=>"%s",', $key, $val); } - $buff .= ' );'."\n"; + $buff .= ' );' . "\n"; } // column 정리 @@ -172,7 +194,7 @@ class XmlQueryParser extends XmlParser { $buff .= '$output->columns = array ( '; $buff .= $this->_getColumn($output->columns); - $buff .= ' );'."\n"; + $buff .= ' );' . "\n"; } // conditions 정리 @@ -180,7 +202,7 @@ class XmlQueryParser extends XmlParser { $buff .= '$output->conditions = array ( '; $buff .= $this->_getConditions($output->conditions); - $buff .= ' );'."\n"; + $buff .= ' );' . "\n"; } // conditions 정리 @@ -193,7 +215,7 @@ class XmlQueryParser extends XmlParser $buff .= $this->_getConditions($val); $buff .= "),\n"; } - $buff .= ' );'."\n"; + $buff .= ' );' . "\n"; } // args 변수 확인 @@ -202,8 +224,8 @@ class XmlQueryParser extends XmlParser { foreach($arg_list as $arg) { - $pre_buff .= 'if(is_object($args->'.$arg.')){ $args->'.$arg.' = array_values(get_method_vars($args->'.$arg.')); }'. "\n"; - $pre_buff .= 'if(is_array($args->'.$arg.') && count($args->'.$arg.')==0){ unset($args->'.$arg.'); };'."\n"; + $pre_buff .= 'if(is_object($args->' . $arg . ')){ $args->' . $arg . ' = array_values(get_method_vars($args->' . $arg . ')); }' . "\n"; + $pre_buff .= 'if(is_array($args->' . $arg . ') && count($args->' . $arg . ')==0){ unset($args->' . $arg . '); };' . "\n"; } } @@ -215,31 +237,31 @@ class XmlQueryParser extends XmlParser { $buff .= sprintf('array($args->%s?$args->%s:"%s",in_array($args->%s,array("asc","desc"))?$args->%s:("%s"?"%s":"asc")),', $val->var, $val->var, $val->default, $val->order, $val->order, $val->order, $val->order); } - $buff .= ');'."\n"; + $buff .= ');' . "\n"; } // list_count 정리 if($output->list_count) { - $buff .= sprintf('$output->list_count = array("var"=>"%s", "value"=>$args->%s?$args->%s:"%s");%s', $output->list_count->var, $output->list_count->var, $output->list_count->var, $output->list_count->default,"\n"); + $buff .= sprintf('$output->list_count = array("var"=>"%s", "value"=>$args->%s?$args->%s:"%s");%s', $output->list_count->var, $output->list_count->var, $output->list_count->var, $output->list_count->default, "\n"); } // page_count 정리 if($output->page_count) { - $buff .= sprintf('$output->page_count = array("var"=>"%s", "value"=>$args->%s?$args->%s:"%s");%s', $output->page_count->var, $output->page_count->var, $output->page_count->var, $output->page_count->default,"\n"); + $buff .= sprintf('$output->page_count = array("var"=>"%s", "value"=>$args->%s?$args->%s:"%s");%s', $output->page_count->var, $output->page_count->var, $output->page_count->var, $output->page_count->default, "\n"); } // page 정리 if($output->page) { - $buff .= sprintf('$output->page = array("var"=>"%s", "value"=>$args->%s?$args->%s:"%s");%s', $output->page->var, $output->page->var, $output->page->var, $output->list->default,"\n"); + $buff .= sprintf('$output->page = array("var"=>"%s", "value"=>$args->%s?$args->%s:"%s");%s', $output->page->var, $output->page->var, $output->page->var, $output->list->default, "\n"); } // group by 정리 if($output->groups) { - $buff .= sprintf('$output->groups = array("%s");%s', implode('","',$output->groups),"\n"); + $buff .= sprintf('$output->groups = array("%s");%s', implode('","', $output->groups), "\n"); } // minlength check @@ -247,7 +269,7 @@ class XmlQueryParser extends XmlParser { foreach($minlength_list as $key => $val) { - $pre_buff .= 'if($args->'.$key.'&&strlen($args->'.$key.')<'.$val.') return new Object(-1, sprintf($lang->filter->outofrange, $lang->'.$key.'?$lang->'.$key.':\''.$key.'\'));'."\n"; + $pre_buff .= 'if($args->' . $key . '&&strlen($args->' . $key . ')<' . $val . ') return new Object(-1, sprintf($lang->filter->outofrange, $lang->' . $key . '?$lang->' . $key . ':\'' . $key . '\'));' . "\n"; } } @@ -256,7 +278,7 @@ class XmlQueryParser extends XmlParser { foreach($maxlength_list as $key => $val) { - $pre_buff .= 'if($args->'.$key.'&&strlen($args->'.$key.')>'.$val.') return new Object(-1, sprintf($lang->filter->outofrange, $lang->'.$key.'?$lang->'.$key.':\''.$key.'\'));'."\n"; + $pre_buff .= 'if($args->' . $key . '&&strlen($args->' . $key . ')>' . $val . ') return new Object(-1, sprintf($lang->filter->outofrange, $lang->' . $key . '?$lang->' . $key . ':\'' . $key . '\'));' . "\n"; } } @@ -265,7 +287,7 @@ class XmlQueryParser extends XmlParser { foreach($this->filter_list as $key => $val) { - $pre_buff .= sprintf('if(isset($args->%s)) { unset($_output); $_output = $this->checkFilter("%s",$args->%s,"%s"); if(!$_output->toBool()) return $_output; } %s',$val->var, $val->var,$val->var,$val->filter,"\n"); + $pre_buff .= sprintf('if(isset($args->%s)) { unset($_output); $_output = $this->checkFilter("%s",$args->%s,"%s"); if(!$_output->toBool()) return $_output; } %s', $val->var, $val->var, $val->var, $val->filter, "\n"); } } @@ -274,7 +296,7 @@ class XmlQueryParser extends XmlParser { foreach($this->default_list as $key => $val) { - $pre_buff .= 'if(!isset($args->'.$key.')) $args->'.$key.' = '.$val.';'."\n"; + $pre_buff .= 'if(!isset($args->' . $key . ')) $args->' . $key . ' = ' . $val . ';' . "\n"; } } @@ -283,16 +305,16 @@ class XmlQueryParser extends XmlParser { foreach($this->notnull_list as $key => $val) { - $pre_buff .= 'if(!isset($args->'.$val.')) return new Object(-1, sprintf($lang->filter->isnull, $lang->'.$val.'?$lang->'.$val.':\''.$val.'\'));'."\n"; + $pre_buff .= 'if(!isset($args->' . $val . ')) return new Object(-1, sprintf($lang->filter->isnull, $lang->' . $val . '?$lang->' . $val . ':\'' . $val . '\'));' . "\n"; } } $buff = "query_id = "%s";%s', $query_id, "\n") - . sprintf('$output->action = "%s";%s', $action, "\n") - . $pre_buff - . $buff - . 'return $output; ?>'; + . sprintf('$output->query_id = "%s";%s', $query_id, "\n") + . sprintf('$output->action = "%s";%s', $action, "\n") + . $pre_buff + . $buff + . 'return $output; ?>'; // 저장 FileHandler::writeFile($cache_file, $buff); @@ -311,16 +333,19 @@ class XmlQueryParser extends XmlParser } else { - if(!is_array($columns)) $columns = array($columns); + if(!is_array($columns)) + { + $columns = array($columns); + } foreach($columns as $key => $val) { $name = $val->attrs->name; /* - if(strpos('.',$name)===false && count($output->tables)==1) { - $tmp = array_values($output->tables); - $name = sprintf('%s.%s', $tmp[0], $val->attrs->name); - } - */ + if(strpos('.',$name)===false && count($output->tables)==1) { + $tmp = array_values($output->tables); + $name = sprintf('%s.%s', $tmp[0], $val->attrs->name); + } + */ $output->columns[] = array( "name" => $name, @@ -354,11 +379,23 @@ class XmlQueryParser extends XmlParser $condition = array($obj); } $condition_group = $conditions->group; - if($condition_group && !is_array($condition_group)) $condition_group = array($condition_group); + if($condition_group && !is_array($condition_group)) + { + $condition_group = array($condition_group); + } - if($condition && $condition_group) $cond = array_merge($condition, $condition_group); - elseif($condition_group) $cond = $condition_group; - else $cond = $condition; + if($condition && $condition_group) + { + $cond = array_merge($condition, $condition_group); + } + elseif($condition_group) + { + $cond = $condition_group; + } + else + { + $cond = $condition; + } if($cond) { @@ -366,16 +403,31 @@ class XmlQueryParser extends XmlParser { unset($cond_output); - if($val->attrs->pipe) $cond_output->pipe = $val->attrs->pipe; - else $cond_output->pipe = null; + if($val->attrs->pipe) + { + $cond_output->pipe = $val->attrs->pipe; + } + else + { + $cond_output->pipe = null; + } - if(!$val->condition) continue; - if(!is_array($val->condition)) $val->condition = array($val->condition); + if(!$val->condition) + { + continue; + } + if(!is_array($val->condition)) + { + $val->condition = array($val->condition); + } foreach($val->condition as $k => $v) { $obj = $v->attrs; - if(!$obj->alias) $obj->alias = $obj->column; + if(!$obj->alias) + { + $obj->alias = $obj->column; + } $cond_output->condition[] = $obj; } @@ -395,15 +447,24 @@ class XmlQueryParser extends XmlParser // group 정리 if($group_list) { - if(!is_array($group_list)) $group_list = array($group_list); - for($i=0;$iattrs->column); - if(!$column) continue; + if(!$column) + { + continue; + } $group_column_list[] = $column; } - if(count($group_column_list)) $output->groups = $group_column_list; + if(count($group_column_list)) + { + $output->groups = $group_column_list; + } } return $output; } @@ -421,7 +482,10 @@ class XmlQueryParser extends XmlParser $order = $navigation->index; if($order) { - if(!is_array($order)) $order = array($order); + if(!is_array($order)) + { + $order = array($order); + } foreach($order as $order_info) { $output->order[] = $order_info->attrs; @@ -435,7 +499,7 @@ class XmlQueryParser extends XmlParser $output->page_count = $page_count; $page = $navigation->page->attrs; - $output->page = $page ; + $output->page = $page; } return $output; } @@ -460,18 +524,18 @@ class XmlQueryParser extends XmlParser $print_vars[] = $val['alias']; $val['default'] = $this->getDefault($val['name'], $val['default']); - if($val['var'] && strpos($val['var'],'.')===false) + if($val['var'] && strpos($val['var'], '.') === FALSE) { if($val['default']) { - $str .= ',"value"=>$args->%s?$args->%s:%s'; + $str .= ',"value"=>$args->%s?$args->%s:%s'; $print_vars[] = $val['var']; $print_vars[] = $val['var']; $print_vars[] = $val['default']; } else { - $str .= ',"value"=>$args->%s'; + $str .= ',"value"=>$args->%s'; $print_vars[] = $val['var']; } } @@ -479,7 +543,7 @@ class XmlQueryParser extends XmlParser { if($val['default']) { - $str .= ',"value"=>%s'; + $str .= ',"value"=>%s'; $print_vars[] = $val['default']; } } @@ -509,17 +573,26 @@ class XmlQueryParser extends XmlParser $buff = ''; foreach($conditions as $key => $val) { - $buff .= sprintf('array("pipe"=>"%s",%s"condition"=>array(', $val->pipe,"\n"); + $buff .= sprintf('array("pipe"=>"%s",%s"condition"=>array(', $val->pipe, "\n"); foreach($val->condition as $k => $v) { $v->default = $this->getDefault($v->column, $v->default); if($v->var) { - if(strpos($v->var,".")===false) + if(strpos($v->var, ".") === false) { - if($v->default) $this->default_list[$v->var] = $v->default; - if($v->filter) $this->filter_list[] = $v; - if($v->notnull) $this->notnull_list[] = $v->var; + if($v->default) + { + $this->default_list[$v->var] = $v->default; + } + if($v->filter) + { + $this->filter_list[] = $v; + } + if($v->notnull) + { + $this->notnull_list[] = $v->var; + } if($v->default) { $buff .= sprintf('array("column"=>"%s", "value"=>$args->%s?$args->%s:%s,"pipe"=>"%s","operation"=>"%s",),%s', $v->column, $v->var, $v->var, $v->default, $v->pipe, $v->operation, "\n"); @@ -540,15 +613,15 @@ class XmlQueryParser extends XmlParser { if($v->default) { - $buff .= sprintf('array("column"=>"%s", "value"=>%s,"pipe"=>"%s","operation"=>"%s",),%s', $v->column, $v->default ,$v->pipe, $v->operation,"\n"); + $buff .= sprintf('array("column"=>"%s", "value"=>%s,"pipe"=>"%s","operation"=>"%s",),%s', $v->column, $v->default, $v->pipe, $v->operation, "\n"); } else { - $buff .= sprintf('array("column"=>"%s", "pipe"=>"%s","operation"=>"%s",),%s', $v->column, $v->pipe, $v->operation,"\n"); + $buff .= sprintf('array("column"=>"%s", "pipe"=>"%s","operation"=>"%s",),%s', $v->column, $v->pipe, $v->operation, "\n"); } } } - $buff .= ')),'."\n"; + $buff .= ')),' . "\n"; } return $buff; } @@ -580,13 +653,19 @@ class XmlQueryParser extends XmlParser */ function getDefault($name, $value) { - $db_info = Context::getDBInfo (); - if(!isset($value)) return; + $db_info = Context::getDBInfo(); + if(!isset($value)) + { + return; + } $str_pos = strpos($value, '('); - if($str_pos===false) return '"'.$value.'"'; + if($str_pos === FALSE) + { + return '"' . $value . '"'; + } $func_name = substr($value, 0, $str_pos); - $args = substr($value, $str_pos+1, strlen($value)-1); + $args = substr($value, $str_pos + 1, strlen($value) - 1); switch($func_name) { @@ -606,7 +685,7 @@ class XmlQueryParser extends XmlParser $args = abs($args); if($db_info->db_type == 'cubrid') { - $val = sprintf ('"\\"%s\\"+%d"', $name, $args); + $val = sprintf('"\\"%s\\"+%d"', $name, $args); } else { @@ -617,7 +696,7 @@ class XmlQueryParser extends XmlParser $args = abs($args); if($db_info->db_type == 'cubrid') { - $val = sprintf ('"\\"%s\\"-%d"', $name, $args); + $val = sprintf('"\\"%s\\"-%d"', $name, $args); } else { @@ -628,7 +707,7 @@ class XmlQueryParser extends XmlParser $args = intval($args); if($db_info->db_type == 'cubrid') { - $val = sprintf ('"\\"%s\\"*%d"', $name, $args); + $val = sprintf('"\\"%s\\"*%d"', $name, $args); } else { @@ -639,6 +718,7 @@ class XmlQueryParser extends XmlParser return $val; } + } /* End of file XmlQueryParser.class.php */ /* Location: ./classes/xml/XmlQueryParser.class.php */ diff --git a/classes/xml/xmlquery/DBParser.class.php b/classes/xml/xmlquery/DBParser.class.php index 53184e5d1..2e5c767f6 100644 --- a/classes/xml/xmlquery/DBParser.class.php +++ b/classes/xml/xmlquery/DBParser.class.php @@ -1,7 +1,9 @@ * - column names: member.member_srl => "member"."member_srl"
@@ -13,6 +15,7 @@ */ class DBParser { + /** * Character for escape target value on the left * @@ -56,11 +59,17 @@ class DBParser * * @return void */ - function DBParser($escape_char_left, $escape_char_right = "", $table_prefix = "xe_") + function DBParser($escape_char_left, $escape_char_right = "", $table_prefix = "xe_") { $this->escape_char_left = $escape_char_left; - if ($escape_char_right !== "")$this->escape_char_right = $escape_char_right; - else $this->escape_char_right = $escape_char_left; + if($escape_char_right !== "") + { + $this->escape_char_right = $escape_char_right; + } + else + { + $this->escape_char_right = $escape_char_left; + } $this->table_prefix = $table_prefix; } @@ -72,8 +81,14 @@ class DBParser */ function getEscapeChar($leftOrRight) { - if ($leftOrRight === 'left')return $this->escape_char_left; - else return $this->escape_char_right; + if($leftOrRight === 'left') + { + return $this->escape_char_left; + } + else + { + return $this->escape_char_right; + } } /** @@ -95,7 +110,7 @@ class DBParser */ function escapeString($name) { - return "'".$this->escapeStringValue($name)."'"; + return "'" . $this->escapeStringValue($name) . "'"; } /** @@ -106,8 +121,14 @@ class DBParser */ function escapeStringValue($value) { - if($value == "*") return $value; - if (is_string($value)) return $value = str_replace("'","''",$value); + if($value == "*") + { + return $value; + } + if(is_string($value)) + { + return $value = str_replace("'", "''", $value); + } return $value; } @@ -144,12 +165,14 @@ class DBParser function escapeColumn($column_name) { if($this->isUnqualifiedColumnName($column_name)) + { return $this->escape($column_name); + } if($this->isQualifiedColumnName($column_name)) { list($table, $column) = explode('.', $column_name); // $table can also be an alias, so the prefix should not be added - return $this->escape($table).'.'.$this->escape($column); + return $this->escape($table) . '.' . $this->escape($column); //return $this->escape($this->parseTableName($table)).'.'.$this->escape($column); } } @@ -165,7 +188,10 @@ class DBParser */ function isUnqualifiedColumnName($column_name) { - if(strpos($column_name,'.')===FALSE && strpos($column_name,'(')===FALSE) return TRUE; + if(strpos($column_name, '.') === FALSE && strpos($column_name, '(') === FALSE) + { + return TRUE; + } return FALSE; } @@ -180,7 +206,10 @@ class DBParser */ function isQualifiedColumnName($column_name) { - if(strpos($column_name,'.')!==FALSE && strpos($column_name,'(')===FALSE) return TRUE; + if(strpos($column_name, '.') !== FALSE && strpos($column_name, '(') === FALSE) + { + return TRUE; + } return FALSE; } @@ -204,26 +233,39 @@ class DBParser */ function parseExpression($column_name) { - $functions = preg_split('/([\+\-\*\/\ ])/', $column_name, -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY); + $functions = preg_split('/([\+\-\*\/\ ])/', $column_name, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); foreach($functions as $k => $v) { $function = &$functions[$k]; - if(strlen($function)==1) continue; // skip delimiters + if(strlen($function) == 1) + { + continue; // skip delimiters + } $pos = strrpos("(", $function); - $matches = preg_split('/([a-zA-Z0-9_*]+)/', $function, -1, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY); + $matches = preg_split('/([a-zA-Z0-9_*]+)/', $function, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); $total_brackets = substr_count($function, "("); $brackets = 0; foreach($matches as $i => $j) { $match = &$matches[$i]; - if($match == '(') {$brackets++; continue;} - if(strpos($match,')') !== FALSE) continue; - if(in_array($match, array(',', '.'))) continue; + if($match == '(') + { + $brackets++; + continue; + } + if(strpos($match, ')') !== FALSE) + { + continue; + } + if(in_array($match, array(',', '.'))) + { + continue; + } if($brackets == $total_brackets) { if(!is_numeric($match) && !in_array(strtoupper($match), array('UNSIGNED', 'INTEGER', 'AS'))) { - $match = $this->escapeColumnExpression($match); + $match = $this->escapeColumnExpression($match); } } } @@ -240,7 +282,10 @@ class DBParser */ function isStar($column_name) { - if(substr($column_name,-1) == '*') return TRUE; + if(substr($column_name, -1) == '*') + { + return TRUE; + } return FALSE; } @@ -253,7 +298,10 @@ class DBParser */ function isStarFunction($column_name) { - if(strpos($column_name, "(*)")!==FALSE) return TRUE; + if(strpos($column_name, "(*)") !== FALSE) + { + return TRUE; + } return FALSE; } @@ -264,14 +312,21 @@ class DBParser */ function escapeColumnExpression($column_name) { - if($this->isStar($column_name)) return $column_name; + if($this->isStar($column_name)) + { + return $column_name; + } if($this->isStarFunction($column_name)) { return $column_name; } - if(strpos(strtolower($column_name), 'distinct') !== FALSE) return $column_name; + if(strpos(strtolower($column_name), 'distinct') !== FALSE) + { + return $column_name; + } return $this->escapeColumn($column_name); } + } /* End of file DBParser.class.php */ /* Location: ./classes/xml/xmlquery/DBParser.class.php */ diff --git a/classes/xml/xmlquery/QueryParser.class.php b/classes/xml/xmlquery/QueryParser.class.php index 6ab74b0b5..1e51c57ae 100644 --- a/classes/xml/xmlquery/QueryParser.class.php +++ b/classes/xml/xmlquery/QueryParser.class.php @@ -1,7 +1,9 @@ * The XML Object structure must be the one defined in the XmlParser class @@ -60,12 +62,14 @@ class QueryParser else if(count($id_args) == 3) { $target = $id_args[0]; - $targetList = array('modules'=>1, 'addons'=>1, 'widgets'=>1); - if (!isset($targetList[$target])) + $targetList = array('modules' => 1, 'addons' => 1, 'widgets' => 1); + if(!isset($targetList[$target])) + { return; + } $module = $id_args[1]; $id = $id_args[2]; - } + } // get column properties from the table $table_file = sprintf('%s%s/%s/schemas/%s.xml', _XE_PATH_, 'modules', $module, $table_name); @@ -77,7 +81,9 @@ class QueryParser { $table_file = sprintf('%s%s/%s/schemas/%s.xml', _XE_PATH_, 'modules', $searched_list[$i], $table_name); if(file_exists($table_file)) + { break; + } } } @@ -111,9 +117,10 @@ class QueryParser function toString() { return "queryTag->toString() - . 'return $query; ?>'; + . $this->queryTag->toString() + . 'return $query; ?>'; } + } /* End of file QueryParser.class.php */ /* Location: ./classes/xml/xmlquery/QueryParser.class.php */ diff --git a/classes/xml/xmlquery/argument/Argument.class.php b/classes/xml/xmlquery/argument/Argument.class.php index 5898a191d..646e3cb17 100644 --- a/classes/xml/xmlquery/argument/Argument.class.php +++ b/classes/xml/xmlquery/argument/Argument.class.php @@ -1,4 +1,5 @@ value = $value; $this->name = $name; - $this->isValid = true; + $this->isValid = TRUE; } function getType() @@ -67,7 +77,9 @@ class Argument return $this->type; } if(is_string($this->value)) + { return 'column_name'; + } return 'number'; } @@ -76,7 +88,7 @@ class Argument { $this->type = $value; } - + function setColumnOperation($operation) { $this->column_operation = $operation; @@ -109,7 +121,10 @@ class Argument function getUnescapedValue() { - if($this->value === 'null') return null; + if($this->value === 'null') + { + return null; + } return $this->value; } @@ -123,9 +138,13 @@ class Argument if(is_array($value)) { if(count($value) === 0) + { return ''; + } if(count($value) === 1 && $value[0] === '') + { return ''; + } return '(' . implode(',', $value) . ')'; } return $value; @@ -145,27 +164,36 @@ class Argument return $dbParser->parseExpression($value); } if(!isset($value)) + { return null; + } - $columnTypeList = array('date'=>1, 'varchar'=>1, 'char'=>1, 'text'=>1, 'bigtext'=>1); + $columnTypeList = array('date' => 1, 'varchar' => 1, 'char' => 1, 'text' => 1, 'bigtext' => 1); if(isset($columnTypeList[$column_type])) { if(!is_array($value)) + { $value = $this->_escapeStringValue($value); + } else { $total = count($value); for($i = 0; $i < $total; $i++) + { $value[$i] = $this->_escapeStringValue($value[$i]); + } //$value[$i] = '\''.$value[$i].'\''; } } - if($this->uses_default_value) return $value; + if($this->uses_default_value) + { + return $value; + } if($column_type == 'number') { if(is_array($value)) { - foreach ($value AS $key => $val) + foreach($value AS $key => $val) { if(isset($val) && $val !== '') { @@ -193,7 +221,7 @@ class Argument $regex = '@((?:[\x00-\x7F]|[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}){1,100})|([\xF0-\xF7][\x80-\xBF]{3})|([\x80-\xBF])|([\xC0-\xFF])@x'; $value = preg_replace_callback($regex, array($this, 'utf8Replacer'), $value); - $db = &DB::getInstance(); + $db = DB::getInstance(); $value = $db->addQuotes($value); return '\'' . $value . '\''; } @@ -225,15 +253,24 @@ class Argument { return $this->isValid; } - + function isColumnName() { $type = $this->getType(); $value = $this->getUnescapedValue(); - if($type == 'column_name') return true; - if($type == 'number' && is_null($value)) return false; - if($type == 'number' && !is_numeric($value) && $this->uses_default_value) return true; - return false; + if($type == 'column_name') + { + return TRUE; + } + if($type == 'number' && is_null($value)) + { + return FALSE; + } + if($type == 'number' && !is_numeric($value) && $this->uses_default_value) + { + return TRUE; + } + return FALSE; } function getErrorMessage() @@ -246,7 +283,7 @@ class Argument if(!isset($this->value) || $this->value == '') { $this->value = $default_value; - $this->uses_default_value = true; + $this->uses_default_value = TRUE; } } @@ -262,20 +299,20 @@ class Argument global $lang; $val = $this->value; $key = $this->name; - switch ($filter_type) + switch($filter_type) { case 'email' : case 'email_address' : if(!preg_match('/^[\w-]+((?:\.|\+|\~)[\w-]+)*@[\w-]+(\.[\w-]+)+$/is', $val)) { - $this->isValid = false; + $this->isValid = FALSE; $this->errorMessage = new Object(-1, sprintf($lang->filter->invalid_email, $lang->{$key} ? $lang->{$key} : $key)); } break; case 'homepage' : if(!preg_match('/^(http|https)+(:\/\/)+[0-9a-z_-]+\.[^ ]+$/is', $val)) { - $this->isValid = false; + $this->isValid = FALSE; $this->errorMessage = new Object(-1, sprintf($lang->filter->invalid_homepage, $lang->{$key} ? $lang->{$key} : $key)); } break; @@ -283,31 +320,33 @@ class Argument case 'user_id' : if(!preg_match('/^[a-zA-Z]+([_0-9a-zA-Z]+)*$/is', $val)) { - $this->isValid = false; + $this->isValid = FALSE; $this->errorMessage = new Object(-1, sprintf($lang->filter->invalid_userid, $lang->{$key} ? $lang->{$key} : $key)); } break; case 'number' : case 'numbers' : if(is_array($val)) + { $val = join(',', $val); + } if(!preg_match('/^(-?)[0-9]+(,\-?[0-9]+)*$/is', $val)) { - $this->isValid = false; + $this->isValid = FALSE; $this->errorMessage = new Object(-1, sprintf($lang->filter->invalid_number, $lang->{$key} ? $lang->{$key} : $key)); } break; case 'alpha' : if(!preg_match('/^[a-z]+$/is', $val)) { - $this->isValid = false; + $this->isValid = FALSE; $this->errorMessage = new Object(-1, sprintf($lang->filter->invalid_alpha, $lang->{$key} ? $lang->{$key} : $key)); } break; case 'alpha_number' : if(!preg_match('/^[0-9a-z]+$/is', $val)) { - $this->isValid = false; + $this->isValid = FALSE; $this->errorMessage = new Object(-1, sprintf($lang->filter->invalid_alpha_number, $lang->{$key} ? $lang->{$key} : $key)); } break; @@ -320,7 +359,7 @@ class Argument if($this->value && (strlen($this->value) > $length)) { global $lang; - $this->isValid = false; + $this->isValid = FALSE; $key = $this->name; $this->errorMessage = new Object(-1, sprintf($lang->filter->outofrange, $lang->{$key} ? $lang->{$key} : $key)); } @@ -331,7 +370,7 @@ class Argument if($this->value && (strlen($this->value) < $length)) { global $lang; - $this->isValid = false; + $this->isValid = FALSE; $key = $this->name; $this->errorMessage = new Object(-1, sprintf($lang->filter->outofrange, $lang->{$key} ? $lang->{$key} : $key)); } @@ -342,11 +381,12 @@ class Argument if(!isset($this->value)) { global $lang; - $this->isValid = false; + $this->isValid = FALSE; $key = $this->name; $this->errorMessage = new Object(-1, sprintf($lang->filter->isnull, $lang->{$key} ? $lang->{$key} : $key)); } } + } /* End of file Argument.class.php */ /* Location: ./classes/xml/xmlquery/argument/Argument.class.php */ diff --git a/classes/xml/xmlquery/argument/ConditionArgument.class.php b/classes/xml/xmlquery/argument/ConditionArgument.class.php index cfa0fbbdd..b0302e458 100644 --- a/classes/xml/xmlquery/argument/ConditionArgument.class.php +++ b/classes/xml/xmlquery/argument/ConditionArgument.class.php @@ -1,4 +1,5 @@ 1, 'notin'=>1, 'not_in'=>1, 'between'=>1); + $operationList = array('in' => 1, 'notin' => 1, 'not_in' => 1, 'between' => 1); if(isset($value) && isset($operationList[$operation]) && !is_array($value) && $value != '') { $value = str_replace(' ', '', $value); @@ -39,7 +41,10 @@ class ConditionArgument extends Argument */ function createConditionValue() { - if(!isset($this->value)) return; + if(!isset($this->value)) + { + return; + } $operation = $this->operation; $value = $this->value; @@ -52,13 +57,19 @@ class ConditionArgument extends Argument $this->value = '^' . str_replace('%', '(.*)', preg_quote($value)); } else - $this->value = $value.'%'; + { + $this->value = $value . '%'; + } break; case 'like_tail' : - if(defined('__CUBRID_VERSION__') && __CUBRID_VERSION__ >= '8.4.1') + if(defined('__CUBRID_VERSION__') && __CUBRID_VERSION__ >= '8.4.1') + { $this->value = str_replace('%', '(.*)', preg_quote($value)) . '$'; - else - $this->value = '%'.$value; + } + else + { + $this->value = '%' . $value; + } break; case 'like' : if(defined('__CUBRID_VERSION__') && __CUBRID_VERSION__ >= '8.4.1') @@ -66,23 +77,31 @@ class ConditionArgument extends Argument $this->value = str_replace('%', '(.*)', preg_quote($value)); } else - $this->value = '%'.$value.'%'; + { + $this->value = '%' . $value . '%'; + } break; case 'notlike' : - $this->value = '%'.$value.'%'; + $this->value = '%' . $value . '%'; break; case 'notlike_prefix' : - $this->value = $value.'%'; + $this->value = $value . '%'; break; case 'notlike_tail' : - $this->value = '%'.$value; + $this->value = '%' . $value; break; case 'in': - if(!is_array($value)) $this->value = array($value); + if(!is_array($value)) + { + $this->value = array($value); + } break; case 'notin': case 'not_in': - if(!is_array($value)) $this->value = array($value); + if(!is_array($value)) + { + $this->value = array($value); + } break; } } @@ -101,14 +120,14 @@ class ConditionArgument extends Argument function getType() { if($this->type) - { + { return $this->type; } else if(!is_numeric($this->value)) { return 'varchar'; } - else + else { return ''; } @@ -116,8 +135,14 @@ class ConditionArgument extends Argument function setColumnType($column_type) { - if(!isset($this->value)) return; - if($column_type === '') return; + if(!isset($this->value)) + { + return; + } + if($column_type === '') + { + return; + } $this->type = $column_type; } diff --git a/classes/xml/xmlquery/argument/SortArgument.class.php b/classes/xml/xmlquery/argument/SortArgument.class.php index 8936c26ce..38320581f 100644 --- a/classes/xml/xmlquery/argument/SortArgument.class.php +++ b/classes/xml/xmlquery/argument/SortArgument.class.php @@ -1,4 +1,5 @@ getUnescapedValue(); } + } /* End of file SortArgument.class.php */ /* Location: ./classes/xml/xmlquery/argument/SortArgument.class.php */ diff --git a/classes/xml/xmlquery/queryargument/DefaultValue.class.php b/classes/xml/xmlquery/queryargument/DefaultValue.class.php index 61d7e85ac..0159eb64d 100644 --- a/classes/xml/xmlquery/queryargument/DefaultValue.class.php +++ b/classes/xml/xmlquery/queryargument/DefaultValue.class.php @@ -1,4 +1,5 @@ column_name = $dbParser->parseColumnName($column_name); $this->value = $value; $this->value = $this->_setValue(); @@ -61,8 +69,11 @@ class DefaultValue { return $this->_is_string; $str_pos = strpos($this->value, '('); - if($str_pos===false) return true; - return false; + if($str_pos === false) + { + return TRUE; + } + return FALSE; } function isStringFromFunction() @@ -87,65 +98,68 @@ class DefaultValue function _setValue() { - if(!isset($this->value)) return; + if(!isset($this->value)) + { + return; + } // If value contains comma separated values and does not contain paranthesis // -> default value is an array - if(strpos($this->value, ',') !== false && strpos($this->value, '(') === false) + if(strpos($this->value, ',') !== FALSE && strpos($this->value, '(') === FALSE) { return sprintf('array(%s)', $this->value); } $str_pos = strpos($this->value, '('); // // TODO Replace this with parseExpression - if($str_pos===false) + if($str_pos === FALSE) { - $this->_is_string = true; - return '\''.$this->value.'\''; + $this->_is_string = TRUE; + return '\'' . $this->value . '\''; } //if($str_pos===false) return $this->value; $func_name = substr($this->value, 0, $str_pos); - $args = substr($this->value, $str_pos+1, -1); + $args = substr($this->value, $str_pos + 1, -1); switch($func_name) { case 'ipaddress' : $val = '$_SERVER[\'REMOTE_ADDR\']'; - $this->_is_string_from_function = true; + $this->_is_string_from_function = TRUE; break; case 'unixtime' : $val = 'time()'; break; case 'curdate' : $val = 'date("YmdHis")'; - $this->_is_string_from_function = true; + $this->_is_string_from_function = TRUE; break; case 'sequence' : - $this->is_sequence = true; + $this->is_sequence = TRUE; $val = '$sequence'; break; case 'plus' : $args = abs($args); - $this->is_operation = true; + $this->is_operation = TRUE; $this->operation = '+'; $val = sprintf('%d', $args); break; case 'minus' : $args = abs($args); - $this->is_operation = true; + $this->is_operation = TRUE; $this->operation = '-'; $val = sprintf('%d', $args); break; case 'multiply' : $args = intval($args); - $this->is_operation = true; + $this->is_operation = TRUE; $this->operation = '*'; $val = sprintf('%d', $args); break; default : $val = '\'' . $this->value . '\''; - //$val = $this->value; + //$val = $this->value; } return $val; @@ -155,6 +169,7 @@ class DefaultValue { return $this->value; } + } /* End of file DefaultValue.class.php */ /* Location: ./classes/xml/xmlquery/queryargument/DefaultValue.class.php */ diff --git a/classes/xml/xmlquery/queryargument/QueryArgument.class.php b/classes/xml/xmlquery/queryargument/QueryArgument.class.php index 1b119481d..a38765927 100644 --- a/classes/xml/xmlquery/queryargument/QueryArgument.class.php +++ b/classes/xml/xmlquery/queryargument/QueryArgument.class.php @@ -1,4 +1,5 @@ argument_name = $tag->attrs->var; if(!$this->argument_name) + { $this->argument_name = str_replace('.', '_', $tag->attrs->name); + } if(!$this->argument_name) + { $this->argument_name = str_replace('.', '_', $tag->attrs->column); + } $this->variable_name = $this->argument_name; @@ -66,9 +78,13 @@ class QueryArgument $name = $tag->attrs->name; if(!$name) + { $name = $tag->attrs->column; - if(strpos($name, '.') === false) + } + if(strpos($name, '.') === FALSE) + { $this->column_name = $name; + } else { list($prefix, $name) = explode('.', $name); @@ -77,7 +93,9 @@ class QueryArgument } if($tag->attrs->operation) + { $this->operation = $tag->attrs->operation; + } $this->argument_validator = new QueryArgumentValidator($tag, $this); $this->ignore_value = $ignore_value; @@ -106,8 +124,10 @@ class QueryArgument function isConditionArgument() { if($this->operation) - return true; - return false; + { + return TRUE; + } + return FALSE; } /** @@ -120,50 +140,51 @@ class QueryArgument { // Instantiation $arg = sprintf("\n" . '${\'%s_argument\'} = new ConditionArgument(\'%s\', %s, \'%s\');' . "\n" - , $this->argument_name - , $this->variable_name - , '$args->' . $this->variable_name - , $this->operation - ); + , $this->argument_name + , $this->variable_name + , '$args->' . $this->variable_name + , $this->operation + ); // Call methods to validate argument and ensure default value $arg .= $this->argument_validator->toString(); // Prepare condition string $arg .= sprintf('${\'%s_argument\'}->createConditionValue();' . "\n" - , $this->argument_name - ); + , $this->argument_name + ); // Check that argument passed validation, else return $arg .= sprintf('if(!${\'%s_argument\'}->isValid()) return ${\'%s_argument\'}->getErrorMessage();' . "\n" - , $this->argument_name - , $this->argument_name - ); + , $this->argument_name + , $this->argument_name + ); } else { $arg = sprintf("\n" . '${\'%s_argument\'} = new Argument(\'%s\', %s);' . "\n" - , $this->argument_name - , $this->variable_name - , $this->ignore_value ? 'null' : '$args->{\'' . $this->variable_name . '\'}'); + , $this->argument_name + , $this->variable_name + , $this->ignore_value ? 'NULL' : '$args->{\'' . $this->variable_name . '\'}'); $arg .= $this->argument_validator->toString(); $arg .= sprintf('if(!${\'%s_argument\'}->isValid()) return ${\'%s_argument\'}->getErrorMessage();' . "\n" - , $this->argument_name - , $this->argument_name - ); + , $this->argument_name + , $this->argument_name + ); } // If the argument is null, skip it if($this->argument_validator->isIgnorable()) { $arg = sprintf("if(isset(%s)) {", '$args->' . $this->variable_name) - . $arg - . sprintf("} else\n" . '${\'%s_argument\'} = null;', $this->argument_name); + . $arg + . sprintf("} else\n" . '${\'%s_argument\'} = NULL;', $this->argument_name); } return $arg; } + } /* End of file QueryArgument.class.php */ /* Location: ./classes/xml/xmlquery/queryargument/QueryArgument.class.php */ diff --git a/classes/xml/xmlquery/queryargument/SortQueryArgument.class.php b/classes/xml/xmlquery/queryargument/SortQueryArgument.class.php index aa3640331..61a3b5f7f 100644 --- a/classes/xml/xmlquery/queryargument/SortQueryArgument.class.php +++ b/classes/xml/xmlquery/queryargument/SortQueryArgument.class.php @@ -1,4 +1,5 @@ argument_name - , $this->argument_name - , '$args->'.$this->variable_name); + , $this->argument_name + , $this->argument_name + , '$args->' . $this->variable_name); $arg .= $this->argument_validator->toString(); $arg .= sprintf('if(!${\'%s_argument\'}->isValid()) return ${\'%s_argument\'}->getErrorMessage();' . "\n" , $this->argument_name , $this->argument_name - ); + ); return $arg; } + } /* End of file DefaultValue.class.php */ /* Location: ./classes/xml/xmlquery/queryargument/DefaultValue.class.php */ diff --git a/classes/xml/xmlquery/queryargument/validator/QueryArgumentValidator.class.php b/classes/xml/xmlquery/queryargument/validator/QueryArgumentValidator.class.php index f2d6e0dfe..c077516ae 100644 --- a/classes/xml/xmlquery/queryargument/validator/QueryArgumentValidator.class.php +++ b/classes/xml/xmlquery/queryargument/validator/QueryArgumentValidator.class.php @@ -1,4 +1,5 @@ default_value) || isset($this->notnull)) return false; - return true; + if(isset($this->default_value) || isset($this->notnull)) + { + return FALSE; + } + return TRUE; } function toString() @@ -76,50 +85,50 @@ class QueryArgumentValidator if($this->filter) { $validator .= sprintf('${\'%s_argument\'}->checkFilter(\'%s\');' . "\n" - , $this->argument_name - , $this->filter - ); + , $this->argument_name + , $this->filter + ); } if($this->min_length) { $validator .= sprintf('${\'%s_argument\'}->checkMinLength(%s);' . "\n" - , $this->argument_name - , $this->min_length - ); + , $this->argument_name + , $this->min_length + ); } if($this->max_length) { - $validator .= sprintf('${\'%s_argument\'}->checkMaxLength(%s);'. "\n" - , $this->argument_name - , $this->max_length - ); + $validator .= sprintf('${\'%s_argument\'}->checkMaxLength(%s);' . "\n" + , $this->argument_name + , $this->max_length + ); } if(isset($this->default_value)) { $this->default_value = new DefaultValue($this->argument_name, $this->default_value); if($this->default_value->isSequence()) - $validator .= '$db = &DB::getInstance(); $sequence = $db->getNextSequence(); '; + $validator .= '$db = DB::getInstance(); $sequence = $db->getNextSequence(); '; if($this->default_value->isOperation()) { $validator .= sprintf('${\'%s_argument\'}->setColumnOperation(\'%s\');' . "\n" - , $this->argument_name - , $this->default_value->getOperation() - ); + , $this->argument_name + , $this->default_value->getOperation() + ); } $validator .= sprintf('${\'%s_argument\'}->ensureDefaultValue(%s);' . "\n" - , $this->argument_name - , $this->default_value->toString() - ); + , $this->argument_name + , $this->default_value->toString() + ); } if($this->notnull) { $validator .= sprintf('${\'%s_argument\'}->checkNotNull();' . "\n" - , $this->argument_name - ); + , $this->argument_name + ); } return $validator; } -} +} /* End of file QueryArgumentValidator.class.php */ /* Location: ./classes/xml/xmlquery/queryargument/validator/QueryArgumentValidator.class.php */ diff --git a/classes/xml/xmlquery/tags/column/ColumnTag.class.php b/classes/xml/xmlquery/tags/column/ColumnTag.class.php index f2906998a..cade38823 100644 --- a/classes/xml/xmlquery/tags/column/ColumnTag.class.php +++ b/classes/xml/xmlquery/tags/column/ColumnTag.class.php @@ -1,4 +1,5 @@ * Since the <column> tag supports different attributes depending on @@ -11,6 +12,7 @@ */ class ColumnTag { + /** * Column name * @var string @@ -26,6 +28,7 @@ class ColumnTag { $this->name = $name; } + } /* End of file ColumnTag.class.php */ /* Location: ./classes/xml/xmlquery/tags/column/ColumnTag.class.php */ diff --git a/classes/xml/xmlquery/tags/column/InsertColumnTag.class.php b/classes/xml/xmlquery/tags/column/InsertColumnTag.class.php index b43a223eb..604e9320f 100644 --- a/classes/xml/xmlquery/tags/column/InsertColumnTag.class.php +++ b/classes/xml/xmlquery/tags/column/InsertColumnTag.class.php @@ -1,4 +1,5 @@ name - , $this->argument->argument_name); + , $this->name + , $this->argument->argument_name); } /** diff --git a/classes/xml/xmlquery/tags/column/InsertColumnTagWithoutArgument.class.php b/classes/xml/xmlquery/tags/column/InsertColumnTagWithoutArgument.class.php index 1cf205409..1be669d37 100644 --- a/classes/xml/xmlquery/tags/column/InsertColumnTagWithoutArgument.class.php +++ b/classes/xml/xmlquery/tags/column/InsertColumnTagWithoutArgument.class.php @@ -1,4 +1,5 @@ columns = array(); if(!$xml_columns) + { return; + } - if(!is_array($xml_columns)) $xml_columns = array($xml_columns); + if(!is_array($xml_columns)) + { + $xml_columns = array($xml_columns); + } foreach($xml_columns as $column) { - if($column->name === 'query') $this->columns[] = new QueryTag($column, true); - else if(!isset($column->attrs->var) && !isset($column->attrs->default)) $this->columns[] = new InsertColumnTagWithoutArgument($column); - else $this->columns[] = new InsertColumnTag($column); + if($column->name === 'query') + { + $this->columns[] = new QueryTag($column, TRUE); + } + else if(!isset($column->attrs->var) && !isset($column->attrs->default)) + { + $this->columns[] = new InsertColumnTagWithoutArgument($column); + } + else + { + $this->columns[] = new InsertColumnTag($column); + } } } diff --git a/classes/xml/xmlquery/tags/column/SelectColumnTag.class.php b/classes/xml/xmlquery/tags/column/SelectColumnTag.class.php index 2295d88bf..a06d8fe58 100644 --- a/classes/xml/xmlquery/tags/column/SelectColumnTag.class.php +++ b/classes/xml/xmlquery/tags/column/SelectColumnTag.class.php @@ -1,4 +1,5 @@ attrs->name == '*') + if($column == "*" || $column->attrs->name == '*') { parent::ColumnTag(NULL); $this->name = "*"; @@ -38,7 +40,7 @@ class SelectColumnTag extends ColumnTag else { parent::ColumnTag($column->attrs->name); - $dbParser = new DB(); $dbParser = &$dbParser->getParser(); + $dbParser = DB::getParser(); $this->name = $dbParser->parseExpression($this->name); $this->alias = $column->attrs->alias; @@ -60,14 +62,22 @@ class SelectColumnTag extends ColumnTag */ function getExpressionString() { - if($this->name == '*') return "new StarExpression()"; + if($this->name == '*') + { + return "new StarExpression()"; + } if($this->click_count) - return sprintf('new ClickCountExpression(\'%s\', %s, $args->%s)', $this->name, $this->alias ? '\'' . $this->alias . '\'' : "''",$this->click_count); + { + return sprintf('new ClickCountExpression(\'%s\', %s, $args->%s)', $this->name, $this->alias ? '\'' . $this->alias . '\'' : "''", $this->click_count); + } if(strpos($this->name, '$') === 0) + { return sprintf('new SelectExpression($args->%s)', substr($this->name, 1)); + } $dbParser = DB::getParser(); - return sprintf('new SelectExpression(\'%s\'%s)', $this->name, $this->alias ? ', \''.$dbParser->escape($this->alias) .'\'': ''); + return sprintf('new SelectExpression(\'%s\'%s)', $this->name, $this->alias ? ', \'' . $dbParser->escape($this->alias) . '\'' : ''); } + } /* End of file SelectColumnTag.class.php */ /* Location: ./classes/xml/xmlquery/tags/column/SelectColumnTag.class.php */ diff --git a/classes/xml/xmlquery/tags/column/SelectColumnsTag.class.php b/classes/xml/xmlquery/tags/column/SelectColumnsTag.class.php index c30a92664..d0939450d 100644 --- a/classes/xml/xmlquery/tags/column/SelectColumnsTag.class.php +++ b/classes/xml/xmlquery/tags/column/SelectColumnsTag.class.php @@ -1,4 +1,5 @@ column; $xml_queries = $xml_columns_tag->query; @@ -38,7 +42,10 @@ class SelectColumnsTag return; } - if(!is_array($xml_columns)) $xml_columns = array($xml_columns); + if(!is_array($xml_columns)) + { + $xml_columns = array($xml_columns); + } foreach($xml_columns as $column) { @@ -51,7 +58,10 @@ class SelectColumnsTag return; } - if(!is_array($xml_queries)) $xml_queries = array($xml_queries); + if(!is_array($xml_queries)) + { + $xml_queries = array($xml_queries); + } foreach($xml_queries as $column) { @@ -70,9 +80,13 @@ class SelectColumnsTag foreach($this->columns as $column) { if(is_a($column, 'QueryTag')) + { $output_columns .= $column->toString() . PHP_EOL . ','; + } else + { $output_columns .= $column->getExpressionString() . PHP_EOL . ','; + } } $output_columns = substr($output_columns, 0, -1); $output_columns .= ')'; @@ -90,10 +104,13 @@ class SelectColumnsTag foreach($this->columns as $column) { if(is_a($column, 'QueryTag')) + { $arguments = array_merge($arguments, $column->getArguments()); + } } return $arguments; } + } /* End of file SelectColumnsTag.class.php */ /* Location: ./classes/xml/xmlquery/tags/column/SelectColumnsTag.class.php */ diff --git a/classes/xml/xmlquery/tags/column/UpdateColumnTag.class.php b/classes/xml/xmlquery/tags/column/UpdateColumnTag.class.php index c80b93dbe..405a35c97 100644 --- a/classes/xml/xmlquery/tags/column/UpdateColumnTag.class.php +++ b/classes/xml/xmlquery/tags/column/UpdateColumnTag.class.php @@ -1,4 +1,5 @@ name = $dbParser->parseColumnName($this->name); if($column->attrs->var) + { $this->argument = new QueryArgument($column); + } else { if(strpos($column->attrs->default, '.') !== FALSE) @@ -77,14 +81,14 @@ class UpdateColumnTag extends ColumnTag if($this->argument) { return sprintf('new UpdateExpression(\'%s\', ${\'%s_argument\'})' - , $this->name - , $this->argument->argument_name); + , $this->name + , $this->argument->argument_name); } else { return sprintf('new UpdateExpressionWithoutArgument(\'%s\', %s)' - , $this->name - , $this->default_value); + , $this->name + , $this->default_value); } } @@ -97,6 +101,7 @@ class UpdateColumnTag extends ColumnTag { return $this->argument; } + } /* End of file UpdateColumnTag.class.php */ /* Location: ./classes/xml/xmlquery/tags/column/UpdateColumnTag.class.php */ diff --git a/classes/xml/xmlquery/tags/column/UpdateColumnsTag.class.php b/classes/xml/xmlquery/tags/column/UpdateColumnsTag.class.php index 99f481983..3432623ad 100644 --- a/classes/xml/xmlquery/tags/column/UpdateColumnsTag.class.php +++ b/classes/xml/xmlquery/tags/column/UpdateColumnsTag.class.php @@ -1,4 +1,5 @@ columns = array(); - if(!is_array($xml_columns)) $xml_columns = array($xml_columns); + if(!is_array($xml_columns)) + { + $xml_columns = array($xml_columns); + } foreach($xml_columns as $column) { - if($column->name === 'query') $this->columns[] = new QueryTag($column, true); - else $this->columns[] = new UpdateColumnTag($column); + if($column->name === 'query') + { + $this->columns[] = new QueryTag($column, true); + } + else + { + $this->columns[] = new UpdateColumnTag($column); + } } } @@ -65,6 +76,7 @@ class UpdateColumnsTag } return $arguments; } + } /* End of file UpdateColumnsTag.class.php */ /* Location: ./classes/xml/xmlquery/tags/column/UpdateColumnsTag.class.php */ diff --git a/classes/xml/xmlquery/tags/condition/ConditionGroupTag.class.php b/classes/xml/xmlquery/tags/condition/ConditionGroupTag.class.php index dc17bb225..069dfc605 100644 --- a/classes/xml/xmlquery/tags/condition/ConditionGroupTag.class.php +++ b/classes/xml/xmlquery/tags/condition/ConditionGroupTag.class.php @@ -1,4 +1,5 @@ pipe = $pipe; - if(!is_array($conditions)) $conditions = array($conditions); + if(!is_array($conditions)) + { + $conditions = array($conditions); + } foreach($conditions as $condition) { @@ -49,15 +55,15 @@ class ConditionGroupTag */ function getConditionGroupString() { - $conditions_string = 'array('.PHP_EOL; + $conditions_string = 'array(' . PHP_EOL; foreach($this->conditions as $condition) { $conditions_string .= $condition->getConditionString() . PHP_EOL . ','; } - $conditions_string = substr($conditions_string, 0, -2);//remove ',' + $conditions_string = substr($conditions_string, 0, -2); //remove ',' $conditions_string .= ')'; - return sprintf("new ConditionGroup(%s%s)", $conditions_string, $this->pipe ? ',\''.$this->pipe . '\'': ''); + return sprintf("new ConditionGroup(%s%s)", $conditions_string, $this->pipe ? ',\'' . $this->pipe . '\'' : ''); } function getArguments() @@ -69,6 +75,7 @@ class ConditionGroupTag } return $arguments; } + } /* End of file ConditionGroupTag.class.php */ /* Location: ./classes/xml/xmlquery/tags/condition/ConditionGroupTag.class.php */ diff --git a/classes/xml/xmlquery/tags/condition/ConditionTag.class.php b/classes/xml/xmlquery/tags/condition/ConditionTag.class.php index 1295318c8..4383cb195 100644 --- a/classes/xml/xmlquery/tags/condition/ConditionTag.class.php +++ b/classes/xml/xmlquery/tags/condition/ConditionTag.class.php @@ -1,4 +1,5 @@ tag inside an XML Query file. Base class. @@ -9,36 +10,43 @@ */ class ConditionTag { + /** * operation for example 'in', 'between', 'not in'... * @var string */ var $operation; + /** * Column name * @var string */ var $column_name; + /** * Pipe * @var string */ var $pipe; + /** * Argument name * @var string */ var $argument_name; + /** * QueryArgument object * @var QueryArgument */ var $argument; + /** * Default column * @var string */ var $default_column; + /** * QueryTag object * @var QueryTag @@ -58,9 +66,9 @@ class ConditionTag $this->column_name = $dbParser->parseExpression($condition->attrs->column); // If default value is column name, it should be escaped - if($isColumnName = (strpos($condition->attrs->default, '.') !== false - && strpos($condition->attrs->default, '.') !== 0 - && strpos($condition->attrs->default, '%') === false )) + if($isColumnName = (strpos($condition->attrs->default, '.') !== FALSE + && strpos($condition->attrs->default, '.') !== 0 + && strpos($condition->attrs->default, '%') === FALSE )) { $condition->attrs->default = $dbParser->parseExpression($condition->attrs->default); } @@ -84,7 +92,9 @@ class ConditionTag { $default_value = $condition->attrs->default; if(strpos($default_value, "'") !== FALSE) + { $default_value = "\"" . $default_value . "\""; + } else { $default_value = "'" . $default_value . "'"; @@ -103,15 +113,21 @@ class ConditionTag if($default_value_object->isString() && !$isColumnName && !is_numeric($condition->attrs->default)) { if(strpos($default_value, "'") !== FALSE) + { $default_value = "\"" . $default_value . "\""; + } else + { $default_value = "'" . $default_value . "'"; + } } } $this->default_column = $default_value; } else + { $this->default_column = "'" . $dbParser->parseColumnName($condition->attrs->var) . "'"; + } } } @@ -124,9 +140,13 @@ class ConditionTag { $arguments = array(); if($this->query) + { $arguments = array_merge($arguments, $this->query->getArguments()); + } if($this->argument) + { $arguments[] = $this->argument; + } return $arguments; } @@ -135,31 +155,32 @@ class ConditionTag if($this->query) { return sprintf("new ConditionSubquery('%s',%s,%s%s)" - , $this->column_name - , $this->default_column - , '"'.$this->operation.'"' - , $this->pipe ? ", '" . $this->pipe . "'" : '' - ); + , $this->column_name + , $this->default_column + , '"' . $this->operation . '"' + , $this->pipe ? ", '" . $this->pipe . "'" : '' + ); } else if(isset($this->default_column)) { return sprintf("new ConditionWithoutArgument('%s',%s,%s%s)" - , $this->column_name - , $this->default_column - , '"'.$this->operation.'"' - , $this->pipe ? ", '" . $this->pipe . "'" : '' - ); + , $this->column_name + , $this->default_column + , '"' . $this->operation . '"' + , $this->pipe ? ", '" . $this->pipe . "'" : '' + ); } else { return sprintf("new ConditionWithArgument('%s',%s,%s%s)" - , $this->column_name - , '$' . $this->argument_name . '_argument' - , '"'.$this->operation.'"' - , $this->pipe ? ", '" . $this->pipe . "'" : '' - ); + , $this->column_name + , '$' . $this->argument_name . '_argument' + , '"' . $this->operation . '"' + , $this->pipe ? ", '" . $this->pipe . "'" : '' + ); } } + } /* End of file ConditionTag.class.php */ /* Location: ./classes/xml/xmlquery/tags/condition/ConditionTag.class.php */ diff --git a/classes/xml/xmlquery/tags/condition/ConditionsTag.class.php b/classes/xml/xmlquery/tags/condition/ConditionsTag.class.php index a1baf1fd6..7456761d6 100644 --- a/classes/xml/xmlquery/tags/condition/ConditionsTag.class.php +++ b/classes/xml/xmlquery/tags/condition/ConditionsTag.class.php @@ -1,4 +1,5 @@ condition_groups = array(); if(!$xml_conditions) + { return; + } $xml_condition_list = array(); if($xml_conditions->condition) + { $xml_condition_list = $xml_conditions->condition; + } if($xml_conditions->query) { - if(!is_array($xml_condition_list)) $xml_condition_list = array($xml_condition_list); - if(!is_array($xml_conditions->query)) $xml_conditions->query = array($xml_conditions->query); + if(!is_array($xml_condition_list)) + { + $xml_condition_list = array($xml_condition_list); + } + if(!is_array($xml_conditions->query)) + { + $xml_conditions->query = array($xml_conditions->query); + } $xml_condition_list = array_merge($xml_condition_list, $xml_conditions->query); } if($xml_condition_list) @@ -43,7 +55,10 @@ class ConditionsTag $xml_groups = $xml_conditions->group; if($xml_groups) { - if(!is_array($xml_groups)) $xml_groups = array($xml_groups); + if(!is_array($xml_groups)) + { + $xml_groups = array($xml_groups); + } foreach($xml_groups as $group) { $this->condition_groups[] = new ConditionGroupTag($group->condition, $group->attrs->pipe); @@ -76,6 +91,7 @@ class ConditionsTag } return $arguments; } + } /* End of file ConditionsTag.class.php */ /* Location: ./classes/xml/xmlquery/tags/condition/ConditionsTag.class.php */ diff --git a/classes/xml/xmlquery/tags/condition/JoinConditionsTag.class.php b/classes/xml/xmlquery/tags/condition/JoinConditionsTag.class.php index 9e6ce186b..f263d5db3 100644 --- a/classes/xml/xmlquery/tags/condition/JoinConditionsTag.class.php +++ b/classes/xml/xmlquery/tags/condition/JoinConditionsTag.class.php @@ -1,4 +1,5 @@ -condition_groups[0]->conditions[0]->setPipe(""); } + } /* End of file JoinConditionsTag.class.php */ /* Location: ./classes/xml/xmlquery/tags/condition/JoinConditionsTag.class.php */ diff --git a/classes/xml/xmlquery/tags/group/GroupsTag.class.php b/classes/xml/xmlquery/tags/group/GroupsTag.class.php index c826aeac2..a383429a4 100644 --- a/classes/xml/xmlquery/tags/group/GroupsTag.class.php +++ b/classes/xml/xmlquery/tags/group/GroupsTag.class.php @@ -1,4 +1,5 @@ -attrs->column); - if(!$column) continue; + if(!$column) + { + continue; + } $column = $dbParser->parseExpression($column); $this->groups[] = $column; @@ -48,9 +56,10 @@ class GroupsTag $output .= "'" . $group . "' ,"; } $output = substr($output, 0, -1); - $output .= ')'; + $output .= ')'; return $output; } + } /* End of file GroupsTag.class.php */ /* Location: ./classes/xml/xmlquery/tags/group/GroupsTag.class.php */ diff --git a/classes/xml/xmlquery/tags/navigation/IndexTag.class.php b/classes/xml/xmlquery/tags/navigation/IndexTag.class.php index e5d5b7b44..e1eb29bf0 100644 --- a/classes/xml/xmlquery/tags/navigation/IndexTag.class.php +++ b/classes/xml/xmlquery/tags/navigation/IndexTag.class.php @@ -1,4 +1,5 @@ sort_order = $index->attrs->order; - $sortList = array('asc'=>1, 'desc'=>1); + $sortList = array('asc' => 1, 'desc' => 1); if(!isset($sortList[$this->sort_order])) { $arg = new Xml_Node_(); @@ -59,9 +65,12 @@ class IndexTag $arg->attrs->var = $this->sort_order; $arg->attrs->default = 'asc'; $this->sort_order_argument = new SortQueryArgument($arg); - $this->sort_order = '$'.$this->sort_order_argument->getArgumentName().'_argument'; + $this->sort_order = '$' . $this->sort_order_argument->getArgumentName() . '_argument'; + } + else + { + $this->sort_order = '"' . $this->sort_order . '"'; } - else $this->sort_order = '"'.$this->sort_order.'"'; } function toString() @@ -74,9 +83,12 @@ class IndexTag $arguments = array(); $arguments[] = $this->argument; if($this->sort_order_argument) + { $arguments[] = $this->sort_order_argument; + } return $arguments; } + } /* End of file IndexTag.class.php */ /* Location: ./classes/xml/xmlquery/tags/navigation/IndexTag.class.php */ diff --git a/classes/xml/xmlquery/tags/navigation/LimitTag.class.php b/classes/xml/xmlquery/tags/navigation/LimitTag.class.php index 77d6ed062..03cea98f9 100644 --- a/classes/xml/xmlquery/tags/navigation/LimitTag.class.php +++ b/classes/xml/xmlquery/tags/navigation/LimitTag.class.php @@ -1,4 +1,5 @@ page)return sprintf('new Limit(${\'%s_argument\'}, ${\'%s_argument\'}, ${\'%s_argument\'})', $this->list_count->getArgumentName(), $this->page->getArgumentName(), $this->page_count->getArgumentName()); - else return sprintf('new Limit(${\'%s_argument\'})', $this->list_count->getArgumentName()); + if($this->page) + { + return sprintf('new Limit(${\'%s_argument\'}, ${\'%s_argument\'}, ${\'%s_argument\'})', $this->list_count->getArgumentName(), $this->page->getArgumentName(), $this->page_count->getArgumentName()); + } + else + { + return sprintf('new Limit(${\'%s_argument\'})', $this->list_count->getArgumentName()); + } } function getArguments() { return $this->arguments; } + } /* End of file LimitTag.class.php */ /* Location: ./classes/xml/xmlquery/tags/navigation/LimitTag.class.php */ diff --git a/classes/xml/xmlquery/tags/navigation/NavigationTag.class.php b/classes/xml/xmlquery/tags/navigation/NavigationTag.class.php index f06374787..7b7dd9707 100644 --- a/classes/xml/xmlquery/tags/navigation/NavigationTag.class.php +++ b/classes/xml/xmlquery/tags/navigation/NavigationTag.class.php @@ -1,4 +1,5 @@ index; if($order) { - if(!is_array($order)) $order = array($order); + if(!is_array($order)) + { + $order = array($order); + } foreach($order as $order_info) { $this->order[] = new IndexTag($order_info); } if($xml_navigation->page && $xml_navigation->page->attrs || $xml_navigation->list_count && $xml_navigation->list_count->attrs) + { $this->limit = new LimitTag($xml_navigation); + } if($xml_navigation->list_count) - $this->list_count = $xml_navigation->list_count->attrs; + { + $this->list_count = $xml_navigation->list_count->attrs; + } if($xml_navigation->page_count) - $this->page_count = $xml_navigation->page_count->attrs; + { + $this->page_count = $xml_navigation->page_count->attrs; + } if($xml_navigation->page) + { $this->page = $xml_navigation->page->attrs; + } } } } @@ -90,8 +107,14 @@ class NavigationTag */ function getLimitString() { - if($this->limit) return $this->limit->toString(); - else return ""; + if($this->limit) + { + return $this->limit->toString(); + } + else + { + return ""; + } } function getArguments() @@ -101,9 +124,13 @@ class NavigationTag { $arguments = array_merge($order->getArguments(), $arguments); } - if($this->limit) $arguments = array_merge($this->limit->getArguments(), $arguments); + if($this->limit) + { + $arguments = array_merge($this->limit->getArguments(), $arguments); + } return $arguments; } + } /* End of file NavigationTag.class.php */ /* Location: ./classes/xml/xmlquery/tags/navigation/NavigationTag.class.php */ diff --git a/classes/xml/xmlquery/tags/query/QueryTag.class.php b/classes/xml/xmlquery/tags/query/QueryTag.class.php index 335fab0b8..e2dedadb4 100644 --- a/classes/xml/xmlquery/tags/query/QueryTag.class.php +++ b/classes/xml/xmlquery/tags/query/QueryTag.class.php @@ -1,4 +1,5 @@ action = $query->attrs->action; $this->query_id = $query->attrs->id; @@ -108,7 +126,9 @@ class QueryTag $this->query = $query; $this->isSubQuery = $isSubQuery; if($this->isSubQuery) + { $this->action = 'select'; + } if($query->attrs->alias) { $dbParser = DB::getParser(); @@ -130,7 +150,7 @@ class QueryTag function show() { - return true; + return TRUE; } function getQueryId() @@ -155,7 +175,7 @@ class QueryTag { $table_tags = $tables->getTables(); $column_type = array(); - foreach ($table_tags as $table_tag) + foreach($table_tags as $table_tag) { if(is_a($table_tag, 'TableTag')) { @@ -173,30 +193,33 @@ class QueryTag { if($this->action == 'select') { - return $this->columns = new SelectColumnsTag($this->query->columns); + return $this->columns = new SelectColumnsTag($this->query->columns); } else if($this->action == 'insert' || $this->action == 'insert-select') { - return $this->columns = new InsertColumnsTag($this->query->columns->column); + return $this->columns = new InsertColumnsTag($this->query->columns->column); } else if($this->action == 'update') { - return $this->columns = new UpdateColumnsTag($this->query->columns->column); + return $this->columns = new UpdateColumnsTag($this->query->columns->column); } else if($this->action == 'delete') { - return $this->columns = null; + return $this->columns = null; } } function getPrebuff() { - if($this->isSubQuery) return; + if($this->isSubQuery) + { + return; + } // TODO Check if this work with arguments in join clause $arguments = $this->getArguments(); $prebuff = ''; - foreach ($arguments as $argument) + foreach($arguments as $argument) { if(isset($argument)) { @@ -209,26 +232,30 @@ class QueryTag $table_alias = $argument->getTableName(); if(isset($table_alias)) { - if (isset($this->column_type[$this->getQueryId()][$table_alias][$argument->getColumnName()])) - $column_type = $this->column_type[$this->getQueryId()][$table_alias][$argument->getColumnName()]; + if(isset($this->column_type[$this->getQueryId()][$table_alias][$argument->getColumnName()])) + { + $column_type = $this->column_type[$this->getQueryId()][$table_alias][$argument->getColumnName()]; + } } - else + else { $current_tables = $this->column_type[$this->getQueryId()]; $column_name = $argument->getColumnName(); foreach($current_tables as $current_table) { if(isset($current_table[$column_name])) + { $column_type = $current_table[$column_name]; + } } } - if (isset($column_type)) + if(isset($column_type)) { $prebuff .= sprintf('if(${\'%s_argument\'} !== null) ${\'%s_argument\'}->setColumnType(\'%s\');' . "\n" - , $arg_name - , $arg_name - , $column_type); + , $arg_name + , $arg_name + , $column_type); } } } @@ -265,15 +292,19 @@ class QueryTag $buff .= sprintf('$query->setPriority("%s");%s', $this->priority, "\n"); $buff .= $this->preBuff; if($this->columns) + { $buff .= '$query->setColumns(' . $this->columns->toString() . ');' . PHP_EOL; + } - $buff .= '$query->setTables(' . $this->tables->toString() .');'.PHP_EOL; + $buff .= '$query->setTables(' . $this->tables->toString() . ');' . PHP_EOL; if($this->action == 'insert-select') - $buff .= '$query->setSubquery(' . $this->subquery->toString() .');'.PHP_EOL; - $buff .= '$query->setConditions('.$this->conditions->toString() .');'.PHP_EOL; - $buff .= '$query->setGroups(' . $this->groups->toString() . ');'.PHP_EOL; - $buff .= '$query->setOrder(' . $this->navigation->getOrderByString() .');'.PHP_EOL; - $buff .= '$query->setLimit(' . $this->navigation->getLimitString() .');'.PHP_EOL; + { + $buff .= '$query->setSubquery(' . $this->subquery->toString() . ');' . PHP_EOL; + } + $buff .= '$query->setConditions(' . $this->conditions->toString() . ');' . PHP_EOL; + $buff .= '$query->setGroups(' . $this->groups->toString() . ');' . PHP_EOL; + $buff .= '$query->setOrder(' . $this->navigation->getOrderByString() . ');' . PHP_EOL; + $buff .= '$query->setLimit(' . $this->navigation->getLimitString() . ');' . PHP_EOL; $this->buff = $buff; return $this->buff; @@ -282,9 +313,13 @@ class QueryTag function getTables() { if($this->query->index_hint && ($this->query->index_hint->attrs->for == 'ALL' || Context::getDBType() == strtolower($this->query->index_hint->attrs->for))) + { return $this->tables = new TablesTag($this->query->tables, $this->query->index_hint); + } else + { return $this->tables = new TablesTag($this->query->tables); + } } function getSubquery() @@ -303,9 +338,13 @@ class QueryTag function getGroups() { if($this->query->groups) + { return $this->groups = new GroupsTag($this->query->groups->group); + } else + { return $this->groups = new GroupsTag(NULL); + } } function getNavigation() @@ -337,14 +376,19 @@ class QueryTag { $arguments = array(); if($this->columns) + { $arguments = array_merge($arguments, $this->columns->getArguments()); - if($this->action =='insert-select') + } + if($this->action == 'insert-select') + { $arguments = array_merge($arguments, $this->subquery->getArguments()); + } $arguments = array_merge($arguments, $this->tables->getArguments()); $arguments = array_merge($arguments, $this->conditions->getArguments()); $arguments = array_merge($arguments, $this->navigation->getArguments()); return $arguments; } + } /* End of file QueryTag.class.php */ /* Location: ./classes/xml/xmlquery/tags/navigation/QueryTag.class.php */ diff --git a/classes/xml/xmlquery/tags/table/HintTableTag.class.php b/classes/xml/xmlquery/tags/table/HintTableTag.class.php index c6f4b39e0..87c82e74b 100644 --- a/classes/xml/xmlquery/tags/table/HintTableTag.class.php +++ b/classes/xml/xmlquery/tags/table/HintTableTag.class.php @@ -1,4 +1,5 @@ tag inside an XML Query file and the corresponding tag @@ -9,6 +10,7 @@ */ class HintTableTag extends TableTag { + /** * Action for example, 'select', 'insert', 'delete'... * @var array @@ -36,13 +38,13 @@ class HintTableTag extends TableTag $result = sprintf('new %sTableWithHint(\'%s\'%s, array(' , $dbType == 'Mysqli' ? 'Mysql' : $dbType , $dbParser->escape($this->name) - , $this->alias ? ', \'' . $dbParser->escape($this->alias) .'\'' : ', null' + , $this->alias ? ', \'' . $dbParser->escape($this->alias) . '\'' : ', null' //, ', \'' . $dbParser->escape($this->index->name) .'\', \'' . $this->index->type .'\'' - ); + ); foreach($this->index as $indx) { $result .= "new IndexHint("; - $result .= '\'' . $dbParser->escape($indx->name) .'\', \'' . $indx->type .'\'' . ') , '; + $result .= '\'' . $dbParser->escape($indx->name) . '\', \'' . $indx->type . '\'' . ') , '; } $result = substr($result, 0, -2); $result .= '))'; @@ -51,9 +53,13 @@ class HintTableTag extends TableTag function getArguments() { - if(!isset($this->conditionsTag)) return array(); + if(!isset($this->conditionsTag)) + { + return array(); + } return $this->conditionsTag->getArguments(); } + } /* End of file HintTableTag.class.php */ /* Location: ./classes/xml/xmlquery/tags/table/HintTableTag.class.php */ diff --git a/classes/xml/xmlquery/tags/table/TableTag.class.php b/classes/xml/xmlquery/tags/table/TableTag.class.php index 11c05328d..84ba819a2 100644 --- a/classes/xml/xmlquery/tags/table/TableTag.class.php +++ b/classes/xml/xmlquery/tags/table/TableTag.class.php @@ -1,4 +1,5 @@ - tag inside an XML Query file @@ -20,32 +21,38 @@ */ class TableTag { + /** * Unescaped name * @var string */ var $unescaped_name; + /** * name * @var string */ var $name; + /** * alias * @var string */ var $alias; + /** * Join type * @example 'left join', 'left outer join', 'right join', 'right outer join' * @var string */ var $join_type; + /** * Condition object * @var object */ var $conditions; + /** * JoinConditionsTag * @var JoinConditionsTag object @@ -66,21 +73,28 @@ class TableTag $this->name = $dbParser->parseTableName($table->attrs->name); $this->alias = $table->attrs->alias; - if(!$this->alias) $this->alias = $table->attrs->name; + if(!$this->alias) + { + $this->alias = $table->attrs->name; + } $this->join_type = $table->attrs->type; - $this->conditions = $table->conditions; + $this->conditions = $table->conditions; if($this->isJoinTable()) + { $this->conditionsTag = new JoinConditionsTag($this->conditions); + } } function isJoinTable() { - $joinList = array('left join'=>1, 'left outer join'=>1, 'right join'=>1, 'right outer join'=>1); - if(isset($joinList[$this->join_type]) - && count($this->conditions)) return true; + $joinList = array('left join' => 1, 'left outer join' => 1, 'right join' => 1, 'right outer join' => 1); + if(isset($joinList[$this->join_type]) && count($this->conditions)) + { + return true; + } return false; } @@ -107,20 +121,24 @@ class TableTag if($this->isJoinTable()) { return sprintf('new JoinTable(\'%s\', \'%s\', "%s", %s)' - , $dbParser->escape($this->name) - , $dbParser->escape($this->alias) - , $this->join_type, $this->conditionsTag->toString()); + , $dbParser->escape($this->name) + , $dbParser->escape($this->alias) + , $this->join_type, $this->conditionsTag->toString()); } return sprintf('new Table(\'%s\'%s)' - , $dbParser->escape($this->name) - , $this->alias ? ', \'' . $dbParser->escape($this->alias) .'\'' : ''); + , $dbParser->escape($this->name) + , $this->alias ? ', \'' . $dbParser->escape($this->alias) . '\'' : ''); } function getArguments() { - if(!isset($this->conditionsTag)) return array(); + if(!isset($this->conditionsTag)) + { + return array(); + } return $this->conditionsTag->getArguments(); } + } /* End of file TableTag.class.php */ /* Location: ./classes/xml/xmlquery/tags/table/TableTag.class.php */ diff --git a/classes/xml/xmlquery/tags/table/TablesTag.class.php b/classes/xml/xmlquery/tags/table/TablesTag.class.php index 72b0795e2..23d2a2ec5 100644 --- a/classes/xml/xmlquery/tags/table/TablesTag.class.php +++ b/classes/xml/xmlquery/tags/table/TablesTag.class.php @@ -1,4 +1,5 @@ tag inside an XML Query file @@ -18,6 +19,7 @@ */ class TablesTag { + /** * Table list * @var array @@ -35,15 +37,24 @@ class TablesTag $this->tables = array(); $xml_tables = $xml_tables_tag->table; - if(!is_array($xml_tables)) $xml_tables = array($xml_tables); + if(!is_array($xml_tables)) + { + $xml_tables = array($xml_tables); + } if($xml_index_hints_tag) { $index_nodes = $xml_index_hints_tag->index; - if(!is_array($index_nodes)) $index_nodes = array($index_nodes); + if(!is_array($index_nodes)) + { + $index_nodes = array($index_nodes); + } foreach($index_nodes as $index_node) { - if(!isset($indexes[$index_node->attrs->table])) $indexes[$index_node->attrs->table] = array(); + if(!isset($indexes[$index_node->attrs->table])) + { + $indexes[$index_node->attrs->table] = array(); + } $count = count($indexes[$index_node->attrs->table]); $indexes[$index_node->attrs->table][$count] = (object) NULL; $indexes[$index_node->attrs->table][$count]->name = $index_node->attrs->name; @@ -60,9 +71,13 @@ class TablesTag else { if(isset($indexes[$tag->attrs->name]) && $indexes[$tag->attrs->name]) + { $this->tables[] = new HintTableTag($tag, $indexes[$tag->attrs->name]); + } else + { $this->tables[] = new TableTag($tag); + } } } } @@ -78,9 +93,13 @@ class TablesTag foreach($this->tables as $table) { if(is_a($table, 'QueryTag')) + { $output_tables .= $table->toString() . PHP_EOL . ','; + } else + { $output_tables .= $table->getTableString() . PHP_EOL . ','; + } } $output_tables = substr($output_tables, 0, -1); $output_tables .= ')'; @@ -91,9 +110,12 @@ class TablesTag { $arguments = array(); foreach($this->tables as $table) + { $arguments = array_merge($arguments, $table->getArguments()); + } return $arguments; } + } /* End of file TablesTag.class.php */ /* Location: ./classes/xml/xmlquery/tags/table/TablesTag.class.php */