XpressEngine Core  1.11.2
 All Classes Namespaces Files Functions Variables Pages
SelectColumnsTag.class.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (C) NAVER <http://www.navercorp.com> */
3 
12 {
13 
19  var $columns;
20 
28  function __construct($xml_columns_tag)
29  {
30  if(!$xml_columns_tag)
31  {
32  $xml_columns_tag = new Xml_Node_();
33  }
34 
35  $xml_columns = $xml_columns_tag->column;
36  $xml_queries = $xml_columns_tag->query;
37 
38  $this->columns = array();
39 
40  if(!$xml_columns)
41  {
42  $this->columns[] = new SelectColumnTag("*");
43  return;
44  }
45 
46  if(!is_array($xml_columns))
47  {
48  $xml_columns = array($xml_columns);
49  }
50 
51  foreach($xml_columns as $column)
52  {
53  $this->columns[] = new SelectColumnTag($column);
54  }
55 
56 
57  if(!$xml_queries)
58  {
59  return;
60  }
61 
62  if(!is_array($xml_queries))
63  {
64  $xml_queries = array($xml_queries);
65  }
66 
67  foreach($xml_queries as $column)
68  {
69  $this->columns[] = new QueryTag($column, TRUE);
70  }
71  }
72 
78  function toString()
79  {
80  $output_columns = 'array(' . PHP_EOL;
81  foreach($this->columns as $column)
82  {
83  if(is_a($column, 'QueryTag'))
84  {
85  $output_columns .= $column->toString() . PHP_EOL . ',';
86  }
87  else
88  {
89  $output_columns .= $column->getExpressionString() . PHP_EOL . ',';
90  }
91  }
92  $output_columns = substr($output_columns, 0, -1);
93  $output_columns .= ')';
94  return $output_columns;
95  }
96 
102  function getArguments()
103  {
104  $arguments = array();
105  foreach($this->columns as $column)
106  {
107  if(is_a($column, 'QueryTag'))
108  {
109  $arguments = array_merge($arguments, $column->getArguments());
110  }
111  }
112  return $arguments;
113  }
114 
115 }
116 /* End of file SelectColumnsTag.class.php */
117 /* Location: ./classes/xml/xmlquery/tags/column/SelectColumnsTag.class.php */
__construct($xml_columns_tag)