* @package BeCast WebEngine core * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id: 3b8272c8cbeb69ce9d3bda8405887ab373a19d9e $ */ If (!defined("IN_BCWE_ADMIN")) { die("Dieses Script kann nicht ausserhalb des Frameworks laufen!"); } $addnav["right"]=FALSE; $session->page_begin("Sort", True); class navigation_panel extends admin_module{ function output(){ global $module,$config,$db,$panel,$cache,$log,$plugin,$mainmodule,$asmodule; if(isset($_POST['left']) && !empty($_POST['left'])){ $order_array = explode('&', $_POST['left']); foreach($order_array as $position=>$id) { $id=str_replace('left[]=','',$id); if($id=='nugget'){ $db->query("INSERT INTO `" . $config["prefix"] . "navigation` (name,side,sort) VALUES ('HTML-Block','l','".$position."')"); }elseif(!intval($id)){ $db->query("INSERT INTO `" . $config["prefix"] . "navigation` (name,side,sort,file) VALUES ('".$db->escape($id)."','l','".$position."','".$db->escape($id)."')"); }else{ $db->query("UPDATE `" . $config["prefix"] . "navigation` set side='l',sort='".$position."' WHERE id='".$id."'"); } } $cache->update_sidebars(); } if(isset($_POST['right']) && !empty($_POST['right'])){ var_dump($_POST); $order_array = explode('&', $_POST['right']); foreach($order_array as $position=>$id) { $id=str_replace('right[]=','',$id); if($id=='nugget'){ $db->query("INSERT INTO `" . $config["prefix"] . "navigation` (name,side,sort) VALUES ('HTML-Block','r','".$position."')"); }elseif(!intval($id)){ $db->query("INSERT INTO `" . $config["prefix"] . "navigation` (name,side,sort,file) VALUES ('".$db->escape($id)."','r','".$position."','".$db->escape($id)."')"); }else{ $db->query("UPDATE `" . $config["prefix"] . "navigation` set side='r',sort='".$position."' WHERE id='".$id."'"); } } $cache->update_sidebars(); } if(isset($_POST['main']) && !empty($_POST['main'])){ $order_array = explode('&', $_POST['main']); foreach($order_array as $position=>$id) { $id=str_replace('main[]=','',$id); if($id=='nugget'){ $db->query("INSERT INTO `" . $config["prefix"] . "navigation` (name,side,sort) VALUES ('HTML-Block','m','".$position."')"); }elseif(!intval($id)){ $db->query("INSERT INTO `" . $config["prefix"] . "navigation` (name,side,sort,file) VALUES ('".$db->escape($id)."','m','".$position."','frontpage_".$db->escape($id)."')"); }else{ $db->query("UPDATE `" . $config["prefix"] . "navigation` set side='m',sort='".$position."' WHERE id='".$id."'"); } } $cache->update_sidebars(); } if(isset($_POST['delete'])){ $id=str_replace('id_','',$_POST['delete']); $db->query("DELETE FROM `" . $config["prefix"] . "navigation` WHERE id='".$id."'"); $cache->update_sidebars(); } if(isset($_GET['editprop']) && $_GET['editprop']!=''){ if(isset($_POST['send']) && !empty($_POST['name']) && !empty($_POST['id'])){ $db->query("UPDATE `" . $config["prefix"] . "navigation` set name='".$db->escape($_POST["name"])."',content='".$db->escape(str_replace("&","&",$_POST["content"]))."' WHERE id='".intval($_POST["id"])."'"); $cache->update_sidebars(); $panel->admin_message('Daten übernommen!','Die Daten wurden erfolgreich übernommen.',True,'navigation',3); }else{ $panel->title='Navigationsverwaltung'; $panel->form(array('action'=>$config['path'].'/admin/index.php?panel=navigation&editprop='.$_GET['editprop'])); $result=$db->query('SELECT * FROM `' . $config['prefix'] . 'navigation` WHERE id=\''.intval($_GET['editprop']).'\''); $data = $db->fetch_array($result); $panel->content.='

Titel:

'; $panel->field(array('name'=>'name','typ'=>'text','value'=>$data['name'])); if($data['file']==''){ $panel->content.='

Inhalt:

'; $panel->textarea(array('name'=>'content','value'=>$data['content'],'rows'=>20,'cols'=>60)); }else{ $panel->content.='
Dieses Modul wird von einer Navigationsdatei bereitgestellt.'; } $panel->content.='
'; $panel->field(array('name'=>'send','typ'=>'hidden','value'=>'1')); $panel->field(array('name'=>'id','typ'=>'hidden','value'=>$_GET['editprop'])); $panel->submit(); $panel->formClose(); $panel->parse_page(); } }elseif(isset($_GET['editmain']) && $_GET['editmain']!=''){ if(isset($_POST['send']) && !empty($_POST['name']) && !empty($_POST['id'])){ $db->query("UPDATE `" . $config["prefix"] . "navigation` SET `name`='".$db->escape($_POST["name"])."',`valid`='".$db->escape($_POST["valid"])."',`content`='".$db->escape(str_replace("&","&",$_POST["content"]))."' WHERE `id`='".intval($_POST["id"])."'") or die($db->error()); $cache->update_sidebars(); $panel->admin_message('Daten übernommen!','Die Daten wurden erfolgreich übernommen.',True,'navigation',3); }else{ $panel->title='Navigationsverwaltung'; $panel->form(array('action'=>$config['path'].'/admin/index.php?panel=navigation&editmain='.$_GET['editmain'])); $result=$db->query('SELECT * FROM `' . $config['prefix'] . 'navigation` WHERE id=\''.intval($_GET['editmain']).'\''); $data = $db->fetch_array($result); $panel->content.='

Titel:

'; $panel->field(array('name'=>'name','typ'=>'text','value'=>$data['name'])); $panel->content.='

Gütigkeitsbereich:

'; $panel->select(array('Überall'=>'E','Startseite'=>'F'),$data['valid'],'valid'); if($data['file']==''){ $panel->content.='

Inhalt:

'; $panel->textarea(array('name'=>'content','value'=>$data['content'],'rows'=>20,'cols'=>60)); }else{ $panel->content.='
Dieses Modul wird von einer Datei bereitgestellt.'; } $panel->content.='
'; $panel->field(array('name'=>'send','typ'=>'hidden','value'=>'1')); $panel->field(array('name'=>'id','typ'=>'hidden','value'=>$_GET['editmain'])); $panel->submit(); $panel->formClose(); $panel->parse_page(); } }else{ $left=''; $right=''; $main=''; $asmodule=''; $mainmodule=''; $lresult=$db->query("SELECT * FROM `" . $config['prefix'] . "navigation` WHERE side='l' ORDER by sort"); while ($row = $db->fetch_array($lresult)){ $left.='
'.$row["name"].'
'; } $rresult=$db->query("SELECT * FROM `" . $config['prefix'] . "navigation` WHERE side='r' ORDER by sort"); while ($row = $db->fetch_array($rresult)){ $right.='
'.$row["name"].'
'; } $mresult=$db->query("SELECT * FROM `" . $config['prefix'] . "navigation` WHERE side='m' ORDER by sort"); while ($row = $db->fetch_array($mresult)){ if($row['name']=='maincontent'){ $main.='
Seitencontent
'; }else{ $main.='
'.$row["name"].'
'; } } $av_module=$this->avaiable_modules(); if(is_array($av_module)){ foreach($av_module as $module){ $asmodule.='
'.$module.'
'; } } $plugin->run_hook('navigation_mainmodule',array($mainmodule)); $plugin->run_hook('navigation_leftmodule',array($left)); $plugin->run_hook('navigation_rightmodule',array($right)); $panel->title='Navigationsverwaltung'; $panel->content='Hier kann man die Sortierung von Modulen verändern oder sie anders auf der Seite anordnen.

Links

'.$left.'

Hauptseite

'.$main.'

Verfügbare Module

HTML-Block
'.$asmodule.'

Verfügbare Hauptseitenmodule

HTML-Block
'.$mainmodule.'

'; $panel->foot=''; } } function avaiable_modules() { global $config,$db,$panel,$userinfo,$admin,$root,$firephp; $install_mods=array(); $nav=array(); $result=$db->query("SELECT * FROM `" . $config['prefix'] . "navigation`"); while ($row = $db->fetch_array($result)){ if($row['file']!=''){ $filename='nav_'.$row['file'].'.php'; $nav[$filename]=TRUE; } } $root = $_SERVER['DOCUMENT_ROOT'] . $config['path']; if ($dir = @opendir($root.'/nav_modules')){ while ($file = readdir($dir)){ if (is_file($root.'/nav_modules/'.$file) && strstr($file, 'nav_') && strstr($file, '.php')){ if (empty($nav[$file])) { $install_mods[] = str_replace('.php', '', $file); } } } return $install_mods; } } function meta() { global $module,$config,$db,$panel,$userinfo,$admin,$root; $meta=' '; return $meta; } } ?>