コード例 #1
0
ファイル: opctracking.php プロジェクト: aldegtyarev/stelsvelo
 public static function getTextFields(&$order)
 {
     OPCtrackingHelper::getOrderExtras($order);
     $db = JFactory::getDBO();
     $vmlang = self::getOrderLang($order);
     if (empty($order['details']['BT'])) {
         return;
     }
     $currency = (int) $order['details']['BT']->user_currency_id;
     if (empty($currency)) {
         $currency = (int) $order['details']['BT']->order_currency;
     }
     if (!empty($currency)) {
         $q = 'select * from #__virtuemart_currencies where virtuemart_currency_id = ' . $currency . ' limit 0,1';
         $db->setQuery($q);
         $res = $db->loadAssoc();
         foreach ($res as $key5 => $val5) {
             $order['details']['BT']->{$key5} = $val5;
         }
     }
     $paymenttext = '';
     $payment_id = (int) $order['details']['BT']->virtuemart_paymentmethod_id;
     if (!empty($payment_id)) {
         $orig1 = JFactory::getApplication()->get('messageQueue', array());
         $orig2 = JFactory::getApplication()->get('_messageQueue', array());
         JPluginHelper::importPlugin('vmpayment');
         $_dispatcher = JDispatcher::getInstance();
         $ordercopy = $order;
         ob_start();
         $_returnValues = $_dispatcher->trigger('plgVmOnShowOrderFEPayment', array($order['details']['BT']->virtuemart_order_id, $order['details']['BT']->virtuemart_paymentmethod_id, &$ordercopy));
         foreach ($_returnValues as $_returnValue) {
             if ($_returnValue !== null) {
                 $paymenttext .= $_returnValue;
             }
         }
         JFactory::getApplication()->set('messageQueue', $orig1);
         JFactory::getApplication()->set('_messageQueue', $orig2);
         $delete = ob_get_clean();
     }
     $order['details']['BT']->payment_name = $paymenttext;
     $shipment = '';
     $shipment_id = $order['details']['BT']->virtuemart_shipmentmethod_id;
     if (!empty($shipment_id)) {
         ob_start();
         $orig1 = JFactory::getApplication()->get('messageQueue', array());
         $orig2 = JFactory::getApplication()->get('_messageQueue', array());
         JPluginHelper::importPlugin('vmshipment');
         $_dispatcher = JDispatcher::getInstance();
         $ordercopy2 = $order;
         $returnValues = $_dispatcher->trigger('plgVmOnShowOrderFEShipment', array($order['details']['BT']->virtuemart_order_id, $order['details']['BT']->virtuemart_shipmentmethod_id, &$ordercopy2));
         foreach ($returnValues as $returnValue) {
             if ($returnValue !== null) {
                 $shipment .= $returnValue;
             }
         }
         JFactory::getApplication()->set('messageQueue', $orig1);
         JFactory::getApplication()->set('_messageQueue', $orig2);
         $delete = ob_get_clean();
     }
     $order['details']['BT']->shipment_name = $shipment;
     require_once JPATH_SITE . DS . 'components' . DS . 'com_onepage' . DS . 'helpers' . DS . 'mini.php';
     $db = JFactory::getDBO();
     if (OPCmini::tableExists('virtuemart_categories_' . $vmlang)) {
         if (!empty($order['items'])) {
             foreach ($order['items'] as $key => $item) {
                 if (empty($item->virtuemart_category_id)) {
                     //stAn - check if we have category_id info elsewhere:
                     $q = 'select virtuemart_category_id from #__virtuemart_product_categories where virtuemart_product_id = ' . (int) $item->virtuemart_product_id . ' order by ordering asc limit 0,1';
                     $db->setQuery($q);
                     $cat_id = $db->loadResult();
                     if (!empty($cat_id)) {
                         $order['items'][$key]->virtuemart_category_id = $cat_id;
                         $order['items'][$key]->virtuemart_category_name = '';
                         $order['items'][$key]->category_name = '';
                     } else {
                         $order['items'][$key]->virtuemart_category_id = 0;
                         $order['items'][$key]->virtuemart_category_name = '';
                         $order['items'][$key]->category_name = '';
                     }
                     //continue;
                 }
                 $cat_id = (int) $item->virtuemart_category_id;
                 if (OPCmini::tableExists('virtuemart_categories_' . $vmlang)) {
                     if (!empty($cat_id)) {
                         $q = 'select * from `#__virtuemart_categories_' . $vmlang . '` where virtuemart_category_id = ' . $cat_id . ' limit 0,1';
                         $db->setQuery($q);
                         $res = $db->loadAssoc();
                         //$e = $db->getErrorMsg(); if (!empty($e)) {die($e);}
                         if (!empty($res)) {
                             foreach ($res as $key5 => $val5) {
                                 $order['items'][$key]->{$key5} = $val5;
                             }
                             $order['items'][$key]->virtuemart_category_name = $order['items'][$key]->category_name;
                         }
                     }
                 }
                 if (empty($item->virtuemart_manufacturer_id)) {
                     //stAn - check if we have category_id info elsewhere:
                     $q = 'select virtuemart_manufacturer_id from #__virtuemart_product_manufacturers where virtuemart_product_id = ' . (int) $item->virtuemart_product_id . '  limit 0,1';
                     $db->setQuery($q);
                     $man_id = $db->loadResult();
                     $e = $db->getErrorMsg();
                     if (!empty($e)) {
                         die($e);
                     }
                     if (!empty($man_id)) {
                         $order['items'][$key]->virtuemart_manufacturer_id = $man_id;
                         $order['items'][$key]->virtuemart_manufacturer_name = '';
                         $order['items'][$key]->manufacturer_name = '';
                         $order['items'][$key]->mf_name = '';
                     } else {
                         $order['items'][$key]->virtuemart_manufacturer_id = 0;
                         $order['items'][$key]->virtuemart_manufacturer_name = '';
                         $order['items'][$key]->manufacturer_name = '';
                         $order['items'][$key]->mf_name = '';
                     }
                     $mf_id = (int) $item->virtuemart_manufacturer_id;
                     if (OPCmini::tableExists('virtuemart_manufacturers_' . $vmlang)) {
                         if (!empty($mf_id)) {
                             $q = 'select * from `#__virtuemart_manufacturers_' . $vmlang . '` where virtuemart_manufacturer_id = ' . $mf_id . ' limit 0,1';
                             $db->setQuery($q);
                             $res = $db->loadAssoc();
                             $e = $db->getErrorMsg();
                             if (!empty($e)) {
                                 die($e);
                             }
                             if (!empty($res)) {
                                 foreach ($res as $key5 => $val5) {
                                     $order['items'][$key]->{$key5} = $val5;
                                 }
                                 $order['items'][$key]->virtuemart_manufacturer_name = $order['items'][$key]->manufacturer_name = $order['items'][$key]->mf_name;
                             }
                         }
                     }
                 }
             }
         }
     }
     if (!empty($order['details']['BT']->virtuemart_country_id)) {
         $val = (int) $order['details']['BT']->virtuemart_country_id;
         $db = JFactory::getDBO();
         $q = "select * from #__virtuemart_countries where virtuemart_country_id = '" . (int) $val . "' limit 0,1";
         $db->setQuery($q);
         $res = $db->loadAssoc();
         if (!empty($res)) {
             foreach ($res as $key5 => $val5) {
                 $order['details']['BT']->{$key5} = $val5;
             }
         }
     }
     $order['details']['BT']->state_name = '';
     if (!empty($order['details']['BT']->virtuemart_state_id)) {
         $val = (int) $order['details']['BT']->virtuemart_state_id;
         $db = JFactory::getDBO();
         $q = "select * from #__virtuemart_states where virtuemart_state_id = '" . (int) $val . "' limit 0,1";
         $db->setQuery($q);
         $res = $db->loadAssoc();
         if (!empty($res)) {
             $emptystate = array();
             foreach ($res as $key5 => $val5) {
                 $order['details']['BT']->{$key5} = $val5;
                 $emptystate[$key5] = '';
             }
         } else {
             $q = "select * from #__virtuemart_states where 1 limit 0,1";
             $db->setQuery($q);
             $res = $db->loadAssoc();
             $emptystate = array();
             foreach ($res as $key5 => $val5) {
                 $order['details']['BT']->{$key5} = '';
                 $emptystate[$key5] = '';
             }
         }
     }
     $order['details']['bt'] =& $order['details']['BT'];
     $history_sorted = array();
     if (!empty($order['history'])) {
         foreach ($order['history'] as $key => $val) {
             $sql = $order['history'][$key]->modified_on;
             $date = new JDate($sql);
             $time = $date->toUnix();
             if (empty($val)) {
                 $val = '';
             }
             if (isset($history_sorted[$time])) {
                 $time++;
             }
             $history_sorted[$time] = $order['history'][$key];
             //['history_'.$i.'_'.$key] = $val;
         }
     }
     ksort($history_sorted, SORT_NUMERIC);
     $history_sorted = array_reverse($history_sorted);
     unset($order['history']);
     $order['history'] = $history_sorted;
     if (empty($order['details']['ST'])) {
         return;
     }
     if (empty($order['details']['ST']->email)) {
         $order['details']['ST']->email = $order['details']['BT']->email;
     }
     if (!empty($order['details']['ST']->virtuemart_country_id)) {
         $val = (int) $order['details']['ST']->virtuemart_country_id;
         $db = JFactory::getDBO();
         $q = "select * from #__virtuemart_countries where virtuemart_country_id = '" . (int) $val . "' limit 0,1";
         $db->setQuery($q);
         $res = $db->loadAssoc();
         if (!empty($res)) {
             foreach ($res as $key5 => $val5) {
                 $order['details']['ST']->{$key5} = $val5;
             }
         }
     }
     if (!empty($order['details']['ST']->virtuemart_state_id)) {
         $val = (int) $order['details']['ST']->virtuemart_state_id;
         $db = JFactory::getDBO();
         $q = "select * from #__virtuemart_states where virtuemart_state_id = '" . (int) $val . "' limit 0,1";
         $db->setQuery($q);
         $res = $db->loadAssoc();
         if (empty($res)) {
             $res = $emptystate;
         }
         foreach ($res as $key5 => $val5) {
             $order['details']['ST']->{$key5} = $val5;
         }
     }
     $order['details']['st'] =& $order['details']['ST'];
 }