Viewing file: module.php (5.97 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<? class Partners { var $UserMode = true; var $AdminMode = true; var $SearchMode = false; var $PanelMode = false; var $AdminAsynchMode = true; var $Table; var $ClassName = 'Partners'; var $Photomanager; var $Directory; function Partners() { $this->Directory = dirname(__FILE__); $this->Table = new AMTable2('AMCMS_partners'); $this->Table->Module($this->ClassName); $this->Table->AddIndexField("partner_id"); $this->Table->AddPositionField("partner_position"); } function User() { global $ulang, $ULANG; if (isset($_GET['partner_id'])) {
$row = $this->Table->GetRowById($_GET['partner_id']); if ($row == null) return; $smarty = GetUserSmarty($this->ClassName); $smarty->assign('row', $row); $smarty->assign('mod', $this->ClassName); $navigator = new AMNavigator(); $title = $ulang == "ukr" ? "Міста-партнери" : "Partner Municipalities"; $navigator->AddLink($title, "/map"); $navigator->AddLink($row["partner_name_{$ulang}"], ""); $result['Title'] = $row["partner_name_{$ulang}"]; $result['Content'] = $smarty->fetch("user-page.tpl"); $result['GlobalParams']['Description'] = ""; $result['GlobalParams']['Navigator'] = $navigator->Fetch(); $result['GlobalParams']['PageTitle'] = $title; $result['Module'] = $this->ClassName; $result['Print'] = true; return $result; } } function Menu() { global $ALANG; return array( array('title' => "Додати місто", 'link' => '?mod='.$this->ClassName.'&add'), array('title' => "Список міст", 'link' => '?mod='.$this->ClassName.'&list'), ); } function Admin() { global $ALANG, $alang, $_LANG_ID; $smarty = GetAdminSmarty($this->ClassName); if (isset($_GET['list'])) { $fields = array("partner_name_ukr"); $captions = array("Місто-партнер"); $conditions = "true"; $order = "partner_name_ukr ASC"; $links = array("checkbox", "delete", "edit"); $multiple = array("delete", "toarhive"); $params = array("sortable" => "yes", "id" => "actual"); $html = $this->Table->GetAdminTable($fields, $captions, $conditions, $order, $links, $multiple, $params); $result['Title'] = "Список міст"; $result['Content'] = $html; return $result; } if (isset($_GET['add'])) { if (isset($_POST['oper']) && ($_POST['oper'] == 'add')) { $id = $this->Table->Insert($_POST); header("Location: ?mod=".$this->ClassName."&list"); } $smarty = GetAdminSmarty($this->ClassName); foreach($_POST as $key => $value) $smarty->assign($key, $value); $smarty->assign('oper', 'add'); $result['Title'] = "Додавання міста-партнера"; $result['Content'] = $smarty->fetch('partner.tpl'); return $result; } if (isset($_GET['edit']) && isset($_GET['partner_id'])) { $id = $_GET['partner_id']; $row = $this->Table->GetRowById($id); if (isset($_POST['oper']) && ($_POST['oper'] == 'edit')) { $this->Table->Update($_POST, $id); header("Location: ?mod=".$this->ClassName."&list"); } foreach($row as $key => $value) $smarty->assign($key, $value); $smarty->assign('oper', 'edit'); $result['Title'] = "Редагування інформації про місто-партнер"; $result['Content'] = $smarty->fetch('partner.tpl'); return $result; } } function Panel() { global $ULANG, $ulang; if (AMCMS_Cache::GetCacheFlag("Actual", "panel", "")) { $rows = $this->Table->GetRows("actual_position DESC", array("actual_type = '1'")); AMCMS_Cache::Save("Actual", "panel", "", serialize($rows)); AMCMS_Cache::SetCacheFlag("Actual", "panel", "", 0); } else $rows = unserialize(AMCMS_Cache::Load("Actual", "panel", "")); $smarty = GetUserSmarty($this->ClassName); $smarty->assign('rows', $rows); $smarty->assign('Photomanager', $this->Photomanager); $smarty->assign('mod', $this->ClassName); $result[$this->ClassName] = array( 'Title' => GetParam("Module".$this->ClassName."Panel", $ulang), 'Content' => $smarty->fetch("user-row.tpl"), 'Module' => $this->ClassName, 'Link' => array("Address" => "/actual", "Title" => $ULANG['ActualArchiveLinkTitle'], "Class" => "archive")); return $result; } function Search($words) { global $ulang, $ULANG; $fields = array("actual_title_".$ulang, "actual_short_text_".$ulang, "actual_description_".$ulang, "actual_text_".$ulang, "actual_keywords_".$ulang); $rows = SearchOnSite($words, array('actual_title_'.$ulang, "actual_date_of_creation"), 'actual_id', $fields, 'AMCMS_actual'); $searchRows = array(); if ($rows) foreach($rows as $key => $value) { $row['Module'] = $this->ClassName; $row['Date'] = $value['actual_date_of_creation']; $row['Title'] = $value['actual_title_'.$ulang]; $row['Link'] = $row['NewWindowLink'] = "/actual/{$value['actual_id']}"; $row['Relev'] = $value['relev']; $searchRows [] = $row; } return $searchRows; } function AdminAsynch() { global $alang, $ALANG; if (isset($_POST['oper']) && ($_POST['oper'] == 'toarchive')) { $id = $_POST['id']; $row['actual_date_of_archiving'] = GetCurrentDateAndTime(); $row['actual_type'] = 2; AMCMS_Cache::SetCacheFlag("Actual", "panel", "", 1); $this->Table->Update($row, $id); $res["status"] = "ok"; $res["code"] = $id; echo json_encode($res); die; } if (isset($_POST['oper']) && ($_POST['oper'] == 'fromarchive')) { $id = $_POST['id']; $row['actual_date_of_archiving'] = ""; $row['actual_type'] = 1; AMCMS_Cache::SetCacheFlag("Actual", "panel", "", 1); $this->Table->Update($row, $id); $res["status"] = "ok"; $res["code"] = $id; echo json_encode($res); die; } $this->Table->Run($_POST); AMCMS_Cache::SetCacheFlag("Actual", "panel", "", 1); } }
$Modules ['Partners'] = new Partners(); ?>
|