function get_cart_summ()
	{
		$cart =& cart :: instance();
		$locale = locale :: instance();
		
		return number_format($cart->get_total_summ(), $locale->fract_digits, $locale->decimal_symbol, $locale->thousand_separator);
	}
 function perform(&$request, &$response)
 {
     $request->set_status(REQUEST_STATUS_FAILURE);
     if ($request->has_attribute('popup')) {
         $response->write(close_popup_response($request));
     }
     if (!($id = $request->get_attribute('id'))) {
         return;
     }
     if (!($object_data =& fetch_one_by_node_id((int) $id))) {
         return;
     }
     $object =& site_object_factory::create($object_data['class_name']);
     if (!method_exists($object, 'get_cart_item')) {
         $request->set_status(REQUEST_STATUS_FAILURE);
         return;
     }
     $object->import_attributes($object_data);
     $cart_item =& $object->get_cart_item();
     $cart =& cart::instance();
     if ($quantity = (int) $request->get_attribute('quantity')) {
         $cart_item->set_amount($quantity);
     }
     $cart->add_item($cart_item);
     $request->set_status(REQUEST_STATUS_SUCCESS);
     $response->redirect('/root/cart?popup=1');
 }
 function _valid_perform(&$request, &$response)
 {
     if (!($objects_amounts = $this->dataspace->get('amount'))) {
         $request->set_status(REQUEST_STATUS_FAILURE);
         if ($request->has_attribute('popup')) {
             $response->write(close_popup_response($request));
         }
         return;
     }
     $objects_data =& fetch_by_node_ids(array_keys($objects_amounts), $this->_define_catalog_object(), $counter);
     if (!$objects_data) {
         $request->set_status(REQUEST_STATUS_FAILURE);
         if ($request->has_attribute('popup')) {
             $response->write(close_popup_response($request));
         }
         return;
     }
     $object =& site_object_factory::create($this->_define_catalog_object());
     if (!method_exists($object, 'get_cart_item')) {
         $request->set_status(REQUEST_STATUS_FAILURE);
         if ($request->has_attribute('popup')) {
             $response->write(close_popup_response($request));
         }
         return;
     }
     $cart =& cart::instance();
     foreach ($objects_data as $key => $object_data) {
         $object->import_attributes($object_data);
         $cart_item =& $object->get_cart_item();
         $cart_item->set_amount($objects_amounts[$key]);
         $cart->add_item($cart_item);
     }
     $response->redirect('/root/cart?popup=1');
 }
 function &get_dataset(&$counter, $params = array())
 {
     $cart =& cart::instance();
     $dataset =& $cart->get_items_array_dataset();
     $counter = $dataset->get_total_row_count();
     return $dataset;
 }
 function _valid_perform()
 {
     $cart =& cart::instance();
     if ($item_ids = $this->dataspace->get('ids')) {
         $cart->remove_items($item_ids);
     }
     return new redirect_response(RESPONSE_STATUS_FORM_SUBMITTED, '/root/cart');
 }
 function _valid_perform(&$request, &$response)
 {
     $cart =& cart::instance();
     if ($item_ids = $this->dataspace->get('ids')) {
         $cart->remove_items($item_ids);
     }
     $request->set_status(REQUEST_STATUS_FORM_SUBMITTED);
     $response->redirect('/root/cart');
 }
 function _valid_perform()
 {
     $this->_update_items_amount();
     $this->_update_items_notes();
     $cart =& cart::instance();
     if ($cart->count_items() == 0) {
         message_box::write_error(strings::get('no_items_in_cart', 'cart'));
         return new close_popup_response(RESPONSE_STATUS_FAILURE);
     }
     return new redirect_response(RESPONSE_STATUS_FORM_SUBMITTED, '/root/cart?action=checkout&popup=1');
 }
 function _update_items_notes()
 {
     $cart =& cart::instance();
     if ($item_ids = $this->dataspace->get('notes')) {
         foreach ($item_ids as $item_id => $note) {
             if (!($item =& $cart->get_item($item_id))) {
                 continue;
             }
             $item->set_attribute('note', strip_tags($note));
         }
     }
 }
 function _valid_perform(&$request, &$response)
 {
     $this->_update_items_amount();
     $this->_update_items_notes();
     $cart =& cart::instance();
     if ($cart->count_items() == 0) {
         message_box::write_error(strings::get('no_items_in_cart', 'cart'));
         $request->set_status(REQUEST_STATUS_FAILURE);
         if ($request->has_attribute('popup')) {
             $response->write(close_popup_response($request));
         }
         return;
     }
     $request->set_status(REQUEST_STATUS_FORM_SUBMITTED);
     $response->redirect('/root/cart?action=checkout&popup=1');
 }
 function perform()
 {
     if (!isset($_REQUEST['id'])) {
         return new close_popup_response(RESPONSE_STATUS_FAILURE);
     }
     if (!($object_data =& fetch_one_by_node_id((int) $_REQUEST['id']))) {
         return new close_popup_response(RESPONSE_STATUS_FAILURE);
     }
     $object =& site_object_factory::create($object_data['class_name']);
     if (!method_exists($object, 'get_cart_item')) {
         return new close_popup_response(RESPONSE_STATUS_FAILURE);
     }
     $object->import_attributes($object_data);
     $cart_item =& $object->get_cart_item();
     $cart =& cart::instance();
     $cart->add_item($cart_item);
     return new redirect_response(RESPONSE_STATUS_SUCCESS, '/root/cart?popup=1');
 }
 function _get_mail_body($template_path)
 {
     $template = new template($template_path);
     $locale =& locale::instance();
     $date = new date();
     $template->set('date', $date->format($locale->get_short_date_format()));
     $cart =& cart::instance();
     $list =& $template->find_child('cart_items');
     $list->register_dataset($cart->get_items_array_dataset());
     $template->set('name', $this->dataspace->get('name'));
     $template->set('notes', $this->dataspace->get('notes'));
     $template->set('phone', $this->dataspace->get('phone'));
     $template->set('address', $this->dataspace->get('address'));
     $template->set('email', $this->dataspace->get('email'));
     ob_start();
     $template->display();
     $content = ob_get_contents();
     ob_end_clean();
     return $content;
 }
 function _valid_perform()
 {
     if (!($objects_amounts = $this->dataspace->get('amount'))) {
         return new close_popup_response(RESPONSE_STATUS_FAILURE);
     }
     $objects_data =& fetch_by_node_ids(array_keys($objects_amounts), $this->_catalog_object_class_name, $counter);
     if (!$objects_data) {
         return new close_popup_response(RESPONSE_STATUS_FAILURE);
     }
     $object =& site_object_factory::create($this->_catalog_object_class_name);
     if (!method_exists($object, 'get_cart_item')) {
         return new close_popup_response(RESPONSE_STATUS_FAILURE);
     }
     $cart =& cart::instance();
     foreach ($objects_data as $key => $object_data) {
         $object->import_attributes($object_data);
         $cart_item =& $object->get_cart_item();
         $cart_item->set_amount($objects_amounts[$key]);
         $cart->add_item($cart_item);
     }
     return new redirect_response(RESPONSE_STATUS_SUCCESS, '/root/cart?popup=1');
 }
Ejemplo n.º 13
0
 function test_instance()
 {
     $this->assertReference(cart::instance(10), cart::instance(10));
 }
 function get_cart_summ()
 {
     $cart =& cart::instance();
     return $cart->get_total_summ();
 }