mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-14 00:39:57 +09:00
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9066 201d5d3c-b55e-5fd7-737f-ddc643e51545
41 lines
1.4 KiB
PHP
41 lines
1.4 KiB
PHP
<?php
|
|
|
|
class ConditionWithArgument extends Condition {
|
|
|
|
function ConditionWithArgument($column_name, $argument, $operation, $pipe = ""){
|
|
if($argument === null) { $this->_show = false; return; }
|
|
parent::Condition($column_name, $argument, $operation, $pipe);
|
|
$this->_value = $argument->getValue();
|
|
}
|
|
|
|
function getArgument(){
|
|
if(!$this->show()) return;
|
|
return $this->argument;
|
|
}
|
|
|
|
function toStringWithoutValue(){
|
|
$value = $this->argument->getUnescapedValue();
|
|
|
|
if(is_array($value)){
|
|
$q = '';
|
|
foreach ($value as $v) $q .= '?,';
|
|
if($q !== '') $q = substr($q, 0, -1);
|
|
$q = '(' . $q . ')';
|
|
}
|
|
else $q = '?';
|
|
return $this->pipe . ' ' . $this->getConditionPart($q);
|
|
}
|
|
|
|
function show(){
|
|
if(!isset($this->_show)){
|
|
if(!$this->argument->isValid()) $this->_show = false;
|
|
if($this->_value === '\'\'') $this->_show = false;
|
|
if(!isset($this->_show)){
|
|
return parent::show();
|
|
}
|
|
}
|
|
return $this->_show;
|
|
}
|
|
}
|
|
|
|
?>
|