Example #1
0
 protected function _initialize()
 {
     /* 读取站点配置 */
     $config = api('Config/lists');
     C($config);
     //添加配置
     if (!C('WEB_SITE_CLOSE') && $_SESSION[C('USER_AUTH_KEY')] != 1) {
         $this->error('站点已经关闭,请稍后访问~', '', 1000);
     }
     $a = D('Member')->need_login();
     $field = array('uid', 'username', 'nickname', 'name', 'email', 'space_url', 'reg_time', 'last_login_time', 'signature', 'avatar32', 'avatar64', 'avatar128', 'avatar256');
     $userinfo = query_user($field, $_SESSION['cs_home']['user_auth']['uid']);
     $roleauth = getmroleauth();
     checkscore($_SESSION['cs_home']['user_auth']['uid']);
     $mymail['status'] = 1;
     $mymail['is_read'] = 0;
     $mymail['to_uid'] = $_SESSION['cs_home']['user_auth']['uid'];
     $mymailcount = M('Message')->where($mymail)->count();
     $userinfo['mymailcount'] = empty($mymailcount) ? '' : $mymailcount;
     $isadmin = is_admin($_SESSION['cs_home']['user_auth']['uid']);
     $this->assign('isadmin', $isadmin);
     $this->assign('user_auth', session('user_auth'));
     $this->assign('uid', getnowUid());
     $this->assign('userinfo', $userinfo);
     $this->assign('roleauth', $roleauth);
     //得到会员组权限
     $cname = strtolower(CONTROLLER_NAME);
     $aname = strtolower(ACTION_NAME);
     $this->assign('aname', $aname);
     $this->assign('cname', $cname);
     $cate = new CategoryApi();
     $clist = $cate->get_catelist(0);
     $clistnum = $cate->get_editcnum();
     $this->assign('clist', $clist);
     $nosigncate = M('Cate')->where(array('status' => 1, 'type' => 1))->select();
     $m = D('cate');
     $catelist = $m->field('*,CONCAT(spid,id) as path2')->where(array('type' => 1, 'status' => 1))->order('path2')->select();
     $t = new tree();
     $catelistarr = $t->unlimitCategoryFormat($catelist);
     $catehtml = $t->treeFormat($catelistarr);
     $this->assign('catehtml', $catehtml);
     $this->assign('nosigncate', $nosigncate);
     $this->assign('clistnum', $clistnum);
     $nav = D('nav')->where(array('status' => 1))->order('sort desc')->select();
     foreach ($nav as $key => $vo) {
         $nav[$key]['url'] = navurl($vo['id'], $vo['type']);
         $nav[$key]['active'] = navactive($vo['id'], $vo['type']);
         if ($vo['win']) {
             $nav[$key]['target'] = '_blank';
         } else {
             $nav[$key]['target'] = '_self';
         }
     }
     $this->assign('nav', $nav);
 }
Example #2
0
 /**
  * 文件上传
  * @param  array  $files   要上传的文件列表(通常是$_FILES数组)
  * @param  array  $setting 文件上传配置
  * @param  string $driver  上传驱动名称
  * @param  array  $config  上传驱动配置
  * @return array           文件上传成功后的信息
  */
 public function upload($files, $setting, $driver = 'Local', $config = null)
 {
     /* 上传文件 */
     $setting['callback'] = array($this, 'isFile');
     $setting['removeTrash'] = array($this, 'removeTrash');
     $uid = is_login();
     if (!is_admin($uid)) {
         $roleauth = getmroleauth($uid);
         $setting['maxSize'] = $roleauth['filesize'] * 1024;
         $setting['exts'] = $roleauth['fileext'];
     }
     $Upload = new \Think\Upload($setting, $driver, $config);
     $info = $Upload->upload($files);
     /* 设置文件保存位置 */
     $this->_auto[] = array('location', 'Ftp' === $driver ? 1 : 0, self::MODEL_INSERT);
     if ($info) {
         //文件上传成功,记录文件信息
         foreach ($info as $key => &$value) {
             /* 已经存在文件记录 */
             if (isset($value['id']) && is_numeric($value['id'])) {
                 continue;
             }
             /* 记录文件信息 */
             if ($this->create($value) && ($id = $this->add())) {
                 $value['id'] = $id;
             } else {
                 //TODO: 文件上传成功,但是记录文件信息失败,需记录日志
                 unset($info[$key]);
             }
         }
         return $info;
         //文件上传成功
     } else {
         $this->error = $Upload->getError();
         return false;
     }
 }
Example #3
0
 /**
  * 文件上传
  * @param  array  $files   要上传的文件列表(通常是$_FILES数组)
  * @param  array  $setting 文件上传配置
  * @param  string $driver  上传驱动名称
  * @param  array  $config  上传驱动配置
  * @return array           文件上传成功后的信息
  */
 public function upload($files, $setting, $driver = 'Local', $config = null)
 {
     /* 上传文件 */
     $setting['callback'] = array($this, 'isFile');
     $setting['removeTrash'] = array($this, 'removeTrash');
     $uid = is_login();
     if (!is_admin($uid)) {
         $roleauth = getmroleauth($uid);
         $setting['maxSize'] = $roleauth['filesize'] * 1024;
         $setting['exts'] = $roleauth['fileext'];
     }
     $Upload = new Upload($setting, $driver, $config);
     $info = $Upload->upload($files);
     if ($info) {
         //文件上传成功,记录文件信息
         foreach ($info as $key => &$value) {
             /* 已经存在文件记录 */
             if (isset($value['id']) && is_numeric($value['id'])) {
                 continue;
             }
             /* 记录文件信息 */
             $value['path'] = substr($setting['rootPath'], 1) . $value['savepath'] . $value['savename'];
             //在模板里的url路径
             if ($this->create($value) && ($id = $this->add())) {
                 $value['id'] = $id;
             } else {
                 //TODO: 文件上传成功,但是记录文件信息失败,需记录日志
                 unset($info[$key]);
             }
         }
         return $info;
         //文件上传成功
     } else {
         $this->error = $Upload->getError();
         return false;
     }
 }
Example #4
0
function getarteditauth($id, $uid)
{
    //获得是否有编辑文章的权利
    $uid = $uid ? $uid : is_login();
    if ($uid == 1) {
        return true;
    }
    $map['id'] = $id;
    $info = D('Article')->where($map)->find();
    if ($info['uid'] == $uid) {
        if ($info['status'] == 5 || $info['status'] == 2) {
            return true;
        } else {
            $auth = getmroleauth($uid);
            if ($auth['yesartedit']) {
                if ($info['create_time'] + $auth['artedittime'] * 60 < time()) {
                    return false;
                } else {
                    return true;
                }
            } else {
                return true;
            }
        }
    } else {
        return false;
    }
}
 public function artedit()
 {
     if (IS_POST) {
         $input = new \OT\Input();
         $input->noGPC();
         $uid = $_SESSION['cs_home']['user_auth']['uid'];
         if (!$uid > 0) {
             $this->error('请先登录');
         }
         if (false === ($data = D('Article')->create())) {
             $this->error(0, D('Article')->getError());
         }
         $data['description'] = op_h(I('description'));
         if ($data['cid'] == null) {
             $this->error('分类为空');
         }
         if (mb_strlen(op_h($data['description']), 'utf-8') < 30) {
             $this->error('文章内容必须大于30字');
         }
         if (mb_strlen($data['title'], 'utf-8') > 80) {
             $this->error('文章标题必须小于80字');
         }
         //$data['tag']=op_t($data['tag']);
         foreach ($data['tag'] as $key => $vo) {
             $data['tag'][$key] = mb_substr($vo, 0, 15, 'utf-8');
         }
         D('Tags')->InsertTags($data['tag'], 1, $data['id']);
         $data['tag'] = implode(',', $data['tag']);
         //$data['description']=$data['description'];
         $data['title'] = op_t($data['title']);
         $data['uid'] = $uid;
         $status = $data['status'];
         $ystatus = D('Article')->where(array('id' => $data['id']))->getField('status');
         //保存当前数据对象
         $list = D('Article')->save($data);
         if ($list !== false) {
             if ($status == 1 && $ystatus != 1) {
                 setuserscore($uid, C('ARTSCORE'));
             }
             $this->success('编辑文章成功!', U('Ucenter/userart'));
         } else {
             $this->error('编辑文章失败!');
         }
     } else {
         $uid = is_login();
         $id = I('id');
         if (!is_admin($uid)) {
             $roleauth = getmroleauth($uid);
             // $setting['exts'] =$roleauth['fileext'];
             $extsarr = explode(',', $roleauth['fileext']);
             if (!empty($extsarr)) {
                 $extstr = '';
                 foreach ($extsarr as $key1 => $vo1) {
                     $extstr .= '*.' . $vo1 . ';';
                 }
                 $this->assign('extstr', $extstr);
             }
             if (!getarteditauth($id, $uid)) {
                 $this->error('无权编辑该文章或编辑时间已过', '', false, true);
             }
         }
         $info = callApi('Art/getArtInfo', array($id));
         $info['data']['description'] = stripcslashes($info['data']['description']);
         $this->assign('info', $info['data']);
         $this->display();
     }
 }