* @package BcWe core * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id$ */ $module["panel"]["name"]="Panel Class"; $module["panel"]["ver"]="0.3.8"; class panel { var string $sidebar=""; var string $page=""; var string $bodyext=""; var string $title=""; var string $content=""; var string $meta=""; var string $form=""; var string $foot=""; var string $head=""; var string $menu_items =""; function page($additional_title="",$meta=""){ global $config,$db,$core; return ' '.$config['sitetitle'].' '.$this->meta.' bodyext.'>
'.$this->menu().'
'.$this->page.'
'.$this->foot.' '; } function parse_page(){ $this->page.="

".$this->title."

".$this->content."

"; $this->title=""; $this->content=""; echo $this->page(); exit(); } function menu_item($panel,$text, $img=""): void { global $config, $userdata, $userinfo, $session, $meta; if($panel=="group_only"){ $this->menu_items.="
  • ".$text."
  • "; }elseif($panel=="admin_home"){ $this->menu_items.="
  • ".$img." ".$text."
  • "; }elseif($panel=="page_home"){ $this->menu_items.="
  • ".$img." ".$text."
  • "; }else{ if($img!=""){ $this->menu_items.="
  • ".$img." ".$text."
  • "; }else{ $this->menu_items.="
  • ".$text."
  • "; } } } function admin_message($title,$message,$redirect=FALSE,$panel="",$time="4"): void { global $config,$session,$lang; $session->page_begin("Admin Message", True); if($panel!="" && $redirect){ $this->content=$message."
    ".$lang->_('CLICKREDIRECT').""; }elseif($panel!="" && !$redirect){ $this->content=$message."
    ".$lang->_('CLICKCONTINUE').""; }else{ $this->content=$message; } if($redirect && $panel!="") $this->meta.=""; $this->title=$title; $this->parse_page(); } function menu(): string { return ''; } function form ($args = array(),$return=FALSE,$extra=""){ $method = $args["method"] ?? 'POST'; $action = $args["action"] ?? $_SERVER['PHP_SELF']; $form = '
    '; if(!$return){ $this->content .= $form; }else{ return $form; } } function formClose ($return=FALSE) { $form = '
    '; if(!$return){ $this->content .= $form; }else{ return $form; } } function button ($text = '', $name='', $extra='', $return=FALSE) { $fld = ''; if(!$return){ $this->content .= $fld; }else{ return $fld; } } function radio ($args=array(),$extra="",$return=FALSE) { $name = $args["name"] ?? 'radiobutton'; $value = $args["value"]; if($value!=""){ $extra .= ' value="'.$value.'"'; } $fld=$this->radioOrCheck ("radio",$name,$extra,$return); if($return){ return $fld; } } function checkbox ($args=array(),$extra="",$return=FALSE) { $name = $args["name"] ? $args["name"] : 'checkbox'; $value = $args["value"]; if($value!=""){ $extra .= ' value="'.$value.'"'; } $fld=$this->radioOrCheck ("checkbox",$name,$extra,$return); if($return){ return $fld; } } /* private */ function radioOrCheck ($type,$name="",$extra="",$return=FALSE) { $fld = ''; if(!$return){ $this->content .= $fld; }else{ return $fld; } } function field ($args=array(),$extra="",$return=FALSE) { $typ = $args["typ"] ?? 'text'; $name = $args["name"] ?? 'textfield'; $value = $args["value"] ?? ''; $fld = ''; // html: form field if(!$return){ $this->content .= $fld; }else{ return $fld; } } function submit ($args=array(),$extra="",$return=FALSE) { $name = $args["name"] ?? 'submit'; $fld = ''; // html: form submit button if(!$return){ $this->content .= $fld; }else{ return $fld; } } function get_option($option,$name,$value="") { global $lang; if($option=="yesno"){ $checked["yes"]=""; $checked["no"]=""; if($value==1||$value==True||$value=="yes"){ $checked["yes"]='checked="checked"'; }else{ $checked["no"]='checked="checked"'; } $yn=$this->radio(array("name"=>$name,"value"=>"1"),$checked["yes"],TRUE); $yn.="Ja"; $yn.=$this->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=$this->radio(array("name"=>$name,"value"=>"1"),$checked["on"],TRUE); $yn.="An"; $yn.=$this->radio(array("name"=>$name,"value"=>"0"),$checked["off"],TRUE); $yn.="Aus"; return $yn; } if($option=="text"){ $text=$this->field(array("name"=>$name,"typ"=>"text","value"=>$value),"",TRUE); return $text; } if(str_contains($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=$this->textarea(array("name"=>$name,"value"=>$value, $a_name[0]=>$value[0],$a_name[1]=>$value[1]),"class=\"mceEditor\"",TRUE); }else{ $text=$this->textarea(array("name"=>$name,"value"=>$value),"class=\"mceEditor\"",TRUE); } return $text; } if(str_contains($option, "textarea")){ $string=str_replace("textarea(","",substr($option, 0, -1)); $sarr=explode(";",$string); if(count($sarr)>1) { foreach ($sarr as $str) { $substr = explode("|", $str); $a_name[] = $substr[0]; $value[] = $substr[1]; } $text=$this->textarea(array("name"=>$name,"value"=>$value, $a_name[0]=>$value[0],$a_name[1]=>$value[1]),"",TRUE); }else{ $text=$this->textarea(array("name"=>$name,"value"=>$value),"",TRUE); } return $text; } if($option=="language"){ $values = array(); $langs=$lang->getlanguages(); foreach($langs as $lang){ $values[$lang['name']]=$lang['short']; } return $this->select($values,$value,$name,"",TRUE); } if(str_contains($option, "select")){ $string=str_replace("select(","",substr($option, 0, -1)); $sarr=explode(";",$string); $values=array(); if(count($sarr)>1) { foreach ($sarr as $str) { $substr = explode("|", $str); $values[$substr[0]] = $substr[1]; } } return $this->select($values,$value,$name,"",TRUE); } } /* $args[value] used for default text (as in "field" function) */ function textarea ($args = array(),$extra="",$return=FALSE) { $name = $args["name"] ?? 'field'; $rows = $args["rows"] ?? '3'; $cols = $args["cols"] ?? '30'; $text = $args["value"] ?? ''; $fld = ''; if(!$return){ $this->content .= $fld; }else{ return $fld; } } /* $values = array containing values (key = processing value, data = displaying value) */ function select ($values=array(),$selected="",$name="",$extra="",$return=FALSE) { $fld='"; if(!$return){ $this->content .= $fld; }else{ return $fld; } } } ?>