Example #1
0
 /**
  * Checks if an order has only one start and end date for all products
  *
  * @param $order
  * @return mixed Array: true/false, start_date, end_date
  */
 public static function isSingleOrder($order)
 {
     $_start_date = -1;
     $_end_date = -1;
     $isSingle = 0;
     foreach ($order->getAllItems() as $_item) {
         if (is_object($_item->getOrderItem())) {
             $item = $_item->getOrderItem();
         } else {
             $item = $_item;
         }
         if ($item->getParentItem()) {
             continue;
         }
         //check the options and start end date
         if ($options = $item->getProductOptions()) {
             if (isset($options['info_buyRequest'])) {
                 if (isset($options['info_buyRequest'][ITwebexperts_Payperrentals_Model_Product_Type_Reservation::START_DATE_OPTION])) {
                     $start_date = $options['info_buyRequest'][ITwebexperts_Payperrentals_Model_Product_Type_Reservation::START_DATE_OPTION];
                     $end_date = $options['info_buyRequest'][ITwebexperts_Payperrentals_Model_Product_Type_Reservation::END_DATE_OPTION];
                 }
                 if (isset($start_date) && strtotime($_start_date) != strtotime($start_date)) {
                     $_start_date = $start_date;
                     $isSingle++;
                 }
                 if (isset($end_date) && strtotime($_end_date) != strtotime($end_date)) {
                     $_end_date = $end_date;
                     $isSingle++;
                 }
             }
         }
     }
     $retArr = array('bool' => false, 'start_date' => $_start_date, 'end_date' => $_end_date);
     if ($isSingle == 2) {
         $retArr = array('bool' => true, 'start_date' => $_start_date, 'end_date' => $_end_date);
     }
     $resultObject = new Varien_Object();
     $resultObject->setReturn($retArr);
     Mage::dispatchEvent('show_dates_is_single', array('result' => $resultObject));
     $returnArr = $resultObject->getReturn();
     return $returnArr;
 }
Example #2
0
 public static function showGridColumns($_item)
 {
     $return = '';
     $nonSequential = Mage::helper('payperrentals/config')->isNonSequentialSelect(Mage::app()->getStore()->getId());
     if (ITwebexperts_Payperrentals_Helper_Data::isReservationType($_item->getProductId())) {
         if ($_item->getProductType() == ITwebexperts_Payperrentals_Helper_Data::PRODUCT_TYPE || $_item->getProductType() == ITwebexperts_Payperrentals_Helper_Data::PRODUCT_TYPE_CONFIGURABLE || $_item->getProductType() == ITwebexperts_Payperrentals_Helper_Data::PRODUCT_TYPE_BUNDLE) {
             $buyRequest = $_item->getBuyRequest();
             $_showTime = (bool) Mage::getResourceModel('catalog/product')->getAttributeRawValue($_item->getProductId(), 'payperrentals_use_times', $_item->getStoreId());
             if ($nonSequential) {
                 $stDate = ITwebexperts_Payperrentals_Helper_Date::localiseNonsequentialBuyRequest($buyRequest->getStartDate(), $_showTime);
             } else {
                 if ($buyRequest->getStartTime()) {
                     $buyStartDate = str_replace('00:00:00', $buyRequest->getStartTime(), $buyRequest->getStartDate());
                     $buyEndDate = str_replace('23:59:59', $buyRequest->getEndTime(), $buyRequest->getEndDate());
                 } else {
                     $buyStartDate = $buyRequest->getStartDate();
                     $buyEndDate = $buyRequest->getEndDate();
                 }
                 $stDate = ITwebexperts_Payperrentals_Helper_Date::formatDbDate($buyStartDate, !$_showTime);
                 $enDate = ITwebexperts_Payperrentals_Helper_Date::formatDbDate($buyEndDate, !$_showTime);
             }
             if ($nonSequential) {
                 $return .= '<td class="">' . $stDate . '</td>';
             } else {
                 $return .= '<td class="">' . $stDate . '</td>';
                 $return .= '<td class="">' . $enDate . '</td>';
             }
             $resultObject = new Varien_Object();
             //$resultObject->setReturn($return);
             Mage::dispatchEvent('options_grid', array('item' => $_item, 'result' => $resultObject));
             $return .= $resultObject->getReturn();
         }
     } else {
         if ($nonSequential) {
             $return .= '<td class="">' . '' . '</td>';
         } else {
             $return .= '<td class="">' . '' . '</td>';
             $return .= '<td class="">' . '' . '</td>';
         }
     }
     return $return;
 }