Squiz Matrix  4.12.2
 All Data Structures Namespaces Functions Variables Pages
product_price.inc
1 <?php
29 {
34  var $name = '';
35 
40  var $value = -1.0;
41 
46  var $calculate_tax = false;
47 
52  var $value_has_tax = false;
53 
60  function Product_Price()
61  {
62  $this->MySource_Object();
63 
64  }//end Product_Price()
65 
66 
77  function paintBackend(&$o, $prefix, $wa)
78  {
79  $o->openSection();
80 
81  foreach(Array('name', 'value', 'value_has_tax', 'calculate_tax') as $var) {
82  $this->_paintBackendField($o, $prefix, $wa, $var);
83  }
84 
85  $o->closeSection();
86 
87  }//end paintBackend()
88 
89 
101  function _paintBackendField(&$o, $prefix, $wa, $var)
102  {
103  switch($var) {
104  case 'name' :
105  $o->openField(translate('name'));
106  if ($wa) text_box($prefix.'_name', $this->name, 15);
107  else echo $this->name;
108  $o->closeField();
109  break;
110  case 'value' :
111  $o->openField(translate('value'));
112  if ($wa) text_box($prefix.'_value', ($this->value == -1) ? '' : $this->value, 10);
113  else echo ($this->value == -1) ? '&nbsp;' : $this->value;
114  $o->note(translate('ecom_product_price_note_value'));
115  $o->closeField();
116  break;
117  case 'value_has_tax' :
118  $o->openField(translate('ecom_product_price_value_has_tax'));
119  $options = Array(0 => 'No', 1 => 'Yes');
120  if ($wa) combo_box($prefix.'_value_has_tax', $options, false, (int) $this->value_has_tax);
121  else echo $options[(int) $this->value_has_tax];
122  $o->note(translate('ecom_product_price_note_value_has_tax'));
123  $o->closeField();
124  break;
125  case 'calculate_tax' :
126  $o->openField(translate('ecom_product_price_calculate_tax'));
127  $options = Array(0 => 'No', 1 => 'Yes');
128  if ($wa) combo_box($prefix.'_calculate_tax', $options, false, (int) $this->calculate_tax);
129  else echo $options[(int) $this->calculate_tax];
130  $o->note(translate('ecom_product_price_note_calculate_tax'));
131  $o->closeField();
132  break;
133  }
134 
135  }//end _paintBackendField()
136 
137 
147  function processBackend(&$o, $prefix)
148  {
149  $changes = false;
150 
151  foreach(Array('name', 'value', 'calculate_tax', 'value_has_tax') as $var) {
152  if ($this->_processBackendField($o, $prefix, $var)) $changes = true;
153  }// end foreach
154 
155  return $changes;
156 
157  }//end processBackend()
158 
159 
170  function _processBackendField(&$o, $prefix, $var)
171  {
172  if (!isset($_POST[$prefix.'_'.$var])) return false;
173 
174  $changes = false;
175  $val = trim($_POST[$prefix.'_'.$var]);
176  switch($var) {
177  case 'value' :
178  if ($val == '') {
179  $val = -1.0;
180  } else {
181  $val = floatval($val);
182  if ($val < 0) {
183  trigger_localised_error('ECOM0001', E_USER_WARNING);
184  return false;
185  }
186  }
187  break;
188 
189  case 'value_has_tax' :
190  case 'calculate_tax' :
191  $val = (bool) $val;
192  break;
193 
194  }// end switch
195 
196  if ($this->$var != $val) {
197  $this->$var = $val;
198  $changes = true;
199  }
200 
201  return $changes;
202 
203  }//end processBackend()
204 
205 
206 }//end class
207 ?>