XpressEngine Core  1.11.2
 All Classes Namespaces Files Functions Variables Pages
UpdateColumnTag.class.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (C) NAVER <http://www.navercorp.com> */
3 
12 {
13 
19  var $argument;
20 
27 
34  function __construct($column)
35  {
36  parent::__construct($column->attrs->name);
37 
38  $dbParser = DB::getParser();
39  $this->name = $dbParser->parseColumnName($this->name);
40 
41  if($column->attrs->var)
42  {
43  $this->argument = new QueryArgument($column);
44  }
45  else
46  {
47  if(strpos($column->attrs->default, '.') !== FALSE)
48  {
49  $this->default_value = "'" . $dbParser->parseColumnName($column->attrs->default) . "'";
50  }
51  else
52  {
53  $default_value = new DefaultValue($this->name, $column->attrs->default);
54  if($default_value->isOperation())
55  {
56  $this->argument = new QueryArgument($column, TRUE);
57  }
58  //else $this->default_value = $dbParser->parseColumnName($column->attrs->default);
59  else
60  {
61  $this->default_value = $default_value->toString();
62  if($default_value->isStringFromFunction())
63  {
64  $this->default_value = '"\'".' . $this->default_value . '."\'"';
65  }
66  if($default_value->isString())
67  {
68  $this->default_value = '"' . $this->default_value . '"';
69  }
70  }
71  }
72  }
73  }
74 
81  {
82  if($this->argument)
83  {
84  return sprintf('new UpdateExpression(\'%s\', ${\'%s_argument\'})'
85  , $this->name
86  , $this->argument->argument_name);
87  }
88  else
89  {
90  return sprintf('new UpdateExpressionWithoutArgument(\'%s\', %s)'
91  , $this->name
92  , $this->default_value);
93  }
94  }
95 
101  function getArgument()
102  {
103  return $this->argument;
104  }
105 
106 }
107 /* End of file UpdateColumnTag.class.php */
108 /* Location: ./classes/xml/xmlquery/tags/column/UpdateColumnTag.class.php */
getParser($force=FALSE)
Definition: DB.class.php:1345