Viewing file: module.php (15.81 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<? class Departments { var $UserMode = true; var $AdminMode = true; var $AdminAsynchMode = true; var $SearchMode = false; var $PanelMode = false; var $DepartmentsTable; var $PagesTable; var $Directory; var $Photomanager; var $ClassName = 'Departments'; function Departments() { $this->Directory = dirname(__FILE__); $this->DepartmentsTable = new AMTable2('AMCMS_departments'); $this->DepartmentsTable->Module($this->ClassName); $this->DepartmentsTable->AddIndexField('depart_id'); $this->DepartmentsTable->AddPositionField("depart_position"); $this->PagesTable = new AMTable2('AMCMS_departments_pages'); $this->PagesTable->Module($this->ClassName); $this->PagesTable->AddIndexField('page_id'); $this->PagesTable->AddPositionField("page_position"); $params['text']['small'] = GetParam("PagesSmallPhotoSize"); $params['text']['big'] = GetParam("PagesBigPhotoSize"); $this->Photomanager = new AMPhotomanager($params); /* if ($_SESSION['admin_access']['admin_type'] != 'main') $this->DepartmentsTable->AllowOnly($_SESSION['admin_access'][$this->ClassName]);*/ } function AdminAsynch() { global $DefaultAdminLanguage, $ALANG; $this->DepartmentsTable->Run($_POST); $this->PagesTable->Run($_POST); }
function User() { global $ulang, $ULANG; if (!isset($_GET['depart_id']) && !isset($_GET['page_id'])) { $rows = $this->DepartmentsTable->GetRows("depart_position DESC"); $html = "<table class=\"DepartmentsTable\">"; $index = 1; $html .= "<th style=\"width:30px;\"> </th>"; $html .= "<th>Назва</th>"; $html .= "<th>Начальник</th>"; $html .= "<th style=\"width:150px;\">Телефон</th>"; $html .= "</tr>"; foreach($rows as $key => $value) { $html .= "<tr>"; $html .= "<td>{$index}.</td>"; $link = "/departments/{$value['depart_id']}"; $html .= "<td><a href=\"$link\">".$value['depart_name_'.$ulang]."</a></td>"; $html .= "<td>".$value['depart_manager_'.$ulang]."</td>"; $html .= "<td>".$value['depart_phone']."</td>"; $html .= "</tr>"; $index++; } $html .= "</table>"; $navigator = new AMNavigator(); $navigator->AddLink("Департаменти, управління та відділи", "/departments"); $result['Title'] = $ULANG['DepartmentsName']; $result['Content'] = $html; $result['GlobalParams']['Navigator'] = $navigator->Fetch(); $result['GlobalParams']['PageTitle'] = $navigator->GetTitleForPage(); $result['Module'] = $this->ClassName; $result['Print'] = true; return $result; } if (isset($_GET['depart_id'])) { $row = $this->DepartmentsTable->GetRowById($_GET['depart_id']); if (!$row) return; $rows1 = $this->PagesTable->GetRows("page_position DESC", "(page_depart_id='".$_GET['depart_id']."') AND (page_type = '1')"); $rows2 = $this->PagesTable->GetRows("page_position DESC", "(page_depart_id='".$_GET['depart_id']."') AND (page_type = '2')"); $rcnt1 = count($rows1); $rcnt2 = count($rows2); $rcnt = $rcnt1 + $rnct2; $filename = "data/departments/".$_GET['depart_id'].".jpg"; $filename_big = "data/departments/".$_GET['depart_id']."_big.jpg"; $html = ""; if (file_exists($filename)) { if (file_exists($filename_big)) $flag = true; if ($flag) $html = "<a class=\"fancybox\" href=\"/{$filename_big}\" >"; $html .= "<img src=\"/{$filename}\" style=\"float:left;\" hspace=\"5\" vspace=\"5\" />"; if ($flag) $html .= "</a>"; } $html .= "<table class=\"DepInfoTable\">"; /*if (strlen(trim($row['depart_name_'.$ulang])) > 0) { $html .="<tr>"; $html .=" <td style=\"text-align:right;\">".$ULANG['DepartmentName'].":</td>"; $html .=" <td><img src=\"/user/images/departments/contact_list.png\" /></td>"; $html .=" <td>".$row['depart_name_'.$ulang]."</td>"; $html .="</tr>"; }*/ if (strlen(trim($row['depart_address_'.$ulang])) > 0) { $html .="<tr>"; $html .=" <td style=\"text-align:right;\">Адреса:</td>"; $html .=" <td><img src=\"/user/images/departments/home.png\" /></td>"; $html .=" <td style=\"width:100%;\">".$row['depart_address_'.$ulang]."</td>"; $html .="</tr>"; } if (strlen(trim($row['depart_manager_'.$ulang])) > 0) { $html .="<tr>"; $html .=" <td style=\"text-align:right;\">Начальник:</td>"; $html .=" <td><img src=\"/user/images/departments/contact_list.png\" /></td>"; $html .=" <td>".$row['depart_manager_'.$ulang]."</td>"; $html .="</tr>"; } if (strlen(trim($row['depart_phone'])) > 0) { $html .="<tr>"; $html .=" <td style=\"text-align:right;\">Телефон:</td>"; $html .=" <td><img src=\"/user/images/departments/phone.png\" /></td>"; $html .=" <td>".$row['depart_phone']."</td>"; $html .="</tr>"; } if (strlen(trim($row['depart_email'])) > 0) { $html .="<tr>"; $html .=" <td style=\"text-align:right;\">E-mail:</td>"; $html .=" <td><img src=\"/user/images/departments/email.png\" /></td>"; $html .=" <td>".$row['depart_email']."</td>"; $html .="</tr>"; } $html .= "</table>"; $html .= "<div style=\"clear:both;\">"; $html .= $row['depart_description_'.$ulang]; $html .= "</div>"; if ($rcnt > 0) { $html .="<table class=\"DepartmentsPagesTable\">"; if ($rcnt1 > 0) { $html .="<tr>"; $html .=" <th>Інформація про {$row['depart_name_ukr']}:</th>"; $html .="</tr>"; foreach($rows1 as $key => $value) { $html .="<tr>"; $link = "/departments/{$row['depart_id']}/{$value['page_id']}"; $html .=" <td><a href=\"$link\">".$value['page_title_'.$ulang]."</a></td>"; $html .="</tr>"; } } if ($rcnt2 > 0) { $html .="<tr>"; $html .=" <th>Сторінки:</th>"; $html .="</tr>"; foreach($rows2 as $key => $value) { $html .="<tr>"; $link = "/departments/{$row['depart_id']}/{$value['page_id']}"; $html .=" <td><a href=\"$link\">".$value['page_title_'.$ulang]."</a></td>"; $html .="</tr>"; } } $html .="</table>"; } $navigator = new AMNavigator(); $navigator->AddLink("Департаменти, управління та відділи", "/departments"); $navigator->AddLink($row['depart_name_ukr'], "/departments/".$_GET['depart_id']); $result['Title'] = $row['depart_name_ukr']; $result['Content'] = $html; $result['GlobalParams']['Navigator'] = $navigator->Fetch(); $result['GlobalParams']['PageTitle'] = $navigator->GetTitleForPage(); $result['Module'] = $this->ClassName; $result['Print'] = true; return $result; } if (isset($_GET['page_id'])) { $page = $this->PagesTable->GetRowById($_GET['page_id']); $department = $this->DepartmentsTable->GetRowById($page['page_depart_id']); $navigator = new AMNavigator(); $navigator->AddLink("Департаменти, управління та відділи", "/departments"); $navigator->AddLink($department['depart_name_ukr'], "/departments/".$department['depart_id']); $navigator->AddLink($page['page_title_ukr'], "/departments/{$department['depart_id']}/{$page['page_id']}"); $result['Title'] = $page['page_title_ukr']; $result['Content'] = $page['page_text_ukr']; $result['GlobalParams']['Navigator'] = $navigator->Fetch(); $result['GlobalParams']['PageTitle'] = $navigator->GetTitleForPage(); $result['Module'] = $this->ClassName; $result['Print'] = true; return $result; return $result; } } function Menu() { global $ALANG; return array( array('title' => $ALANG['DepartAdd'], 'link' => '?mod='.$this->ClassName.'&DepartAdd'), array('title' => $ALANG['DepartList'], 'link' => '?mod='.$this->ClassName.'&DepartList'), array('title' => $ALANG['PagesPageAdd'], 'link' => '?mod='.$this->ClassName.'&page&add'), array('title' => $ALANG['PagesPageList'], 'link' => '?mod='.$this->ClassName.'&pages&list') ); } function Admin() { global $ALANG, $alang, $_LANG_ID; $smarty = GetAdminSmarty($this->ClassName); $departments = $this->DepartmentsTable->GetRows("depart_position DESC"); $smarty->assign('departments', $departments); if (isset($_GET['page']) && isset($_GET['add'])) { if (isset($_POST['add'])) { $_POST['page_date_of_creation'] = $_POST['page_date_of_edition'] = GetCurrentDateAndTime(); $id = $this->PagesTable->Insert($_POST); $this->Photomanager->Run($_POST, $_FILES, $this->ClassName, ($this->PagesTable->IndexField."=".$id)); header("Location: ?mod=".$this->ClassName."&page&list&depart_id={$_POST['page_depart_id']}"); } foreach($_POST as $key => $value) $smarty->assign($key, $value); $smarty->assign('oper', 'add'); $photo_admin_table1 = $this->Photomanager->GetAdminTable( $this->ClassName, ($this->PagesTable->IndexField."=".$id),'main'); $photo_admin_table2 = $this->Photomanager->GetAdminTable( $this->ClassName, ($this->PagesTable->IndexField."=".$id),'photos'); $smarty->assign('photo_admin_table1', $photo_admin_table1); $smarty->assign('photo_admin_table2', $photo_admin_table2); $result['Title'] = $ALANG['PagesPageAdd']; $result['Content'] = $smarty->fetch('page.tpl'); return $result; }
if (isset($_GET['pages'])&&isset($_GET['list'])) { $depart_id = $departments[0]['depart_id']; if (isset($_GET['depart_id'])) $depart_id = $_GET['depart_id']; if (isset($_POST['depart_id'])) $depart_id = $_POST['depart_id']; $smarty->assign("depart_id", $depart_id); $fields = array("page_id", "page_title_".GetParam("DefaultLanguage")); $captions = array($ALANG['Pages_page_id'], $ALANG['Pages_page_title']); $conditions = array("page_depart_id = '$depart_id'", "page_type = '1'"); $order = "page_position DESC"; $links = array("checkbox", "delete", "edit"); $params = array("sortable" => "yes", "id" => "pages"); $multi = array("delete"); $html1 = "<div class=\"AdminTableTitle\">{$ALANG['InfoAboutDepartment']}</div>".$this->PagesTable->GetAdminTable($fields, $captions, $conditions, $order, $links, $multi, $params);
$fields = array("page_id", "page_title_".GetParam("DefaultLanguage")); $captions = array($ALANG['Pages_page_id'], $ALANG['Pages_page_title']); $conditions = array("page_depart_id = '$depart_id'", "page_type = '2'"); $order = "page_position DESC"; $links = array("checkbox", "delete", "edit"); $params = array("sortable" => "yes", "id" => "pages"); $multi = array("delete"); $html2 = "<div class=\"AdminTableTitle\">{$ALANG['InfoFromDepartment']}</div>".$this->PagesTable->GetAdminTable($fields, $captions, $conditions, $order, $links, $multi, $params); $result['Title'] = $ALANG['PagesMenuPagesList']; $result['Content'] = $smarty->fetch("selector.tpl").$html1.$html2; return $result; } if (isset($_GET['edit']) && isset($_GET['page_id'])) { if (isset($_POST['edit'])) { $id = $_GET['page_id']; $_POST['page_date_of_edition'] = GetCurrentDateAndTime(); $this->PagesTable->Update($_POST, $id); $this->Photomanager->Run($_POST, $_FILES, $this->ClassName, ($this->PagesTable->IndexField."=".$id)); header("Location: ?mod=".$this->ClassName."&pages&list&depart_id={$_POST['page_depart_id']}"); } $id = $_GET['page_id']; $row = $this->PagesTable->GetRowById($id); foreach($row as $key => $value) $smarty->assign($key, $value); $smarty->assign($key, $value); $smarty->assign('oper', 'edit');
$photo_admin_table1 = $this->Photomanager->GetAdminTable( $this->ClassName, ($this->PagesTable->IndexField."=".$id),'main'); $photo_admin_table2 = $this->Photomanager->GetAdminTable( $this->ClassName, ($this->PagesTable->IndexField."=".$id),'photos'); $smarty->assign('photo_admin_table1', $photo_admin_table1); $smarty->assign('photo_admin_table2', $photo_admin_table2);
$result['Title'] = $ALANG['PagesPageEdit']; $result['Content'] = $smarty->fetch('page.tpl'); return $result; } if (isset($_GET['DepartList'])) { $fields = array("depart_name_".GetParam("DefaultLanguage")); $captions = array($ALANG['']); $conditions = array("true"); $order = "depart_position DESC"; $links = array("checkbox", "delete", "edit"); $multiple = array("delete"); $params = array("sortable" => "yes", "id" => "departments"); $html = $this->DepartmentsTable->GetAdminTable($fields, $captions, $conditions, $order, $links, $multiple, $params);
$result['Title'] = $ALANG['DepartsList']; $result['Content'] = $html; return $result; } if (isset($_GET['DepartAdd']) && isset($_POST['DepartAdd'])) { foreach($_LANG_ID as $key => $value) $_POST['depart_name_'.$value] = ClearStringForTitle($_POST['depart_name_'.$value]); $id = $this->DepartmentsTable->InsertRecord($_POST, array('depart_name', 'depart_manager', 'depart_address', 'depart_phone', 'depart_fax', 'depart_email', 'depart_description')); if ($_POST['photo'] == 'delete') @unlink("data/departments/".$id.".jpg"); if ($_POST['photo'] == 'new') { $src = $_FILES['depart_filename']['tmp_name']; $dest = 'data/departments/'.$id.".jpg"; $dest2 = 'data/departments/'.$id."_big.jpg"; ImageResize($src, $dest, 190, 800, 0xFFFFFF, 80); ImageResize($src, $dest, 1024, 768, 0xFFFFFF, 75); } if ($id) { header("Location: ?mod=".$this->ClassName."&DepartList"); die; } else { echo mysql_error(); $result['error'] = mysql_error(); } } if (isset($_GET['DepartAdd'])) { if (isset($_POST['add'])) { $depart_id = $this->DepartmentsTable->Insert($_POST); if ($_POST['photo'] == 'delete') { @unlink("data/departments/".$depart_id.".jpg"); @unlink("data/departments/".$depart_id."_big.jpg"); } if (isset($_FILES['depart_filename']['tmp_name'])) { $src = $_FILES['depart_filename']['tmp_name']; $dest = 'data/departments/'.$depart_id.".jpg"; $dest2 = 'data/departments/'.$depart_id."_big.jpg"; ImageResize($src, $dest, 190, 800, 0xFFFFFF, 80); ImageResize($src, $dest2, 1024, 768, 0xFFFFFF, 75); } header("Location: ?mod=".$this->ClassName."&DepartList&depart_id=".$depart_id); die; } $smarty->assign('oper', 'add'); $html = $smarty->fetch("department.tpl"); $result['Title'] = $ALANG['DepartAdding']; $result['Content'] = $html; return $result; } if (isset($_GET['edit']) && isset($_GET['depart_id'])) { if (isset($_POST['edit'])) { $error = $this->DepartmentsTable->Update($_POST, $_GET['depart_id']); if ($_POST['photo'] == 'delete') { @unlink("data/departments/".$_GET['depart_id'].".jpg"); @unlink("data/departments/".$_GET['depart_id']."_big.jpg"); } if (isset($_FILES['depart_filename']['tmp_name'])) { $src = $_FILES['depart_filename']['tmp_name']; $dest = 'data/departments/'.$_GET['depart_id'].".jpg"; $dest2 = 'data/departments/'.$_GET['depart_id']."_big.jpg"; ImageResize($src, $dest, 190, 800, 0xFFFFFF, 80); ImageResize($src, $dest2, 1024, 768, 0xFFFFFF, 75); } header("Location: ?mod=".$this->ClassName."&DepartList&depart_id=".$_GET['depart_id']); die; } $row = $this->DepartmentsTable->GetRowById($_GET['depart_id']); foreach($row as $key => $value) $smarty->assign($key, $value); $smarty->assign('oper', 'edit'); $html = $smarty->fetch("department.tpl"); $result['Title'] = $ALANG['DepartEdit']; $result['Content'] = $html; return $result; } } } $Modules ['Departments'] = new Departments(); ?>
|