/** * Initializes gateway=>department links * @return array */ protected function _initGatewaysDepartments() { if (!self::$_gatewaysDepartments) { $gateways = array(); $globalDeps = array(); $departments = Mage::getModel('helpdeskultimate/department')->getCollection()->addActiveFilter(); foreach ($departments as $department) { if (!$department->usesAllGateways()) { foreach ($department->getGateways() as $gw) { @($gateways[$gw][] = $department->getId()); } } else { //department uses all gateways $globalDeps[] = $department->getId(); } } if (sizeof($globalDeps)) { foreach (Mage::getModel('helpdeskultimate/gateway')->getCollection()->addActiveFilter() as $gateway) { foreach ($globalDeps as $gdId) { @($gateways[$gateway->getId()][] = $gdId); } } } self::$_gatewaysDepartments = $gateways; } }