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@9101 201d5d3c-b55e-5fd7-737f-ddc643e51545
57 lines
No EOL
1.5 KiB
PHP
57 lines
No EOL
1.5 KiB
PHP
<?php
|
|
/**
|
|
* @class UpdateExpression
|
|
* @author Arnia Software
|
|
* @brief
|
|
*
|
|
*/
|
|
|
|
class UpdateExpression extends Expression {
|
|
var $argument;
|
|
|
|
function UpdateExpression($column_name, $argument){
|
|
parent::Expression($column_name);
|
|
$this->argument = $argument;
|
|
}
|
|
|
|
function getExpression($with_value = true){
|
|
if($with_value)
|
|
return $this->getExpressionWithValue();
|
|
return $this->getExpressionWithoutValue();
|
|
}
|
|
|
|
function getExpressionWithValue(){
|
|
$value = $this->argument->getValue();
|
|
$operation = $this->argument->getColumnOperation();
|
|
if(isset($operation))
|
|
return "$this->column_name = $this->column_name $operation $value";
|
|
return "$this->column_name = $value";
|
|
}
|
|
|
|
function getExpressionWithoutValue(){
|
|
$operation = $this->argument->getColumnOperation();
|
|
if(isset($operation))
|
|
return "$this->column_name = $this->column_name $operation ?";
|
|
return "$this->column_name = ?";
|
|
}
|
|
|
|
function getValue(){
|
|
// TODO Escape value according to column type instead of variable type
|
|
$value = $this->argument->getValue();
|
|
if(!is_numeric($value)) return "'".$value."'";
|
|
return $value;
|
|
}
|
|
|
|
function show(){
|
|
if(!$this->argument) return false;
|
|
if(!$this->argument->getValue()) return false;
|
|
return true;
|
|
}
|
|
|
|
function getArgument(){
|
|
return $this->argument;
|
|
}
|
|
}
|
|
|
|
|
|
?>
|