public function getItem($orderid = null, $email = null) { /** * @var EventgalleryLibraryManagerOrder $orderMgr */ $app = JFactory::getApplication(); if ($orderid == null) { $orderid = $app->input->getString('orderid', '-1'); } if ($email == null) { $email = $app->input->getString('email', '-1'); } $orderMgr = EventgalleryLibraryManagerOrder::getInstance(); $order = $orderMgr->getOrderByDocumentNo($orderid); if (null == $order || $order->getEMail() != $email) { return null; } return $order; }
public function testCheckout() { /** * @var EventgalleryLibraryManagerCart $cartMgr */ $cartMgr = EventgalleryLibraryManagerCart::getInstance(); // CREATE $cart = $cartMgr->getCart(); $this->assertEmpty($cart->getLineItems()); $cart->addItem("test", "A_001_2013-03-17_IMG_1294.jpg", "1"); $this->assertNotEmpty($cart->getLineItems()); /** * @var EventgalleryLibraryImagelineitem $lineitem */ // add line item $lineitems = array_values($cart->getLineItems()); $lineitem = $lineitems[0]; $oldPrice = $lineitem->getPrice()->getAmount(); $lineitem->setQuantity(10); $cartMgr->calculateCart(); $newPrice = $oldPrice * 10; $this->assertEquals($newPrice, $cart->getSubTotal()->getAmount()); // clone line item $newLineitem = $cart->cloneLineItem($lineitem->getId()); $this->assertEquals(2, $cart->getLineItemsCount()); $this->assertEquals(11, $cart->getLineItemsTotalCount()); // delete item $cart->deleteLineItem($newLineitem->getId()); $this->assertEquals(1, $cart->getLineItemsCount()); $this->assertEquals(10, $cart->getLineItemsTotalCount()); /** * @var EventgalleryLibraryManagerShipping $shippingMgr */ $shippingMgr = EventgalleryLibraryManagerShipping::getInstance(); /** @noinspection PhpParamsInspection */ $cart->setShippingMethod($shippingMgr->getDefaultMethod()); $this->assertNotEmpty($cart->getShippingMethod()); /** * @var EventgalleryLibraryManagerPayment $paymentMgr */ $paymentMgr = EventgalleryLibraryManagerPayment::getInstance(); /** @noinspection PhpParamsInspection */ $cart->setPaymentMethod($paymentMgr->getDefaultMethod()); $this->assertNotEmpty($cart->getPaymentMethod()); /** * @var EventgalleryLibraryFactoryAddress $addressFactory */ $addressFactory = EventgalleryLibraryFactoryAddress::getInstance(); $data = array("firstname" => "Peter", "lastname" => "Mustermann", "address1" => "Foostreet", "address2" => "Barstreet", "address3" => "12345678", "zip" => "12345", "city" => "Footown", "state" => "Thüringen", "country" => "Barland"); $address = $addressFactory->createStaticAddress($data, ''); $cart->setBillingAddress($address); $cart->setShippingAddress($address); $message = "foo bar my message ist this. Can you send this?"; $cart->setMessage($message); $email = "*****@*****.**"; $cart->setEMail($email); $phone = "0049 12345 4567"; $cart->setPhone($phone); $cartMgr->calculateCart(); /** * @var EventgalleryLibraryManagerOrder $orderMgr */ $orderMgr = EventgalleryLibraryManagerOrder::getInstance(); $order = $orderMgr->createOrder($cart); $this->assertEquals(1, $order->getLineItemsCount()); $this->assertEquals(10, $order->getLineItemsTotalCount()); $this->assertNotEmpty($order->getShippingMethod()); $this->assertNotEmpty($order->getPaymentMethod()); $this->assertNotEmpty($order->getShippingAddress()); $this->assertNotEmpty($order->getBillingAddress()); $this->assertEquals('Peter', $order->getBillingAddress()->getFirstName()); $this->assertEquals('Mustermann', $order->getBillingAddress()->getLastName()); $this->assertEquals('Foostreet', $order->getBillingAddress()->getAddress1()); $this->assertEquals('Barstreet', $order->getBillingAddress()->getAddress2()); $this->assertEquals('12345678', $order->getBillingAddress()->getAddress3()); $this->assertEquals('12345', $order->getBillingAddress()->getZip()); $this->assertEquals('Footown', $order->getBillingAddress()->getCity()); $this->assertEquals('Thüringen', $order->getBillingAddress()->getState()); $this->assertEquals('Barland', $order->getBillingAddress()->getCountry()); $this->assertEquals($email, $order->getEMail()); $this->assertEquals($message, $order->getMessage()); $this->assertEquals($phone, $order->getPhone()); $total = $cart->getTotal()->getAmount(); $subtotal = $cart->getSubTotal()->getAmount(); $this->assertEquals($total, $order->getTotal()->getAmount()); $this->assertEquals($subtotal, $order->getSubTotal()->getAmount()); $this->assertEquals($cart->getShippingMethod()->getPrice()->getAmount(), $order->getShippingMethodServiceLineItem()->getPrice()->getAmount()); $this->assertEquals($cart->getPaymentMethod()->getPrice()->getAmount(), $order->getPaymentMethodServiceLineItem()->getPrice()->getAmount()); if ($cart->getSurcharge()) { $this->assertEquals($cart->getSurcharge()->getPrice()->getAmount(), $order->getSurchargeServiceLineItem()->getPrice()->getAmount()); $manualTotal = $order->getSubTotal()->getAmount() + $order->getShippingMethodServiceLineItem()->getPrice()->getAmount() + $order->getSurchargeServiceLineItem()->getPrice()->getAmount() + $order->getPaymentMethodServiceLineItem()->getPrice()->getAmount(); } else { $manualTotal = $order->getSubTotal()->getAmount() + $order->getShippingMethodServiceLineItem()->getPrice()->getAmount() + $order->getPaymentMethodServiceLineItem()->getPrice()->getAmount(); } $this->assertEquals($manualTotal, $order->getTotal()->getAmount()); // move to history $cart->setStatus(1); $this->assertEquals(1, $cart->getStatus()); EventgalleryLibraryManagerAddress::getInstance(); }
<?php // no direct access /** * @package Sven.Bluege * @subpackage com_eventgallery * * @copyright Copyright (C) 2005 - 2013 Sven Bluege All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die('Restricted access'); /** * @var EventgalleryLibraryManagerOrder $orderMgr * @var EventgalleryLibraryOrder $order */ $orderMgr = EventgalleryLibraryManagerOrder::getInstance(); $orders = $orderMgr->getOrders(); $order = null; foreach ($orders as $myorder) { $order = $myorder; break; } ?> <div class="eventgallery-checkout eventgallery-confirm-page"> <h1><?php echo JText::_('COM_EVENTGALLERY_CART_CHECKOUT_CONFIRM_HEADLINE'); ?> </h1> <h2> <?php
public function resendmail($key = null, $urlVar = null) { JRequest::checkToken(); $app = JFactory::getApplication(); // Load the front end language $language = JFactory::getLanguage(); $language->load('com_eventgallery', JPATH_SITE . DIRECTORY_SEPARATOR . 'components/com_eventgallery', $language->getTag(), true); $language->load('com_eventgallery', JPATH_SITE . DIRECTORY_SEPARATOR . 'language' . DIRECTORY_SEPARATOR . 'overrides', $language->getTag(), true, false); $orderid = $app->input->post->get('id'); /** * @var EventgalleryLibraryManagerOrder $orderMgr */ $orderMgr = EventgalleryLibraryManagerOrder::getInstance(); $order = $orderMgr->getOrderById($orderid); $config = JFactory::getConfig(); $params = JComponentHelper::getParams('com_eventgallery'); $sitename = $config->get('sitename'); $this->setPath('view', JPATH_SITE . '/components/com_eventgallery/views/'); $viewName = 'Mail'; $viewPrefix = 'EventgalleryView'; $db = JFactory::getDBO(); $query = "SELECT template FROM #__template_styles WHERE client_id = 0 AND home = 1"; $db->setQuery($query); $defaultemplate = $db->loadResult(); $view = $this->getView($viewName, 'html', $viewPrefix, array('site_template' => $defaultemplate, 'layout' => 'confirm', 'base_path' => JPATH_SITE . '/components/com_eventgallery', 'template_path' => array(JPATH_SITE . '/components/com_eventgallery/views/' . strtolower($viewName) . '/tmpl/', JPATH_SITE . '/templates/' . $defaultemplate . '/html/com_eventgallery/' . strtolower($viewName) . '/'))); $view->set('order', $order); $view->set('params', $params); //$view->set $body = $view->loadTemplate(); $mailer = JFactory::getMailer(); $config = JFactory::getConfig(); $subject = JText::sprintf('COM_EVENTGALLERY_CART_CHECKOUT_ORDER_MAIL_CONFIRMATION_SUBJECT', $order->getBillingAddress()->getFirstName() . ' ' . $order->getBillingAddress()->getLastName(), $order->getLineItemsTotalCount(), $order->getLineItemsCount()); $mailer->setSubject("{$sitename} - " . $subject); $mailer->isHTML(true); $mailer->Encoding = 'base64'; $mailer->setBody($body); // Customer Mail $sender = array($config->get('mailfrom'), $config->get('fromname')); $mailer->setSender($sender); $mailer->addRecipient($order->getEMail(), $order->getBillingAddress()->getFirstName() . ' ' . $order->getBillingAddress()->getLastName()); $send = $mailer->Send(); if ($send !== true) { $app->enqueueMessage($mailer->ErrorInfo, 'error'); } // Admin Mail $mailer->ClearAllRecipients(); $sender = array($order->getEMail(), $order->getBillingAddress()->getFirstName() . ' ' . $order->getBillingAddress()->getLastName()); $mailer->setSender($sender); $userids = JAccess::getUsersByGroup($params->get('admin_usergroup')); foreach ($userids as $userid) { $user = JUser::getInstance($userid); if ($user->sendEmail == 1) { $mailadresses = JMailHelper::cleanAddress($user->email); $mailer->addRecipient($mailadresses); } } $send = $mailer->Send(); if ($send !== true) { $this->setMessage(JText::_('COM_EVENTGALLERY_ORDER_RESEND_MAIL_FAILED')); } else { $this->setMessage(JText::_('COM_EVENTGALLERY_ORDER_RESEND_MAIL_SUCCESS')); } $this->setRedirect(JRoute::_('index.php?option=' . $this->option . '&view=' . $this->view_item . $this->getRedirectToItemAppend($orderid, 'id'), false)); return true; }
public function createOrder() { // switch to the change page. $continue = JRequest::getString('continue', null); if ($continue == null) { $this->setRedirect(JRoute::_("index.php?option=com_eventgallery&view=checkout&task=change")); return; } // Check for request forgeries. JRequest::checkToken(); /* @var EventgalleryLibraryManagerCart $cartMgr */ $cartMgr = EventgalleryLibraryManagerCart::getInstance(); $cartMgr->calculateCart(); $cart = $cartMgr->getCart(); // if the cart is empty if ($cart->getLineItemsCount() == 0) { $this->setRedirect(JRoute::_("index.php?option=com_eventgallery&view=cart")); return; } /* create order*/ $orderMgr = new EventgalleryLibraryManagerOrder(); #$order = $cart; $order = $orderMgr->createOrder($cart); /* send mail */ $send = $this->_sendOrderConfirmationMail($order); $orderMgr->processOnOrderSubmit($order); if ($send !== true) { $msg = JText::_('COM_EVENTGALLERY_CART_CHECKOUT_ORDER_FAILED') . ' (' . $send . ')'; } else { $msg = NULL; } $this->setRedirect(JRoute::_("index.php?option=com_eventgallery&view=checkout&task=confirm"), $msg, 'info'); }