/** * 模板渲染函数,重写smarty的display函数 * * @param $temp string 模板名 * FIXME 如何知道是什么函数调用了当前函数,实现的功能是如果没有指定模板文件,则调用一个以父函数方法命名的模板文件。 */ public function render($temp = null) { global $TE, $TEPARAM; if ($temp == null) { $trace = debug_backtrace(); $method = $trace[1]['function']; $method = str_replace('_', '-', $method); $ctrl = substr($trace[1]['class'], 0, -10); $ctrl = substr($ctrl, 15); switch (jet_Config('template_engine')) { case 'twig': echo $TE->render($ctrl . '/' . $method . '.html.twig', $TEPARAM); break; case 'smarty': $TE->display($ctrl . '/' . $method . '.html'); } } else { strstr($temp, '.html') == false && ($temp .= '.html'); switch (jet_Config('template_engine')) { case 'twig': echo $TE->render($temp . '.twig', $TEPARAM); //die('dd'); break; case 'smarty': $TE->display($temp); break; } } exit; }
/** * 注册功能 */ public function register() { if (jet_Post('action') === 'do_register') { $mail = jet_Post('mail'); $user = jet_Post('user'); $pswd = jet_Post('pswd'); $p_mail = '/^[\\w]+(\\.[\\w+])*@[\\w-]+(\\.[\\w-]+)+$/i'; $p_user = "******"; $p_pswd = "#^[A-Za-z0-9\\-_]{3,20}#"; if (!preg_match($p_mail, $mail)) { echo jet_JSON(array('msg' => '请输入正确的邮箱格式', 'has' => false)); return; } elseif (!preg_match($p_pswd, $pswd)) { echo jet_JSON(array('msg' => '请输入正确的密码,长度在3-20之间', 'has' => false)); return; } elseif (preg_match($p_user, $user)) { //判断是否有相同账号 if ($this->model('user')->where("user = '******'")->num()) { echo jet_JSON(array('msg' => '已经存在相同用户,请修改您的名字', 'has' => false)); return; } else { } //everything is ok } else { echo jet_JSON(array('msg' => '用户名格式不正确,请不要输入字符,长度在3-20之间', 'has' => false)); return; } $salt = jet_Config('jet_identity'); $reg['identity'] = md5($salt . $user); //识别码加密 $reg['pswd'] = md5($pswd); //密码MD5加密 $reg['user'] = $user; $reg['mail'] = $mail; $reg['fans'] = jet_Config('register_fans'); $reg['type'] = jet_Config('register_type'); $reg['register_time'] = date('Y-m-d h:i:s', time()); $reg['status'] = jet_Config('register_status'); //向数据库插入数据 $flag = $this->model('user')->insert($reg); if ($flag) { $flag = $this->sendVerifyMail($reg); if ($flag) { echo jet_JSON(array('msg' => '注册成功!', 'has' => true)); } else { echo jet_JSON(array('msg' => '程序出现错误,希望你能将这个错误反馈给我们!错误代码:ERROR_REG_01', 'has' => false)); } } else { echo jet_JSON(array('msg' => '程序出现错误,希望你能将这个错误反馈给我们!错误代码:ERROR_REG_02', 'has' => false)); } } else { echo jet_JSON(array('msg' => '程序出现错误,希望你能将这个错误反馈给我们!错误代码:ERROR_REG_03', 'has' => false)); } }
<?php session_start(); require_once JET . '/common/functions.php'; require_once CONFIG . '/const.config.php'; require JET . '/vendor/autoload.php'; //自动加载第三方类库 switch (jet_Config('template_engine')) { case 'twig': $loader = new Twig_Loader_Filesystem(VIEW); $TE = new Twig_Environment($loader); break; case 'smarty': $TE = new Smarty(); apply_config($TE, 'smarty'); break; default: $TE = new Smarty(); apply_config($TE, 'smarty'); } function autoload($class) { $_list = explode('\\', $class); //当前类的组织有 // Jet/Core // Jet/Agent // Jet/Controller //在此版本中,$_list[0] == 'Jet; switch ($_list[1]) { case 'Agent': file_exists(JET . "/agent/" . $_list[2] . '.php') && (require_once JET . "/agent/" . $_list[2] . '.php');