Exemple #1
0
 /**
  * 生成令牌
  * @param $token String 并没有什么卵用的参数
  * @access protected
  * @return String(20) 生成的令牌
  * */
 protected function createToken($token)
 {
     $this->token = get_rand_char(20);
     return $this->token;
 }
Exemple #2
0
    $smarty->assign('list', $db->getall("SHOW TABLES LIKE '{$pre}%'", MYSQL_NUM));
    $smarty->assign('pageheader', "数据库");
    $smarty->assign('navlabel', "backup");
    $smarty->display('database/admin_database_backup.htm');
} elseif ($act == 'do_backup') {
    check_permissions($_SESSION['admin_purview'], "database");
    if (!file_exists("../data/" . $backup_dir . "/")) {
        adminmsg("备份文件存放目录data/" . $backup_dir . "不存在!", 0);
    }
    if (!is_writable("../data/" . $backup_dir . "/")) {
        adminmsg("备份文件存放目录data/" . $backup_dir . "不可写!", 0);
    }
    $limit_size = !empty($_REQUEST['limit_size']) ? intval($_REQUEST['limit_size']) : '2048';
    $mysql_type = !empty($_REQUEST['mysql_type']) ? trim($_REQUEST['mysql_type']) : '';
    $table_id = !empty($_REQUEST['table_id']) ? intval($_REQUEST['table_id']) : 0;
    $file = !empty($_GET['file']) ? trim($_GET['file']) : date("Ymd_", time()) . get_rand_char(5) . uniqid();
    $num = !empty($_GET['num']) ? intval($_GET['num']) : 1;
    $pos = !empty($_GET['pos']) ? intval($_GET['pos']) : 0;
    if (!empty($_POST['tables'])) {
        $tables = $_POST['tables'];
        @file_put_contents("../data/{$backup_dir}/temp.txt", serialize($_POST['tables']));
    } elseif ($_GET['table_id']) {
        $content = file_get_contents("../data/{$backup_dir}/temp.txt");
        $tables = unserialize($content);
    } else {
        adminmsg("您没有选择备份的表!", 1);
    }
    $db_version = $db->dbversion();
    $sql = '';
    $version = QISHI_VERSION;
    $add_time = date("Y-m-d H:i:s");
 function step_0()
 {
     // $wechat = new TPWechatLogin('*****@*****.**','idouly123');
     // $wechat->setImgPath('./Uploads/Picture/WechatLogin');
     // $wechat->getMpInfo();
     $res['title'] = '公众号基本信息';
     $res['url'] = U('step_0', array('id' => I('id')));
     $res['class'] = 'current';
     $nav[] = $res;
     $res['title'] = '高级功能参数';
     $res['url'] = U('step_1', array('id' => I('id')));
     $res['class'] = '';
     $nav[] = $res;
     $res['title'] = '接口配置';
     $res['url'] = U('mp_interface', array('id' => I('id')));
     $res['class'] = '';
     $nav[] = $res;
     $this->assign('nav', $nav);
     // die;
     $map['id'] = $id = I('id');
     $data = D('Common/Public')->where($map)->find();
     if (!empty($data) && $data['uid'] != $this->mid) {
         $this->error('非法操作');
     }
     $this->assign('id', $id);
     $model = $this->model;
     if (IS_POST) {
         foreach ($_POST as &$v) {
             $v = trim($v);
         }
         // 检查专属域名是否已被占用
         if (C('DIV_DOMAIN')) {
             $map2['domain'] = $domain = I('domain');
             if (empty($domain)) {
                 $this->error('专属域名不能为空');
                 exit;
             }
             if (is_numeric($domain)) {
                 $this->error('专属域名不能为纯数字');
                 exit;
             }
             $plen = strlen($domain);
             // ! preg_match ( "/^(([a-z]+[0-9]+)|([0-9]+[a-z]+))[a-z0-9]*$/i", $domain ) ||
             if ($plen < 3 || $plen > 10) {
                 $this->error('专属域名必须为3-10位的字母和数字的组合');
                 exit;
             }
             $map2['uid'] = array('exp', '!=' . $this->mid);
             $arr = array('www' => 1);
             // CHECKOUT
             if (isset($arr[$domain]) || D('Common/Public')->where($map2)->getField('id')) {
                 $this->error('该专属域名已经存在,请换别的再试');
                 exit;
             }
         }
         $_POST['token'] = $_POST['public_id'];
         $_POST['group_id'] = intval(C('DEFAULT_PUBLIC_GROUP_ID'));
         $_POST['uid'] = $this->mid;
         $_POST['mp_token'] = get_rand_char(32);
         // 生成32位随机字符串用于做接口验证
         $_POST['interface_url'] = U('home/weixin/index');
         // 更新缓存
         D('Common/Public')->clear($id);
         session('token', $_POST['token']);
         $map2['uid'] = $this->mid;
         M('manager')->where($map2)->setField('has_public', 1);
         D('Common/User')->clear($this->mid);
         $Model = D(parse_name(get_table_name($model['id']), 1));
         // 获取模型的字段信息
         $Model = $this->checkAttr($Model, $model['id']);
         if (empty($id)) {
             if ($Model->create() && ($id = $Model->add())) {
                 // 增加公众号与用户的关联关系
                 $data['uid'] = $this->mid;
                 $data['mp_id'] = $id;
                 $data['is_creator'] = 1;
                 M('public_link')->add($data);
                 $url = U('step_1?id=' . $id);
                 $this->success('添加基本信息成功!', $url);
             } else {
                 $this->error($Model->getError());
             }
         } else {
             $_POST['id'] = $id;
             $url = U('lists');
             $Model->create() && ($res = $Model->save());
             if ($res) {
                 $this->success('保存基本信息成功!', $url);
             } elseif ($res === 0) {
                 $this->success(' ', $url);
             } else {
                 $this->error($Model->getError());
             }
         }
     } else {
         if (empty($id)) {
             $allow_add_count = getPublicMax($this->mid);
             $has_add_count = M('public_link')->where("uid='{$this->mid}'")->getField('sum(is_creator)');
             if ($allow_add_count <= $has_add_count) {
                 $this->error('您最多只能创建 ' . $allow_add_count . ' 个公众号!');
                 exit;
             }
         } else {
             $data = M(get_table_name($model['id']))->find($id);
         }
         $data['type'] = intval($data['type']);
         $this->assign('info', $data);
         $this->display('Publics/step_0');
     }
 }