72 lines
1.5 KiB
PHP
72 lines
1.5 KiB
PHP
<?PHP
|
||
|
||
require_once('api/Simpla.php');
|
||
|
||
########################################
|
||
class PagesAdmin extends Simpla
|
||
{
|
||
|
||
public function fetch()
|
||
{
|
||
|
||
// Меню
|
||
$menus = $this->pages->get_menus();
|
||
$this->design->assign('menus', $menus);
|
||
|
||
// Текущее меню
|
||
$menu_id = $this->request->get('menu_id', 'integer');
|
||
if(!$menu_id || !$menu = $this->pages->get_menu($menu_id))
|
||
{
|
||
$menu = reset($menus);
|
||
}
|
||
$this->design->assign('menu', $menu);
|
||
|
||
|
||
// Обработка действий
|
||
if($this->request->method('post'))
|
||
{
|
||
// Сортировка
|
||
$positions = $this->request->post('positions');
|
||
$ids = array_keys($positions);
|
||
sort($positions);
|
||
foreach($positions as $i=>$position)
|
||
$this->pages->update_page($ids[$i], array('position'=>$position));
|
||
|
||
|
||
// Действия с выбранными
|
||
$ids = $this->request->post('check');
|
||
if(is_array($ids))
|
||
switch($this->request->post('action'))
|
||
{
|
||
case 'disable':
|
||
{
|
||
$this->pages->update_page($ids, array('visible'=>0));
|
||
break;
|
||
}
|
||
case 'enable':
|
||
{
|
||
$this->pages->update_page($ids, array('visible'=>1));
|
||
break;
|
||
}
|
||
case 'delete':
|
||
{
|
||
foreach($ids as $id)
|
||
$this->pages->delete_page($id);
|
||
break;
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
// Отображение
|
||
$pages = $this->pages->get_pages(array('menu_id'=>$menu->id));
|
||
|
||
$this->design->assign('pages', $pages);
|
||
return $this->design->fetch('pages.tpl');
|
||
}
|
||
}
|
||
|
||
|
||
?>
|