diff --git a/README.md b/README.md
index 9f8eb2f..c27c549 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,8 @@
# lqycms
基于laravel框架的开源cms管理系统
+
+## 环境说明
+
+1. 基于Laravel 5.4
+2. PHP+Mysql
+3.
diff --git a/app/Common/function.php b/app/Common/function.php
index 3cff70f..47bbccc 100644
--- a/app/Common/function.php
+++ b/app/Common/function.php
@@ -1,11 +1,20 @@
where($map)->field($field)->order($orderby)->limit($limit)->select();
+}
//pc前台栏目、标签、内容页面地址生成
-function url(array $param)
+function get_front_url($param='')
{
+ $url = '';
+
if($param['type'] == 'list')
{
//列表页
@@ -33,6 +42,8 @@ function url(array $param)
//wap前台栏目、标签、内容页面地址生成
function murl(array $param)
{
+ $url = '';
+
if($param['type'] == 'list')
{
//列表页
@@ -69,19 +80,21 @@ function murl(array $param)
*/
function arclist(array $param)
{
- if(!empty($param['tuijian'])){$map['tuijian']=$param['tuijian'];}
- if(!empty($param['typeid'])){$map['typeid']=$param['typeid'];}
- if(!empty($param['image'])){$map['litpic']=array('NEQ','');}
- if(!empty($param['limit'])){$limit=$param['limit'];}else{if(!empty($param['row'])){$limit="0,".$param['row'];}else{$limit='0,'.cms_pagesize;}}
- if(!empty($param['orderby'])){$orderby=$param['orderby'];}else{$orderby='id desc';}
+ $map=array();
+
+ if(isset($param['tuijian'])){$map['tuijian']=$param['tuijian'];}
+ if(isset($param['typeid'])){$map['typeid']=$param['typeid'];}
+ if(isset($param['image'])){$map['litpic']=array('NEQ','');}
+ if(isset($param['limit'])){$limit=$param['limit'];}else{if(isset($param['row'])){$limit="0,".$param['row'];}else{$limit='0,'.cms_pagesize;}}
+ if(isset($param['orderby'])){$orderby=$param['orderby'];}else{$orderby='id desc';}
- if(!empty($param['sql']))
+ if(isset($param['sql']))
{
- $Artlist = M("Article")->field('body',true)->where($param['sql'])->order($orderby)->limit($limit)->select();
+ $Artlist = db("article")->field('body',true)->where($param['sql'])->order($orderby)->limit($limit)->select();
}
else
{
- $Artlist = M("Article")->field('body',true)->where($map)->order($orderby)->limit($limit)->select();
+ $Artlist = db("article")->field('body',true)->where($map)->order($orderby)->limit($limit)->select();
}
return $Artlist;
@@ -94,14 +107,13 @@ function arclist(array $param)
* @param string $limit='0,10'
* @return string
*/
-function tagslist(array $param)
+function tagslist($param="")
{
- if(!empty($param['limit'])){$limit=$param['limit'];}else{if(!empty($param['row'])){$limit=$param['row'];}}
- if(!empty($param['orderby'])){$orderby=$param['orderby'];}else{$orderby='id desc';}
-
- $Taglist = M("Tagindex")->field('content',true)->where($map)->order($orderby)->limit($limit)->select();
+ $orderby=$limit="";
+ if(isset($param['limit'])){$limit=$param['limit'];}else{if(isset($param['row'])){$limit=$param['row'];}}
+ if(isset($param['orderby'])){$orderby=$param['orderby'];}else{$orderby='id desc';}
- return $Taglist;
+ return db("tagindex")->field('content',true)->select();
}
/**
@@ -110,14 +122,12 @@ function tagslist(array $param)
* @param int||string $limit='0,10'
* @return string
*/
-function flinklist(array $param)
+function flinklist($param="")
{
- if(!empty($param['row'])){$limit=$param['row'];}else{$limit="";}
- if(!empty($param['orderby'])){$orderby=$param['orderby'];}else{$orderby='id desc';}
-
- $Friendlink = M("Friendlink")->where()->order($orderby)->limit($limit)->select();
+ if(isset($param['row'])){$limit=$param['row'];}else{$limit="";}
+ if(isset($param['orderby'])){$orderby=$param['orderby'];}else{$orderby='id desc';}
- return $Friendlink;
+ return db("friendlink")->order($orderby)->limit($limit)->select();
}
/**
@@ -139,19 +149,19 @@ function get_article_prenext(array $param)
}
else
{
- $Article = M("Article")->field('typeid')->where($sql)->find();
+ $Article = db("article")->field('typeid')->where($sql)->find();
$typeid = $Article["typeid"];
}
if($param["type"]=='pre')
{
$sql='id<'.$param['aid'].' and typeid='.$typeid;
- $res = M("Article")->field('id,typeid,title')->where($sql)->order('id desc')->find();
+ $res = db("article")->field('id,typeid,title')->where($sql)->order('id desc')->find();
}
else if($param["type"]=='next')
{
$sql='id>'.$param['aid'].' and typeid='.$typeid;
- $res = M("Article")->field('id,typeid,title')->where($sql)->order('id asc')->find();
+ $res = db("article")->field('id,typeid,title')->where($sql)->order('id asc')->find();
}
return $res;
@@ -185,7 +195,7 @@ function get_listnav(array $param)
{
return "
共0页/".$counts."条记录";
}
- $maininfo = "共$totalpage页".$counts."条";
+ $maininfo = "共".$totalpage."页".$counts."条";
if(!empty($param["urltype"]))
{
@@ -338,15 +348,13 @@ function pagenav(array $param)
if(!empty($param['row'])){$limit="0,".$param['row'];}else{if(!empty($param['limit'])){$limit=$param['limit'];}else{$limit='0,8';}}
if(!empty($param['orderby'])){$orderby=$param['orderby'];}else{$orderby='id desc';}
- $Artlist = M("Article")->field('body',true)->where($map)->order($orderby)->limit($limit)->select();
-
- return $Artlist;
+ return db("article")->field('body',true)->where($map)->order($orderby)->limit($limit)->select();
}
//根据总数与每页条数,获取总页数
function get_totalpage(array $param)
{
- if(!empty($param['pagesize'] || $param['pagesize']==0)){$pagesize=$param["pagesize"];}else{$pagesize=cms_pagesize;}
+ if(!empty($param['pagesize'] || $param['pagesize']==0)){$pagesize=$param["pagesize"];}else{$pagesize=CMS_PAGESIZE;}
$counts=$param["counts"];
//取总数据量除以每页数的余数
@@ -389,14 +397,12 @@ function GetCurUrl()
* @param string $limit='0,8' 如果存在$row,$limit就无效
* @return string
*/
-function pagelist(array $param)
+function pagelist($param="")
{
if(!empty($param['row'])){$limit="0,".$param['row'];}else{if(!empty($param['limit'])){$limit=$param['limit'];}else{$limit='0,8';}}
if(!empty($param['orderby'])){$orderby=$param['orderby'];}else{$orderby='id desc';}
- $Pagelist = M("Page")->field('body',true)->where($map)->order($orderby)->limit($limit)->select();
-
- return $Pagelist;
+ return db("page")->field('body',true)->order($orderby)->limit($limit)->select();
}
/**
@@ -420,7 +426,8 @@ function cut_str($string, $sublen=250, $omitted = '', $start=0, $code='UTF-8')
//PhpAnalysis获取中文分词
function get_keywords($keyword)
{
- import("Vendor.PhpAnalysis.PhpAnalysis");
+ Vendor('phpAnalysis.phpAnalysis');
+ //import("Vendor.phpAnalysis.phpAnalysis");
//初始化类
PhpAnalysis::$loadInit = false;
$pa = new PhpAnalysis('utf-8', 'utf-8', false);
@@ -434,26 +441,36 @@ function get_keywords($keyword)
return ltrim($keywords, ",");
}
+//获取二维码
+function get_erweima($url="")
+{
+ Vendor('phpqrcode.qrlib');
+
+ $url = str_replace("%26","&",$url);
+ $url = str_replace("%3F","?",$url);
+ $url = str_replace("%3D","=",$url);
+
+ return QRcode::png($url, false, "H", 6);
+}
+
//根据栏目id获取栏目信息
function typeinfo($typeid)
{
- return M("Arctype")->where("id=$typeid")->find();
+ return db("arctype")->where("id=$typeid")->find();
}
//根据栏目id获取该栏目下文章/商品的数量
-function catarcnum($typeid,$modelname='Article')
+function catarcnum($typeid,$modelname='article')
{
$map['typeid']=$typeid;
- return M($modelname)->field('id')->where($map)->count();
+ return db($modelname)->where($map)->count('id');
}
//根据Tag id获取该Tag标签下文章的数量
function tagarcnum($tagid)
{
if(!empty($tagid)){$map['tid']=$tagid;}
- $Taglist = M("Taglist")->where($map);
- $counts = $Taglist->count();
- return $counts;
+ return db("taglist")->where($map)->count();
}
//判断是否是图片格式,是返回true
@@ -478,8 +495,7 @@ function get_category($modelname,$parent_id=0,$pad=0)
{
$arr=array();
- $Arctype = M($modelname);
- $cats = $Arctype->where("reid=$parent_id")->order('id asc')->select();
+ $cats = db($modelname)->where("reid=$parent_id")->order('id asc')->select();
if($cats)
{
@@ -519,7 +535,7 @@ function get_cat_path($cat)
{
global $temp;
- $row = M("Arctype")->field('typename,reid,id')->where("id=$cat")->find();
+ $row = db("arctype")->field('typename,reid,id')->where("id=$cat")->find();
$temp = ''.$row["typename"]." > ".$temp;
@@ -537,11 +553,11 @@ function taglist($id,$tagid=0)
$tags="";
if($tagid!=0)
{
- $Taglist = M("Taglist")->where("aid=$id and tid<>$tagid")->select();
+ $Taglist = db("taglist")->where("aid=$id and tid<>$tagid")->select();
}
else
{
- $Taglist = M("Taglist")->where("aid=$id")->select();
+ $Taglist = db("taglist")->where("aid=$id")->select();
}
foreach($Taglist as $row)
@@ -549,7 +565,7 @@ function taglist($id,$tagid=0)
if($tags==""){$tags='id='.$row['tid'];}else{$tags=$tags.' or id='.$row['tid'];}
}
- if($tags!=""){return M("Tagindex")->where($tags)->select();}
+ if($tags!=""){return db("tagindex")->where($tags)->select();}
}
//获取https的get请求结果
@@ -585,7 +601,7 @@ function get_curl_data($c_url,$data='')
return $tmpInfo; // 返回数据
}
-//通过file_get_content()获取远程数据
+//通过file_get_content获取远程数据
function http_request_post($url,$data,$type='POST')
{
$content = http_build_query($data);
@@ -605,6 +621,30 @@ function http_request_post($url,$data,$type='POST')
return $result;
}
+function imageResize($url, $width, $height)
+{
+ header('Content-type: image/jpeg');
+
+ list($width_orig, $height_orig) = getimagesize($url);
+ $ratio_orig = $width_orig/$height_orig;
+
+ if($width/$height > $ratio_orig)
+ {
+ $width = $height*$ratio_orig;
+ }
+ else
+ {
+ $height = $width/$ratio_orig;
+ }
+
+ // This resamples the image
+ $image_p = imagecreatetruecolor($width, $height);
+ $image = imagecreatefromjpeg($url);
+ imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
+ // Output the image
+ imagejpeg($image_p, null, 100);
+}
+
/**
* 为文章内容添加内敛, 排除alt title 直接的字符替换
*
@@ -618,7 +658,7 @@ function ReplaceKeyword($body)
//暂时屏蔽超链接
$body = preg_replace("#()(.*)(<)(\/a>)#isU", '\\1-]-\\4-[-\\6', $body);
- if(S("keywordlist")){$posts=S("keywordlist");}else{$posts = M("Keyword")->cache("keywordlist",2592000)->select();}
+ if(cache("keywordlist")){$posts=cache("keywordlist");}else{$posts = db("Keyword")->select();cache("keywordlist",$posts,2592000);}
foreach($posts as $row)
{
@@ -717,16 +757,16 @@ function updateconfig()
$str_end="?>"; //php结束符
$str_tmp.="//全站配置文件\r\n";
- $param = M("Sysconfig")->select();
+ $param = db("sysconfig")->select();
foreach($param as $row)
{
- $str_tmp.='define("'.$row['varname'].'","'.$row['value'].'"); // '.$row['info']."\r\n";
+ $str_tmp .= 'define("'.$row['varname'].'","'.$row['value'].'"); // '.$row['info']."\r\n";
}
- $str_tmp.=$str_end; //加入结束符
+ $str_tmp .= $str_end; //加入结束符
//保存文件
- $sf="./Flhome/Common/Conf/common.inc.php"; //文件名
- $fp=fopen($sf,"w"); //写方式打开文件
+ $sf = APP_PATH."common.inc.php"; //文件名
+ $fp = fopen($sf,"w"); //写方式打开文件
fwrite($fp,$str_tmp); //存入内容
fclose($fp); //关闭文件
}
@@ -748,34 +788,3 @@ function dir_delete($dir)
closedir($handle);
return @rmdir($dir);
}
-
-//从HTML文档中获得全部图片
-//如果你曾经希望去获得某个网页上的全部图片,这段代码就是你需要的,你可以轻松的建立一个图片下载机器人
-//$images = array();
-//preg_match_all('/(img|src)=("|')[^"'>]+/i', $data, $media);
-//unset($data);
-//$data=preg_replace('/(img|src)("|'|="|=')(.*)/i',"$3",$media[0]);
-//foreach($data as $url)
-//{
- //$info = pathinfo($url);
- //if (isset($info['extension']))
- //{
- //if (($info['extension'] == 'jpg') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'gif') || ($info['extension'] == 'png'))
- //array_push($images, $url);
- //}
-//}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/Http/Controllers/Home/IndexController.php b/app/Http/Controllers/Home/IndexController.php
new file mode 100644
index 0000000..1f92bd9
--- /dev/null
+++ b/app/Http/Controllers/Home/IndexController.php
@@ -0,0 +1,23 @@
+middleware('guest')->except('logout');
+ }
+
+ public function index()
+ {
+ dd('home/index');
+ }
+}
diff --git a/app/Http/Controllers/Wap/IndexController.php b/app/Http/Controllers/Wap/IndexController.php
new file mode 100644
index 0000000..2be6b5f
--- /dev/null
+++ b/app/Http/Controllers/Wap/IndexController.php
@@ -0,0 +1,23 @@
+middleware('guest')->except('logout');
+ }
+
+ public function index()
+ {
+ dd('wap/index');
+ }
+}
diff --git a/app/Model/User.php b/app/Http/Model/User.php
similarity index 63%
rename from app/Model/User.php
rename to app/Http/Model/User.php
index bfd96a6..0aab29b 100644
--- a/app/Model/User.php
+++ b/app/Http/Model/User.php
@@ -1,14 +1,10 @@
=5.6.4",
"laravel/framework": "5.4.*",
+ "overtrue/laravel-wechat": "~3.1",
+ "maatwebsite/excel": "~2.1.0",
"laravel/tinker": "~1.0"
},
"require-dev": {
@@ -20,7 +22,10 @@
],
"psr-4": {
"App\\": "app/"
- }
+ },
+ "files": [
+ "app/Common/function.php"
+ ]
},
"autoload-dev": {
"psr-4": {
diff --git a/composer.lock b/composer.lock
index 6c2da23..c00c639 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
- "content-hash": "96098e473b028cdb2529580554a1ae3e",
+ "content-hash": "5fb27d16232b4890e5783a0fd2f70f79",
"packages": [
{
"name": "dnoegel/php-xdg-base-dir",
@@ -39,6 +39,76 @@
"description": "implementation of xdg base directory specification for php",
"time": "2014-10-24T07:27:01+00:00"
},
+ {
+ "name": "doctrine/cache",
+ "version": "v1.6.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/cache.git",
+ "reference": "b6f544a20f4807e81f7044d31e679ccbb1866dc3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://files.phpcomposer.com/files/doctrine/cache/b6f544a20f4807e81f7044d31e679ccbb1866dc3.zip",
+ "reference": "b6f544a20f4807e81f7044d31e679ccbb1866dc3",
+ "shasum": ""
+ },
+ "require": {
+ "php": "~5.5|~7.0"
+ },
+ "conflict": {
+ "doctrine/common": ">2.2,<2.4"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.8|~5.0",
+ "predis/predis": "~1.0",
+ "satooshi/php-coveralls": "~0.6"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.6.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Roman Borschel",
+ "email": "roman@code-factory.org"
+ },
+ {
+ "name": "Benjamin Eberlei",
+ "email": "kontakt@beberlei.de"
+ },
+ {
+ "name": "Guilherme Blanco",
+ "email": "guilhermeblanco@gmail.com"
+ },
+ {
+ "name": "Jonathan Wage",
+ "email": "jonwage@gmail.com"
+ },
+ {
+ "name": "Johannes Schmitt",
+ "email": "schmittjoh@gmail.com"
+ }
+ ],
+ "description": "Caching library offering an object-oriented API for many cache backends",
+ "homepage": "http://www.doctrine-project.org",
+ "keywords": [
+ "cache",
+ "caching"
+ ],
+ "time": "2016-10-29T11:16:17+00:00"
+ },
{
"name": "doctrine/inflector",
"version": "v1.1.0",
@@ -148,6 +218,184 @@
],
"time": "2017-03-29T16:04:15+00:00"
},
+ {
+ "name": "guzzlehttp/guzzle",
+ "version": "6.2.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/guzzle/guzzle.git",
+ "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://files.phpcomposer.com/files/guzzle/guzzle/8d6c6cc55186db87b7dc5009827429ba4e9dc006.zip",
+ "reference": "8d6c6cc55186db87b7dc5009827429ba4e9dc006",
+ "shasum": ""
+ },
+ "require": {
+ "guzzlehttp/promises": "^1.0",
+ "guzzlehttp/psr7": "^1.4",
+ "php": ">=5.5"
+ },
+ "require-dev": {
+ "ext-curl": "*",
+ "phpunit/phpunit": "^4.0",
+ "psr/log": "^1.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "6.2-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/functions_include.php"
+ ],
+ "psr-4": {
+ "GuzzleHttp\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ }
+ ],
+ "description": "Guzzle is a PHP HTTP client library",
+ "homepage": "http://guzzlephp.org/",
+ "keywords": [
+ "client",
+ "curl",
+ "framework",
+ "http",
+ "http client",
+ "rest",
+ "web service"
+ ],
+ "time": "2017-02-28T22:50:30+00:00"
+ },
+ {
+ "name": "guzzlehttp/promises",
+ "version": "v1.3.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/guzzle/promises.git",
+ "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://files.phpcomposer.com/files/guzzle/promises/a59da6cf61d80060647ff4d3eb2c03a2bc694646.zip",
+ "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "GuzzleHttp\\Promise\\": "src/"
+ },
+ "files": [
+ "src/functions_include.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ }
+ ],
+ "description": "Guzzle promises library",
+ "keywords": [
+ "promise"
+ ],
+ "time": "2016-12-20T10:07:11+00:00"
+ },
+ {
+ "name": "guzzlehttp/psr7",
+ "version": "1.4.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/guzzle/psr7.git",
+ "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://files.phpcomposer.com/files/guzzle/psr7/f5b8a8512e2b58b0071a7280e39f14f72e05d87c.zip",
+ "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.4.0",
+ "psr/http-message": "~1.0"
+ },
+ "provide": {
+ "psr/http-message-implementation": "1.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "GuzzleHttp\\Psr7\\": "src/"
+ },
+ "files": [
+ "src/functions_include.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ },
+ {
+ "name": "Tobias Schultze",
+ "homepage": "https://github.com/Tobion"
+ }
+ ],
+ "description": "PSR-7 message implementation that also provides common utility methods",
+ "keywords": [
+ "http",
+ "message",
+ "request",
+ "response",
+ "stream",
+ "uri",
+ "url"
+ ],
+ "time": "2017-03-20T17:10:46+00:00"
+ },
{
"name": "jakub-onderka/php-console-color",
"version": "0.1",
@@ -235,6 +483,64 @@
],
"time": "2015-04-20T18:58:01+00:00"
},
+ {
+ "name": "jeremeamia/SuperClosure",
+ "version": "2.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/jeremeamia/super_closure.git",
+ "reference": "443c3df3207f176a1b41576ee2a66968a507b3db"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://files.phpcomposer.com/files/jeremeamia/super_closure/443c3df3207f176a1b41576ee2a66968a507b3db.zip",
+ "reference": "443c3df3207f176a1b41576ee2a66968a507b3db",
+ "shasum": ""
+ },
+ "require": {
+ "nikic/php-parser": "^1.2|^2.0|^3.0",
+ "php": ">=5.4",
+ "symfony/polyfill-php56": "^1.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.0|^5.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "SuperClosure\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jeremy Lindblom",
+ "email": "jeremeamia@gmail.com",
+ "homepage": "https://github.com/jeremeamia",
+ "role": "Developer"
+ }
+ ],
+ "description": "Serialize Closure objects, including their context and binding",
+ "homepage": "https://github.com/jeremeamia/super_closure",
+ "keywords": [
+ "closure",
+ "function",
+ "lambda",
+ "parser",
+ "serializable",
+ "serialize",
+ "tokenizer"
+ ],
+ "time": "2016-12-07T09:37:55+00:00"
+ },
{
"name": "laravel/framework",
"version": "v5.4.23",
@@ -505,6 +811,74 @@
],
"time": "2017-04-28T10:15:08+00:00"
},
+ {
+ "name": "maatwebsite/excel",
+ "version": "2.1.17",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Maatwebsite/Laravel-Excel.git",
+ "reference": "14d5abf8e20563c80dd074fd7c8cf1c05bf51f1d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://files.phpcomposer.com/files/Maatwebsite/Laravel-Excel/14d5abf8e20563c80dd074fd7c8cf1c05bf51f1d.zip",
+ "reference": "14d5abf8e20563c80dd074fd7c8cf1c05bf51f1d",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/cache": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*",
+ "illuminate/config": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*",
+ "illuminate/filesystem": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*",
+ "illuminate/support": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*",
+ "jeremeamia/superclosure": "^2.3",
+ "nesbot/carbon": "~1.0",
+ "php": ">=5.5",
+ "phpoffice/phpexcel": "1.8.*",
+ "tijsverkoyen/css-to-inline-styles": "~2.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "~0.9",
+ "orchestra/testbench": "3.1.*",
+ "phpseclib/phpseclib": "~1.0",
+ "phpunit/phpunit": "~4.0"
+ },
+ "suggest": {
+ "illuminate/http": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*",
+ "illuminate/queue": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*",
+ "illuminate/routing": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*",
+ "illuminate/view": "5.0.*|5.1.*|5.2.*|5.3.*|5.4.*"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/Maatwebsite/Excel"
+ ],
+ "psr-0": {
+ "Maatwebsite\\Excel\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "LGPL"
+ ],
+ "authors": [
+ {
+ "name": "Maatwebsite.nl",
+ "email": "patrick@maatwebsite.nl"
+ }
+ ],
+ "description": "An eloquent way of importing and exporting Excel and CSV in Laravel 4 with the power of PHPExcel",
+ "keywords": [
+ "PHPExcel",
+ "batch",
+ "csv",
+ "excel",
+ "export",
+ "import",
+ "laravel"
+ ],
+ "time": "2017-04-04T18:28:12+00:00"
+ },
{
"name": "monolog/monolog",
"version": "1.22.1",
@@ -615,150 +989,450 @@
],
"authors": [
{
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ }
+ ],
+ "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due",
+ "keywords": [
+ "cron",
+ "schedule"
+ ],
+ "time": "2017-01-23T04:29:33+00:00"
+ },
+ {
+ "name": "nesbot/carbon",
+ "version": "1.22.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/briannesbitt/Carbon.git",
+ "reference": "7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://files.phpcomposer.com/files/briannesbitt/Carbon/7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc.zip",
+ "reference": "7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0",
+ "symfony/translation": "~2.6 || ~3.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "~2",
+ "phpunit/phpunit": "~4.0 || ~5.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.23-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Carbon\\": "src/Carbon/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Brian Nesbitt",
+ "email": "brian@nesbot.com",
+ "homepage": "http://nesbot.com"
+ }
+ ],
+ "description": "A simple API extension for DateTime.",
+ "homepage": "http://carbon.nesbot.com",
+ "keywords": [
+ "date",
+ "datetime",
+ "time"
+ ],
+ "time": "2017-01-16T07:55:07+00:00"
+ },
+ {
+ "name": "nikic/php-parser",
+ "version": "v3.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nikic/PHP-Parser.git",
+ "reference": "2b9e2f71b722f7c53918ab0c25f7646c2013f17d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://files.phpcomposer.com/files/nikic/PHP-Parser/2b9e2f71b722f7c53918ab0c25f7646c2013f17d.zip",
+ "reference": "2b9e2f71b722f7c53918ab0c25f7646c2013f17d",
+ "shasum": ""
+ },
+ "require": {
+ "ext-tokenizer": "*",
+ "php": ">=5.5"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.0|~5.0"
+ },
+ "bin": [
+ "bin/php-parse"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PhpParser\\": "lib/PhpParser"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Nikita Popov"
+ }
+ ],
+ "description": "A PHP parser written in PHP",
+ "keywords": [
+ "parser",
+ "php"
+ ],
+ "time": "2017-03-05T18:23:57+00:00"
+ },
+ {
+ "name": "overtrue/laravel-wechat",
+ "version": "3.1.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/overtrue/laravel-wechat.git",
+ "reference": "a9c0b0117326571fb164cb513ae9ec15ca910c46"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://files.phpcomposer.com/files/overtrue/laravel-wechat/a9c0b0117326571fb164cb513ae9ec15ca910c46.zip",
+ "reference": "a9c0b0117326571fb164cb513ae9ec15ca910c46",
+ "shasum": ""
+ },
+ "require": {
+ "overtrue/wechat": "~3.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Overtrue\\LaravelWechat\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "overtrue",
+ "email": "anzhengchao@gmail.com"
+ }
+ ],
+ "description": "微信 SDK for Laravel",
+ "keywords": [
+ "laravel",
+ "sdk",
+ "wechat",
+ "weixin"
+ ],
+ "time": "2017-03-21T08:59:43+00:00"
+ },
+ {
+ "name": "overtrue/socialite",
+ "version": "1.0.25",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/overtrue/socialite.git",
+ "reference": "234b3051e7864bc94744c7cfa2a9fb1999a9ca2c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://files.phpcomposer.com/files/overtrue/socialite/234b3051e7864bc94744c7cfa2a9fb1999a9ca2c.zip",
+ "reference": "234b3051e7864bc94744c7cfa2a9fb1999a9ca2c",
+ "shasum": ""
+ },
+ "require": {
+ "guzzlehttp/guzzle": "~5.0|~6.0",
+ "php": ">=5.4.0",
+ "symfony/http-foundation": "~2.6|~2.7|~2.8|~3.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "~0.9",
+ "phpunit/phpunit": "~4.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Overtrue\\Socialite\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "overtrue",
+ "email": "anzhengchao@gmail.com"
+ }
+ ],
+ "description": "A collection of OAuth 2 packages that extracts from laravel/socialite.",
+ "keywords": [
+ "login",
+ "oauth",
+ "qq",
+ "social",
+ "wechat",
+ "weibo"
+ ],
+ "time": "2017-05-16T15:34:16+00:00"
+ },
+ {
+ "name": "overtrue/wechat",
+ "version": "3.3.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/overtrue/wechat.git",
+ "reference": "18f22de7a1d88d81a8e38ce03f23fa020369e8ed"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://files.phpcomposer.com/files/overtrue/wechat/18f22de7a1d88d81a8e38ce03f23fa020369e8ed.zip",
+ "reference": "18f22de7a1d88d81a8e38ce03f23fa020369e8ed",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/cache": "~1.4",
+ "ext-openssl": "*",
+ "guzzlehttp/guzzle": "~6.2.1",
+ "monolog/monolog": "^1.17",
+ "overtrue/socialite": ">=1.0.24",
+ "php": ">=5.5.0",
+ "pimple/pimple": "~3.0",
+ "symfony/http-foundation": "~2.6|~2.7|~2.8|~3.0",
+ "symfony/psr-http-message-bridge": "~0.3|^1.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "^0.9.9",
+ "overtrue/phplint": "dev-master",
+ "phpunit/phpunit": "~4.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "EasyWeChat\\": "src/"
+ },
+ "files": [
+ "src/Payment/helpers.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "overtrue",
+ "email": "anzhengchao@gmail.com"
+ }
+ ],
+ "description": "微信SDK",
+ "keywords": [
+ "sdk",
+ "wechat",
+ "weixin",
+ "weixin-sdk"
+ ],
+ "time": "2017-04-27T04:10:13+00:00"
+ },
+ {
+ "name": "paragonie/random_compat",
+ "version": "v2.0.10",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/paragonie/random_compat.git",
+ "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://files.phpcomposer.com/files/paragonie/random_compat/634bae8e911eefa89c1abfbf1b66da679ac8f54d.zip",
+ "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.2.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "4.*|5.*"
+ },
+ "suggest": {
+ "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "lib/random.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Paragon Initiative Enterprises",
+ "email": "security@paragonie.com",
+ "homepage": "https://paragonie.com"
}
],
- "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due",
+ "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
"keywords": [
- "cron",
- "schedule"
+ "csprng",
+ "pseudorandom",
+ "random"
],
- "time": "2017-01-23T04:29:33+00:00"
+ "time": "2017-03-13T16:27:32+00:00"
},
{
- "name": "nesbot/carbon",
- "version": "1.22.1",
+ "name": "phpoffice/phpexcel",
+ "version": "1.8.1",
"source": {
"type": "git",
- "url": "https://github.com/briannesbitt/Carbon.git",
- "reference": "7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc"
+ "url": "https://github.com/PHPOffice/PHPExcel.git",
+ "reference": "372c7cbb695a6f6f1e62649381aeaa37e7e70b32"
},
"dist": {
"type": "zip",
- "url": "https://files.phpcomposer.com/files/briannesbitt/Carbon/7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc.zip",
- "reference": "7cdf42c0b1cc763ab7e4c33c47a24e27c66bfccc",
+ "url": "https://files.phpcomposer.com/files/PHPOffice/PHPExcel/372c7cbb695a6f6f1e62649381aeaa37e7e70b32.zip",
+ "reference": "372c7cbb695a6f6f1e62649381aeaa37e7e70b32",
"shasum": ""
},
"require": {
- "php": ">=5.3.0",
- "symfony/translation": "~2.6 || ~3.0"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "~2",
- "phpunit/phpunit": "~4.0 || ~5.0"
+ "ext-xml": "*",
+ "ext-xmlwriter": "*",
+ "php": ">=5.2.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.23-dev"
- }
- },
"autoload": {
- "psr-4": {
- "Carbon\\": "src/Carbon/"
+ "psr-0": {
+ "PHPExcel": "Classes/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "LGPL"
],
"authors": [
{
- "name": "Brian Nesbitt",
- "email": "brian@nesbot.com",
- "homepage": "http://nesbot.com"
+ "name": "Maarten Balliauw",
+ "homepage": "http://blog.maartenballiauw.be"
+ },
+ {
+ "name": "Mark Baker"
+ },
+ {
+ "name": "Franck Lefevre",
+ "homepage": "http://blog.rootslabs.net"
+ },
+ {
+ "name": "Erik Tilt"
}
],
- "description": "A simple API extension for DateTime.",
- "homepage": "http://carbon.nesbot.com",
+ "description": "PHPExcel - OpenXML - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine",
+ "homepage": "http://phpexcel.codeplex.com",
"keywords": [
- "date",
- "datetime",
- "time"
- ],
- "time": "2017-01-16T07:55:07+00:00"
+ "OpenXML",
+ "excel",
+ "php",
+ "spreadsheet",
+ "xls",
+ "xlsx"
+ ],
+ "time": "2015-05-01T07:00:55+00:00"
},
{
- "name": "nikic/php-parser",
- "version": "v3.0.5",
+ "name": "pimple/pimple",
+ "version": "v3.0.2",
"source": {
"type": "git",
- "url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "2b9e2f71b722f7c53918ab0c25f7646c2013f17d"
+ "url": "https://github.com/silexphp/Pimple.git",
+ "reference": "a30f7d6e57565a2e1a316e1baf2a483f788b258a"
},
"dist": {
"type": "zip",
- "url": "https://files.phpcomposer.com/files/nikic/PHP-Parser/2b9e2f71b722f7c53918ab0c25f7646c2013f17d.zip",
- "reference": "2b9e2f71b722f7c53918ab0c25f7646c2013f17d",
+ "url": "https://files.phpcomposer.com/files/silexphp/Pimple/a30f7d6e57565a2e1a316e1baf2a483f788b258a.zip",
+ "reference": "a30f7d6e57565a2e1a316e1baf2a483f788b258a",
"shasum": ""
},
"require": {
- "ext-tokenizer": "*",
- "php": ">=5.5"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.0|~5.0"
+ "php": ">=5.3.0"
},
- "bin": [
- "bin/php-parse"
- ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-master": "3.0.x-dev"
}
},
"autoload": {
- "psr-4": {
- "PhpParser\\": "lib/PhpParser"
+ "psr-0": {
+ "Pimple": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Nikita Popov"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
}
],
- "description": "A PHP parser written in PHP",
+ "description": "Pimple, a simple Dependency Injection Container",
+ "homepage": "http://pimple.sensiolabs.org",
"keywords": [
- "parser",
- "php"
+ "container",
+ "dependency injection"
],
- "time": "2017-03-05T18:23:57+00:00"
+ "time": "2015-09-11T15:10:35+00:00"
},
{
- "name": "paragonie/random_compat",
- "version": "v2.0.10",
+ "name": "psr/http-message",
+ "version": "1.0.1",
"source": {
"type": "git",
- "url": "https://github.com/paragonie/random_compat.git",
- "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d"
+ "url": "https://github.com/php-fig/http-message.git",
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
},
"dist": {
"type": "zip",
- "url": "https://files.phpcomposer.com/files/paragonie/random_compat/634bae8e911eefa89c1abfbf1b66da679ac8f54d.zip",
- "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d",
+ "url": "https://files.phpcomposer.com/files/php-fig/http-message/f6561bf28d520154e4b0ec72be95418abe6d9363.zip",
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
"shasum": ""
},
"require": {
- "php": ">=5.2.0"
- },
- "require-dev": {
- "phpunit/phpunit": "4.*|5.*"
- },
- "suggest": {
- "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
+ "php": ">=5.3.0"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
"autoload": {
- "files": [
- "lib/random.php"
- ]
+ "psr-4": {
+ "Psr\\Http\\Message\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -766,18 +1440,21 @@
],
"authors": [
{
- "name": "Paragon Initiative Enterprises",
- "email": "security@paragonie.com",
- "homepage": "https://paragonie.com"
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
}
],
- "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
+ "description": "Common interface for HTTP messages",
+ "homepage": "https://github.com/php-fig/http-message",
"keywords": [
- "csprng",
- "pseudorandom",
- "random"
+ "http",
+ "http-message",
+ "psr",
+ "psr-7",
+ "request",
+ "response"
],
- "time": "2017-03-13T16:27:32+00:00"
+ "time": "2016-08-06T14:39:51+00:00"
},
{
"name": "psr/log",
@@ -1511,6 +2188,114 @@
],
"time": "2016-11-14T01:06:16+00:00"
},
+ {
+ "name": "symfony/polyfill-php56",
+ "version": "v1.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php56.git",
+ "reference": "1dd42b9b89556f18092f3d1ada22cb05ac85383c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://files.phpcomposer.com/files/symfony/polyfill-php56/1dd42b9b89556f18092f3d1ada22cb05ac85383c.zip",
+ "reference": "1dd42b9b89556f18092f3d1ada22cb05ac85383c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3",
+ "symfony/polyfill-util": "~1.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Php56\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "time": "2016-11-14T01:06:16+00:00"
+ },
+ {
+ "name": "symfony/polyfill-util",
+ "version": "v1.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-util.git",
+ "reference": "746bce0fca664ac0a575e465f65c6643faddf7fb"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://files.phpcomposer.com/files/symfony/polyfill-util/746bce0fca664ac0a575e465f65c6643faddf7fb.zip",
+ "reference": "746bce0fca664ac0a575e465f65c6643faddf7fb",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.3-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Util\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony utilities for portability of PHP codes",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compat",
+ "compatibility",
+ "polyfill",
+ "shim"
+ ],
+ "time": "2016-11-14T01:06:16+00:00"
+ },
{
"name": "symfony/process",
"version": "v3.2.8",
@@ -1560,6 +2345,66 @@
"homepage": "https://symfony.com",
"time": "2017-04-12T14:13:17+00:00"
},
+ {
+ "name": "symfony/psr-http-message-bridge",
+ "version": "v1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/psr-http-message-bridge.git",
+ "reference": "66085f246d3893cbdbcec5f5ad15ac60546cf0de"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://files.phpcomposer.com/files/symfony/psr-http-message-bridge/66085f246d3893cbdbcec5f5ad15ac60546cf0de.zip",
+ "reference": "66085f246d3893cbdbcec5f5ad15ac60546cf0de",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3",
+ "psr/http-message": "~1.0",
+ "symfony/http-foundation": "~2.3|~3.0"
+ },
+ "require-dev": {
+ "symfony/phpunit-bridge": "~2.7|~3.0"
+ },
+ "suggest": {
+ "psr/http-message-implementation": "To use the HttpFoundation factory",
+ "zendframework/zend-diactoros": "To use the Zend Diactoros factory"
+ },
+ "type": "symfony-bridge",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Bridge\\PsrHttpMessage\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Symfony Community",
+ "homepage": "http://symfony.com/contributors"
+ },
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ }
+ ],
+ "description": "PSR HTTP message bridge",
+ "homepage": "http://symfony.com",
+ "keywords": [
+ "http",
+ "http-message",
+ "psr-7"
+ ],
+ "time": "2016-09-14T18:37:20+00:00"
+ },
{
"name": "symfony/routing",
"version": "v3.2.8",
diff --git a/routes/web.php b/routes/web.php
index 810aa34..2ac2f71 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -11,6 +11,121 @@
|
*/
-Route::get('/', function () {
- return view('welcome');
+//wap路由,要放到最前面,否则解析不到
+Route::group(['domain' => 'm.lqycms.com', 'namespace' => 'Wap'], function () {
+ Route::get('/', 'IndexController@index');
+ Route::get('/tags', 'IndexController@tags');
+ Route::get('/search', 'IndexController@search');
+ Route::get('/cat{cat}/id{id}', 'IndexController@detail'); //详情页
+ Route::get('/cat{cat}/{page}', 'IndexController@category'); //分类页,分页
+ Route::get('/cat{cat}', 'IndexController@category'); //分类页
+ Route::get('/tag{tag}/{page}', 'IndexController@tag'); //标签页,分页
+ Route::get('/tag{tag}', 'IndexController@tag'); //标签页
+ Route::get('/{id}', 'IndexController@page'); //单页
+ Route::get('/aaa', function () {
+ dd('wap');
+ });
});
+
+
+//前台路由
+Route::group(['namespace' => 'Home'], function () {
+ Route::get('/', 'IndexController@index');
+ Route::get('/tags', 'IndexController@tags');
+ Route::get('/search', 'IndexController@search');
+ Route::get('/cat{cat}/id{id}', 'IndexController@detail'); //详情页
+ Route::get('/cat{cat}/{page}', 'IndexController@category'); //分类页,分页
+ Route::get('/cat{cat}', 'IndexController@category'); //分类页
+ Route::get('/tag{tag}/{page}', 'IndexController@tag'); //标签页,分页
+ Route::get('/tag{tag}', 'IndexController@tag'); //标签页
+ Route::get('/{id}', 'IndexController@page'); //单页
+
+ Route::get('/aaa', function () {
+ dd('wap');
+ });
+});
+
+
+//后台路由
+Route::group(['prefix' => 'Admin'], function () {
+ Route::get('/bbb', function () {
+ // 匹配 "/fladmin/users" URL
+ });
+});
+
+
+//接口路由
+Route::group(['prefix' => 'Api'], function () {
+ Route::get('/ccc', function () {
+ // 匹配 "/api/users" URL
+ });
+});
+
+
+//中间件
+Route::group(['middleware' => 'auth'], function () {
+ Route::get('/qwe', function () {
+ // 使用 Auth 中间件
+ });
+
+ Route::get('user/profile', function () {
+ // 使用 Auth 中间件
+ });
+});
+
+
+
+
+
+
+
+
+
+
+
+//https://github.com/cong5/myPersimmon
+//前台
+/* Route::group(['namespace' => 'App'], function () {
+ Route::get('/', 'HomeController@index')->name('home');
+ Route::get('/post/{flag}', 'HomeController@posts')->name('post');
+ Route::get('/tags/{flag}', 'HomeController@tags')->name('tags');
+ Route::get('/category/{flag}', 'HomeController@category')->name('category');
+ Route::get('/feed', 'HomeController@feed');
+ Route::get('/sitemap.xml', 'HomeController@siteMap');
+ Route::get('/xmlrpc', 'XmlRpcController@errorMessage');
+ Route::post('/xmlrpc', 'XmlRpcController@index')->name('xmlrpc');
+ Route::get('/friends', 'HomeController@friends')->name('friends');
+ Route::resource('/comment', 'CommentController');
+ Route::get('/debug', 'HomeController@debug')->name('debug');
+});
+
+//后台
+Route::group(['prefix' => 'myp', 'namespace' => 'Backend'], function () {
+ Route::get('/', 'DashboardController@dashboard')->name('admin');
+ Route::post('/auth/check', 'AuthController@check')->name('admin.login_check');
+ Route::post('/auth/logout', 'AuthController@logout')->name('admin.logout');
+ Route::post('/auth/login', 'AuthController@authenticate')->name('admin.login');
+});
+Route::group(['prefix' => 'myp', 'middleware' => 'auth', 'namespace' => 'Backend'], function () {
+ Route::get('/dashboard/meta', 'DashboardController@meta');
+ Route::get('/dashboard/shanbay', 'DashboardController@shanbay');
+ Route::resource('/categorys', 'CategorysController');
+ Route::resource('/posts', 'PostsController');
+ Route::resource('/tags', 'TagsController');
+ Route::resource('/links', 'LinksController');
+ Route::resource('/options', 'OptionsController');
+ Route::resource('/settings', 'SettingsController');
+ Route::resource('/navigations', 'NavigationController');
+ Route::resource('/uploads', 'FileController');
+ Route::resource('/util', 'UtilController');
+ Route::resource('/user', 'UserController');
+ Route::resource('/comments', 'CommentController');
+ Route::resource('/trash', 'TrashController');
+}); */
+
+
+
+
+
+
+