Viewing file: module.php (7.92 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<? class Banners { var $UserMode = false; var $AdminMode = true; var $AdminAsynchMode = true; var $SearchMode = false; var $PanelMode = true; var $BannersTable; var $GroupsTable; var $Directory; var $FilesDirectory; var $ClassName = 'Banners'; function Banners() { $this->FilesDirectory = "data/links/"; $this->Directory = dirname(__FILE__); $this->BannersTable = new AMTable2('AMCMS_banners'); $this->BannersTable->AddIndexField('banner_id'); $this->BannersTable->Module($this->ClassName); $this->BannersTable->AddPositionField("banner_position"); $this->GroupsTable = new AMTable2('AMCMS_banners_groups'); $this->GroupsTable->AddIndexField('group_id'); $this->GroupsTable->Module($this->ClassName); $this->GroupsTable->AddPositionField("group_position"); } function User() { global $language, $ULANG; } function Menu() { global $ALANG; return array( array('title' => $ALANG['BannersMenuAdd'], 'link' => '?mod='.__CLASS__.'&banners&add'), array('title' => $ALANG['BannersMenuList'], 'link' => '?mod='.__CLASS__.'&banners&list'), array('title' => $ALANG['BannersMenuGroupAdd'], 'link' => '?mod='.__CLASS__.'&groups&add'), array('title' => $ALANG['BannersMenuGroupsList'], 'link' => '?mod='.__CLASS__.'&groups&list'), ); } function Admin() { global $ALANG, $alang, $_LANG_ID; $smarty = GetAdminSmarty($this->ClassName); if (isset($_GET['groups']) && isset($_GET['add'])) { if (isset($_POST['add'])) { $id = $this->GroupsTable->Insert($_POST); header("Location: ?mod=".__CLASS__."&groups&list"); } $smarty->assign('oper', 'add'); $result['Title'] = $ALANG['BannersGroupAdd']; $result['Content'] = $smarty->fetch('group.tpl'); return $result; } if (isset($_GET['groups']) && isset($_GET['list'])) { $fields = array("group_title_".GetParam("DefaultLanguage")); $captions = array($ALANG['Banners_group_title']); $order = "group_position DESC"; $links = array("checkbox", "delete", "edit"); $multiple = array("delete"); $params = array("sortable" => "yes", "id" => "banners"); $html = $this->GroupsTable->GetAdminTable($fields, $captions, $conditions, $order, $links, $multiple, $params); $result['Title'] = $ALANG['BannersGroupsList']; $result['Content'] = $html; return $result; } if (isset($_GET['edit']) && isset($_GET['group_id'])) { $id = $_GET['group_id']; $row = $this->GroupsTable->GetRowById($id); if (isset($_POST['edit'])) { $this->GroupsTable->Update($_POST, $id); header("Location: ?mod=".$this->ClassName."&groups&list"); } foreach($row as $key => $value) $smarty->assign($key, $value); $smarty->assign('oper', 'edit'); $result['Title'] = $ALANG['BannersGroupEdit']; $result['Content'] = $smarty->fetch('group.tpl'); return $result; } if (isset($_GET['banners']) && isset($_GET['list'])) { $groups = $this->GroupsTable->GetRows("group_position DESC"); foreach($groups as $group) { $fields = array("banner_title_".GetParam("DefaultLanguage")); $captions = array($ALANG['Banners_banner_title']); $conditions = array("banner_group_id = '{$group['group_id']}'"); $order = "banner_position DESC"; $links = array("checkbox", "delete", "edit"); $multiple = array("delete"); $params = array("sortable" => "yes", "id" => "group".$group['group_id']); $html .= "<div class=\"page-subtitle\">".$group['group_title_'.GetParam("DefaultLanguage")]."</div>"; $html .= $this->BannersTable->GetAdminTable($fields, $captions, $conditions, $order, $links, $multiple, $params); } $result['pagename'] = $ALANG['BannerList']; $result['Title'] = $ALANG['BannersList']; $result['Content'] = $html; return $result; } if (isset($_GET['banners'])&& isset($_GET['add'])) { if (isset($_POST['add'])) { $id = $this->BannersTable->Insert($_POST); foreach($_LANG_ID as $key => $lang) { if ($_FILES['banner_filename_'.$lang]['type'] == 'image/jpeg') copy($_FILES['banner_filename_'.$lang]['tmp_name'], $this->FilesDirectory."{$id}_{$lang}.jpeg"); if ($_FILES['banner_filename_'.$lang]['type'] == 'image/gif') copy($_FILES['banner_filename_'.$lang]['tmp_name'], $this->FilesDirectory."{$id}_{$lang}.gif"); } header("Location: ?mod=".__CLASS__."&banners&list"); die; } foreach($_POST as $key => $value) $smarty->assign($key, $value); $groups = $this->GroupsTable->GetRows(); $smarty->assign('groups', $groups); $smarty->assign('oper', 'add'); $result['Title'] = $ALANG['BannersAdd']; $result['Content'] = $smarty->fetch('banner.tpl'); return $result; } if (isset($_GET['edit']) && isset($_GET['banner_id'])) { if (isset($_POST['edit'])) { $error = $this->BannersTable->Update($_POST, $_GET['banner_id']); $id = $_GET['banner_id']; foreach($_LANG_ID as $key => $lang) { if ($_FILES['banner_filename_'.$lang]['type'] == 'image/jpeg') { @unlink($this->FilesDirectory."{$id}_{$lang}.jpeg"); @unlink($this->FilesDirectory."{$id}_{$lang}.gif"); copy($_FILES['banner_filename_'.$lang]['tmp_name'], $this->FilesDirectory."{$id}_{$lang}.jpeg"); } if ($_FILES['banner_filename_'.$lang]['type'] == 'image/gif') { @unlink($this->FilesDirectory."{$id}_{$lang}.jpeg"); @unlink($this->FilesDirectory."{$id}_{$lang}.gif"); copy($_FILES['banner_filename_'.$lang]['tmp_name'], $this->FilesDirectory."{$id}_{$lang}.gif"); } } $row = $this->BannersTable->GetRowById($_GET['banner_id']); header("Location: ?mod=".__CLASS__."&banners&list"); die; } $row = $this->BannersTable->GetRowById($_GET['banner_id']); foreach($row as $key => $value) $smarty->assign($key, $value); $groups = $this->GroupsTable->GetRows(); $smarty->assign('groups', $groups); $filename_oper_html = ""; $count = 0; foreach ($_LANG_ID as $key => $lang) { $banner_file[$lang] = "data/links/".$_GET['banner_id']."_{$alang}.jpeg"; if (file_exists($banner_file[$lang])) { $smarty->assign('banner_image_'.$alang, $banner_file[$lang]); $count++; } $banner_file[$lang] = $this->FilesDirectory.$_GET['banner_id']."_{$alang}.gif"; if (file_exists($banner_file[$lang])) { $smarty->assign('banner_image_'.$alang, $banner_file[$lang]); $count++; } } $smarty->assign($key, $value); $smarty->assign('oper', 'edit'); $result['Title'] = $ALANG['BannersEdit']; $result['Content'] = $smarty->fetch('banner.tpl'); return $result; } } function Panel() { global $ULANG, $ulang; $groups = $this->GroupsTable->GetRows(); $smarty = GetUserSmarty($this->ClassName); foreach($groups as $group) { $banners = $this->BannersTable->GetRows("banner_position DESC", "banner_group_id = '{$group['group_id']}'"); $html = ""; foreach($banners as $row) { $id = $row['banner_id']; $link = $row['banner_link_'.$ulang]; $filename = ""; if (file_exists("data/links/{$id}_{$ulang}.jpeg")) $filename = "/data/links/{$id}_{$ulang}.jpeg"; if (file_exists("data/links/{$id}_{$ulang}.gif")) $filename = "/data/links/{$id}_{$ulang}.gif"; if ($filename != "") $html .= "<div class=\"banner\"><a href=\"{$link}\" target=\"{$row['banner_target']}\"><img src=\"{$filename}\" title=\"{$row['banner_title_'.$ulang]}\"/></a></div>"; } $result['Banner'.$group['group_id']] = array('Title' => $group['group_title_'.$ulang]." ", 'Module' => $this->ClassName, 'Content' => $html); } return $result; } function AdminAsynch() { $this->GroupsTable->Run($_POST); $this->BannersTable->Run($_POST); } }
$Modules ['Banners'] = new Banners(); ?>
|