mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-09 12:02:24 +09:00
Fixed condition tag bug.
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0-DB@8393 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
52c3d503bc
commit
c40ccf777f
3 changed files with 12 additions and 9 deletions
|
|
@ -117,7 +117,7 @@ class QueryParser {
|
||||||
|
|
||||||
$prebuff = '';
|
$prebuff = '';
|
||||||
foreach($arguments as $argument){
|
foreach($arguments as $argument){
|
||||||
if($argument->getArgumentName()){
|
if(isset($argument) && $argument->getArgumentName()){
|
||||||
$prebuff .= $argument->toString();
|
$prebuff .= $argument->toString();
|
||||||
$prebuff .= sprintf("$%s_argument->escapeValue('%s');\n"
|
$prebuff .= sprintf("$%s_argument->escapeValue('%s');\n"
|
||||||
, $argument->getArgumentName()
|
, $argument->getArgumentName()
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$this->argument_name) $this->argument_name = $tag->attrs->name;
|
if(!$this->argument_name) $this->argument_name = $tag->attrs->name;
|
||||||
if(!$this->argument_name) $this->argument_name = $tag->attrs->column;
|
if(!$this->argument_name) $this->argument_name = str_replace('.', '_', $condition->attrs->column);
|
||||||
|
|
||||||
require_once(_XE_PATH_.'classes/xml/xmlquery/queryargument/validator/QueryArgumentValidator.class.php');
|
require_once(_XE_PATH_.'classes/xml/xmlquery/queryargument/validator/QueryArgumentValidator.class.php');
|
||||||
$this->argument_validator = new QueryArgumentValidator($tag);
|
$this->argument_validator = new QueryArgumentValidator($tag);
|
||||||
|
|
|
||||||
|
|
@ -21,12 +21,15 @@
|
||||||
$this->pipe = $condition->attrs->pipe;
|
$this->pipe = $condition->attrs->pipe;
|
||||||
$dbParser = XmlQueryParser::getDBParser();
|
$dbParser = XmlQueryParser::getDBParser();
|
||||||
$this->column_name = $dbParser->parseColumnName($condition->attrs->column);
|
$this->column_name = $dbParser->parseColumnName($condition->attrs->column);
|
||||||
// TODO fix this hack - argument_name is initialized in three places :) [ here, queryArgument and queryArgumentValidator]
|
|
||||||
$this->argument_name = $condition->attrs->var;
|
if($condition->attrs->var){
|
||||||
if(!$this->argument_name) $this->argument_name = $condition->attrs->column;
|
require_once(_XE_PATH_.'classes/xml/xmlquery/queryargument/QueryArgument.class.php');
|
||||||
$this->default_column = $dbParser->parseColumnName($condition->attrs->default);
|
$this->argument_name = $condition->attrs->var;
|
||||||
require_once(_XE_PATH_.'classes/xml/xmlquery/queryargument/QueryArgument.class.php');
|
$this->argument = new QueryArgument($condition);
|
||||||
$this->argument = new QueryArgument($condition);
|
}
|
||||||
|
else {
|
||||||
|
$this->default_column = $dbParser->parseColumnName($condition->attrs->default);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function setPipe($pipe){
|
function setPipe($pipe){
|
||||||
|
|
@ -40,7 +43,7 @@
|
||||||
function getConditionString(){
|
function getConditionString(){
|
||||||
return sprintf("new Condition('%s',%s,%s%s)"
|
return sprintf("new Condition('%s',%s,%s%s)"
|
||||||
, $this->column_name
|
, $this->column_name
|
||||||
, $this->argument_name ? '$' . $this->argument_name . '_argument->getValue()' : "'" . $this->default_column . "'"
|
, $this->default_column ? "'" . $this->default_column . "'" : '$' . $this->argument_name . '_argument->getValue()'
|
||||||
, '"'.$this->operation.'"'
|
, '"'.$this->operation.'"'
|
||||||
, $this->pipe ? ", '" . $this->pipe . "'" : ''
|
, $this->pipe ? ", '" . $this->pipe . "'" : ''
|
||||||
);
|
);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue