Commit 8c1b1318 authored by 甘剑浪's avatar 甘剑浪

no message

parent a3917e8d
Pipeline #135 failed with stages

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

<?xml version="1.0" encoding="UTF-8"?>
<buildpath>
<buildpathentry kind="src" path=""/>
<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
</buildpath>
/.idea
/.vscode
/vendor
*.log
thinkphp
.env
.DS_Store
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]
</IfModule>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>momo</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.dltk.core.scriptbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.php.core.PHPNature</nature>
</natures>
</projectDescription>
sudo: false
language: php
branches:
only:
- stable
cache:
directories:
- $HOME/.composer/cache
before_install:
- composer self-update
install:
- composer install --no-dev --no-interaction --ignore-platform-reqs
- zip -r --exclude='*.git*' --exclude='*.zip' --exclude='*.travis.yml' ThinkPHP_Core.zip .
- composer require --update-no-dev --no-interaction "topthink/think-image:^1.0"
- composer require --update-no-dev --no-interaction "topthink/think-migration:^1.0"
- composer require --update-no-dev --no-interaction "topthink/think-captcha:^1.0"
- composer require --update-no-dev --no-interaction "topthink/think-mongo:^1.0"
- composer require --update-no-dev --no-interaction "topthink/think-worker:^1.0"
- composer require --update-no-dev --no-interaction "topthink/think-helper:^1.0"
- composer require --update-no-dev --no-interaction "topthink/think-queue:^1.0"
- composer require --update-no-dev --no-interaction "topthink/think-angular:^1.0"
- composer require --dev --update-no-dev --no-interaction "topthink/think-testing:^1.0"
- zip -r --exclude='*.git*' --exclude='*.zip' --exclude='*.travis.yml' ThinkPHP_Full.zip .
script:
- php think unit
deploy:
provider: releases
api_key:
secure: TSF6bnl2JYN72UQOORAJYL+CqIryP2gHVKt6grfveQ7d9rleAEoxlq6PWxbvTI4jZ5nrPpUcBUpWIJHNgVcs+bzLFtyh5THaLqm39uCgBbrW7M8rI26L8sBh/6nsdtGgdeQrO/cLu31QoTzbwuz1WfAVoCdCkOSZeXyT/CclH99qV6RYyQYqaD2wpRjrhA5O4fSsEkiPVuk0GaOogFlrQHx+C+lHnf6pa1KxEoN1A0UxxVfGX6K4y5g4WQDO5zT4bLeubkWOXK0G51XSvACDOZVIyLdjApaOFTwamPcD3S1tfvuxRWWvsCD5ljFvb2kSmx5BIBNwN80MzuBmrGIC27XLGOxyMerwKxB6DskNUO9PflKHDPI61DRq0FTy1fv70SFMSiAtUv9aJRT41NQh9iJJ0vC8dl+xcxrWIjU1GG6+l/ZcRqVx9V1VuGQsLKndGhja7SQ+X1slHl76fRq223sMOql7MFCd0vvvxVQ2V39CcFKao/LB1aPH3VhODDEyxwx6aXoTznvC/QPepgWsHOWQzKj9ftsgDbsNiyFlXL4cu8DWUty6rQy8zT2b4O8b1xjcwSUCsy+auEjBamzQkMJFNlZAIUrukL/NbUhQU37TAbwsFyz7X0E/u/VMle/nBCNAzgkMwAUjiHM6FqrKKBRWFbPrSIixjfjkCnrMEPw=
file:
- ThinkPHP_Core.zip
- ThinkPHP_Full.zip
skip_cleanup: true
on:
tags: true
v4PwmAbkxr9XpNGv1pGbR-STpBtYXp4HMSBKHOGrnZY.BAiPQzeoKd23Bffjdf1R-z0rddsJWnRv8BbRBJyHUxM
\ No newline at end of file
201904101100331op8rxi8jc3kzn9zndqjuygz5wlmgrud67pyliytqc9qumguhr
\ No newline at end of file
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>404</title>
<style>
body{
background-color:#444;
font-size:14px;
}
h3{
font-size:60px;
color:#eee;
text-align:center;
padding-top:30px;
font-weight:normal;
}
</style>
</head>
<body>
<h3>404,您请求的文件不存在!</h3>
</body>
</html>
{
"TOTAL_MEMORY": 268435456,
"dataUrl": "Fill.data.unityweb",
"asmCodeUrl": "Fill.asm.code.unityweb",
"asmMemoryUrl": "Fill.asm.memory.unityweb",
"asmFrameworkUrl": "Fill.asm.framework.unityweb",
"splashScreenStyle": "Dark",
"backgroundColor": "#222C36"
}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
// eslint-disable-next-line
var token = null;
// eslint-disable-next-line
var username = null;
// eslint-disable-next-line
var password = null;
// eslint-disable-next-line
var qj_token = null;
// eslint-disable-next-line
var blance = null;
// eslint-disable-next-line
var nickname = null;
// eslint-disable-next-line
var gameInstance = null;
// eslint-disable-next-line
var wechat_login = false;
// eslint-disable-next-line
function SendData() {
if (wechat_login) {
// eslint-disable-next-line
gameInstance.SendMessage(
"WebData",
"Data",
`token#${token}#${wechat_login}`
);
} else {
// eslint-disable-next-line
gameInstance.SendMessage(
"WebData",
"Data",
`userdata#${username}#${password}#${blance}#${nickname}#${wechat_login}`
);
}
}
function game_get_data(obj) {
if (obj.wechat_login) {
token = obj.token;
} else {
username = obj.username;
password = obj.password;
blance = obj.blance;
nickname = obj.nickname;
}
wechat_login = obj.wechat_login;
gameInstance = UnityLoader.instantiate("gameContainer", "/Build/Fill.json", {
onProgress: UnityProgress
});
}
\ No newline at end of file
This diff is collapsed.
ThinkPHP遵循Apache2开源协议发布,并提供免费使用。
版权所有Copyright © 2006-2018 by ThinkPHP (http://thinkphp.cn)
All rights reserved。
ThinkPHP® 商标和著作权所有者为上海顶想信息科技有限公司。
Apache Licence是著名的非盈利开源组织Apache采用的协议。
该协议和BSD类似,鼓励代码共享和尊重原作者的著作权,
允许代码修改,再作为开源或商业软件发布。需要满足
的条件:
1. 需要给代码的用户一份Apache Licence ;
2. 如果你修改了代码,需要在被修改的文件中说明;
3. 在延伸的代码中(修改和有源代码衍生的代码中)需要
带有原来代码中的协议,商标,专利声明和其他原来作者规
定需要包含的说明;
4. 如果再发布的产品中包含一个Notice文件,则在Notice文
件中需要带有本协议内容。你可以在Notice中增加自己的
许可,但不可以表现为对Apache Licence构成更改。
具体的协议参考:http://www.apache.org/licenses/LICENSE-2.0
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
function UnityProgress(gameInstance, progress) {
if (!gameInstance.Module){
return;
}
if (!gameInstance.logo) {
gameInstance.logo = document.createElement("div");
gameInstance.logo.className = "logo " + gameInstance.Module.splashScreenStyle;
gameInstance.container.appendChild(gameInstance.logo);
}
if (!gameInstance.progress) {
gameInstance.progress = document.createElement("div");
gameInstance.progress.className = "progress " + gameInstance.Module.splashScreenStyle;
gameInstance.progress.empty = document.createElement("div");
gameInstance.progress.empty.className = "empty";
gameInstance.progress.appendChild(gameInstance.progress.empty);
gameInstance.progress.full = document.createElement("div");
gameInstance.progress.full.className = "full";
gameInstance.progress.appendChild(gameInstance.progress.full);
gameInstance.container.appendChild(gameInstance.progress);
}
gameInstance.progress.full.style.width = (100 * progress) + "%";
gameInstance.progress.empty.style.width = (100 * (1 - progress)) + "%";
if (progress == 1)
gameInstance.logo.style.display = gameInstance.progress.style.display = "none";
}
\ No newline at end of file
.webgl-content * {border: 0; margin: 0; padding: 0}
.webgl-content {position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}
.webgl-content .logo, .progress {position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}
.webgl-content .logo {background: url('progressLogo.Light.png') no-repeat center / contain; width: 154px; height: 130px;}
.webgl-content .progress {height: 18px; width: 141px; margin-top: 90px;}
.webgl-content .progress .empty {background: url('progressEmpty.Light.png') no-repeat right / cover; float: right; width: 100%; height: 100%; display: inline-block;}
.webgl-content .progress .full {background: url('progressFull.Light.png') no-repeat left / cover; float: left; width: 0%; height: 100%; display: inline-block;}
.webgl-content .logo.Dark {background-image: url('progressLogo.Dark.png');}
.webgl-content .progress.Dark .empty {background-image: url('progressEmpty.Dark.png');}
.webgl-content .progress.Dark .full {background-image: url('progressFull.Dark.png');}
.webgl-content .footer {margin-top: 5px; height: 38px; line-height: 38px; font-family: Helvetica, Verdana, Arial, sans-serif; font-size: 18px;}
.webgl-content .footer .webgl-logo, .title, .fullscreen {height: 100%; display: inline-block; background: transparent center no-repeat;}
.webgl-content .footer .webgl-logo {background-image: url('webgl-logo.png'); width: 204px; float: left;}
.webgl-content .footer .title {margin-right: 10px; float: right;}
.webgl-content .footer .fullscreen {background-image: url('fullscreen.png'); width: 38px; float: right;}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
deny from all
\ No newline at end of file
<?php
namespace app\about\controller;
use app\common\controller\Base;
use app\about\model\About as mabout;
class About extends Base
{
public function _empty($method)
{
return view("/home/public/error");
}
public function aboutus(){
$this->redirect(url('/aboutus/us'));
}
public function contact(){
$contact = new mabout();
$contact = $contact->get_contact();
$this->assign('url',$this->url);
if(!$contact){
return view("/home/public/error");
}
$this->assign('contact',$contact);
return view("/home/about/contact");
}
public function us(){
$agreement = new mabout();
$agreement = $agreement->get_us();
$this->assign('url',$this->url);
if(!$agreement){
return view("/home/public/error");
}
$this->assign('us',$agreement);
return view("/home/about/aboutus");
}
public function agreement(){
$agreement = new mabout();
$agreement = $agreement->get_agreement();
$this->assign('url',$this->url);
if(!$agreement){
return view("/home/public/error");
}
$this->assign('agreement',$agreement);
return view("/home/about/agreement");
}
public function vipterms(){
$vipterms = new mabout();
$vipterms = $vipterms->get_vipterms();
$this->assign('url',$this->url);
if(!$vipterms){
return view("/home/public/error");
}
$this->assign('vipterms',$vipterms);
return view("/home/about/vipterms");
}
}
\ No newline at end of file
<?php
namespace app\about\controller;
use think\Controller;
class Error extends Controller
{
public function _empty($method)
{
$this->assign('url','Join');
return view("/home/public/error");
}
}
<?php
namespace app\about\model;
use think\Model;
class About extends Model
{
public function get_agreement(){
$agreement = $this->where('type',1)->where('isdeleted',0)->order('current','desc')->find();
if(empty($agreement)){
return false;
}
return $agreement;
}
public function get_vipterms(){
$vipterms = $this->where('type',2)->where('isdeleted',0)->order('current','desc')->find();
if(empty($vipterms)){
return false;
}
return $vipterms;
}
public function get_us(){
$vipterms = $this->where('type',0)->where('isdeleted',0)->order('current','desc')->find();
if(empty($vipterms)){
return false;
}
return $vipterms;
}
public function get_contact(){
$contact = $this->where('type',3)->where('isdeleted',0)->order('current','desc')->find();
if(empty($contact)){
return false;
}
return $contact;
}
public function user()
{
return $this->hasOne('app\admin\model\Users','id','user_id');
}
}
\ No newline at end of file
This diff is collapsed.
<?php
namespace app\admin\controller;
use app\common\controller\Error;
use think\App;
use think\facade\Config;
class AdminBase extends Error
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function __construct(App $app = null)
{
parent::__construct($app);
$this->fromDelAll = false;
}
public function initialize(){
$start_time = session('session_start_time');
$expire = Config::get('session.expire');
$token = session('token');
if(time()-$start_time>$expire){
session(null);
}
if(empty($token)){
$this->redirect(url("/fanjiao_login"));
}
session('session_start_time',time());
}
//批量删除
public function delAll(string $ids='',string $action=''){
if (empty($ids)){
$this->error('请选择要删除的项!');
}
$idArr = explode(',',$ids);
//about页面的删除方法不一样 恶心人
// $methods = array(
// 'del',
// 'vipterms_del', //会员条款
// 'agreement_del', //用户协议
// 'us_del', //关于我们
// 'contact_del', //联系我们
// );
//用这个先跳出success的成功跳转
$this->fromDelAll = true;
//暂时加不了事务
foreach ($idArr as $v){
if (method_exists($this,$action.'del')){
$self_del = $action.'del';
$this->$self_del($v);
}
}
$this->fromDelAll = false;
$this->success('删除成功!');
}
}
<?php
namespace app\admin\controller;
class AdminIndex extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function index(){
return view("/admin/index/index");
}
public function welcome(){
return view("/admin/index/welcome");
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use app\admin\model\App;
use think\Exception;
use app\common\model\Img;
use app\admin\model\AppCate;
class AppCateManage extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function list(){
$pageSize = 10;
$app_cate_list = AppCate::where('isdeleted',0)->paginate($pageSize);
$this->assign('app_cate_list',$app_cate_list);
return view("/admin/app_manage/cate_list");
}
public function edit(int $id=0){
$app_cate = AppCate::where('isdeleted',0)->where('id',$id)->find();
$this->assign('app_cate',$app_cate);
return view("/admin/app_manage/cate_edit");
}
public function save(){
//1.获取职位类别
$id = request()->param('id',0,'intval');
try {
if($id==0){
$appCate = new AppCate();
$appCate['title'] = trim(request()->param('name'));
$appCate['user_id'] = session('user')['id'];
$appCate['current'] = time();
$appCate['isdeleted'] = 0;
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>102400,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 7;
$img['current'] = time();
$img->save();
$appCate['img_id'] = $img->id;
$appCate->save();
}else{
$appCate = AppCate::where('isdeleted',0)->where('id',$id)->find();
if(empty($appCate)){
$this->error("该分类已被删除");
}
$appCate['title'] = trim(request()->param('name'));
$appCate['user_id'] = session('user')['id'];
$appCate['current'] = time();
$appCate['isdeleted'] = 0;
$appCate->save();
}
} catch (Exception $e) {
unlink('../public/uploads/static_data/'.$info->getExtension());
}
$this->redirect(url("/app_manage/cate_list"));
}
public function cate_del(int $id=0){
$join_cate = AppCate::where("isdeleted",0)->where('id',$id)->find();
if(!empty($join_cate)){
$join_cate['isdeleted'] = 1;
$join_cate->save();
}
$this->redirect(url("/app_manage/cate_list"));
}
public function del(int $id=0){
$app = App::where('id',$id)->find();
if ($app){
$app['isdeleted'] = 1;
$app->save();
$this->success('删除成功',url("/app_manage/list"));
}else{
$this->error('删除失败',url("/app_manage/list"));
}
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use app\admin\model\App;
use app\admin\model\AppCate;
use app\common\model\Img;
use think\Exception;
class AppManage extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function list(){
$pageSize =10 ;
$app_list = App::where("isdeleted",0)->paginate($pageSize);
$this->assign("app_list",$app_list);
return view("/admin/app_manage/list");
}
public function edit(int $id=0){
$app_cate_list = AppCate::where("isdeleted",0)->select();
$app = App::where("isdeleted",0)->where('id',$id)->find();
$this->assign("app",$app);
$this->assign("app_cate_list",$app_cate_list);
return view("/admin/app_manage/edit");
}
public function save(){
//1.获取职位类别
$id = request()->param('id',0,'intval');
try {
if($id==0){
$app = new App();
$app['title'] = trim(request()->param('name'));
$app['app_cate_id'] = request()->param('app_cate_id');
$app['user_id'] = session('user')['id'];
$app['current'] = time();
$app['isdeleted'] = 0;
$app['file_link'] = request()->param('file_link');
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>102400,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 8;
$img['current'] = time();
$img->save();
$app['img_id'] = $img->id;
$app->save();
}else{
$app = App::where('isdeleted',0)->where('id',$id)->find();
if(empty($app)){
$this->error("该项已被删除");
}
$is_cover = request()->param('is_cover');
if(strtolower($is_cover)=="on"){
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>102400,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 2;
$img['current'] = time();
$img->save();
$temp_img = Img::get($app['img_id']);
unlink("../public".$temp_img["img_url"].$temp_img['img_name']);
Img::destroy($app['img_id']);
$app['img_id'] = $img->id;
}
$app['app_cate_id'] = request()->param('app_cate_id');
$app['title'] = trim(request()->param('name'));
$app['user_id'] = session('user')['id'];
$app['current'] = time();
$app['isdeleted'] = 0;
$app['file_link'] = request()->param('file_link');
$app->save();
}
} catch (Exception $e) {
// unlink('../public/uploads/static_data/'.$info->getExtension());
}
$this->redirect(url("/app_manage/list"));
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use app\admin\model\HomeConfigCate;
use app\common\model\Img;
use think\Exception;
use think\facade\App;
class Banner extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function list(){
$pageSize = 10;
$banner_list = db('banner')->where('isdeleted',0)->order('created_at','desc')->paginate($pageSize);
$this->assign('banner_list',$banner_list);
return view("/admin/banner/list");
}
public function edit(int $id=0){
$banner =db('banner')->where('isdeleted',0)->where('id',$id)->find();
$this->assign('banner',$banner);
return view("/admin/banner/edit");
}
public function del(int $id){
$data = db('banner')->where('id',$id)->find();
if ($data){
db('banner')->where('id',$id)->update(['isdeleted'=>1]);
$this->success("删除成功",url('/banner/list'));
}else{
$this->error('Banner不存在');
}
}
public function save(){
$id = request()->param('id',0,'intval');
try {
if($id==0){
$insert = array();
$insert['name'] = trim(request()->param('name'));
$insert['config_address'] = trim(request()->param('config_address'));
$insert['user_id'] = session('user')['id'];
$insert['created_at'] = time();
$insert['isdeleted'] = 0;
$img = new Img();
$file = request()->file('icon');
$info = $file->validate(['size'=>2048000,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不是png');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 12;//banner图
$img['current'] = time();
$img->save();
$insert['icon'] = $img->img_url.$img->img_name;
db('banner')->insert($insert);
}else{
$app = db('banner')->where('isdeleted',0)->where('id',$id)->find();
if(empty($app)){
$this->error("该项已被删除");
}
$is_cover = request()->param('is_cover');
if(strtolower($is_cover)=="on"){
$img = new Img();
$file = request()->file('icon');
$info = $file->validate(['size'=>102400,'ext'=>'png'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不是png');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 2;
$img['current'] = time();
$img->save();
// $temp_img = Img::get($joinCate['img_id']);
// unlink("../public".$temp_img["img_url"].$temp_img['img_name']);
// Img::destroy($joinCate['img_id']);
$update['icon'] = $img->img_url.$img->img_name;
}
$update['name'] = trim(request()->param('name'));
$update['config_address'] = trim(request()->param('config_address'));
$update['user_id'] = session('user')['id'];
$update['created_at'] = time();
$update['isdeleted'] = 0;
$update['id']=$id;
db('banner')->update($update);
}
} catch (Exception $e) {
unlink('../public/uploads/static_data/'.$info->getExtension());
}
$this->success('操作成功',url("/banner/list"));
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use think\Controller;
class Error extends Controller
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
}
<?php
namespace app\admin\controller;
use app\common\model\Img;
use app\admin\model\Game as mGame;
use app\admin\model\GameCate;
use think\Exception;
class Game extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function list(){
$pageSize =10 ;
$app_list = mGame::where("isdeleted",0)->paginate($pageSize);
$this->assign("game_list",$app_list);
return view("/admin/game_manage/list");
}
public function edit(int $id=0){
$app_cate_list = GameCate::where("isdeleted",0)->select();
$app = mGame::where("isdeleted",0)->where('id',$id)->find();
$this->assign("game",$app);
$this->assign("game_cate_list",$app_cate_list);
return view("/admin/game_manage/edit");
}
public function save(){
//1.获取职位类别
$id = request()->param('id',0,'intval');
try {
if($id==0){
$app = new mGame();
$app['title'] = trim(request()->param('name'));
$app['game_cate_id'] = request()->param('game_cate_id');
$app['user_id'] = session('user')['id'];
$app['current'] = time();
$app['isdeleted'] = 0;
$file_link = request()->param('file_link');
if(!strstr($file_link, 'http://')||!strstr($file_link, 'https://')){
$file_link ="http://".$file_link;
}
$app['file_link'] =$file_link;
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>1024000,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 8;
$img['current'] = time();
$img->save();
$app['img_id'] = $img->id;
$app->save();
}else{
$app = mGame::where('isdeleted',0)->where('id',$id)->find();
if(empty($app)){
$this->error("该项已被删除");
}
$is_cover = request()->param('is_cover');
if(strtolower($is_cover)=="on"){
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>102400,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 13;
$img['current'] = time();
$img->save();
$temp_img = Img::get($app['img_id']);
unlink("../public".$temp_img["img_url"].$temp_img['img_name']);
Img::destroy($app['img_id']);
$app['img_id'] = $img->id;
}
$app['game_cate_id'] = request()->param('game_cate_id');
$app['title'] = trim(request()->param('name'));
$app['user_id'] = session('user')['id'];
$app['current'] = time();
$app['isdeleted'] = 0;
$file_link = request()->param('file_link');
if(!strstr($file_link, 'http://')||!strstr($file_link, 'https://')){
$file_link ="http://".$file_link;
}
$app['file_link'] =$file_link;
$app->save();
}
} catch (Exception $e) {
// unlink('../public/uploads/static_data/'.$info->getExtension());
}
$this->redirect(url("/game_manage/list"));
}
public function del(int $id=0){
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use think\Exception;
use app\common\model\Img;
use app\admin\model\GameCate as mGameCate;
class GameCate extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function list(){
$pageSize = 10;
$app_cate_list = mGameCate::where('isdeleted',0)->paginate($pageSize);
$this->assign('game_cate_list',$app_cate_list);
return view("/admin/game_manage/cate_list");
}
public function edit(int $id=0){
$app_cate = mGameCate::where('isdeleted',0)->where('id',$id)->find();
$this->assign('game_cate',$app_cate);
return view("/admin/game_manage/cate_edit");
}
public function save(){
//1.获取职位类别
$id = request()->param('id',0,'intval');
try {
if($id==0){
$appCate = new mGameCate();
$appCate['title'] = trim(request()->param('name'));
$appCate['user_id'] = session('user')['id'];
$appCate['current'] = time();
$appCate['isdeleted'] = 0;
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>102400,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 12;
$img['current'] = time();
$img->save();
$appCate['img_id'] = $img->id;
$appCate->save();
}else{
$appCate = mGameCate::where('isdeleted',0)->where('id',$id)->find();
if(empty($appCate)){
$this->error("该分类已被删除");
}
$appCate['title'] = trim(request()->param('name'));
$appCate['user_id'] = session('user')['id'];
$appCate['current'] = time();
$appCate['isdeleted'] = 0;
$appCate->save();
}
} catch (Exception $e) {
unlink('../public/uploads/static_data/'.$info->getExtension());
}
$this->redirect(url("/gameCate/cate_list"));
}
public function del(int $id=0){
$join_cate = mGameCate::where("isdeleted",0)->where('id',$id)->find();
if(!empty($join_cate)){
$join_cate['isdeleted'] = 1;
$join_cate->save();
}
$this->redirect(url("/gameCate/cate_list"));
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use app\admin\model\HomeConfig as mHomeConfig;
use app\admin\model\HomeConfigCate;
use app\common\model\Img;
use think\Exception;
class HomeConfig extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function cate_list(){
$pageSize =10 ;
$cate_list = HomeConfigCate::where("isdeleted",0)->paginate($pageSize);
$this->assign("cate_list",$cate_list);
return view("/admin/home_config/cate_list");
}
public function cate_edit(int $id=0){
$home_cate = HomeConfigCate::where("isdeleted",0)->where("id",$id)->find();
$this->assign("home_cate",$home_cate);
return view("/admin/home_config/cate_edit");
}
public function cate_save(){
$id = request()->param('id',0,'intval');
try {
if($id==0){
$app = new HomeConfigCate();
$app['title'] = trim(request()->param('name'));
$app['user_id'] = session('user')['id'];
$app['current'] = time();
$app['isdeleted'] = 0;
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>2048000,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 11;
$img['current'] = time();
$img->save();
$app['img_id'] = $img->id;
$app->save();
}else{
$app = HomeConfigCate::where('isdeleted',0)->where('id',$id)->find();
if(empty($app)){
$this->error("该项已被删除");
}
$app['title'] = trim(request()->param('name'));
$app['user_id'] = session('user')['id'];
$app['current'] = time();
$app['isdeleted'] = 0;
$app->save();
}
} catch (Exception $e) {
unlink('../public/uploads/static_data/'.$info->getExtension());
}
$this->redirect(url("/home_config/cate_list"));
}
public function cate_del(int $id=0){
$data = HomeConfigCate::where('id',$id)->find();
if ($data){
$data['isdeleted'] = 1;
$data->save();
$this->success('删除成功',url('/home_config/cate_list'));
}else{
$this->success('删除项不存在',url('/home_config/cate_list'));
}
}
public function list(){
$pageSize =10 ;
$home_config_list = mHomeConfig::where("isdeleted",0)->paginate($pageSize);
$this->assign("home_config_list",$home_config_list);
return view("/admin/home_config/list");
}
public function edit(int $id=0){
$home_cate_list = HomeConfigCate::where("isdeleted",0)->select();
$home = mHomeConfig::where("isdeleted",0)->where('id',$id)->find();
$this->assign("home_config",$home);
$this->assign("home_cate_list",$home_cate_list);
return view("/admin/home_config/edit");
}
public function save(){
//1.获取职位类别
$id = request()->param('id',0,'intval');
try {
if($id==0){
$app = new mHomeConfig();
$app['title'] = trim(request()->param('name'));
$app['home_config_cate_id'] = request()->param('home_config_cate_id');
$app['user_id'] = session('user')['id'];
$app['current'] = time();
$app['isdeleted'] = 0;
$img = new Img();
$file = request()->file('img');
$info = $file->rule('uniqid')->move( '../public/uploads/static_data/');
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 9;
$img['current'] = time();
$img->save();
$app['img_id'] = $img->id;
$app->save();
}else{
$app = mHomeConfig::where('isdeleted',0)->where('id',$id)->find();
if(empty($app)){
$this->error("该项已被删除");
}
$is_cover = request()->param('is_cover');
if(strtolower($is_cover)=="on"){
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>102400,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 9;
$img['current'] = time();
$img->save();
$temp_img = Img::get($app['img_id']);
unlink("../public".$temp_img["img_url"].$temp_img['img_name']);
Img::destroy($app['img_id']);
$app['img_id'] = $img->id;
}
$app['home_config_cate_id'] = request()->param('home_config_cate_id');
$app['title'] = trim(request()->param('name'));
$app['user_id'] = session('user')['id'];
$app['current'] = time();
$app['isdeleted'] = 0;
$app->save();
}
} catch (Exception $e) {
$this->error($e->getMessage());
}
$this->success("保存成功",url("/home_config/list"));
}
public function del(int $id=0){
$data = mHomeConfig::where('id',$id)->find();
if ($data){
$data['isdeleted'] = 1;
$data->save();
$this->success('删除成功',url('/home_config/list'));
}else{
$this->success('删除项不存在',url('/home_config/list'));
}
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use app\join\model\Join as mJoin;
use app\common\model\Img;
use think\facade\App;
use app\join\model\JoinCate;
class Join extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function list(){
$pageSize = 10;
$join_list = mJoin::where('isdeleted',0)->order('current','desc')->paginate($pageSize);
$this->assign('join_list',$join_list);
return view("/admin/join/list");
}
public function edit(int $id=0){
$join = mJoin::where('isdeleted',0)->where('id',$id)->find();
$join_cate_list = JoinCate::where('isdeleted',0)->order('current','desc')->select();
$this->assign('join_cate_list',$join_cate_list);
$this->assign('join',$join);
return view("/admin/join/edit");
}
public function del(int $id){
$m = mJoin::where('id',$id)->find();
$m['isdeleted'] = 1;
$m->save();
$imgs = Img::where('img_type',5)->where('other_id',$m['id'])->select();
$rootPath = App::getRootPath();
for($n=0;$n<count($imgs);$n++){
if(file_exists($rootPath.'/public/'.$imgs[$n]['img_url'].$imgs[$n]['img_name'])){
unlink($rootPath.'/public/'.$imgs[$n]['img_url'].$imgs[$n]['img_name']);
}
Img::destroy($imgs[$n]['id']);
}
$this->success("删除成功",url('/join/list'));
}
public function save(){
$id = request()->param('id',0,'intval');
$content = request()->param('content','');
$join_cate_id = request()->param('join_cate_id',0);
$title = request()->param('title','');
$place = request()->param('place','');
$join = mJoin::where("isdeleted",0)->where('id',$id)->find();
if(empty($join)){
$join = new mJoin();
}
$join['title'] = $title;
$join['place'] = $place;
$join['content'] = $content;
$join['user_id'] = session('user')['id'];
$join['current'] = time();
if($id==0){
$join['isdeleted'] = 0;
$join['isrelease'] = 0;
}
$join['join_cate_id'] = $join_cate_id;
$pattern = "/<[img|IMG].*?src=['|\"](.*?(?:[.gif|.jpg|.png]))['|\"].*?[\/]?>/";
$matches = array();
preg_match_all($pattern, $content, $matches);
$join->save();
if(count($matches)>1){
for($n=0;$n<count($matches[count($matches)-1]);$n++){
$img = new Img();
$img_name = $matches[count($matches)-1][$n];
$img_name = str_replace("/uploads/static_data/", "", $img_name);
$img = $img->find($img_name, "/uploads/static_data/");
$img['content_release'] = $join->current;
$img['other_id'] = $join->id;
$img['img_type'] = 5;
$img->save();
}
}
return '保存成功';
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use app\join\model\JoinCate as mjoinCate;
use think\Exception;
use app\common\model\Img;
use app\join\model\Join;
class JoinCate extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function list(){
$pageSize = 10;
$cate_list = mjoinCate::where('isdeleted',0)->order('current','desc')->paginate($pageSize);
$this->assign('cate_list',$cate_list);
return view("/admin/join/cate_list");
}
public function edit(int $id=0){
$join_cate = mjoinCate::where('isdeleted',0)->where('id',$id)->find();
$this->assign('join_cate',$join_cate);
return view("/admin/join/cate_edit");
}
public function save(){
//1.获取职位类别
$id = request()->param('id',0,'intval');
try {
if($id==0){
$joinCate = new mjoinCate();
$joinCate['title'] = trim(request()->param('name'));
$joinCate['user_id'] = session('user')['id'];
$joinCate['current'] = time();
$joinCate['isdeleted'] = 0;
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>102400,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 2;
$img['current'] = time();
$img->save();
$joinCate['img_id'] = $img->id;
$joinCate->save();
}else{
$joinCate = mjoinCate::where('isdeleted',0)->where('id',$id)->find();
if(empty($joinCate)){
$this->error("该分类已被删除");
}
$is_cover = request()->param('is_cover');
if(strtolower($is_cover)=="on"){
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>102400,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 2;
$img['current'] = time();
$img->save();
$temp_img = Img::get($joinCate['img_id']);
unlink("../public".$temp_img["img_url"].$temp_img['img_name']);
Img::destroy($joinCate['img_id']);
$joinCate['img_id'] = $img->id;
}
$joinCate['title'] = trim(request()->param('name'));
$joinCate['user_id'] = session('user')['id'];
$joinCate['current'] = time();
$joinCate['isdeleted'] = 0;
$joinCate->save();
}
} catch (Exception $e) {
$this->error($e->getMessage());
}
$this->redirect(url("/joinCate/list"));
}
public function del(int $id=0){
$join_num = Join::where("isdeleted",0)->where("join_cate_id",$id)->count();
if($join_num>0){
$this->error("该分类下有招聘信息,不能删除",url("/joinCate/list"));
}
$join_cate = mjoinCate::where("isdeleted",0)->where('id',$id)->find();
if(!empty($join_cate)){
$join_cate['isdeleted'] = 1;
$join_cate->save();
if(!empty($join_cate['img_id'])&&$join_cate['img_id']!=0){
$img = Img::get($join_cate['img_id']);
unlink('../public'.$img["img_url"].$img['img_name']);
Img::destroy($join_cate['img_id']);
}
}
$this->success("删除成功",url("/joinCate/list"));
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use think\Controller;
use app\admin\model\Users;
class Login extends Controller{
public function login(){
return view("admin/login/login");
}
public function dologin(){
$rules = [
'username|名称' => 'require',
'password|密码' => 'require',
'code|验证码' => 'require',
];
$result = $this->validate(request()->param(),$rules);
$data = array();
if(true !== $result){
$data['flag'] = false;
$data['msg'] = $result;
return json($data);
}
$code = input('post.code');
$data = array();
if (!captcha_check($code)) {
$data['flag'] = false;
$data['msg'] = "验证码错误";
return json($data);
}
$username = input('username','');
$user = Users::where('username',$username)->find();
if(empty($user)){
$data['flag'] = false;
$data['msg'] = "用户不存在";
return json($data);
}
if($user['password']!= md5(input('post.password').$user['current'])){
$data['flag'] = false;
$data['msg'] = "密码错误";
return json($data);
};
$token = token();
session('token', $token);
session('user', $user);
session('session_start_time', time());
$data['flag'] = true;
$data['msg'] = "登录成功";
$data['url'] = url("/admin/index");
return json($data);
}
public function logout(){
session(null);
return redirect(url("/fanjiao_login"));
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use app\news\model\News as mNews;
use think\facade\App;
use app\common\model\Img;
class News extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function list(){
$pageSize = 5;
$news_list = mNews::where('isdeleted',0)->order('current','desc')->paginate($pageSize);
$this->assign('news_list',$news_list);
return view("/admin/news/list");
}
public function edit(int $id=0){
$news = mNews::where('isdeleted',0)->where('id',$id)->find();
$this->assign('news',$news);
return view("/admin/news/edit");
}
public function del(int $id=0){
$m = mNews::where('isdeleted',0)->where('id',$id)->find();
$m['isdeleted'] = 1;
$m->save();
$imgs = Img::where('img_type',1)->where('other_id',$m['id'])->select();
$rootPath = App::getRootPath();
for($n=0;$n<count($imgs);$n++){
// if(file_exists($rootPath.'/public/'.$imgs[$n]['img_url'].$imgs[$n]['img_name'])){
// unlink($rootPath.'/public/'.$imgs[$n]['img_url'].$imgs[$n]['img_name']);
// }
Img::destroy($imgs[$n]['id']);
}
$this->success("删除成功",url('/news/list'));
}
public function save(){
$id = request()->param('id',0,'intval');
$content = request()->param('content','');
$title = request()->param('title','');
$news = mNews::where("isdeleted",0)->where('id',$id)->find();
if(empty($news)){
$news = new mNews();
}
$news['news_title'] = $title;
$news['news_content'] = $content;
$news['user_id'] = session('user')['id'];
$news['current'] = time();
if($id==0){
$news['isdeleted'] = 0;
}
$pattern = "/<[img|IMG].*?src=['|\"](.*?(?:[.gif|.jpg|.png]))['|\"].*?[\/]?>/";
$matches = array();
preg_match_all($pattern, $content, $matches);
$news->save();
if(count($matches)>1){
for($n=0;$n<count($matches[count($matches)-1]);$n++){
$img = new Img();
$img_name = $matches[count($matches)-1][$n];
$img_name = str_replace("/uploads/static_data/", "", $img_name);
//2020 09 08 不知道下面这行要做什么
// $img = $img->find($img_name, "/uploads/static_data/");
$img['content_release'] = $news->current;
$img['other_id'] = $news->id;
$img['img_type'] = 1;
$img->save();
}
}
return '保存成功';
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use app\servicehelp\model\Question as mQuestion;
use app\servicehelp\model\QuestionCate;
use app\common\model\Img;
use think\facade\App;
class Question extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function list(){
$pageSize = 10;
$question_list = mQuestion::where('isdeleted',0)->order('current','desc')->paginate($pageSize);
$this->assign('question_list',$question_list);
return view("/admin/question/list");
}
public function edit(int $id =0){
$question = mQuestion::where('isdeleted',0)->where('id',$id)->find();
$question_cate_list = QuestionCate::where('isdeleted',0)->order('current','desc')->select();
$this->assign('question_cate_list',$question_cate_list);
$this->assign('question',$question);
return view("/admin/question/edit");
}
public function del(int $id=0){
$question = mQuestion::where("isdeleted",0)->where('id',$id)->find();
if(!empty($question)){
$question['isdeleted'] = 1;
$imgs = Img::where('img_type',4)->where('other_id',$question['id'])->select();
$rootPath = App::getRootPath();
for($n=0;$n<count($imgs);$n++){
if(file_exists($rootPath.'/public/'.$imgs[$n]['img_url'].$imgs[$n]['img_name'])){
unlink($rootPath.'/public/'.$imgs[$n]['img_url'].$imgs[$n]['img_name']);
}
Img::destroy($imgs[$n]['id']);
}
$question->save();
}
$this->success("删除成功",url('/question/list'));
}
public function save(){
$id = request()->param('id',0,'intval');
$content = request()->param('content','');
$question_cate_id = request()->param('question_cate_id',0);
$title = request()->param('title','');
$question = mQuestion::where("isdeleted",0)->where('id',$id)->find();
if(empty($question)){
$question = new mQuestion();
}
$question['title'] = $title;
$question['content'] = $content;
$question['user_id'] = session('user')['id'];
$question['current'] = time();
$question['isdeleted'] = 0;
$question['question_cate_id'] = $question_cate_id;
$pattern = "/<[img|IMG].*?src=['|\"](.*?(?:[.gif|.jpg|.png]))['|\"].*?[\/]?>/";
$matches = array();
preg_match_all($pattern, $content, $matches);
$question->save();
if(count($matches)>1){
for($n=0;$n<count($matches[count($matches)-1]);$n++){
$img = new Img();
$img_name = $matches[count($matches)-1][$n];
$img_name = str_replace("/uploads/static_data/", "", $img_name);
$img = $img->find($img_name, "/uploads/static_data/");
$img['content_release'] = $question->current;
$img['other_id'] = $question->id;
$img['img_type'] = 4;
$img->save();
}
}
return '保存成功';
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use app\servicehelp\model\QuestionCate as mQuestionCate;
use app\common\model\Img;
use think\Exception;
use app\servicehelp\model\Question;
class QuestionCate extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function list(){
$pageSize = 10;
$cate_list = mQuestionCate::where('isdeleted',0)->order('current','desc')->paginate($pageSize);
$this->assign('cate_list',$cate_list);
return view("/admin/question/cate_list");
}
public function edit(int $id=0){
$question_cate = mQuestionCate::where('isdeleted',0)->where('id',$id)->find();
$this->assign('question_cate',$question_cate);
return view("/admin/question/cate_edit");
}
public function save(){
//1.获取职位类别
$id = request()->param('id',0,'intval');
try {
if($id==0){
$joinCate = new mQuestionCate();
$joinCate['title'] = trim(request()->param('name'));
$joinCate['user_id'] = session('user')['id'];
$joinCate['current'] = time();
$joinCate['isdeleted'] = 0;
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>102400,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 3;
$img['current'] = time();
$img->save();
$joinCate['img_id'] = $img->id;
$joinCate->save();
}else{
$joinCate = mQuestionCate::where('isdeleted',0)->where('id',$id)->find();
if(empty($joinCate)){
$this->error("该分类已被删除");
}
$is_cover = request()->param('is_cover');
if(strtolower($is_cover)=="on"){
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>102400,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 3;
$img['current'] = time();
$img->save();
$temp_img = Img::get($joinCate['img_id']);
unlink("../public".$temp_img["img_url"].$temp_img['img_name']);
Img::destroy($joinCate['img_id']);
$joinCate['img_id'] = $img->id;
}
$joinCate['title'] = trim(request()->param('name'));
$joinCate['user_id'] = session('user')['id'];
$joinCate['current'] = time();
$joinCate['isdeleted'] = 0;
$joinCate->save();
}
} catch (Exception $e) {
$this->error($e->getMessage());
}
$this->redirect(url("/questionCate/list"));
}
public function del(int $id=0){
$join_num = Question::where("isdeleted",0)->where("question_cate_id",$id)->count();
if($join_num>0){
$this->error("该分类下有问题信息,不能删除",url("/questionCate/list"));
}
$join_cate = mQuestionCate::where("isdeleted",0)->where('id',$id)->find();
if(!empty($join_cate)){
$join_cate['isdeleted'] = 1;
$join_cate->save();
if(!empty($join_cate['img_id'])&&$join_cate['img_id']!=0){
$img = Img::get($join_cate['img_id']);
unlink('../public'.$img["img_url"].$img['img_name']);
Img::destroy($join_cate['img_id']);
}
}
$this->success("删除成功",url("/questionCate/list"));
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use app\common\model\Img;
use think\Controller;
class Uploads extends Controller
{
public $fromDelAll = false;
public function uploads(){
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>20480000,'ext'=>'jpg,png,gif,apk,mp4'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['current'] = time();
$img->save();
$array = array('errno'=>0,'data'=>array($img_url.$info->getSaveName()));
return json($array);
}
public function getConfig(){
//获取首页背景图
$bannerImgId = db('home_config')->where('title','首页背景图')->value('img_id');
$bannerImg = db('img')->where('id',$bannerImgId)->field('img_name,img_url')->find();
//获取按钮
$button = db('banner')->where('isdeleted',0)->field('name,icon,config_address')->order('created_at desc')->select();
return json(['banner'=>$bannerImg['img_url'].$bannerImg['img_name'],'button'=>$button] );
}
}
\ No newline at end of file
<?php
namespace app\admin\model;
use think\Model;
class App extends Model
{
public function appCate()
{
return $this->hasOne('AppCate','id','app_cate_id');
}
public function user()
{
return $this->hasOne('app\admin\model\Users','id','user_id');
}
public function img()
{
return $this->hasOne('app\common\model\Img','id','img_id');
}
}
\ No newline at end of file
<?php
namespace app\admin\model;
use think\Model;
class AppCate extends Model
{
public function user()
{
return $this->hasOne('app\admin\model\Users','id','user_id');
}
public function img()
{
return $this->hasOne('app\common\model\Img','id','img_id');
}
}
\ No newline at end of file
<?php
namespace app\admin\model;
use think\Model;
class Game extends Model
{
public function gameCate()
{
return $this->hasOne('GameCate','id','game_cate_id');
}
public function user()
{
return $this->hasOne('app\admin\model\Users','id','user_id');
}
public function img()
{
return $this->hasOne('app\common\model\Img','id','img_id');
}
}
\ No newline at end of file
<?php
namespace app\admin\model;
use think\Model;
class GameCate extends Model
{
public function user()
{
return $this->hasOne('app\admin\model\Users','id','user_id');
}
public function img()
{
return $this->hasOne('app\common\model\Img','id','img_id');
}
}
\ No newline at end of file
<?php
namespace app\admin\model;
use think\Model;
class HomeConfig extends Model
{
public function user()
{
return $this->hasOne('app\admin\model\Users','id','user_id');
}
public function img()
{
return $this->hasOne('app\common\model\Img','id','img_id');
}
}
\ No newline at end of file
<?php
namespace app\admin\model;
use think\Model;
class HomeConfigCate extends Model
{
public function user()
{
return $this->hasOne('app\admin\model\Users','id','user_id');
}
public function img()
{
return $this->hasOne('app\common\model\Img','id','img_id');
}
}
\ No newline at end of file
<?php
namespace app\admin\model;
use think\Model;
class Users extends Model
{
}
\ No newline at end of file
<?php
namespace app\admin\validate;
use think\Validate;
class User extends Validate
{
protected $rule = [
'username' => 'require|max:25',
'password' => 'require|min:25',
];
protected $message = [
'username.require' => '用户名必须',
'password.require' => '密码必须',
];
protected $scene = [
'add' => ['username','password'],
'login' => ['username','password'],
];
}
\ No newline at end of file
<?php
namespace app\about\controller;
use app\common\controller\Base;
use app\about\model\About as mabout;
class About extends Base
{
public function _empty($method)
{
return view("/home/public/error");
}
public function aboutus(){
$this->redirect(url('/aboutus/us'));
}
public function contact(){
$contact = new mabout();
$contact = $contact->get_contact();
$this->assign('url',$this->url);
if(!$contact){
return view("/home/public/error");
}
$this->assign('contact',$contact);
return view("/home/about/contact");
}
public function us(){
$agreement = new mabout();
$agreement = $agreement->get_us();
$this->assign('url',$this->url);
if(!$agreement){
return view("/home/public/error");
}
$this->assign('us',$agreement);
return view("/home/about/aboutus");
}
public function agreement(){
$agreement = new mabout();
$agreement = $agreement->get_agreement();
$this->assign('url',$this->url);
if(!$agreement){
return view("/home/public/error");
}
$this->assign('agreement',$agreement);
return view("/home/about/agreement");
}
public function vipterms(){
$vipterms = new mabout();
$vipterms = $vipterms->get_vipterms();
$this->assign('url',$this->url);
if(!$vipterms){
return view("/home/public/error");
}
$this->assign('vipterms',$vipterms);
return view("/home/about/vipterms");
}
}
\ No newline at end of file
<?php
namespace app\about\controller;
use think\Controller;
class Error extends Controller
{
public function _empty($method)
{
$this->assign('url','Join');
return view("/home/public/error");
}
}
<?php
namespace app\about\model;
use think\Model;
class About extends Model
{
public function get_agreement(){
$agreement = $this->where('type',1)->where('isdeleted',0)->order('current','desc')->find();
if(empty($agreement)){
return false;
}
return $agreement;
}
public function get_vipterms(){
$vipterms = $this->where('type',2)->where('isdeleted',0)->order('current','desc')->find();
if(empty($vipterms)){
return false;
}
return $vipterms;
}
public function get_us(){
$vipterms = $this->where('type',0)->where('isdeleted',0)->order('current','desc')->find();
if(empty($vipterms)){
return false;
}
return $vipterms;
}
public function get_contact(){
$contact = $this->where('type',3)->where('isdeleted',0)->order('current','desc')->find();
if(empty($contact)){
return false;
}
return $contact;
}
public function user()
{
return $this->hasOne('app\admin\model\Users','id','user_id');
}
}
\ No newline at end of file
This diff is collapsed.
<?php
namespace app\admin\controller;
use app\common\controller\Error;
use think\App;
use think\facade\Config;
class AdminBase extends Error
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function __construct(App $app = null)
{
parent::__construct($app);
$this->fromDelAll = false;
}
public function initialize(){
$start_time = session('session_start_time');
$expire = Config::get('session.expire');
$token = session('token');
if(time()-$start_time>$expire){
session(null);
}
if(empty($token)){
$this->redirect(url("/fanjiao_login"));
}
session('session_start_time',time());
}
//批量删除
public function delAll(string $ids='',string $action=''){
if (empty($ids)){
$this->error('请选择要删除的项!');
}
$idArr = explode(',',$ids);
//about页面的删除方法不一样 恶心人
// $methods = array(
// 'del',
// 'vipterms_del', //会员条款
// 'agreement_del', //用户协议
// 'us_del', //关于我们
// 'contact_del', //联系我们
// );
//用这个先跳出success的成功跳转
$this->fromDelAll = true;
//暂时加不了事务
foreach ($idArr as $v){
if (method_exists($this,$action.'del')){
$self_del = $action.'del';
$this->$self_del($v);
}
}
$this->fromDelAll = false;
$this->success('删除成功!');
}
}
<?php
namespace app\admin\controller;
class AdminIndex extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function index(){
return view("/admin/index/index");
}
public function welcome(){
return view("/admin/index/welcome");
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use app\admin\model\App;
use think\Exception;
use app\common\model\Img;
use app\admin\model\AppCate;
class AppCateManage extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function list(){
$pageSize = 10;
$app_cate_list = AppCate::where('isdeleted',0)->paginate($pageSize);
$this->assign('app_cate_list',$app_cate_list);
return view("/admin/app_manage/cate_list");
}
public function edit(int $id=0){
$app_cate = AppCate::where('isdeleted',0)->where('id',$id)->find();
$this->assign('app_cate',$app_cate);
return view("/admin/app_manage/cate_edit");
}
public function save(){
//1.获取职位类别
$id = request()->param('id',0,'intval');
try {
if($id==0){
$appCate = new AppCate();
$appCate['title'] = trim(request()->param('name'));
$appCate['user_id'] = session('user')['id'];
$appCate['current'] = time();
$appCate['isdeleted'] = 0;
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>102400,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 7;
$img['current'] = time();
$img->save();
$appCate['img_id'] = $img->id;
$appCate->save();
}else{
$appCate = AppCate::where('isdeleted',0)->where('id',$id)->find();
if(empty($appCate)){
$this->error("该分类已被删除");
}
$appCate['title'] = trim(request()->param('name'));
$appCate['user_id'] = session('user')['id'];
$appCate['current'] = time();
$appCate['isdeleted'] = 0;
$appCate->save();
}
} catch (Exception $e) {
unlink('../public/uploads/static_data/'.$info->getExtension());
}
$this->redirect(url("/app_manage/cate_list"));
}
public function cate_del(int $id=0){
$join_cate = AppCate::where("isdeleted",0)->where('id',$id)->find();
if(!empty($join_cate)){
$join_cate['isdeleted'] = 1;
$join_cate->save();
}
$this->redirect(url("/app_manage/cate_list"));
}
public function del(int $id=0){
$app = App::where('id',$id)->find();
if ($app){
$app['isdeleted'] = 1;
$app->save();
$this->success('删除成功',url("/app_manage/list"));
}else{
$this->error('删除失败',url("/app_manage/list"));
}
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use app\admin\model\App;
use app\admin\model\AppCate;
use app\common\model\Img;
use think\Exception;
class AppManage extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function list(){
$pageSize =10 ;
$app_list = App::where("isdeleted",0)->paginate($pageSize);
$this->assign("app_list",$app_list);
return view("/admin/app_manage/list");
}
public function edit(int $id=0){
$app_cate_list = AppCate::where("isdeleted",0)->select();
$app = App::where("isdeleted",0)->where('id',$id)->find();
$this->assign("app",$app);
$this->assign("app_cate_list",$app_cate_list);
return view("/admin/app_manage/edit");
}
public function save(){
//1.获取职位类别
$id = request()->param('id',0,'intval');
try {
if($id==0){
$app = new App();
$app['title'] = trim(request()->param('name'));
$app['app_cate_id'] = request()->param('app_cate_id');
$app['user_id'] = session('user')['id'];
$app['current'] = time();
$app['isdeleted'] = 0;
$app['file_link'] = request()->param('file_link');
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>102400,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 8;
$img['current'] = time();
$img->save();
$app['img_id'] = $img->id;
$app->save();
}else{
$app = App::where('isdeleted',0)->where('id',$id)->find();
if(empty($app)){
$this->error("该项已被删除");
}
$is_cover = request()->param('is_cover');
if(strtolower($is_cover)=="on"){
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>102400,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 2;
$img['current'] = time();
$img->save();
$temp_img = Img::get($app['img_id']);
unlink("../public".$temp_img["img_url"].$temp_img['img_name']);
Img::destroy($app['img_id']);
$app['img_id'] = $img->id;
}
$app['app_cate_id'] = request()->param('app_cate_id');
$app['title'] = trim(request()->param('name'));
$app['user_id'] = session('user')['id'];
$app['current'] = time();
$app['isdeleted'] = 0;
$app['file_link'] = request()->param('file_link');
$app->save();
}
} catch (Exception $e) {
// unlink('../public/uploads/static_data/'.$info->getExtension());
}
$this->redirect(url("/app_manage/list"));
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use app\admin\model\HomeConfigCate;
use app\common\model\Img;
use think\Exception;
use think\facade\App;
class Banner extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function list(){
$pageSize = 10;
$banner_list = db('banner')->where('isdeleted',0)->order('created_at','desc')->paginate($pageSize);
$this->assign('banner_list',$banner_list);
return view("/admin/banner/list");
}
public function edit(int $id=0){
$banner =db('banner')->where('isdeleted',0)->where('id',$id)->find();
$this->assign('banner',$banner);
return view("/admin/banner/edit");
}
public function del(int $id){
$data = db('banner')->where('id',$id)->find();
if ($data){
db('banner')->where('id',$id)->update(['isdeleted'=>1]);
$this->success("删除成功",url('/banner/list'));
}else{
$this->error('Banner不存在');
}
}
public function save(){
$id = request()->param('id',0,'intval');
try {
if($id==0){
$insert = array();
$insert['name'] = trim(request()->param('name'));
$insert['config_address'] = trim(request()->param('config_address'));
$insert['user_id'] = session('user')['id'];
$insert['created_at'] = time();
$insert['isdeleted'] = 0;
$img = new Img();
$file = request()->file('icon');
$info = $file->validate(['size'=>2048000,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不是png');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 12;//banner图
$img['current'] = time();
$img->save();
$insert['icon'] = $img->img_url.$img->img_name;
db('banner')->insert($insert);
}else{
$app = db('banner')->where('isdeleted',0)->where('id',$id)->find();
if(empty($app)){
$this->error("该项已被删除");
}
$is_cover = request()->param('is_cover');
if(strtolower($is_cover)=="on"){
$img = new Img();
$file = request()->file('icon');
$info = $file->validate(['size'=>102400,'ext'=>'png'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不是png');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 2;
$img['current'] = time();
$img->save();
// $temp_img = Img::get($joinCate['img_id']);
// unlink("../public".$temp_img["img_url"].$temp_img['img_name']);
// Img::destroy($joinCate['img_id']);
$update['icon'] = $img->img_url.$img->img_name;
}
$update['name'] = trim(request()->param('name'));
$update['config_address'] = trim(request()->param('config_address'));
$update['user_id'] = session('user')['id'];
$update['created_at'] = time();
$update['isdeleted'] = 0;
$update['id']=$id;
db('banner')->update($update);
}
} catch (Exception $e) {
unlink('../public/uploads/static_data/'.$info->getExtension());
}
$this->success('操作成功',url("/banner/list"));
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use think\Controller;
class Error extends Controller
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
}
<?php
namespace app\admin\controller;
use app\common\model\Img;
use app\admin\model\Game as mGame;
use app\admin\model\GameCate;
use think\Exception;
class Game extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function list(){
$pageSize =10 ;
$app_list = mGame::where("isdeleted",0)->paginate($pageSize);
$this->assign("game_list",$app_list);
return view("/admin/game_manage/list");
}
public function edit(int $id=0){
$app_cate_list = GameCate::where("isdeleted",0)->select();
$app = mGame::where("isdeleted",0)->where('id',$id)->find();
$this->assign("game",$app);
$this->assign("game_cate_list",$app_cate_list);
return view("/admin/game_manage/edit");
}
public function save(){
//1.获取职位类别
$id = request()->param('id',0,'intval');
try {
if($id==0){
$app = new mGame();
$app['title'] = trim(request()->param('name'));
$app['game_cate_id'] = request()->param('game_cate_id');
$app['user_id'] = session('user')['id'];
$app['current'] = time();
$app['isdeleted'] = 0;
$file_link = request()->param('file_link');
if(!strstr($file_link, 'http://')||!strstr($file_link, 'https://')){
$file_link ="http://".$file_link;
}
$app['file_link'] =$file_link;
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>1024000,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 8;
$img['current'] = time();
$img->save();
$app['img_id'] = $img->id;
$app->save();
}else{
$app = mGame::where('isdeleted',0)->where('id',$id)->find();
if(empty($app)){
$this->error("该项已被删除");
}
$is_cover = request()->param('is_cover');
if(strtolower($is_cover)=="on"){
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>102400,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 13;
$img['current'] = time();
$img->save();
$temp_img = Img::get($app['img_id']);
unlink("../public".$temp_img["img_url"].$temp_img['img_name']);
Img::destroy($app['img_id']);
$app['img_id'] = $img->id;
}
$app['game_cate_id'] = request()->param('game_cate_id');
$app['title'] = trim(request()->param('name'));
$app['user_id'] = session('user')['id'];
$app['current'] = time();
$app['isdeleted'] = 0;
$file_link = request()->param('file_link');
if(!strstr($file_link, 'http://')||!strstr($file_link, 'https://')){
$file_link ="http://".$file_link;
}
$app['file_link'] =$file_link;
$app->save();
}
} catch (Exception $e) {
// unlink('../public/uploads/static_data/'.$info->getExtension());
}
$this->redirect(url("/game_manage/list"));
}
public function del(int $id=0){
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use think\Exception;
use app\common\model\Img;
use app\admin\model\GameCate as mGameCate;
class GameCate extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function list(){
$pageSize = 10;
$app_cate_list = mGameCate::where('isdeleted',0)->paginate($pageSize);
$this->assign('game_cate_list',$app_cate_list);
return view("/admin/game_manage/cate_list");
}
public function edit(int $id=0){
$app_cate = mGameCate::where('isdeleted',0)->where('id',$id)->find();
$this->assign('game_cate',$app_cate);
return view("/admin/game_manage/cate_edit");
}
public function save(){
//1.获取职位类别
$id = request()->param('id',0,'intval');
try {
if($id==0){
$appCate = new mGameCate();
$appCate['title'] = trim(request()->param('name'));
$appCate['user_id'] = session('user')['id'];
$appCate['current'] = time();
$appCate['isdeleted'] = 0;
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>102400,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 12;
$img['current'] = time();
$img->save();
$appCate['img_id'] = $img->id;
$appCate->save();
}else{
$appCate = mGameCate::where('isdeleted',0)->where('id',$id)->find();
if(empty($appCate)){
$this->error("该分类已被删除");
}
$appCate['title'] = trim(request()->param('name'));
$appCate['user_id'] = session('user')['id'];
$appCate['current'] = time();
$appCate['isdeleted'] = 0;
$appCate->save();
}
} catch (Exception $e) {
unlink('../public/uploads/static_data/'.$info->getExtension());
}
$this->redirect(url("/gameCate/cate_list"));
}
public function del(int $id=0){
$join_cate = mGameCate::where("isdeleted",0)->where('id',$id)->find();
if(!empty($join_cate)){
$join_cate['isdeleted'] = 1;
$join_cate->save();
}
$this->redirect(url("/gameCate/cate_list"));
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use app\admin\model\HomeConfig as mHomeConfig;
use app\admin\model\HomeConfigCate;
use app\common\model\Img;
use think\Exception;
class HomeConfig extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function cate_list(){
$pageSize =10 ;
$cate_list = HomeConfigCate::where("isdeleted",0)->paginate($pageSize);
$this->assign("cate_list",$cate_list);
return view("/admin/home_config/cate_list");
}
public function cate_edit(int $id=0){
$home_cate = HomeConfigCate::where("isdeleted",0)->where("id",$id)->find();
$this->assign("home_cate",$home_cate);
return view("/admin/home_config/cate_edit");
}
public function cate_save(){
$id = request()->param('id',0,'intval');
try {
if($id==0){
$app = new HomeConfigCate();
$app['title'] = trim(request()->param('name'));
$app['user_id'] = session('user')['id'];
$app['current'] = time();
$app['isdeleted'] = 0;
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>2048000,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 11;
$img['current'] = time();
$img->save();
$app['img_id'] = $img->id;
$app->save();
}else{
$app = HomeConfigCate::where('isdeleted',0)->where('id',$id)->find();
if(empty($app)){
$this->error("该项已被删除");
}
$app['title'] = trim(request()->param('name'));
$app['user_id'] = session('user')['id'];
$app['current'] = time();
$app['isdeleted'] = 0;
$app->save();
}
} catch (Exception $e) {
unlink('../public/uploads/static_data/'.$info->getExtension());
}
$this->redirect(url("/home_config/cate_list"));
}
public function cate_del(int $id=0){
$data = HomeConfigCate::where('id',$id)->find();
if ($data){
$data['isdeleted'] = 1;
$data->save();
$this->success('删除成功',url('/home_config/cate_list'));
}else{
$this->success('删除项不存在',url('/home_config/cate_list'));
}
}
public function list(){
$pageSize =10 ;
$home_config_list = mHomeConfig::where("isdeleted",0)->paginate($pageSize);
$this->assign("home_config_list",$home_config_list);
return view("/admin/home_config/list");
}
public function edit(int $id=0){
$home_cate_list = HomeConfigCate::where("isdeleted",0)->select();
$home = mHomeConfig::where("isdeleted",0)->where('id',$id)->find();
$this->assign("home_config",$home);
$this->assign("home_cate_list",$home_cate_list);
return view("/admin/home_config/edit");
}
public function save(){
//1.获取职位类别
$id = request()->param('id',0,'intval');
try {
if($id==0){
$app = new mHomeConfig();
$app['title'] = trim(request()->param('name'));
$app['home_config_cate_id'] = request()->param('home_config_cate_id');
$app['user_id'] = session('user')['id'];
$app['current'] = time();
$app['isdeleted'] = 0;
$img = new Img();
$file = request()->file('img');
$info = $file->rule('uniqid')->move( '../public/uploads/static_data/');
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 9;
$img['current'] = time();
$img->save();
$app['img_id'] = $img->id;
$app->save();
}else{
$app = mHomeConfig::where('isdeleted',0)->where('id',$id)->find();
if(empty($app)){
$this->error("该项已被删除");
}
$is_cover = request()->param('is_cover');
if(strtolower($is_cover)=="on"){
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>102400,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 9;
$img['current'] = time();
$img->save();
$temp_img = Img::get($app['img_id']);
unlink("../public".$temp_img["img_url"].$temp_img['img_name']);
Img::destroy($app['img_id']);
$app['img_id'] = $img->id;
}
$app['home_config_cate_id'] = request()->param('home_config_cate_id');
$app['title'] = trim(request()->param('name'));
$app['user_id'] = session('user')['id'];
$app['current'] = time();
$app['isdeleted'] = 0;
$app->save();
}
} catch (Exception $e) {
$this->error($e->getMessage());
}
$this->success("保存成功",url("/home_config/list"));
}
public function del(int $id=0){
$data = mHomeConfig::where('id',$id)->find();
if ($data){
$data['isdeleted'] = 1;
$data->save();
$this->success('删除成功',url('/home_config/list'));
}else{
$this->success('删除项不存在',url('/home_config/list'));
}
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use app\join\model\Join as mJoin;
use app\common\model\Img;
use think\facade\App;
use app\join\model\JoinCate;
class Join extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function list(){
$pageSize = 10;
$join_list = mJoin::where('isdeleted',0)->order('current','desc')->paginate($pageSize);
$this->assign('join_list',$join_list);
return view("/admin/join/list");
}
public function edit(int $id=0){
$join = mJoin::where('isdeleted',0)->where('id',$id)->find();
$join_cate_list = JoinCate::where('isdeleted',0)->order('current','desc')->select();
$this->assign('join_cate_list',$join_cate_list);
$this->assign('join',$join);
return view("/admin/join/edit");
}
public function del(int $id){
$m = mJoin::where('id',$id)->find();
$m['isdeleted'] = 1;
$m->save();
$imgs = Img::where('img_type',5)->where('other_id',$m['id'])->select();
$rootPath = App::getRootPath();
for($n=0;$n<count($imgs);$n++){
if(file_exists($rootPath.'/public/'.$imgs[$n]['img_url'].$imgs[$n]['img_name'])){
unlink($rootPath.'/public/'.$imgs[$n]['img_url'].$imgs[$n]['img_name']);
}
Img::destroy($imgs[$n]['id']);
}
$this->success("删除成功",url('/join/list'));
}
public function save(){
$id = request()->param('id',0,'intval');
$content = request()->param('content','');
$join_cate_id = request()->param('join_cate_id',0);
$title = request()->param('title','');
$place = request()->param('place','');
$join = mJoin::where("isdeleted",0)->where('id',$id)->find();
if(empty($join)){
$join = new mJoin();
}
$join['title'] = $title;
$join['place'] = $place;
$join['content'] = $content;
$join['user_id'] = session('user')['id'];
$join['current'] = time();
if($id==0){
$join['isdeleted'] = 0;
$join['isrelease'] = 0;
}
$join['join_cate_id'] = $join_cate_id;
$pattern = "/<[img|IMG].*?src=['|\"](.*?(?:[.gif|.jpg|.png]))['|\"].*?[\/]?>/";
$matches = array();
preg_match_all($pattern, $content, $matches);
$join->save();
if(count($matches)>1){
for($n=0;$n<count($matches[count($matches)-1]);$n++){
$img = new Img();
$img_name = $matches[count($matches)-1][$n];
$img_name = str_replace("/uploads/static_data/", "", $img_name);
$img = $img->find($img_name, "/uploads/static_data/");
$img['content_release'] = $join->current;
$img['other_id'] = $join->id;
$img['img_type'] = 5;
$img->save();
}
}
return '保存成功';
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use app\join\model\JoinCate as mjoinCate;
use think\Exception;
use app\common\model\Img;
use app\join\model\Join;
class JoinCate extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function list(){
$pageSize = 10;
$cate_list = mjoinCate::where('isdeleted',0)->order('current','desc')->paginate($pageSize);
$this->assign('cate_list',$cate_list);
return view("/admin/join/cate_list");
}
public function edit(int $id=0){
$join_cate = mjoinCate::where('isdeleted',0)->where('id',$id)->find();
$this->assign('join_cate',$join_cate);
return view("/admin/join/cate_edit");
}
public function save(){
//1.获取职位类别
$id = request()->param('id',0,'intval');
try {
if($id==0){
$joinCate = new mjoinCate();
$joinCate['title'] = trim(request()->param('name'));
$joinCate['user_id'] = session('user')['id'];
$joinCate['current'] = time();
$joinCate['isdeleted'] = 0;
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>102400,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 2;
$img['current'] = time();
$img->save();
$joinCate['img_id'] = $img->id;
$joinCate->save();
}else{
$joinCate = mjoinCate::where('isdeleted',0)->where('id',$id)->find();
if(empty($joinCate)){
$this->error("该分类已被删除");
}
$is_cover = request()->param('is_cover');
if(strtolower($is_cover)=="on"){
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>102400,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 2;
$img['current'] = time();
$img->save();
$temp_img = Img::get($joinCate['img_id']);
unlink("../public".$temp_img["img_url"].$temp_img['img_name']);
Img::destroy($joinCate['img_id']);
$joinCate['img_id'] = $img->id;
}
$joinCate['title'] = trim(request()->param('name'));
$joinCate['user_id'] = session('user')['id'];
$joinCate['current'] = time();
$joinCate['isdeleted'] = 0;
$joinCate->save();
}
} catch (Exception $e) {
$this->error($e->getMessage());
}
$this->redirect(url("/joinCate/list"));
}
public function del(int $id=0){
$join_num = Join::where("isdeleted",0)->where("join_cate_id",$id)->count();
if($join_num>0){
$this->error("该分类下有招聘信息,不能删除",url("/joinCate/list"));
}
$join_cate = mjoinCate::where("isdeleted",0)->where('id',$id)->find();
if(!empty($join_cate)){
$join_cate['isdeleted'] = 1;
$join_cate->save();
if(!empty($join_cate['img_id'])&&$join_cate['img_id']!=0){
$img = Img::get($join_cate['img_id']);
unlink('../public'.$img["img_url"].$img['img_name']);
Img::destroy($join_cate['img_id']);
}
}
$this->success("删除成功",url("/joinCate/list"));
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use think\Controller;
use app\admin\model\Users;
class Login extends Controller{
public function login(){
return view("admin/login/login");
}
public function dologin(){
$rules = [
'username|名称' => 'require',
'password|密码' => 'require',
'code|验证码' => 'require',
];
$result = $this->validate(request()->param(),$rules);
$data = array();
if(true !== $result){
$data['flag'] = false;
$data['msg'] = $result;
return json($data);
}
$code = input('post.code');
$data = array();
if (!captcha_check($code)) {
$data['flag'] = false;
$data['msg'] = "验证码错误";
return json($data);
}
$username = input('username','');
$user = Users::where('username',$username)->find();
if(empty($user)){
$data['flag'] = false;
$data['msg'] = "用户不存在";
return json($data);
}
if($user['password']!= md5(input('post.password').$user['current'])){
$data['flag'] = false;
$data['msg'] = "密码错误";
return json($data);
};
$token = token();
session('token', $token);
session('user', $user);
session('session_start_time', time());
$data['flag'] = true;
$data['msg'] = "登录成功";
$data['url'] = url("/admin/index");
return json($data);
}
public function logout(){
session(null);
return redirect(url("/fanjiao_login"));
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use app\news\model\News as mNews;
use think\facade\App;
use app\common\model\Img;
class News extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function list(){
$pageSize = 5;
$news_list = mNews::where('isdeleted',0)->order('current','desc')->paginate($pageSize);
$this->assign('news_list',$news_list);
return view("/admin/news/list");
}
public function edit(int $id=0){
$news = mNews::where('isdeleted',0)->where('id',$id)->find();
$this->assign('news',$news);
return view("/admin/news/edit");
}
public function del(int $id=0){
$m = mNews::where('isdeleted',0)->where('id',$id)->find();
$m['isdeleted'] = 1;
$m->save();
$imgs = Img::where('img_type',1)->where('other_id',$m['id'])->select();
$rootPath = App::getRootPath();
for($n=0;$n<count($imgs);$n++){
// if(file_exists($rootPath.'/public/'.$imgs[$n]['img_url'].$imgs[$n]['img_name'])){
// unlink($rootPath.'/public/'.$imgs[$n]['img_url'].$imgs[$n]['img_name']);
// }
Img::destroy($imgs[$n]['id']);
}
$this->success("删除成功",url('/news/list'));
}
public function save(){
$id = request()->param('id',0,'intval');
$content = request()->param('content','');
$title = request()->param('title','');
$news = mNews::where("isdeleted",0)->where('id',$id)->find();
if(empty($news)){
$news = new mNews();
}
$news['news_title'] = $title;
$news['news_content'] = $content;
$news['user_id'] = session('user')['id'];
$news['current'] = time();
if($id==0){
$news['isdeleted'] = 0;
}
$pattern = "/<[img|IMG].*?src=['|\"](.*?(?:[.gif|.jpg|.png]))['|\"].*?[\/]?>/";
$matches = array();
preg_match_all($pattern, $content, $matches);
$news->save();
if(count($matches)>1){
for($n=0;$n<count($matches[count($matches)-1]);$n++){
$img = new Img();
$img_name = $matches[count($matches)-1][$n];
$img_name = str_replace("/uploads/static_data/", "", $img_name);
//2020 09 08 不知道下面这行要做什么
// $img = $img->find($img_name, "/uploads/static_data/");
$img['content_release'] = $news->current;
$img['other_id'] = $news->id;
$img['img_type'] = 1;
$img->save();
}
}
return '保存成功';
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use app\servicehelp\model\Question as mQuestion;
use app\servicehelp\model\QuestionCate;
use app\common\model\Img;
use think\facade\App;
class Question extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function list(){
$pageSize = 10;
$question_list = mQuestion::where('isdeleted',0)->order('current','desc')->paginate($pageSize);
$this->assign('question_list',$question_list);
return view("/admin/question/list");
}
public function edit(int $id =0){
$question = mQuestion::where('isdeleted',0)->where('id',$id)->find();
$question_cate_list = QuestionCate::where('isdeleted',0)->order('current','desc')->select();
$this->assign('question_cate_list',$question_cate_list);
$this->assign('question',$question);
return view("/admin/question/edit");
}
public function del(int $id=0){
$question = mQuestion::where("isdeleted",0)->where('id',$id)->find();
if(!empty($question)){
$question['isdeleted'] = 1;
$imgs = Img::where('img_type',4)->where('other_id',$question['id'])->select();
$rootPath = App::getRootPath();
for($n=0;$n<count($imgs);$n++){
if(file_exists($rootPath.'/public/'.$imgs[$n]['img_url'].$imgs[$n]['img_name'])){
unlink($rootPath.'/public/'.$imgs[$n]['img_url'].$imgs[$n]['img_name']);
}
Img::destroy($imgs[$n]['id']);
}
$question->save();
}
$this->success("删除成功",url('/question/list'));
}
public function save(){
$id = request()->param('id',0,'intval');
$content = request()->param('content','');
$question_cate_id = request()->param('question_cate_id',0);
$title = request()->param('title','');
$question = mQuestion::where("isdeleted",0)->where('id',$id)->find();
if(empty($question)){
$question = new mQuestion();
}
$question['title'] = $title;
$question['content'] = $content;
$question['user_id'] = session('user')['id'];
$question['current'] = time();
$question['isdeleted'] = 0;
$question['question_cate_id'] = $question_cate_id;
$pattern = "/<[img|IMG].*?src=['|\"](.*?(?:[.gif|.jpg|.png]))['|\"].*?[\/]?>/";
$matches = array();
preg_match_all($pattern, $content, $matches);
$question->save();
if(count($matches)>1){
for($n=0;$n<count($matches[count($matches)-1]);$n++){
$img = new Img();
$img_name = $matches[count($matches)-1][$n];
$img_name = str_replace("/uploads/static_data/", "", $img_name);
$img = $img->find($img_name, "/uploads/static_data/");
$img['content_release'] = $question->current;
$img['other_id'] = $question->id;
$img['img_type'] = 4;
$img->save();
}
}
return '保存成功';
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use app\servicehelp\model\QuestionCate as mQuestionCate;
use app\common\model\Img;
use think\Exception;
use app\servicehelp\model\Question;
class QuestionCate extends AdminBase
{
public function _empty($method)
{
$this->assign('url','d');
return view("/home/public/error");
}
public function list(){
$pageSize = 10;
$cate_list = mQuestionCate::where('isdeleted',0)->order('current','desc')->paginate($pageSize);
$this->assign('cate_list',$cate_list);
return view("/admin/question/cate_list");
}
public function edit(int $id=0){
$question_cate = mQuestionCate::where('isdeleted',0)->where('id',$id)->find();
$this->assign('question_cate',$question_cate);
return view("/admin/question/cate_edit");
}
public function save(){
//1.获取职位类别
$id = request()->param('id',0,'intval');
try {
if($id==0){
$joinCate = new mQuestionCate();
$joinCate['title'] = trim(request()->param('name'));
$joinCate['user_id'] = session('user')['id'];
$joinCate['current'] = time();
$joinCate['isdeleted'] = 0;
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>102400,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 3;
$img['current'] = time();
$img->save();
$joinCate['img_id'] = $img->id;
$joinCate->save();
}else{
$joinCate = mQuestionCate::where('isdeleted',0)->where('id',$id)->find();
if(empty($joinCate)){
$this->error("该分类已被删除");
}
$is_cover = request()->param('is_cover');
if(strtolower($is_cover)=="on"){
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>102400,'ext'=>'jpg,png,gif'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['img_type'] = 3;
$img['current'] = time();
$img->save();
$temp_img = Img::get($joinCate['img_id']);
unlink("../public".$temp_img["img_url"].$temp_img['img_name']);
Img::destroy($joinCate['img_id']);
$joinCate['img_id'] = $img->id;
}
$joinCate['title'] = trim(request()->param('name'));
$joinCate['user_id'] = session('user')['id'];
$joinCate['current'] = time();
$joinCate['isdeleted'] = 0;
$joinCate->save();
}
} catch (Exception $e) {
$this->error($e->getMessage());
}
$this->redirect(url("/questionCate/list"));
}
public function del(int $id=0){
$join_num = Question::where("isdeleted",0)->where("question_cate_id",$id)->count();
if($join_num>0){
$this->error("该分类下有问题信息,不能删除",url("/questionCate/list"));
}
$join_cate = mQuestionCate::where("isdeleted",0)->where('id',$id)->find();
if(!empty($join_cate)){
$join_cate['isdeleted'] = 1;
$join_cate->save();
if(!empty($join_cate['img_id'])&&$join_cate['img_id']!=0){
$img = Img::get($join_cate['img_id']);
unlink('../public'.$img["img_url"].$img['img_name']);
Img::destroy($join_cate['img_id']);
}
}
$this->success("删除成功",url("/questionCate/list"));
}
}
\ No newline at end of file
<?php
namespace app\admin\controller;
use app\common\model\Img;
use think\Controller;
class Uploads extends Controller
{
public $fromDelAll = false;
public function uploads(){
$img = new Img();
$file = request()->file('img');
$info = $file->validate(['size'=>20480000,'ext'=>'jpg,png,gif,apk,mp4'])->rule('uniqid')->move( '../public/uploads/static_data/');
if (!$info){
$this->error('图片太大或格式不正确');
}
$img['img_name'] = $info->getSaveName();
$img_url = "/uploads/static_data/";
$img_url_array = explode("/",$info->getExtension());
$img_url .= str_replace($img_url_array[count($img_url_array)-1],"",$info->getExtension());
$img['img_url'] = $img_url;
$img['current'] = time();
$img->save();
$array = array('errno'=>0,'data'=>array($img_url.$info->getSaveName()));
return json($array);
}
public function getConfig(){
//获取首页背景图
$bannerImgId = db('home_config')->where('title','首页背景图')->value('img_id');
$bannerImg = db('img')->where('id',$bannerImgId)->field('img_name,img_url')->find();
//获取按钮
$button = db('banner')->where('isdeleted',0)->field('name,icon,config_address')->order('created_at desc')->select();
return json(['banner'=>$bannerImg['img_url'].$bannerImg['img_name'],'button'=>$button] );
}
}
\ No newline at end of file
<?php
namespace app\admin\model;
use think\Model;
class App extends Model
{
public function appCate()
{
return $this->hasOne('AppCate','id','app_cate_id');
}
public function user()
{
return $this->hasOne('app\admin\model\Users','id','user_id');
}
public function img()
{
return $this->hasOne('app\common\model\Img','id','img_id');
}
}
\ No newline at end of file
<?php
namespace app\admin\model;
use think\Model;
class AppCate extends Model
{
public function user()
{
return $this->hasOne('app\admin\model\Users','id','user_id');
}
public function img()
{
return $this->hasOne('app\common\model\Img','id','img_id');
}
}
\ No newline at end of file
<?php
namespace app\admin\model;
use think\Model;
class Game extends Model
{
public function gameCate()
{
return $this->hasOne('GameCate','id','game_cate_id');
}
public function user()
{
return $this->hasOne('app\admin\model\Users','id','user_id');
}
public function img()
{
return $this->hasOne('app\common\model\Img','id','img_id');
}
}
\ No newline at end of file
<?php
namespace app\admin\model;
use think\Model;
class GameCate extends Model
{
public function user()
{
return $this->hasOne('app\admin\model\Users','id','user_id');
}
public function img()
{
return $this->hasOne('app\common\model\Img','id','img_id');
}
}
\ No newline at end of file
<?php
namespace app\admin\model;
use think\Model;
class HomeConfig extends Model
{
public function user()
{
return $this->hasOne('app\admin\model\Users','id','user_id');
}
public function img()
{
return $this->hasOne('app\common\model\Img','id','img_id');
}
}
\ No newline at end of file
<?php
namespace app\admin\model;
use think\Model;
class HomeConfigCate extends Model
{
public function user()
{
return $this->hasOne('app\admin\model\Users','id','user_id');
}
public function img()
{
return $this->hasOne('app\common\model\Img','id','img_id');
}
}
\ No newline at end of file
<?php
namespace app\admin\model;
use think\Model;
class Users extends Model
{
}
\ No newline at end of file
<?php
namespace app\admin\validate;
use think\Validate;
class User extends Validate
{
protected $rule = [
'username' => 'require|max:25',
'password' => 'require|min:25',
];
protected $message = [
'username.require' => '用户名必须',
'password.require' => '密码必须',
];
protected $scene = [
'add' => ['username','password'],
'login' => ['username','password'],
];
}
\ No newline at end of file
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: yunwuxin <448901948@qq.com>
// +----------------------------------------------------------------------
return [];
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: 流年 <liu21st@gmail.com>
// +----------------------------------------------------------------------
// 应用公共文件
function token(){
$token = strtoupper(substr(sha1(uniqid(NULL, TRUE)) . sha1(uniqid(NULL, TRUE)), 0, 64));
return $token;
}
\ No newline at end of file
This diff is collapsed.
<?php
namespace app\common\controller;
use think\Controller;
class Error extends Controller
{
public function _empty($method)
{
return "base404";
}
}
This diff is collapsed.
<?php
namespace app\news\controller;
use think\Controller;
class Error extends Controller
{
public function _empty($method)
{
$this->assign('url','News');
return view("/home/public/error");
}
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment