/** MODULE : Redirection */ public function index() { // Redirection vers l'URL saisie $url = $this->getData([$this->getUrl(0), 'url']); if ($url) { helper::redirect($url, false); } }
/** MODULE : Formulaire */ public function index() { // Traitement du formulaire if ($this->getPost('submit')) { // Préparation des données (index + 1 comme l'item 0 = champ de copie qui est supprimé à l'enregistrement) $data = []; $mail = ''; foreach ($this->getPost('input') as $key => $value) { // Préparation des données pour la création dans la base $data[$this->getData([$this->getUrl(0), 'inputs', $key + 1, 'name'])] = $value; // Préparation des données pour le mail $mail .= '<li>' . $this->getData([$this->getUrl(0), 'inputs', $key + 1, 'name']) . ' : ' . $value . '</li>'; } // Crée les données $this->setData([$this->getUrl(0), 'data', helper::increment(1, $this->getData([$this->getUrl(0), 'data'])), $data]); // Enregistre les données $this->saveData(); // Envoi du mail if ($this->getData([$this->getUrl(0), 'config', 'mail'])) { helper::mail(false, $this->getData([$this->getUrl(0), 'config', 'mail']), helper::translate('Mail de votre site ZwiiCMS'), '<h1>' . helper::translate('Mail en provenance de votre site ZwiiCMS') . '</h1>' . $mail . '</ul>'); } // Notification de soumission $this->setNotification('Formulaire soumis avec succès !'); // Redirige vers la page courante helper::redirect($this->getUrl()); } // Génère les inputs if ($this->getData([$this->getUrl(0), 'inputs'])) { foreach ($this->getData([$this->getUrl(0), 'inputs']) as $input) { self::$content .= $this->generateInput($input); } // Texte du bouton de validation $submitText = $this->getData([$this->getUrl(0), 'config', 'button']); // Ajout du bouton de validation self::$content .= template::openRow() . template::submit('submit', ['value' => $submitText ? $submitText : 'Enregistrer', 'col' => 2]) . template::closeRow(); } // Contenu de la page self::$content = template::openForm() . self::$content . template::closeForm(); }
function m__register() { global $dbm; $params = array(); if (isset($_SESSION['uid']) && isset($_SESSION['uname'])) { helper::redirect('index.php'); } if (!isset($_POST['username']) || empty($_POST['username'])) { die('{"code":"200","msg":"请填写用户名"}'); } if (strlen($_POST['username']) < 6 || strlen($_POST['username']) > 20) { die('{"code":"201","msg":"用户名必须6到20位之间"}'); } if (!isset($_POST['password']) || empty($_POST['username'])) { die('{"code":"202","msg":"请填写用户密码"}'); } if (strlen($_POST['password']) < 6 || strlen($_POST['username']) > 20) { die('{"code":"203","msg":"密码必须6到20位之间"}'); } if ($_POST['password'] != $_POST['passconfirm']) { die('{"code":"204","msg":"两次输入密码不一致"}'); } //if (!preg_match("/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/", $_POST['email'])) { // die('{"code":"205","msg":"邮箱格式错误"}'); //} // if (!preg_match("~^(1)\d{10}$~", $_POST['moblie'])) die('{"code":"206","msg":"手机号格式不正确"}'); $authcode = md5(strtoupper($_POST['authcode'])); if ($authcode != $_SESSION['reg']) { die('{"code":"207","msg":"验证码错误"}'); } $where = " uname='" . $_POST['username'] . "'"; $a = $dbm->single_query(array('where' => $where, 'table_name' => TB_PREFIX . "user_list")); if (count($a['list']) > 0) { die('{"code":"260","msg":"注册用户不能重复"}'); } $params['uname'] = $_POST['username']; $params['upass'] = helper::password_encrypt($_POST['password']); $params['uqq'] = isset($_POST['uqq']) && !empty($_POST['uqq']) ? intval($_POST['uqq']) : ''; $params['uemail'] = isset($_POST['email']) && $_POST['email'] != '' ? $_POST['email'] : ''; $params['uphone'] = isset($_POST['moblie']) && $_POST['moblie'] != '' ? $_POST['moblie'] : ''; $params['reg_date'] = time(); $params['reg_ip'] = helper::getip(); //用户注册绑定QQ账号 if (isset($_SESSION['qq']['openid']) && $_SESSION['qq']['openid'] != '') { $params['qqid'] = $_SESSION['qq']['openid']; } $res = $dbm->single_insert(TB_PREFIX . "user_list", $params); if (empty($res['error']) && $res['autoid'] > 0) { // die('{"code":"0","恭喜你注册成功!"}'); $_SESSION['uid'] = $res['autoid']; $_SESSION['uname'] = $params['uname']; act_msg("index.php?tpl=ucenter", "恭喜您注册成功!"); } else { // die('{"code":"208","msg":"注册失败"}'); act_msg("index.php", "注册失败!"); } }
/** MODULE : Suppression d'une news */ public function delete() { // Erreur 404 if (!$this->getData([$this->getUrl(0), $this->getUrl(2)])) { return false; } else { // Supprime la news $this->removeData([$this->getUrl(0), $this->getUrl(2)]); // Enregistre les données $this->saveData(); // Notification de suppression $this->setNotification('News supprimée avec succès !'); // Redirige vers le module de la page helper::redirect('module/' . $this->getUrl(0)); } }
/** MODULE : Déconnexion */ public function logout() { // Supprime le cookie de connexion $this->removeCookie(); // Redirige vers la page d'accueil du site helper::redirect('./', false); }
/** *导入备份文件 * */ function m__backin() { global $dbm, $dbkdir; check_level("E0902"); m__list(); $act = isset($_GET['act']) ? trim($_GET['act']) : 'recover'; if ($act == 'recover') { if (file_exists($dbkdir . DB_DBNAME . ".sql")) { $sql = read_msg($dbkdir . DB_DBNAME . ".sql"); if (!isset($_GET['table']) && empty($_GET['table'])) { die('没有恢复的数据表'); } $tables = @trim($_GET['table']); $tb_ext = explode(',', $tables); //die(print_r($tb_ext)); recover_data($sql, $tb_ext); //$table = get_tables_name(); //$tables = implode(',', $table); $selfurl = "dbbak.php?m=backin&act=recover_data&table=" . $tables; helper::redirect($selfurl, 2, '数据表结构已经恢复,正在恢复数据信息!'); } else { die('数据表结构文件不存在!'); } } else { if ($act == 'recover_data') { if (!isset($_GET['table']) && empty($_GET['table'])) { die('没有恢复的数据表'); } $table = trim($_GET['table']); //die(print_r($table)); //每次跳转接收所有的表名 $tables = $table; $table = explode(',', $table); //表数组中索引,默认为0 $tableid = isset($_GET["tableid"]) ? intval($_GET["tableid"]) : 0; //分卷id号,默认为0 $pageid = isset($_GET["pageid"]) ? intval($_GET["pageid"]) : 0; //统计表个数 $table_count = count($table); //当前表名在数组中索引值小于表个数 if ($tableid < $table_count) { //检查当前表分卷备份文件是否存在,如果不存在,则跳转到下一个表,否则,导入数据库 if (!file_exists($dbkdir . $table[$tableid] . "_" . $pageid . ".sql")) { $selfurl = "dbbak.php?m=backin&act=recover_data&table=" . $tables . "&tableid=" . ($tableid + 1); $msg = "数据表 <font color='red'>" . $table[$tableid] . "</font> 信息不存在或未曾备份!"; helper::redirect($selfurl, 2, $msg); } //读取当前分卷备份文件的内容 $sql = read_msg($dbkdir . $table[$tableid] . "_" . $pageid . ".sql"); //将当前分卷备份文件的insert语句导入数据库 if ($sql) { recover_data($sql); } //检查当前表下一个分卷备份文件是否存在,如果存在,则跳转到当前表下下一个分卷备份,否则,跳转到下个表 if (file_exists($dbkdir . $table[$tableid] . "_" . ($pageid + 1) . ".sql")) { $selfurl = "dbbak.php?m=backin&act=recover_data&table=" . $tables . "&tableid=" . $tableid . "&pageid=" . ($pageid + 1); $msg = "正在恢复数据表 <font color='red'>" . $table[$tableid] . "</font> 信息"; helper::redirect($selfurl, 2, $msg); } else { $selfurl = "dbbak.php?m=backin&act=recover_data&table=" . $tables . "&tableid=" . ($tableid + 1); $msg = "已经恢复数据表 <font color='red'>" . $table[$tableid] . "</font> 信息,将恢复下一个数据表信息!"; helper::redirect($selfurl, 2, $msg); } } else { //删除缓存,解决数据还原后,页面及即时更新 if (is_dir('../cache') && dir_size("../cache") > 0) { del_dir('../cache', 1); } logs("数据信息均已经恢复完毕"); echo "<font color='red'>数据信息均已经恢复完毕!</font>"; die('<script>setTimeout(function(){parent.window.location.href="dbbak.php";},3000);</script>'); } } } }