name = 'bannermanager'; $this->tab = 'advertising_marketing'; $this->version = '0.8'; parent::__construct(); $this->page = basename(__FILE__, '.php'); $this->displayName = $this->l('Banner Manager'); $this->description = $this->l('Allows you to add as many banners as you want on both right or left columns, and also from home page'); parent::__construct(); /* The parent construct is required for translations */ $this->_errors = array(); $this->path = $this->_path; } function install() { if (parent::install() == false OR !$this->registerHook('leftColumn') OR !$this->registerHook('rightColumn') OR !$this->registerHook('home') OR !$this->registerHook('rightFloat') OR !$this->registerHook('leftFloat') OR $this->_createTables() == false ) return false; return true; } function uninstall() { $db = Db::getInstance(); $query = 'DROP TABLE `'._DB_PREFIX_.'banner_manager`'; $result = $db->Execute($query); if (!$result) return false; if (!parent::uninstall()) return false; return true; } /** * createTables() * Called from within bannermanager.php when intalling */ public function _createTables() { $db = Db::getInstance(); /* Create banners card table */ $query = 'CREATE TABLE `'._DB_PREFIX_.'banner_manager` ( `id_banner_manager` int(6) NOT NULL AUTO_INCREMENT, `description` varchar(30) NOT NULL default "", `image_name` varchar(255) NOT NULL default "", `image_link` varchar(255) NOT NULL default "", `open_blank` tinyint(1) NOT NULL default "0", `active` tinyint(1) NOT NULL default "1", `block_id` int(2) NOT NULL default "0", `order` int(10) NOT NULL default "0", PRIMARY KEY (`id_banner_manager`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8'; $result = $db->Execute($query); if (!$result) return false; return true; } /** * getContent() * Called in Back Office when user clicks "Configure" */ function getContent() { $this->_html = '
{$modDesc}
'.$this->l('Add a new banner.').'';
}
/**
* _setConfigurationForm()
* Called upon successful module configuration validation
*/
private function _setConfigurationForm(){
$this->_html .= '
';
}
private function _displayBannersTab($block, $title){
global $smarty, $currentIndex;
$smarty->assign(array(
'path' => $this->path,
'banners' => $this->getBanners($block),
'block' => $block,
'title' => $title,
'leftBanners' => '2',
'currentIndex' => $currentIndex,
'rand' => rand()
));
return $this->display(__FILE__,'bannermanager_form.tpl');
}
private function _displayBannersAdd(){
global $smarty, $currentIndex;
$smarty->assign(array(
'path' => $this->path
));
$this->_html .= $this->display(__FILE__,'bannermanager_add.tpl');
}
/**
* _postProcess()
* Called upon successful module configuration validation
*/
private function _postProcess(){
// Banners update submit
if (isset($_POST['bannersSubmit'])){
$banners = Tools::getValue('bannerManagerId');
if ($banners AND is_array($banners) AND count($banners)){
foreach ($banners AS $row){
$bnr = array();
$bnr['id'] = $row;
$bnr['description'] = Tools::getValue('desc_'.$row);
$bnr['image_link'] = Tools::getValue('link_'.$row);
$bnr['image_name'] = Tools::getValue('image_name_'.$row);
$bnr['block_id'] = Tools::getValue('block_'.$row);
$bnr['order'] = Tools::getValue('order_'.$row);
$bnr['blank'] = (Tools::getValue('blank_'.$row) ? '1' : '0');
$bnr['active'] = (Tools::getValue('active_'.$row) ? '1' : '0');
$bnrs[] = $bnr;
}
if ($this->saveBanners($bnrs)){
/*Lang Variables*/ $modOk = $this->l('Ok'); $modUpdated = $this->l('Banners Updated Successfully');
$this->_html .= "
{$modUpdated}
{$modUpdated}