コード例 #1
0
 /**
  * checkout function
  *
  * @access public
  * @return void
  */
 public function checkout()
 {
     $option = JRequest::getVar('option');
     $Itemid = JRequest::getVar('Itemid');
     $post = JRequest::get('post');
     $encr = JRequest::getVar('encr');
     $quotationHelper = new quotationHelper();
     $model = $this->getmodel();
     $session = JFactory::getSession();
     $redhelper = new redhelper();
     $cart = array();
     $cart['idx'] = 0;
     $session->set('cart', $cart);
     $quotationProducts = $quotationHelper->getQuotationProduct($post['quotation_id']);
     for ($q = 0; $q < count($quotationProducts); $q++) {
         $model->addtocart($quotationProducts[$q]);
     }
     $cart = $session->get('cart');
     $quotationDetail = $quotationHelper->getQuotationDetail($post['quotation_id']);
     $cart['customer_note'] = $quotationDetail->quotation_note;
     $cart['quotation_id'] = $quotationDetail->quotation_id;
     $cart['cart_discount'] = $quotationDetail->quotation_discount;
     $cart['quotation'] = 1;
     $session->set('cart', $cart);
     $model->modifyQuotation($quotationDetail->user_id);
     $Itemid = $redhelper->getCheckoutItemid();
     $this->setRedirect('index.php?option=' . $option . '&view=checkout&quotation=1&encr=' . $encr . '&Itemid=' . $Itemid);
 }
コード例 #2
0
    function display($tpl = null)
    {
        $app = JFactory::getApplication();
        $quotationHelper = new quotationHelper();
        $print = JRequest::getInt('print');
        if ($print) {
            ?>
	<script type="text/javascript" language="javascript">
		window.print();
	</script>
<?php 
        }
        $user = JFactory::getUser();
        $Itemid = JRequest::getInt('Itemid');
        $quoid = JRequest::getInt('quoid');
        $encr = JRequest::getString('encr');
        if (!$quoid) {
            $app->Redirect('index.php?option=com_redshop&view=account&Itemid=' . $Itemid);
        }
        $quotationDetail = $quotationHelper->getQuotationDetail($quoid);
        if (count($quotationDetail) < 1) {
            JError::raiseWarning(404, JText::_('COM_REDSHOP_NOACCESS_QUOTATION'));
            echo JText::_('COM_REDSHOP_NOACCESS_QUOTATION');
            return;
        }
        if (!$user->id) {
            if (isset($encr)) {
                $model = $this->getModel('quotation_detail');
                $authorization = $model->checkAuthorization($quoid, $encr);
                if (!$authorization) {
                    JError::raiseWarning(404, JText::_('COM_REDSHOP_QUOTATION_ENCKEY_FAILURE'));
                    echo JText::_('COM_REDSHOP_QUOTATION_ENCKEY_FAILURE');
                    return false;
                }
            } else {
                $app->Redirect('index.php?option=com_redshop&view=login&Itemid=' . JRequest::getInt('Itemid'));
                return;
            }
        } else {
            if (count($quotationDetail) > 0 && $quotationDetail->user_id != $user->id) {
                JError::raiseWarning(404, JText::_('COM_REDSHOP_NOACCESS_QUOTATION'));
                echo JText::_('COM_REDSHOP_NOACCESS_QUOTATION');
                return;
            }
        }
        parent::display($tpl);
    }
コード例 #3
0
defined('_JEXEC') or die;
$url = JURI::base();
$redconfig = new Redconfiguration();
require_once JPATH_COMPONENT_ADMINISTRATOR . '/helpers/quotation.php';
$quotationHelper = new quotationHelper();
$extra_field = new extra_field();
$extra_field_new = new extraField();
require_once JPATH_COMPONENT . '/helpers/product.php';
$producthelper = new producthelper();
require_once JPATH_COMPONENT_ADMINISTRATOR . '/helpers/order.php';
$order_functions = new order_functions();
$redTemplate = new Redtemplate();
$Itemid = JRequest::getInt('Itemid', 1);
$quoid = JRequest::getInt('quoid');
$encr = JRequest::getString('encr');
$quotationDetail = $quotationHelper->getQuotationDetail($quoid);
$quotationProducts = $quotationHelper->getQuotationProduct($quoid);
$fieldArray = $extra_field_new->getSectionFieldList(17, 0, 0);
$template = $redTemplate->getTemplate("quotation_detail");
if (count($template) > 0 && $template[0]->template_desc != "") {
    $quotation_template = $template[0]->template_desc;
} else {
    $quotation_template = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"5\" width=\"100%\">\r\n<tbody>\r\n<tr>\r\n<td colspan=\"2\">\r\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"2\" width=\"100%\">\r\n<tbody>\r\n<tr style=\"background-color: #cccccc\">\r\n<th align=\"left\">{quotation_information_lbl}{print}</th>\r\n</tr>\r\n<tr>\r\n</tr>\r\n<tr>\r\n<td>{quotation_id_lbl} : {quotation_id}</td>\r\n</tr>\r\n<tr>\r\n<td>{quotation_number_lbl} : {quotation_number}</td>\r\n</tr>\r\n<tr>\r\n<td>{quotation_date_lbl} : {quotation_date}</td>\r\n</tr>\r\n<tr>\r\n<td>{quotation_status_lbl} : {quotation_status}</td>\r\n</tr>\r\n<tr>\r\n<td>{quotation_note_lbl} : {quotation_note}</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n<tr>\r\n<td colspan=\"2\">\r\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"2\" width=\"100%\">\r\n<tbody>\r\n<tr style=\"background-color: #cccccc\">\r\n<th align=\"left\">{account_information_lbl}</th>\r\n</tr>\r\n<tr>\r\n<td>{account_information}{quotation_custom_field_list}</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n<tr>\r\n<td colspan=\"2\">\r\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"2\" width=\"100%\">\r\n<tbody>\r\n<tr style=\"background-color: #cccccc\">\r\n<th align=\"left\">{quotation_detail_lbl}</th>\r\n</tr>\r\n<tr>\r\n</tr>\r\n<tr>\r\n<td>\r\n<table border=\"0\" cellspacing=\"2\" cellpadding=\"2\" width=\"100%\">\r\n<tbody>\r\n<tr>\r\n<td></td>\r\n<td>{product_name_lbl}</td>\r\n<td>{note_lbl}</td>\r\n<td>{price_lbl}</td>\r\n<td>{quantity_lbl}</td>\r\n<td align=\"right\">{total_price_lbl}</td>\r\n</tr>\r\n{product_loop_start}       \r\n<tr>\r\n<td>{product_thumb_image}</td>\r\n<td>{product_name}<br />({product_number_lbl} - {product_number})<br />{product_accessory}<br /> {product_attribute}<br />{product_userfields}</td>\r\n<td>{product_wrapper}</td>\r\n<td>{product_price}</td>\r\n<td>{product_quantity}</td>\r\n<td align=\"right\">{product_total_price}</td>\r\n</tr>\r\n{product_loop_end}\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n<tr>\r\n<td></td>\r\n</tr>\r\n<tr>\r\n<td>\r\n<table border=\"0\" cellspacing=\"2\" cellpadding=\"2\" width=\"100%\">\r\n<tbody>\r\n<tr align=\"left\">\r\n<td align=\"left\"><strong>{quotation_subtotal_lbl} : </strong></td>\r\n<td align=\"right\">{quotation_subtotal}</td>\r\n</tr>\r\n<tr align=\"left\">\r\n<td align=\"left\"><strong>{quotation_vat_lbl} : </strong></td>\r\n<td align=\"right\">{quotation_vat}</td>\r\n</tr>\r\n<tr align=\"left\">\r\n<td align=\"left\"><strong>{quotation_discount_lbl} : </strong></td>\r\n<td align=\"right\">{quotation_discount}</td>\r\n</tr>\r\n<tr align=\"left\">\r\n<td colspan=\"2\" align=\"left\">\r\n<hr />\r\n</td>\r\n</tr>\r\n<tr align=\"left\">\r\n<td align=\"left\"><strong>{total_lbl} :</strong></td>\r\n<td align=\"right\">{quotation_total}</td>\r\n</tr>\r\n<tr align=\"left\">\r\n<td colspan=\"2\" align=\"left\">\r\n<hr />\r\n<br /> \r\n<hr />\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>\r\n</td>\r\n</tr>\r\n</tbody>\r\n</table>";
}
$print = JRequest::getInt('print');
$p_url = @explode('?', $_SERVER['REQUEST_URI']);
$print_tag = '';
if ($print) {
    $print_tag = "<a onclick='window.print();' title='" . JText::_('COM_REDSHOP_PRINT_LBL') . "' ><img src=" . JSYSTEM_IMAGES_PATH . "printButton.png  alt='" . JText::_('COM_REDSHOP_PRINT_LBL') . "' title='" . JText::_('COM_REDSHOP_PRINT_LBL') . "' /></a>";
} else {
    $print_url = $url . "index.php?tmpl=component&option=com_redshop&view=quotation_detail&quoid=" . $quoid . "&print=1";
コード例 #4
0
ファイル: mail.php プロジェクト: jaanusnurmoja/redjoomla
 public function sendQuotationMail($quotation_id, $status = 0)
 {
     $uri = JURI::getInstance();
     $url = $uri->root();
     $redconfig = new Redconfiguration();
     $producthelper = new producthelper();
     $extra_field = new extra_field();
     $quotationHelper = new quotationHelper();
     $config = JFactory::getConfig();
     $mailinfo = $this->getMailtemplate(0, "quotation_mail");
     $mailbcc = array();
     if (count($mailinfo) > 0) {
         $message = $mailinfo[0]->mail_body;
         $subject = $mailinfo[0]->mail_subject;
         if (trim($mailinfo[0]->mail_bcc) != "") {
             $mailbcc = explode(",", $mailinfo[0]->mail_bcc);
         }
     } else {
         return false;
     }
     $template_start = "";
     $template_end = "";
     $template_middle = "";
     $cart = '';
     $template_sdata = explode('{product_loop_start}', $message);
     $extraField = new extraField();
     $fieldArray = $extraField->getSectionFieldList(17, 0, 0);
     if (count($template_sdata) > 0) {
         $template_start = $template_sdata[0];
         if (count($template_sdata) > 1) {
             $template_edata = explode('{product_loop_end}', $template_sdata[1]);
             if (count($template_edata) > 1) {
                 $template_end = $template_edata[1];
             }
             if (count($template_edata) > 0) {
                 $template_middle = $template_edata[0];
             }
         }
     }
     $row = $quotationHelper->getQuotationDetail($quotation_id);
     if (count($row) <= 0) {
         return false;
     }
     $rowitem = $quotationHelper->getQuotationProduct($quotation_id);
     for ($i = 0; $i < count($rowitem); $i++) {
         $product_id = $rowitem[$i]->product_id;
         $product = $producthelper->getProductById($product_id);
         $product_name = "<div class='product_name'>" . $rowitem[$i]->product_name . "</div>";
         $product_total_price = "<div class='product_price'>" . $producthelper->getProductFormattedPrice($rowitem[$i]->product_price * $rowitem[$i]->product_quantity) . "</div>";
         $product_price = "<div class='product_price'>" . $producthelper->getProductFormattedPrice($rowitem[$i]->product_price) . "</div>";
         $product_price_excl_vat = "<div class='product_price'>" . $producthelper->getProductFormattedPrice($rowitem[$i]->product_excl_price) . "</div>";
         $product_quantity = '<div class="update_cart">' . $rowitem[$i]->product_quantity . '</div>';
         $product_total_price_excl_vat = "<div class='product_price'>" . $producthelper->getProductFormattedPrice($rowitem[$i]->product_excl_price * $rowitem[$i]->product_quantity) . "</div>";
         $cart_mdata = $template_middle;
         $wrapper_name = "";
         if ($rowitem[$i]->product_wrapperid) {
             $wrapper = $producthelper->getWrapper($product_id, $rowitem[$i]->product_wrapperid);
             if (count($wrapper) > 0) {
                 $wrapper_name = $wrapper[0]->wrapper_name;
             }
             $wrapper_name = JText::_('COM_REDSHOP_WRAPPER') . ": " . $wrapper_name;
         }
         $product_image_path = '';
         if ($product->product_full_image) {
             if (is_file(REDSHOP_FRONT_IMAGES_RELPATH . "product/" . $product->product_full_image)) {
                 $product_image_path = $product->product_full_image;
             } else {
                 if (is_file(REDSHOP_FRONT_IMAGES_RELPATH . "product/" . PRODUCT_DEFAULT_IMAGE)) {
                     $product_image_path = PRODUCT_DEFAULT_IMAGE;
                 }
             }
         } else {
             if (is_file(REDSHOP_FRONT_IMAGES_RELPATH . "product/" . PRODUCT_DEFAULT_IMAGE)) {
                 $product_image_path = PRODUCT_DEFAULT_IMAGE;
             }
         }
         if ($product_image_path) {
             $thumbUrl = RedShopHelperImages::getImagePath($product_image_path, '', 'thumb', 'product', CART_THUMB_WIDTH, CART_THUMB_HEIGHT, USE_IMAGE_SIZE_SWAPPING);
             $product_image = "<div  class='product_image'><img src='" . $thumbUrl . "'></div>";
         } else {
             $product_image = "<div  class='product_image'></div>";
         }
         $cart_mdata = str_replace("{product_name}", $product_name, $cart_mdata);
         $cart_mdata = str_replace("{product_s_desc}", $product->product_s_desc, $cart_mdata);
         $cart_mdata = str_replace("{product_thumb_image}", $product_image, $cart_mdata);
         $product_note = "<div class='product_note'>" . $wrapper_name . "</div>";
         $cart_mdata = str_replace("{product_wrapper}", $product_note, $cart_mdata);
         $product_userfields = $quotationHelper->displayQuotationUserfield($rowitem[$i]->quotation_item_id, 12);
         $cart_mdata = str_replace("{product_userfields}", $product_userfields, $cart_mdata);
         $cart_mdata = str_replace("{product_number_lbl}", JText::_('COM_REDSHOP_PRODUCT_NUMBER'), $cart_mdata);
         $cart_mdata = str_replace("{product_number}", $product->product_number, $cart_mdata);
         $cart_mdata = str_replace("{product_attribute}", $producthelper->makeAttributeQuotation($rowitem[$i]->quotation_item_id, 0, $rowitem[$i]->product_id, $row->quotation_status), $cart_mdata);
         $cart_mdata = str_replace("{product_accessory}", $producthelper->makeAccessoryQuotation($rowitem[$i]->quotation_item_id, $row->quotation_status), $cart_mdata);
         // ProductFinderDatepicker Extra Field Start
         $cart_mdata = $producthelper->getProductFinderDatepickerValue($cart_mdata, $product_id, $fieldArray);
         // ProductFinderDatepicker Extra Field End
         if ($row->quotation_status == 1 && !SHOW_QUOTATION_PRICE) {
             $cart_mdata = str_replace("{product_price_excl_vat}", "", $cart_mdata);
             $cart_mdata = str_replace("{product_price}", " ", $cart_mdata);
             $cart_mdata = str_replace("{product_total_price}", " ", $cart_mdata);
             $cart_mdata = str_replace("{product_subtotal_excl_vat}", " ", $cart_mdata);
         } else {
             $cart_mdata = str_replace("{product_price_excl_vat}", $product_price_excl_vat, $cart_mdata);
             $cart_mdata = str_replace("{product_price}", $product_price, $cart_mdata);
             $cart_mdata = str_replace("{product_total_price}", $product_total_price, $cart_mdata);
             $cart_mdata = str_replace("{product_subtotal_excl_vat}", $product_total_price_excl_vat, $cart_mdata);
         }
         $cart_mdata = str_replace("{product_quantity}", $product_quantity, $cart_mdata);
         $cart .= $cart_mdata;
     }
     $message = $template_start . $cart . $template_end;
     $search[] = "{quotation_note}";
     $replace[] = $row->quotation_note;
     $search[] = "{shopname}";
     $replace[] = SHOP_NAME;
     $search[] = "{quotation_id}";
     $replace[] = $row->quotation_id;
     $search[] = "{quotation_number}";
     $replace[] = $row->quotation_number;
     $search[] = "{quotation_date}";
     $replace[] = $redconfig->convertDateFormat($row->quotation_cdate);
     $search[] = "{quotation_status}";
     $replace[] = $quotationHelper->getQuotationStatusName($row->quotation_status);
     $billadd = '';
     if ($row->user_id != 0) {
         $message = $this->_carthelper->replaceBillingAddress($message, $row);
     } else {
         if ($row->quotation_email != "") {
             $billadd .= JText::_("COM_REDSHOP_EMAIL") . ' : ' . $row->quotation_email . '<br />';
         }
         $message = str_replace("{billing_address_information_lbl}", JText::_('COM_REDSHOP_BILLING_ADDRESS_INFORMATION_LBL'), $message);
         if (strstr($message, "{quotation_custom_field_list}")) {
             $billadd .= $extra_field->list_all_field_display(16, $row->user_info_id, 1, $row->quotation_email);
             $message = str_replace("{quotation_custom_field_list}", "", $message);
         } else {
             $message = $extra_field->list_all_field_display(16, $row->user_info_id, 1, $row->quotation_email, $message);
         }
     }
     $search[] = "{billing_address}";
     $replace[] = $billadd;
     $total_lbl = '';
     $subtotal_lbl = '';
     $vat_lbl = '';
     if ($row->quotation_status != 1 || $row->quotation_status == 1 && SHOW_QUOTATION_PRICE) {
         $total_lbl = JText::_('COM_REDSHOP_TOTAL_LBL');
         $subtotal_lbl = JText::_('COM_REDSHOP_QUOTATION_SUBTOTAL');
         $vat_lbl = JText::_('COM_REDSHOP_QUOTATION_VAT');
     }
     $message = str_replace('{total_lbl}', $total_lbl, $message);
     $message = str_replace('{quotation_subtotal_lbl}', $subtotal_lbl, $message);
     $message = str_replace('{quotation_vat_lbl}', $vat_lbl, $message);
     $message = $this->_carthelper->replaceLabel($message);
     $search[] = "{quotation_note}";
     $replace[] = $row->quotation_note;
     if ($row->quotation_status == 1 && !SHOW_QUOTATION_PRICE) {
         $quotation_subtotal = " ";
         $quotation_total = " ";
         $quotation_discount = " ";
         $quotation_vat = " ";
         $quotation_subtotal_excl_vat = "";
     } else {
         $tax = $row->quotation_tax;
         if (VAT_RATE_AFTER_DISCOUNT) {
             $Discountvat = VAT_RATE_AFTER_DISCOUNT * $row->quotation_discount / (1 + VAT_RATE_AFTER_DISCOUNT);
             $row->quotation_discount = $row->quotation_discount - $Discountvat;
             $tax = $tax - $Discountvat;
         }
         if (VAT_RATE_AFTER_DISCOUNT) {
             $sp_discount = $row->quotation_special_discount * ($row->quotation_subtotal + $row->quotation_tax) / 100;
             $Discountspvat = $sp_discount * VAT_RATE_AFTER_DISCOUNT / (1 + VAT_RATE_AFTER_DISCOUNT);
             $DiscountspWithotVat = $sp_discount - $Discountspvat;
             $row->quotation_discount = $row->quotation_discount + $DiscountspWithotVat;
             $tax = $tax - $Discountspvat;
         }
         $quotation_subtotal_excl_vat = $producthelper->getProductFormattedPrice($row->quotation_subtotal);
         $quotation_subtotal_minus_discount = $producthelper->getProductFormattedPrice($row->quotation_subtotal - $row->quotation_discount);
         $quotation_subtotal = $producthelper->getProductFormattedPrice($row->quotation_subtotal);
         $quotation_total = $producthelper->getProductFormattedPrice($row->quotation_total);
         $quotation_discount = $producthelper->getProductFormattedPrice($row->quotation_discount);
         $quotation_vat = $producthelper->getProductFormattedPrice($row->quotation_tax);
     }
     $search[] = "{quotation_subtotal}";
     $replace[] = $quotation_subtotal;
     $search[] = "{quotation_total}";
     $replace[] = $quotation_total;
     $search[] = "{quotation_subtotal_minus_discount}";
     $replace[] = $quotation_subtotal_minus_discount;
     $search[] = "{quotation_subtotal_excl_vat}";
     $replace[] = $quotation_subtotal_excl_vat;
     $search[] = "{quotation_discount}";
     $replace[] = $quotation_discount;
     $search[] = "{quotation_vat}";
     $replace[] = $quotation_vat;
     $quotationdetailurl = JURI::root() . 'index.php?option=com_redshop&view=quotation_detail&quoid=' . $quotation_id . '&encr=' . $row->quotation_encrkey;
     $search[] = "{quotation_detail_link}";
     $replace[] = "<a href='" . $quotationdetailurl . "'>" . JText::_("COM_REDSHOP_QUOTATION_DETAILS") . "</a>";
     $message = str_replace($search, $replace, $message);
     $message = $this->imginmail($message);
     $email = $row->quotation_email;
     // Set the e-mail parameters
     $from = $config->getValue('mailfrom');
     $fromname = $config->getValue('fromname');
     $body = $message;
     $subject = str_replace($search, $replace, $subject);
     // Send the e-mail
     if ($email != "") {
         $bcc = null;
         if (trim(ADMINISTRATOR_EMAIL) != '') {
             $bcc = explode(",", trim(ADMINISTRATOR_EMAIL));
         }
         $bcc = array_merge($bcc, $mailbcc);
         if (!JUtility::sendMail($from, $fromname, $email, $subject, $body, 1, null, $bcc)) {
             $this->setError('ERROR_SENDING_QUOTATION_MAIL');
         }
     }
     if ($status != 0) {
         $quotationHelper->updateQuotationStatus($quotation_id, $status);
     }
     return true;
 }