Ejemplo n.º 1
0
 /**
  * This function save checkout data
  *
  * @return  json
  *
  * @since  1.0.0
  */
 public function qtc_autoSave()
 {
     $params = JComponentHelper::getParams('com_quick2cart');
     $isShippingEnabled = $params->get('shipping', 0);
     $shippingMode = $params->get('shippingMode', 'itemLevel');
     $mainframe = JFactory::getApplication();
     $input = JFactory::getApplication()->input;
     $session = JFactory::getSession();
     $post = $input->post;
     $model = $this->getModel('cartcheckout');
     $stepId = $input->get('stepId', '', 'STRING');
     $retdata = array();
     $retdata['stepId'] = $stepId;
     $retdata['payAndReviewHtml'] = '';
     $retdata['camp_id'] = '';
     $retdata['sa_sentApproveMail'] = '';
     $retdata['Itemid'] = '';
     $comquick2cartHelper = new comquick2cartHelper();
     // Trigger: this trigger is called while changing the steps from checkout page
     $dispatcher = JDispatcher::getInstance();
     JPluginHelper::importPlugin("system");
     $result = $dispatcher->trigger("OnAfterQ2cStepChange");
     $Quick2cartControllercartcheckout = new Quick2cartControllercartcheckout();
     $nextstep = '';
     switch ($stepId) {
         case "qtc_cartDetails":
             $nextstep = "fetchBillData";
             break;
         case "qtc_billing":
             if ($isShippingEnabled == 1) {
                 // If order level shippin mode then place order. (No ned to fetch ship detail)
                 if ($shippingMode == "orderLeval") {
                     $nextstep = "fetchPayNdReviewData";
                 } else {
                     $nextstep = "fetchShipData";
                 }
             } else {
                 $nextstep = "fetchPayNdReviewData";
             }
             break;
         case "qtc_shippingStep":
             $nextstep = "fetchPayNdReviewData";
             break;
     }
     if ($nextstep == 'fetchBillData') {
         // Already fetched and rendered on form
     }
     // Clicked on billing
     if ($nextstep == 'fetchShipData') {
         $qtcshiphelper = new qtcshiphelper();
         $shippingHtml = $qtcshiphelper->getCartItemsShiphDetail($post);
         $retdata['shipMethoDetail'] = $shippingHtml;
     }
     // Save ad qtc_billing data
     if ($nextstep == 'fetchPayNdReviewData') {
         $response = $Quick2cartControllercartcheckout->save();
         $retdata['payAndReviewHtml'] = !empty($response['orderHTML']) ? $response['orderHTML'] : '';
         $retdata['order_id'] = !empty($response['order_id']) ? $response['order_id'] : 0;
     }
     echo json_encode($retdata);
     jexit();
 }