Squiz Matrix  4.12.2
 All Data Structures Namespaces Functions Variables Pages
form_ecommerce_management.inc
1 <?php
18 require_once SQ_INCLUDE_PATH.'/asset_management.inc';
19 
32 {
33 
34 
40  {
41  $this->Asset_Management($pm);
42 
43  $this->vars = Array(
44  'rules' => Array(
45  'added' => '0.0.1',
46  'type' => 'serialise',
47  'default' => Array(),
48  'update_fn' => '',
49  ),
50  'gateway_assetid' => Array(
51  'added' => '0.1',
52  'type' => 'assetid',
53  'default' => '',
54  'description' => 'Gateway Asset that will process the e-commerce transaction',
55  ),
56  'confirm_button_name' => Array(
57  'added' => '0.1',
58  'type' => 'text',
59  'default' => 'Confirm and proceed to payment',
60  'description' => 'Name of the button for confirming the order',
61  'is_contextable' => TRUE,
62  ),
63  'cancel_button_name' => Array(
64  'added' => '0.1',
65  'type' => 'text',
66  'default' => 'Go back to form',
67  'description' => 'Name of the button for cancellig the order',
68  'is_contextable' => TRUE,
69  ),
70  'tax_value' => Array(
71  'added' => '0.2',
72  'type' => 'float',
73  'default' => 0,
74  'parameters' => Array(
75  'range_lower' => 0,
76  'range_upper' => 100,
77  ),
78  ),
79  'tax_name' => Array(
80  'added' => '0.2',
81  'type' => 'text',
82  'default' => '',
83  'is_contextable' => TRUE,
84  ),
85  'taxable_rules' => Array(
86  'added' => '0.2',
87  'type' => 'serialise',
88  'default' => Array(),
89  ),
90  'item_format' => Array(
91  'added' => '0.2',
92  'type' => 'text',
93  'default' => '<div>%item_name% -- %currency_sign%%item_price%</div>',
94  ),
95  'item_taxable_string' => Array(
96  'added' => '0.2',
97  'type' => 'text',
98  'default' => '*',
99  ),
100  'currency_sign' => Array(
101  'added' => '0.2',
102  'type' => 'text',
103  'default' => '$',
104  ),
105  'asset_price_source' => Array(
106  'added' => '0.2',
107  'type' => 'text',
108  'default' => '',
109  ),
110  'asset_taxable_source' => Array(
111  'added' => '0.2',
112  'type' => 'text',
113  'default' => '',
114  ),
115  'asset_name_source' => Array(
116  'added' => '0.2',
117  'type' => 'text',
118  'default' => '%asset_name%',
119  ),
120  'asset_multiple_source' => Array(
121  'added' => '0.2',
122  'type' => 'text',
123  'default' => '',
124  ),
125  'form_assets_format' => Array(
126  'added' => '0.2',
127  'type' => 'text',
128  'default' => '%item_format%',
129  ),
130  'form_assets_empty_str' => Array(
131  'added' => '0.2',
132  'type' => 'text',
133  'default' => '',
134  ),
135  'log_to_file' => Array(
136  'added' => '0.2',
137  'type' => 'boolean',
138  'default' => FALSE,
139  'parameters' => Array(
140  'allow_empty' => FALSE,
141  ),
142  ),
143  'log_asset_item_format' => Array(
144  'added' => '0.2',
145  'type' => 'text',
146  'default' => '<asset><id>%asset_assetid%</id><price>%item_price%</price></asset>',
147  ),
148  'log_question_item_format' => Array(
149  'added' => '0.2',
150  'type' => 'text',
151  'default' => '<item><id>%item_id%</id><price>%item_price%</price></item>',
152  ),
153  'log_item_block_format' => Array(
154  'added' => '0.2',
155  'type' => 'text',
156  'default' => '%asset_item_list%'."\n".'%question_item_list%',
157  ),
158  'log_entry_format' => Array(
159  'added' => '0.2',
160  'type' => 'text',
161  'default' => '<order>%item_block%<id>%order_id%</id><other>%form_summary%</other>',
162  ),
163  'form_asset_format' => Array(
164  'added' => '0.2',
165  'type' => 'text',
166  'default' => '<div>%item_name% -- %currency_sign%%item_price%</div>',
167  ),
168  'form_asset_list_format' => Array(
169  'added' => '0.2',
170  'type' => 'text',
171  'default' => '',
172  ),
173  'item_req_var' => Array(
174  'added' => '0.2',
175  'type' => 'text',
176  'default' => 'add_to_cart',
177  ),
178  'item_quantity_req_var' => Array(
179  'added' => '0.2',
180  'type' => 'text',
181  'default' => '',
182  ),
183  'custom_reference_id' => Array(
184  'added' => '0.3',
185  'type' => 'text',
186  'default' => '',
187  ),
188  'key_val_rules' => Array(
189  'added' => '0.4',
190  'type' => 'serialise',
191  'default' => Array(),
192  ),
193  'item_promo_code_req_var' => Array(
194  'added' => '0.4',
195  'type' => 'text',
196  'default' => '',
197  ),
198  'asset_promotable_source' => Array(
199  'added' => '0.4',
200  'type' => 'text',
201  'default' => '',
202  ),
203  );
204 
205  }//end constructor
206 
207 
214  function getEventList()
215  {
216  return Array(
217  Array(
218  'event_name' => 'requestKeywords',
219  'broadcast_type_code' => 'content_type',
220  'broadcast_strict_type_code' => FALSE,
221  'options' => Array(
222  'side_of_link' => 'major',
223  'indirect' => TRUE,
224  'is_exclusive' => NULL,
225  'is_dependant' => 1,
226  'value' => '',
227  'link_type' => SQ_LINK_TYPE_2 | SQ_LINK_TYPE_1,
228  ),
229  ),
230  );
231 
232  }//end getEventList()
233 
234 
243  function _upgrade($current_version)
244  {
245  // first do things as normal
246  $res = parent::_upgrade($current_version);
247 
248  if (version_compare($current_version, '0.2', '<')) {
249  pre_echo('UPGRADING Ecom FORM TO v0.2');
250  $assetid_list = $GLOBALS['SQ_SYSTEM']->am->getTypeAssetids('form_ecommerce', FALSE);
251  foreach ($assetid_list as $assetid) {
252  $ecom =& $GLOBALS['SQ_SYSTEM']->am->getAsset($assetid);
253  if (!$ecom->_createBodycopies()) {
254  trigger_error('Error creating bodycopies for Ecom Form #'.$assetid, E_USER_WARNING);
255  }
256 
257  // move content from old bodycopies
258  // delete old bodycopies
259 
260  $GLOBALS['SQ_SYSTEM']->am->forgetAsset($ecom);
261  }
262  pre_echo(count($assetid_list).' Ecom FORMS UPDATED');
263  }
264 
265 
266  return $res;
267 
268  }//end _upgrade()
269 
270 
271 }//end class
272 ?>