/** * @return Constructor. */ public function __construct($params) { parent::__construct(); $adsService = ADS_BOL_Service::getInstance(); $rhandlerAttrs = OW::getRequestHandler()->getHandlerAttributes(); $pluginKey = OW::getAutoloader()->getPluginKey($rhandlerAttrs['controller']); if (empty($params['position']) || OW::getUser()->isAuthorized('ads', 'hide_ads')) { $this->setVisible(false); return; } $position = trim($params['position']); if (!in_array($position, array(ADS_BOL_Service::BANNER_POSITION_TOP, ADS_BOL_Service::BANNER_POSITION_SIDEBAR, ADS_BOL_Service::BANNER_POSITION_BOTTOM))) { $this->setVisible(false); return; } $location = BOL_GeolocationService::getInstance()->ipToCountryCode3(OW::getRequest()->getRemoteAddress()); $banners = ADS_BOL_Service::getInstance()->findPlaceBannerList($pluginKey, $params['position'], $location); if (empty($banners)) { $this->setVisible(false); return; } $banner = $banners[array_rand($banners)]; $event = new OW_Event('ads_get_banner_code', array('pluginKey' => $pluginKey, 'position' => $params['position'], 'location' => $location)); $result = OW::getEventManager()->trigger($event); $data = $result->getData(); $this->assign('code', empty($data) ? $banner->getCode() : $data); $this->assign('position', $params['position']); }
/** * Constructor. */ public function __construct() { parent::__construct(); $language = OW::getLanguage(); $menu = new BASE_CMP_ContentMenu(); $menuItem = new BASE_MenuItem(); $menuItem->setKey('index'); $menuItem->setLabel($language->text('ads', 'advertisement_menu_banner_list')); $menuItem->setUrl(OW::getRouter()->urlForRoute('ads.admin_index')); $menuItem->setIconClass('ow_ic_files'); $menuItem->setOrder(1); $menu->addElement($menuItem); $menuItem = new BASE_MenuItem(); $menuItem->setKey('manage'); $menuItem->setLabel($language->text('ads', 'advertisement_menu_manage_banners')); $menuItem->setUrl(OW::getRouter()->urlForRoute('ads.admin_manage')); $menuItem->setIconClass('ow_ic_gear_wheel'); $menuItem->setOrder(2); $menu->addElement($menuItem); $this->addComponent('menu', $menu); $this->menu = $menu; $this->adsService = ADS_BOL_Service::getInstance(); $this->setPageTitle($language->text('ads', 'page_title_ads')); $this->setPageHeading($language->text('ads', 'page_heading_ads')); $this->setPageHeadingIconClass('ow_ic_star'); OW::getNavigation()->activateMenuItem('admin_plugins', 'admin', 'sidebar_menu_plugins_installed'); }