public function processIpn(Kwc_Shop_Cart_Checkout_Payment_Wirecard_LogRow $row, $param)
 {
     if ($row->paymentState == 'SUCCESS' || $row->paymentState == 'PENDING') {
         $order = Kwf_Model_Abstract::getInstance(Kwc_Abstract::getSetting($this->getData()->parent->parent->componentClass, 'childModel'))->getReferencedModel('Order')->getRow($param['orderId']);
         if (!$order) {
             throw new Kwf_Exception("Order not found!");
         }
         $order->payment_component_id = $this->getData()->componentId;
         $order->checkout_component_id = $this->getData()->parent->componentId;
         $order->cart_component_class = $this->getData()->parent->parent->componentClass;
         if ($row->paymentState == 'SUCCESS') {
             $order->status = 'payed';
             $order->payed = date('Y-m-d H:i:s');
         }
         if (!$order->confirm_mail_sent) {
             foreach ($this->getData()->parent->parent->getComponent()->getShopCartPlugins() as $p) {
                 $p->orderConfirmed($order);
             }
             foreach ($order->getChildRows('Products') as $p) {
                 $addComponent = Kwc_Shop_AddToCartAbstract_OrderProductData::getAddComponentByDbId($p->add_component_id, $this->getData());
                 if ($addComponent) {
                     $addComponent->getComponent()->orderConfirmed($p);
                 }
             }
             $this->sendConfirmMail($order);
             $order->date = date('Y-m-d H:i:s');
             $order->confirm_mail_sent = date('Y-m-d H:i:s');
         }
         $order->save();
         return true;
     } else {
         throw new Kwf_Exception('Error by processing ipn');
     }
     return false;
 }
 public function load($row)
 {
     $ret = 0;
     foreach ($row->getChildRows('Products') as $p) {
         $data = Kwc_Shop_AddToCartAbstract_OrderProductData::getInstance($p->add_component_class);
         $ret += $data->getAmount($p);
     }
     return $ret;
 }
 public function getAdditionalOrderData($orderProduct)
 {
     $ret = parent::getAdditionalOrderData($orderProduct);
     /*
     $ret[] = array(
         'class' => 'amount',
         'name' => trlcKwf('Amount of Money', 'Amount'),
         'value' => Kwf_View_Helper_Money::money($orderProduct->amount)
     );
     */
     return $ret;
 }
 public function getTemplateVars(Kwf_Component_Renderer_Abstract $renderer)
 {
     $ret = parent::getTemplateVars($renderer);
     $addCmp = Kwc_Shop_AddToCartAbstract_OrderProductData::getAddComponentByDbId($this->getData()->chained->row->add_component_id, $this->getData());
     if ($addCmp) {
         $ret['product'] = $addCmp->getComponent()->getProduct();
         $ret['row'] = $this->getData()->chained->row;
         $ret['price'] = $addCmp->getComponent()->getPrice($ret['row']);
         $ret['text'] = $addCmp->getComponent()->getProductText($ret['row']);
     }
     return $ret;
 }
Example #5
0
 public function load($row)
 {
     $data = Kwc_Shop_AddToCartAbstract_OrderProductData::getInstance($row->add_component_class);
     $parts = array();
     foreach ($data->getAdditionalOrderData($row) as $data) {
         if ($data['class'] == 'amount') {
             continue;
         }
         $i = $data['name'] . ': ' . $data['value'];
         $i = Kwf_Trl::getInstance()->trlStaticExecute($i);
         $parts[] = $i;
     }
     return implode(', ', $parts);
 }
 protected function _initFields()
 {
     parent::_initFields();
     $cards = $this->_form->add(new Kwf_Form_Container_Cards('add_component_class', trlKwf('Type')));
     foreach (Kwc_Abstract::getComponentClasses() as $c) {
         if (is_instance_of($c, 'Kwc_Shop_AddToCartAbstract_Component')) {
             $card = $cards->add();
             $card->setName($c);
             $card->setTitle(Kwc_Abstract::getSetting($c, 'productTypeText'));
             $formClass = Kwc_Admin::getComponentClass($c, 'FrontendForm');
             $form = new $formClass($c, $c);
             $form->setModel(Kwf_Model_Abstract::getInstance('Kwc_Shop_Cart_OrderProducts'));
             $form->setIdTemplate('{0}');
             Kwc_Shop_AddToCartAbstract_OrderProductData::getInstance($c)->alterBackendOrderForm($form);
             $card->add($form);
         }
     }
     $cards->setAllowBlank(false);
 }
 public function confirmOrder($order)
 {
     $order->payment_component_id = $this->getData()->componentId;
     $order->checkout_component_id = $this->getData()->parent->componentId;
     $order->cart_component_class = $this->getData()->parent->parent->componentClass;
     $order->status = 'ordered';
     $order->confirm_mail_sent = date('Y-m-d H:i:s');
     $order->date = date('Y-m-d H:i:s');
     $order->save();
     $plugins = Kwf_Model_Abstract::getInstance(Kwc_Abstract::getSetting($this->getData()->chained->parent->parent->componentClass, 'childModel'))->getReferencedModel('Order')->getShopCartPlugins();
     foreach ($plugins as $p) {
         $p->orderConfirmed($order);
     }
     foreach ($order->getChildRows('Products') as $p) {
         $addComponent = Kwc_Shop_AddToCartAbstract_OrderProductData::getAddComponentByDbId($p->add_component_id, $this->getData());
         $addComponent->getComponent()->orderConfirmed($p);
     }
     $this->sendConfirmMail($order);
 }
 public function getTemplateVars(Kwf_Component_Renderer_Abstract $renderer)
 {
     $ret = parent::getTemplateVars($renderer);
     $ret['order'] = $this->_getOrder();
     $items = $ret['order']->getChildRows('Products');
     $ret['items'] = array();
     $ret['additionalOrderDataHeaders'] = array();
     foreach ($items as $i) {
         $addComponent = Kwc_Shop_AddToCartAbstract_OrderProductData::getAddComponentByDbId($i->add_component_id, $this->getData());
         $additionalOrderData = $addComponent->getComponent()->getAdditionalOrderData($i);
         foreach ($additionalOrderData as $d) {
             if (!isset($ret['additionalOrderDataHeaders'][$d['name']])) {
                 $ret['additionalOrderDataHeaders'][$d['name']] = array('class' => $d['class'], 'text' => $d['name']);
             }
         }
         $ret['items'][] = (object) array('product' => $addComponent->parent, 'row' => $i, 'additionalOrderData' => $additionalOrderData, 'price' => $i->getProductPrice(), 'text' => $addComponent->getComponent()->getProductText($i));
     }
     $ret['sumRows'] = $this->_getSumRows($this->_getOrder());
     $ret['tableFooterText'] = '';
     $ret['footerText'] = '';
     return $ret;
 }
 public function processIpn(Kwf_Util_PayPal_Ipn_LogModel_Row $row, $param)
 {
     if ($row->txn_type == 'web_accept') {
         $order = Kwf_Model_Abstract::getInstance(Kwc_Abstract::getSetting($this->getData()->parent->parent->componentClass, 'childModel'))->getReferencedModel('Order')->getRow($param['orderId']);
         if (!$order) {
             throw new Kwf_Exception("Order not found!");
         }
         $order->payment_component_id = $this->getData()->componentId;
         $order->checkout_component_id = $this->getData()->parent->componentId;
         $order->cart_component_class = $this->getData()->parent->parent->componentClass;
         if ($row->payment_status == 'Completed') {
             $order->status = 'payed';
             $order->payed = date('Y-m-d H:i:s');
         }
         if (!$order->confirm_mail_sent) {
             foreach ($this->getData()->parent->parent->getComponent()->getShopCartPlugins() as $p) {
                 $p->orderConfirmed($order);
             }
             foreach ($order->getChildRows('Products') as $p) {
                 $addComponent = Kwc_Shop_AddToCartAbstract_OrderProductData::getAddComponentByDbId($p->add_component_id, $this->getData());
                 $addComponent->getComponent()->orderConfirmed($p);
             }
             $this->sendConfirmMail($order);
             $order->date = date('Y-m-d H:i:s');
             $order->confirm_mail_sent = date('Y-m-d H:i:s');
         }
         $order->save();
         return true;
     } else {
         $mail = new Zend_Mail('utf-8');
         $mail->setBodyText(print_r($row->toArray(), true))->setSubject('shop paypal: unbekannte notification');
         $mail->addTo('*****@*****.**');
         $mail->send();
     }
     return false;
 }
 public function getAdditionalOrderData($row)
 {
     $ret = parent::getAdditionalOrderData($row);
     $ret[] = array('class' => 'amount', 'name' => trlKwfStatic('Amount'), 'value' => $row->amount);
     return $ret;
 }
Example #11
0
 public function load($row)
 {
     $data = Kwc_Shop_AddToCartAbstract_OrderProductData::getInstance($row->add_component_class);
     return $data->getPrice($row);
 }
 public final function getProductText(Kwc_Shop_Cart_OrderProduct $orderProduct)
 {
     return Kwc_Shop_AddToCartAbstract_OrderProductData::getInstance($this->getData()->componentClass)->getProductText($orderProduct);
 }
Example #13
0
 private function _getProductsData(Kwf_Component_Data $subroot = null)
 {
     $ret = array();
     $items = $this->getChildRows('Products');
     $ret = array();
     foreach ($items as $i) {
         $data = Kwc_Shop_VoucherProduct_AddToCart_OrderProductData::getInstance($i->add_component_class);
         $r = array('id' => $i->id, 'additionalOrderData' => $data->getAdditionalOrderData($i), 'price' => $this->_getProductPrice($i), 'amount' => $data->getAmount($i), 'text' => $data->getProductText($i));
         if ($subroot) {
             $addComponent = Kwc_Shop_AddToCartAbstract_OrderProductData::getAddComponentByDbId($i->add_component_id, $subroot);
             if (!$addComponent) {
                 //product doesn't exist anymore, also delete from cart
                 $i->delete();
                 continue;
             } else {
                 $r['product'] = $addComponent->parent;
                 $r['text'] = $addComponent->getComponent()->getProductText($i);
             }
         }
         $ret[] = (object) $r;
     }
     return $ret;
 }
 public function getAddToCartForm()
 {
     return Kwc_Shop_AddToCartAbstract_OrderProductData::getAddComponentByDbId($this->getData()->row->add_component_id, $this->getData());
 }
 public final function orderConfirmed(Kwc_Shop_Cart_OrderProduct $orderProduct)
 {
     Kwc_Shop_AddToCartAbstract_OrderProductData::getInstance($this->getData()->componentClass)->orderConfirmed($orderProduct);
 }