/** * Returns a string representation of the count type discounts * applicable for the given discount group ID, if any. * @param integer $groupCountId The discount group ID * @return string The string representation * @global array $_ARRAYLANG Language array * @author Reto Kohli <*****@*****.**> * @static */ static function getDiscountCountString($groupCountId) { global $_ARRAYLANG; $arrDiscount = Discount::getDiscountCountArray(); $arrRate = Discount::getDiscountCountRateArray($groupCountId); $strDiscounts = ''; if (!empty($arrRate)) { $unit = ''; if (isset($arrDiscount[$groupCountId])) { $unit = $arrDiscount[$groupCountId]['unit']; } foreach ($arrRate as $count => $rate) { $strDiscounts .= ($strDiscounts != '' ? ', ' : '') . $_ARRAYLANG['TXT_SHOP_DISCOUNT_FROM'] . ' ' . $count . ' ' . $unit . $_ARRAYLANG['TXT_SHOP_DISCOUNT_TO'] . ' ' . $rate . '%'; } $strDiscounts = $_ARRAYLANG['TXT_SHOP_DISCOUNT_COUNT'] . ' ' . $strDiscounts; } return $strDiscounts; }
/** * Show the count discount editing page * @return boolean True on success, false otherwise * @author Reto Kohli <*****@*****.**> */ function view_discount_groups_count() { global $_ARRAYLANG; if (isset($_POST['discountStore'])) { $this->store_discount_count(); } if (isset($_GET['deleteDiscount'])) { $this->delete_discount_count(); } // Force discounts to be reinitialised Discount::flush(); self::$objTemplate->addBlockfile('SHOP_PRODUCTS_FILE', 'shop_products_block', 'module_shop_discount_groups_count.html'); // Discounts overview $arrDiscounts = Discount::getDiscountCountArray(); $i = 0; foreach ($arrDiscounts as $id => $arrDiscount) { $name = $arrDiscount['name']; $unit = $arrDiscount['unit']; self::$objTemplate->setVariable(array('SHOP_DISCOUNT_ID' => $id, 'SHOP_DISCOUNT_GROUP_NAME' => contrexx_raw2xhtml($name), 'SHOP_DISCOUNT_GROUP_UNIT' => contrexx_raw2xhtml($unit), 'SHOP_DISCOUNT_ROW_STYLE' => 'row' . (++$i % 2 + 1))); self::$objTemplate->parse('discount'); } // Add/edit Discount $id = 0; $arrDiscountRates = array(); if (!empty($_GET['editDiscount'])) { $id = intval($_GET['id']); $arrDiscountRates = Discount::getDiscountCountRateArray($id); self::$objTemplate->setGlobalVariable(array('SHOP_DISCOUNT_EDIT_CLASS' => 'active', 'SHOP_DISCOUNT_EDIT_DISPLAY' => 'block', 'SHOP_DISCOUNT_LIST_CLASS' => '', 'SHOP_DISCOUNT_LIST_DISPLAY' => 'none', 'TXT_ADD_OR_EDIT' => $_ARRAYLANG['TXT_EDIT'])); } else { self::$objTemplate->setGlobalVariable(array('SHOP_DISCOUNT_EDIT_CLASS' => '', 'SHOP_DISCOUNT_EDIT_DISPLAY' => 'none', 'SHOP_DISCOUNT_LIST_CLASS' => 'active', 'SHOP_DISCOUNT_LIST_DISPLAY' => 'block', 'TXT_ADD_OR_EDIT' => $_ARRAYLANG['TXT_ADD'])); } self::$objTemplate->setCurrentBlock('discountName'); self::$objTemplate->setVariable(array('SHOP_DISCOUNT_ID_EDIT' => $id, 'SHOP_DISCOUNT_ROW_STYLE' => 'row' . (++$i % 2 + 1))); if (isset($arrDiscounts[$id])) { $arrDiscount = $arrDiscounts[$id]; $name = $arrDiscount['name']; $unit = $arrDiscount['unit']; self::$objTemplate->setVariable(array('SHOP_DISCOUNT_GROUP_NAME' => $name, 'SHOP_DISCOUNT_GROUP_UNIT' => $unit)); } self::$objTemplate->parse('discountName'); self::$objTemplate->setCurrentBlock('discountRate'); if (isset($arrDiscountRates)) { $arrDiscountRates = array_reverse($arrDiscountRates, true); foreach ($arrDiscountRates as $count => $rate) { self::$objTemplate->setVariable(array('SHOP_DISCOUNT_COUNT' => $count, 'SHOP_DISCOUNT_RATE' => $rate, 'SHOP_DISCOUNT_RATE_INDEX' => $i, 'SHOP_DISCOUNT_ROW_STYLE' => 'row' . (++$i % 2 + 1))); self::$objTemplate->parse('discountRate'); } } // Add a few empty rows for adding new counts and rates for ($j = 0; $j < 5; ++$j) { self::$objTemplate->setVariable(array('SHOP_DISCOUNT_COUNT' => '', 'SHOP_DISCOUNT_RATE' => '', 'SHOP_DISCOUNT_RATE_INDEX' => $i, 'SHOP_DISCOUNT_ROW_STYLE' => 'row' . (++$i % 2 + 1))); self::$objTemplate->parse('discountRate'); } return true; }