<?php defined('main') or die("no!!"); Class Temp{ private $date=['version'=>'1.0','img'=>'https://www.apache.org/img/asf-estd-1999-logo.jpg']; private $template; public function __construct($data){
$this->date = array_merge($this->date,$data); } public function getTempName($template,$dir){ if($dir === 'admin'){ $this->template = str_replace('..','','./template/admin/'.$template); if(!is_file($this->template)){ die("no!!"); } } else{ $this->template = './template/index.html'; } } public function display($template,$space=''){
extract($this->date); $this->getTempName($template,$space); include($this->template); } public function listdata($_params){ $system = [ 'db' => '', 'app' => '', 'num' => '', 'sum' => '', 'form' => '', 'page' => '', 'site' => '', 'flag' => '', 'not_flag' => '', 'show_flag' => '', 'more' => '', 'catid' => '', 'field' => '', 'order' => '', 'space' => '', 'table' => '', 'table_site' => '', 'total' => '', 'join' => '', 'on' => '', 'action' => '', 'return' => '', 'sbpage' => '', 'module' => '', 'urlrule' => '', 'pagesize' => '', 'pagefile' => '', ];
$param = $where = [];
$_params = trim($_params);
$params = explode(' ', $_params); if (in_array($params[0], ['list','function'])) { $params[0] = 'action='.$params[0]; } foreach ($params as $t) { $var = substr($t, 0, strpos($t, '=')); $val = substr($t, strpos($t, '=') + 1); if (!$var) { continue; } if (isset($system[$var])) { $system[$var] = $val; } else { $param[$var] = $val; } } switch ($system['action']) {
case 'function':
if (!isset($param['name'])) { return 'hacker!!'; } elseif (!function_exists($param['name'])) { return 'hacker!!'; }
$force = $param['force']; if (!$force) { $p = []; foreach ($param as $var => $t) { if (strpos($var, 'param') === 0) { $n = intval(substr($var, 5)); $p[$n] = $t; } } if ($p) {
$rt = call_user_func_array($param['name'], $p); } else { $rt = call_user_func($param['name']); } return $rt; }else{ return null; } case 'list': return json_encode($this->date); } return null; } }
|