예제 #1
0
 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;
 }
예제 #2
0
 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();
 }
예제 #3
0
<?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 
예제 #4
0
파일: order.php 프로젝트: sansandeep143/av
 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;
 }
예제 #5
0
 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');
 }