/** * 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; }
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; }