* @package astat core * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id$ */ If (!defined("in_BL_ADMIN")) { die("Dieses Script kann nicht ausserhalb des Frameworks laufen!"); } $addnav["right"]=FALSE; $session->page_begin("editgroup", True); class editgroup_panel extends admin_module{ function output(){ global $session,$config,$db,$panel,$admin,$module,$root,$firephp,$log; if(isset($_GET["editgroup"]) && $_GET["editgroup"]!=""){ if(isset($_POST["send"]) && !empty($_POST["name"]) && !empty($_POST["group"])){ if(!empty($_POST["name"])){ $id=intval($_POST["group"]); $db->query("UPDATE `" . $config["prefix"] . "role` SET `role_name`='".$db->escape($_POST["name"])."' WHERE id='".$id."'"); unset($_POST["name"]); unset($_POST["submit"]); unset($_POST["send"]); unset($_POST["group"]); $db->query("DELETE FROM `" . $config["prefix"] . "roleset` WHERE `role_id`='".$id."'"); foreach($_POST as $key=>$value){ $db->query("INSERT INTO `" . $config["prefix"] . "roleset` (`role_id`,`role_value_id`,`value`) VALUES ('".$id."','".intval($key)."','".$db->escape($value)."')"); } $panel->admin_message("Daten übernommen!","Die Daten wurden erfolgreich übernommen.",True,"editgroup",3); }else{ $panel->admin_message("Fehler!","Der Rollenname muss ausgefüllt werden.",True,"editgroup",3); } }else{ $result = $db->query("SELECT * FROM `" . $config["prefix"] . "role` WHERE id='".intval($_GET["editgroup"])."'"); $data = $db->fetch_array($result); $panel->title="Gruppe editieren"; $panel->content='Hier kann man Benutzergruppen bearbeiten.'; $panel->form(array("action"=>$config["path"]."/admin/index.php?panel=editgroup&editgroup=".$data["id"])); $panel->content.="

Gruppename:

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

"; $panel->content.=""; $result = $db->query("SELECT * FROM " . $config["prefix"] . "role_values"); while ($row = $db->fetch_array($result)){ $rval =$db->fetch_array($db->query("SELECT value FROM `" . $config["prefix"] . "roleset` WHERE role_value_id='".$row["id"]."' AND role_id='".$data["id"]."'")); $row["value"]=$rval["value"]; $rdata[]=$row; } foreach ($rdata as $d){ $panel->content.=""; } $panel->content.="
Rechte
".$d["text"].":
".$this->get_option($d["type"],$d["id"],$d["value"])."

"; $panel->field(array("name"=>"send","typ"=>"hidden","value"=>"1")); $panel->field(array("name"=>"group","typ"=>"hidden","value"=>$data["id"])); $panel->content.="
"; $panel->submit(); $panel->formClose(); $panel->parse_page(); } }elseif($_GET["action"]=="delete" && $_GET["group"]){ $result=$db->query("SELECT id FROM `" . $config["prefix"] . "role` where `role_name`='User' LIMIT 1"); $row = $db->fetch_array($result); $db->query("UPDATE `" . $config["prefix"] . "users` SET `role`='".$row["id"]."' WHERE `role`='".intval($_GET["group"])."'"); $db->query("DELETE FROM `" . $config["prefix"] . "role` WHERE id='".intval($_GET["group"])."'"); $db->query("DELETE FROM `" . $config["prefix"] . "roleset` WHERE role_id='".intval($_GET["group"])."'"); $panel->admin_message("Usergruppe gelöscht!","Die Gruppe wurde erfolgreich gelöscht.",True,"editgroup",3); }else{ $result=$db->query("SELECT * FROM `" . $config["prefix"] . "role`"); while ($row = $db->fetch_array($result)){ $role[]=$row; } $panel->title="Vorhandene Rollen"; $panel->content.=""; if(!empty($role)){ foreach($role as $u){ $panel->content.=""; if(!$u["special_group"]){ $panel->content.=""; }else{ $panel->content.=""; } } }else{ $panel->content.=""; } $panel->content.="
ID Name Aktionen
".$u["id"]." ".$u["role_name"]."
Keine Rollen vorhanden.

"; } } function get_option($option,$name,$value) { global $config,$db,$panel,$userinfo,$admin,$root,$firephp; if($option=="yesno"){ $checked["yes"]=""; $checked["no"]=""; if($value==1||$value==True||$value=="yes"){ $checked["yes"]='checked="checked"'; }else{ $checked["no"]='checked="checked"'; } $yn=$panel->radio(array("name"=>$name,"value"=>"1"),$checked["yes"],TRUE); $yn.="Ja"; $yn.=$panel->radio(array("name"=>$name,"value"=>"0"),$checked["no"],TRUE); $yn.="Nein"; return $yn; } if($option=="onoff"){ $checked["on"]=""; $checked["off"]=""; if($value==1||$value==True||$value=="on"){ $checked["on"]='checked="checked"'; }else{ $checked["off"]='checked="checked"'; } $yn=$panel->radio(array("name"=>$name,"value"=>"1"),$checked["on"],TRUE); $yn.="An"; $yn.=$panel->radio(array("name"=>$name,"value"=>"0"),$checked["off"],TRUE); $yn.="Aus"; return $yn; } if($option=="text"){ $text=$panel->field(array("name"=>$name,"typ"=>"text","value"=>$value),"",TRUE); return $text; } if(strstr($option,"wysiwyg")){ $string=str_replace("wysiwyg(","",substr($option, 0, -1)); $sarr=explode(";",$string); foreach($sarr as $str){ $substr=explode("|",$str); $a_name[]=$substr[0]; $value[]=$substr[1]; } if(is_array($sarr)){ $text=$panel->textarea(array("name"=>$name,"value"=>$value, $a_name[0]=>$value[0],$a_name[1]=>$value[1]),"class=\"mceEditor\"",TRUE); }else{ $text=$panel->textarea(array("name"=>$name,"value"=>$value),"class=\"mceEditor\"",TRUE); } return $text; } if(strstr($option,"textarea")){ $string=str_replace("textarea(","",substr($option, 0, -1)); $sarr=explode(";",$string); foreach($sarr as $str){ $substr=explode("|",$str); $a_name[]=$substr[0]; $value[]=$substr[1]; } if(is_array($sarr)){ $text=$panel->textarea(array("name"=>$name,"value"=>$value, $a_name[0]=>$value[0],$a_name[1]=>$value[1]),"",TRUE); }else{ $text=$panel->textarea(array("name"=>$name,"value"=>$value),"",TRUE); } return $text; } if(strstr($option,"select")){ //$text=$panel->field("text",$name,"value=\"".$config[$name]."\"",TRUE); $string=str_replace("select(","",substr($option, 0, -1)); $sarr=explode(";",$string); foreach($sarr as $str){ $substr=explode("|",$str); $values[$substr[0]]=$substr[1]; } $select=$panel->select($values,$value,$name,"",TRUE); return $select; } } function meta() { global $module,$config,$db,$panel,$userinfo,$admin,$root; $meta=' '; return $meta; } } ?>