Exemple #1
0
 /** MODULE : Redirection */
 public function index()
 {
     // Redirection vers l'URL saisie
     $url = $this->getData([$this->getUrl(0), 'url']);
     if ($url) {
         helper::redirect($url, false);
     }
 }
Exemple #2
0
 /** 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();
 }
Exemple #3
0
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", "注册失败!");
    }
}
Exemple #4
0
 /** 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));
     }
 }
Exemple #5
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);
 }
Exemple #6
0
/**
 *导入备份文件
 *
 */
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>');
            }
        }
    }
}