Commit 80f8ad79 authored by testshenbd's avatar testshenbd

合并冲突

parents 2d85c798 50ea8d35
<?php
echo 1;exit;
phpinfo();exit;
header("Content-type: text/html; charset=utf-8");
//利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称
function fRename($dirname)
......
......@@ -73,7 +73,9 @@ class StoreController extends \Our\Controller_AbstractIndex {
$currentAddress['gcId'] = $data['gcId'];
}
$memberId = $this->sess->get('member_id');
$storeService = \Business\Store\StoreServiceModel::getInstance();
/*$storeService = \Business\Store\StoreServiceModel::getInstance();
$return = $storeService->getRecommendStores($currentAddress, $memberId);*/
$storeService = \Business\Store\ClassStoreServiceModel::getInstance();
$return = $storeService->getRecommendStores($currentAddress, $memberId);
if ($return) {
$this->success($return);
......@@ -125,7 +127,7 @@ class StoreController extends \Our\Controller_AbstractIndex {
$data = $this->req[\Our\NameConst::data];
$couponService = \Business\Coupon\CouponServiceModel::getInstance();
$couponTitles = $couponService->getStorePromotionCouponTitles($data);
$this->success($couponTitles);
$this->success($couponTitles);
}
......
......@@ -752,8 +752,8 @@ class OrderConfirmUtil {
public function pushMessage(){
if($this->pushMessageOrders){
foreach($this->pushMessageOrders as $tempOrder){
//\Business\Order\OrderServiceModel::getInstance(DbNameConst::masterDBConnectName)->pushRecieveOrder($tempOrder);
\Our\Common::redisPublish('\Business\Order\OrderServiceModel','pushRecieveOrder',array($tempOrder));
\Business\Order\OrderServiceModel::getInstance(DbNameConst::masterDBConnectName)->pushRecieveOrder($tempOrder);
//\Our\Common::redisPublish('\Business\Order\OrderServiceModel','pushRecieveOrder',array($tempOrder));
}
}
}
......@@ -921,8 +921,8 @@ class OrderConfirmUtil {
\Our\RedisHelper::delCachedFunction(\Redis\Db4\PBundlingRedisModel::getInstance(),array(&$pbundlingInstance, 'getList'),array(),array($storeId));
}
}
//$this->updateGoodsStorageToDBAndCache($goodsCommonIds,$goodsIds,$blIds,$goodsNewList,$op,$updateSaleNumFlag);
$this->updateGoodsStorageToCache($goodsCommonIds,$goodsIds,$blIds,$goodsNewList,$op,$updateSaleNumFlag);
$this->updateGoodsStorageToDBAndCache($goodsCommonIds,$goodsIds,$blIds,$goodsNewList,$op,$updateSaleNumFlag);
//$this->updateGoodsStorageToCache($goodsCommonIds,$goodsIds,$blIds,$goodsNewList,$op,$updateSaleNumFlag);
return true;
}
......
......@@ -11,7 +11,7 @@ class ApiConst
const randLengh = 8;
//10天数秒
const tenDaySecond = 864000;
const tenDaySecond = 2592000;
//const tenDaySecond = 300;
//一天
const threeDaySecond =259200;
......
......@@ -20,6 +20,9 @@ class ImageConst{
//分类图标前缀
const categoryPicPrefix = 'category-pic-';
const categoryHeadPicPrefix = 'category-headpic-';
const topClassAdvImagePrefis = 'category-hdpic-'; //一级分类对应广告图前缀
//商家举报图片存放路径
......@@ -53,6 +56,8 @@ class ImageConst{
const defaultStoreBannerName = 'default_store_banner.jpg';
const defaultCategoryImgName = 'category-headpic-default.jpg';
//图片指向的域名
const imageDomain="ossHost";
......
......@@ -159,6 +159,17 @@ class ImageUtil {
return $gcImageUrl;
}
public static function getCategoryHeadPic($gcId){
$basePath=\Bootstrap::getUrlIniConfig('source');
$commonPath=ImageConst::defaultPath;
$fileName= ImageConst::categoryHeadPicPrefix.$gcId.\Our\NameConst::jpgSuffix;
$file=$basePath.$commonPath.$fileName;
if(file_exists($file)){
return \Our\Common::getStaticFile($fileName,$commonPath);
}else{
return \Our\Common::getStaticFile(ImageConst::defaultCategoryImgName,$commonPath);
}
}
/**
* 设置文件名称 不包括 文件路径
......
......@@ -55,6 +55,7 @@ class GoodsClassServiceModel extends \Business\AbstractModel{
return array('totalCount'=>\Our\ApiConst::zero);
}
}
/**
* 获取平台全部一级分类
* @param $where
......@@ -65,8 +66,7 @@ class GoodsClassServiceModel extends \Business\AbstractModel{
//验证参数
$addressDao = \DAO\AddressModel::getInstance();
/*$addressDao = \DAO\AddressModel::getInstance();
$validFlag = $addressDao->getValidAddress($where);
if(!$validFlag){
\Error\ErrorModel::throwException($addressDao->errorCode);
......@@ -87,7 +87,7 @@ class GoodsClassServiceModel extends \Business\AbstractModel{
$serviceParentClassIds = $this->getServiceStoreClasses($serviceStoreIds);
if($serviceParentClassIds){
$classIds = array_merge($serviceParentClassIds,$classIds);
}
}*/
/*
//获取可快递店铺对应分类
......@@ -96,12 +96,12 @@ class GoodsClassServiceModel extends \Business\AbstractModel{
$classIds = array_merge($expressClassIds,$classIds);
}
*/
/*$classIds = array();
$classIds = array();
$platformFirstClassDao = \DAO\GoodsClass\PlatformFirstClassModel::getInstance();
$firstClassList = \Our\RedisHelper::cachedFunction(\Redis\Db3\PlatformFirstClassRedisModel::getInstance(),array(&$platformFirstClassDao, 'getList'),array(),\Our\ApiConst::oneHour,array());
if($firstClassList){
$classIds = array_column($firstClassList,'gc_id');
}*/
$classIds = array_column($firstClassList,'gc_parent_id');
}
$classIdKeys = array_flip($classIds);
$goodsClassDao = \DAO\GoodsClassModel::getInstance();
$parentClasses = $goodsClassDao->getParentClasses();
......@@ -196,7 +196,6 @@ class GoodsClassServiceModel extends \Business\AbstractModel{
$cityCode = $where['cityCode'];
$storeDao = \DAO\StoreModel::getInstance();
$signStoreClasses = $this->getSignClassesByCityCode($cityCode);
//var_dump($signStoreClasses);
if($signStoreClasses){
$storeIds = array_unique(array_column($signStoreClasses,'store_id'));
$tempStoreList = $storeDao->getNearbyStores($cityCode,$storeIds);
......@@ -220,7 +219,6 @@ class GoodsClassServiceModel extends \Business\AbstractModel{
if(!($newStoreIds&&in_array($signClass['store_id'],$newStoreIds))){
$newStoreIds[] = $signClass['store_id'];
}
}
}
foreach($returnClass as $key => $class){
......
......@@ -1368,6 +1368,7 @@ class GoodsCommonServiceModel extends \Business\AbstractModel
break;
}
}
return true;
}
/**
......
<?php
namespace Business\Store;
/**
* User: liuyuzhen
* Date: 2019/1/9
* Time: 17:09
* Description:
*/
namespace Business\Store;
use Our\ApiConst;
use Our\DbNameConst;
/**
* 店铺service
*
* @date 2018-5-15
* @author zhz
*/
class ClassStoreServiceModel extends \Business\AbstractModel{
$classStoreField = 'store_id as storeId,store_name as storeName,store_label as storeLabel,store_intro as storeIntro,store_longitude,store_latitude,gc_id as gcId,gc_name as gcName';
private $classStoreField = 'store_id as storeId,store_name as storeName,store_label as storeLabel,store_intro as storeIntro,store_longitude,store_latitude,gc_id as gcId,gc_name as gcName';
public function init() {
}
public function getRecommondStores($where,$memberId){
public function getRecommendStores($where,$memberId){
$addressDao = \DAO\AddressModel::getInstance();
$validFlag = $addressDao->getValidAddress($where);
......@@ -39,25 +30,97 @@ class ClassStoreServiceModel extends \Business\AbstractModel{
if(!$gcId){
\Error\ErrorModel::throwException(\Error\CodeConfigModel::emptyGcId);
}
/* \Our\RedisHelper::cachedFunction(\Redis\Db6\ClassStoreRedisModel::getInstance(), array(&$classStoreModel, 'getList'), array(array('gc_id'=>$gcId),'store_id,fav_time'), \Our\ApiConst::oneHour,array($memberId));*/
/*\Our\RedisHelper::cachedFunction(\Redis\Db6\ClassStoreRedisModel::getInstance(), array(&$classStoreModel, 'getList'), array(array('gc_id'=>$gcId),'store_id,fav_time'), \Our\ApiConst::oneHour,array($memberId));*/
$storeList = $this->getStoreListByGcId($gcId,$condition,$memberId);
return $storeList;
}
public function getStoreListByGcId($gcId,$position){
public function getStoreListByGcId($parentGcId,$position,$memberId){
$lat = $position['lat'];
$lng = $position['lng'];
$classStoreModel = \DAO\Store\ClassStoreModel::getInstance();
$storeList = \Our\RedisHelper::cachedFunction(\Redis\Db6\ClassStoreRedisModel::getInstance(), array(&$classStoreModel, 'getList'), array(array('gc_id'=>$gcId),$this->classStoreField), \Our\ApiConst::oneHour,array());
$newStoreList = array();
$storeList = \Our\RedisHelper::cachedFunction(\Redis\Db6\ClassStoreRedisModel::getInstance(), array(&$classStoreModel, 'getList'), array(array('gc_parent_id'=>$parentGcId),$this->classStoreField), \Our\ApiConst::oneHour,array($parentGcId));
$newGcStoreList = array();
if($storeList){
$newStoreList = array();
foreach($storeList as $store){
$gcId = $store['gcId'];
$store_lat = $store['store_latitude'];
$store_lnt = $store['store_longitude'];
unset($store['store_latitude']);
unset($store['store_longitude']);
$store['storeLabel'] =\Our\ImageUtil::getStoreLabel($store['storeLabel'], \Our\ImageConst::storeLabel,213);
$store['storeDistance'] = \Our\CommonExtension::getDistance($lat,$lng,$store_lat,$store_lnt);
$newStoreList[$store['storeId']] = $store;
if(isset($newGcStoreList[$gcId]['inAreaFlag'])){
continue;
}
$inAreaFlag = false;
if(isset($store['sign_scope'])&&$store['sign_scope']){
$inAreaFlag = \Our\CommonExtension::locationInArea($lat,$lng,$store['sign_scope']);
}
if(!isset($newGcStoreList[$gcId])){
$newGcStoreList[$gcId]['gcName'] = htmlspecialchars_decode($store['gcName']);
$newGcStoreList[$gcId]['gcImg'] = \Our\ImageUtil::getCategoryHeadPic($gcId);// \Our\Common::getStaticFile(\Our\ImageConst::categoryHeadPicPrefix.$gcId.\Our\NameConst::jpgSuffix,\Our\ImageConst::defaultPath);
}
unset($store['gcName']);
unset($store['gcId']);
if($inAreaFlag){
$newGcStoreList[$gcId]['inAreaFlag'] = $inAreaFlag;
$newGcStoreList[$gcId]['stores']= $store;
}else{
if(isset($newGcStoreList[$gcId]['storeDistance'])){
if($store['storeDistance']<$newGcStoreList[$gcId]['storeDistance']){
$newGcStoreList[$gcId]['storeDistance'] = $store['storeDistance'];
$newGcStoreList[$gcId]['stores']= $store;
}
}else{
$newGcStoreList[$gcId]['storeDistance'] = $store['storeDistance'];
$newGcStoreList[$gcId]['stores']= $store;
}
}
}
$memberStores = \Business\Store\StoreServiceModel::getInstance()->getPurchasedStoreClass($memberId,$parentGcId);
if($memberStores){
foreach($memberStores as $key => $storeId){
$returnData[$key] = array();
$purchasedStore = $newStoreList[$storeId];
$returnData[$key]['gcName'] = htmlspecialchars_decode($purchasedStore['gcName']);
$returnData[$key]['gcImg'] = \Our\ImageUtil::getCategoryHeadPic($purchasedStore['gcId']);//\Our\Common::getStaticFile(\Our\ImageConst::categoryHeadPicPrefix.$purchasedStore['gcId'].\Our\NameConst::jpgSuffix,\Our\ImageConst::defaultPath);
unset($purchasedStore['gcName']);
unset($purchasedStore['gcId']);
$purchasedStore['isPurchased'] = \Our\ApiConst::one;
$returnData[$key]['stores'][$storeId] = $purchasedStore;
}
}
foreach($newGcStoreList as $gcIdKey=>$storeInfo){
$tempStore = $storeInfo['stores'];
if(isset($returnData[$gcIdKey])){
if(isset($returnData[$gcIdKey]['stores'][$tempStore['storeId']])){
continue;
}
$tempStore['isPurchased'] = \Our\ApiConst::zero;
$returnData[$gcIdKey]['stores'][$tempStore['storeId']] = $tempStore;
}else{
unset($storeInfo['storeDistance']);
$storeInfo['stores'] = array();
$tempStore['isPurchased'] = \Our\ApiConst::zero;
$storeInfo['stores'][$tempStore['storeId']] = $tempStore;
$returnData[$gcIdKey] = $storeInfo;
}
}
$return = array_values($returnData);
foreach($return as &$temp){
$temp['stores'] = array_values($temp['stores']);
}
return $return;
}
}
return $newGcStoreList;
}
/**
* git
*/
private static $_instance = null;
......
......@@ -717,7 +717,10 @@ class StoreServiceModel extends \Business\AbstractModel{
$storeRedis = \Redis\Db6\StoreRedisModel::getInstance();
$signStoreKey = \Our\NameConst::signStoreIdsPrefix . $readisSuffix;
$signStoreIds =$storeRedis->find($signStoreKey, \Our\ApiConst::oneHour);
if(!$signStoreIds){
$signStoreInfo = \Business\Goods\GoodsClassServiceModel::getInstance()->getSignStoreInfo($position);
$signStoreIds = $signStoreInfo['signStoreIds'];//当前位置签约店铺ID
}
//$serviceStoreKey = \Our\NameConst::serviceStoreIdsPrefix . $readisSuffix;
//$serviceStoreIds = $storeRedis->find($serviceStoreKey, \Our\ApiConst::oneHour);
/*if(is_array($signStoreIds)&&is_array($serviceStoreIds)){
......@@ -807,15 +810,8 @@ class StoreServiceModel extends \Business\AbstractModel{
foreach($allStores as &$store){
$store['isPurchased'] = \Our\ApiConst::zero;
}
$memberStores = null;
if($memberId){
$favoritesStoreDao = \DAO\FavoritesStoreModel::getInstance();
$memberStoreList = \Our\RedisHelper::cachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(), array(&$favoritesStoreDao, 'selectList'), array(array('member_id'=>$memberId,'fav_from'=>\Our\ApiConst::scanFavor),'store_id,fav_time'), \Our\ApiConst::oneHour,array($memberId));
//$storeMemberDao->getList(array('member_id'=>$memberId,'type'=>\Our\ApiConst::storeQrcodeMember),'distinct(store_id) as store_id')
if($memberStoreList){
$memberStores = $this->getPurchasedStoreClass($memberStoreList,$gcId);
}
}
$memberStores = $this->getPurchasedStoreClass($memberId,$gcId);
$goodsClassDao = \DAO\GoodsClassModel::getInstance();
//获取当前分类对应所有店铺信息
......@@ -829,11 +825,12 @@ class StoreServiceModel extends \Business\AbstractModel{
//$expressStores = $this->getExpressStores($gcId,$condition);
$goodsClassList = $goodsClassDao->getOnlineSecondClassList($gcId);
if($goodsClassList){
foreach($goodsClassList as $goodsClass){
$returnStores = array();
$returnStores['gcName'] = htmlspecialchars_decode($goodsClass['gcName']);
//$returnStores['gcImg'] = \Our\Common::getStaticFile(\Our\ImageConst::categoryHeadPicPrefix.$goodsClass['gcId'].\Our\NameConst::jpgSuffix,\Our\ImageConst::defaultPath);
$returnStores['gcImg'] = \Our\Common::getStaticFile('category-headpic-default.jpg',\Our\ImageConst::defaultPath);
$existStoreIds = null;
$returnStores['stores'] = null;
$exitStore = array();
......@@ -866,7 +863,6 @@ class StoreServiceModel extends \Business\AbstractModel{
$returnStores['stores'][] =$purchasedStore;
}
}
if($returnStores['stores']){
foreach($returnStores['stores'] as $key => $tempStore){
$tempDistance[$key] = $tempStore['storeDistance'];
......@@ -876,13 +872,14 @@ class StoreServiceModel extends \Business\AbstractModel{
}
}
if($return){
/*var_dump(json_encode($return));
$tempReturn = array();
foreach($return as $tempVal){
$distance = min(array_column($tempVal['stores'],'storeDistance'));
$tempReturn[$distance] = $tempVal;
}
ksort($tempReturn);
$return = array_values($tempReturn);
$return = array_values($tempReturn);*/
return $return;
}
}
......@@ -890,12 +887,21 @@ class StoreServiceModel extends \Business\AbstractModel{
}
public function getPurchasedStoreClass($memberStoreList,$gcId){
public function getPurchasedStoreClass($memberId,$gcId){
if(!$memberId){
return array();
}
$favoritesStoreDao = \DAO\FavoritesStoreModel::getInstance();
$memberStoreList = \Our\RedisHelper::cachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(), array(&$favoritesStoreDao, 'selectList'), array(array('member_id'=>$memberId,'fav_from'=>\Our\ApiConst::scanFavor),'store_id,fav_time'), \Our\ApiConst::oneHour,array($memberId));
if(!$memberStoreList){
return array();
}
$memberStoreIds = array_column($memberStoreList,'store_id');
$signStoreClassSql = ' store_id in ('.implode(',',$memberStoreIds).') and is_charged=1 and gc_parent_id ='.$gcId;
$qmStoreClassDao = \DAO\QmStoreClassModel::getInstance();
$signClassStores = $qmStoreClassDao->selectByWhere($signStoreClassSql,'store_id,gc_id');
$signClassStores = \Our\RedisHelper::cachedFunction(\Redis\Db6\QmStoreClassRedisModel::getInstance(), array(&$qmStoreClassDao, 'selectByWhere'), array($signStoreClassSql,'store_id,gc_id'), \Our\ApiConst::oneHour,array('gcId_'.$gcId.'member_'.$memberId));
//$signClassStores = $qmStoreClassDao->selectByWhere($signStoreClassSql,'store_id,gc_id');
if($signClassStores){
$return = array();
foreach($memberStoreList as $tempStore){
......@@ -1199,7 +1205,7 @@ class StoreServiceModel extends \Business\AbstractModel{
public function growStores(){
$cityCodes=array('010','021','022','023','852','853','0310','0311','0312','0313','0314','0315','0316','0317','0318','0319','0335','0570','0571','0572','0573','0574','0575','0576','0577','0578','0579','0580','024','0410','0411','0412','0413','0414','0415','0416','0417','0418','0419','0421','0427','0429','027','0710','0711','0712','0713','0714','0715','0716','0717','0718','0719','0722','0724','0728','025','0510','0511','0512','0513','0514','0515','0516','0517','0517','0518','0519','0523','0470','0471','0472','0473','0474','0475','0476','0477','0478','0479','0482','0483','0790','0791','0792','0793','0794','0795','0796','0797','0798','0799','0701','0350','0351','0352','0353','0354','0355','0356','0357','0358','0359','0930','0931','0932','0933','0934','0935','0936','0937','0938','0941','0943','0530','0531','0532','0533','0534','0535','0536','0537','0538','0539','0450','0451','0452','0453','0454','0455','0456','0457','0458','0459','0591','0592','0593','0594','0595','0595','0596','0597','0598','0599','020','0751','0752','0753','0754','0755','0756','0757','0758','0759','0760','0762','0763','0765','0766','0768','0769','0660','0661','0662','0663','028','0810','0811','0812','0813','0814','0816','0817','0818','0819','0825','0826','0827','0830','0831','0832','0833','0834','0835','0836','0837','0838','0839','0840','0730','0731','0732','0733','0734','0735','0736','0737','0738','0739','0743','0744','0745','0746','0370','0371','0372','0373','0374','0375','0376','0377','0378','0379','0391','0392','0393','0394','0395','0396','0398','0870','0871','0872','0873','0874','0875','0876','0877','0878','0879','0691','0692','0881','0883','0886','0887','0888','0550','0551','0552','0553','0554','0555','0556','0557','0558','0559','0561','0562','0563','0564','0565','0566','0951','0952','0953','0954','0431','0432','0433','0434','0435','0436','0437','0438','0439','0440','0770','0771','0772','0773','0774','0775','0776','0777','0778','0779','0851','0852','0853','0854','0855','0856','0857','0858','0859','029','0910','0911','0912','0913','0914','0915','0916','0917','0919','0971','0972','0973','0974','0975','0976','0977','0890','0898','0899','0891','0892','0893');
$storeDao=\DAO\StoreModel::getInstance();
// $memberDao = \DAO\MemberModel::getInstance();
// $memberDao = \DAO\MemberModel::getInstance();
$res =$storeDao->getAll();
$drawTableDao=\DAO\Draw\DrawTableModel::getInstance();
$drawTableDatas=$drawTableDao->getAll();
......@@ -1257,16 +1263,16 @@ class StoreServiceModel extends \Business\AbstractModel{
public function tryExpireInform() {
$storeList = \DAO\StoreModel::getInstance()->getTryExpireStore();
if($storeList) {
foreach ($storeList as $store) {
if( TIMESTAMP+9*24*3600<$store['store_end_time'] and $store['store_end_time'] <= TIMESTAMP+10*24*3600) {
$limitday = 10;
}elseif (TIMESTAMP+4*24*3600<$store['store_end_time'] and $store['store_end_time'] <= TIMESTAMP+5*24*3600) {
$limitday = 5;
}else{
$limitday = 3;
}
\DAO\ShortMessageModel::getInstance()->sendMessageSmsForPlatform($store['store_phone'],'tryExpire',array('storename'=>$store['store_name'],'limitday'=>$limitday));
}
foreach ($storeList as $store) {
if( TIMESTAMP+9*24*3600<$store['store_end_time'] and $store['store_end_time'] <= TIMESTAMP+10*24*3600) {
$limitday = 10;
}elseif (TIMESTAMP+4*24*3600<$store['store_end_time'] and $store['store_end_time'] <= TIMESTAMP+5*24*3600) {
$limitday = 5;
}else{
$limitday = 3;
}
\DAO\ShortMessageModel::getInstance()->sendMessageSmsForPlatform($store['store_phone'],'tryExpire',array('storename'=>$store['store_name'],'limitday'=>$limitday));
}
}
}
/**
......
......@@ -222,6 +222,9 @@ class FavoritesStoreModel extends \DAO\AbstractModel {
$favoritesRedis->tableDelAll($favoritesRedis->tableKeys('myFavoritesStore'.$favoritesRedis::DELIMITER.$memberId.'_'));
}
\Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(),array(&$this, 'getFavoritesStores'),array(),array($memberId));
\Our\RedisHelper::delCachedFunction(\Redis\Db6\FavoritesStoreRedisModel::getInstance(), array(&$this, 'selectList'), array(),array($memberId));
\Our\RedisHelper::delCachedFunction(\Redis\Db6\QmStoreClassRedisModel::getInstance(), array(\DAO\QmStoreClassModel::getInstance(), 'selectByWhere'), array(), array('*member_'.$memberId.'*'));
//更新个人中心首页数量
\DAO\MemberModel::getInstance()->_changeNum(\Our\NameConst::storeCollection,$memberId,$type == 1 ? -(count($storeIds)) : count($storeIds));
return true;
......
......@@ -125,6 +125,7 @@ class QmStoreClassModel extends \DAO\AbstractModel{
}
$platformFirstClassDao = \DAO\GoodsClass\PlatformFirstClassModel::getInstance();
\Our\RedisHelper::delCachedFunction(\Redis\Db3\PlatformFirstClassRedisModel::getInstance(),array(&$platformFirstClassDao, 'getList'),array(),array());
return true;
}
/**
......
......@@ -186,6 +186,7 @@ config.url.pushHost="127.0.0.1:9503";
config.url.convert="/usr/local/bin/wkhtmltoimage";
config.url.indexUrl="/www/local.qm.com/application/library/React"
config.url.libary="/www/local.qm.com/application/library"
config.url.source="/data/upload/"
[linqing : common]
......
<?php
phpinfo();exit;
echo json_encode($_SERVER);exit;
$res=file_exists('/www/web/testadmin_shenbd_com/public_html/data/upload/mall/avatar/member_avatar_26.jpg');
var_dump($res);
exit;
$www_file = '/home/wwwroot/mysite/';
//打开网站目录下的hooks.log文件 需要在服务器上创建 并给写权限
$fs = fopen($www_file . 'hooks.log', 'a');
fwrite($fs, '================ Update Start ===============' . PHP_EOL . PHP_EOL);
//自定义字串掩码 用于验证
$access_token = 's7kjjhh8767laq29KLJK9089883hjjkgfdrrpipoinmw';
//接受的ip数组,也就是允许哪些IP访问这个文件 这里是gitlab服务器IP
$access_ip = array('8.8.8.8');
//获取请求端的ip和token
$client_token = $_GET['token'];
$client_ip = $_SERVER['REMOTE_ADDR'];
//把请求的IP和时间写进log
fwrite($fs, 'Request on [' . date("Y-m-d H:i:s") . '] from [' . $client_ip . ']' . PHP_EOL);
//验证token 有错就写进日志并退出
if ($client_token !== $access_token) {
echo "error 403";
fwrite($fs, "Invalid token [{$client_token}]" . PHP_EOL);
exit(0);
}
//验证ip
if (!in_array($client_ip, $access_ip)) {
echo "error 503";
fwrite($fs, "Invalid ip [{$client_ip}]" . PHP_EOL);
exit(0);
}
//获取请求端发送来的信息,具体格式参见gitlab的文档
$json = file_get_contents('php://input');
$data = json_decode($json, true);
//如果有需要 可以打开下面,把传送过来的信息写进log
//fwrite($fs, 'Data: '.print_r($data, true).PHP_EOL);
//执行shell命令并把返回信息写进日志
$output = shell_exec("cd $www_file &;&; git checkout master &;&; git pull origin master 2>&;1");
fwrite($fs, 'Info:' . $output . PHP_EOL);
fwrite($fs, PHP_EOL . '================ Update End ===============' . PHP_EOL . PHP_EOL);
$fs and fclose($fs);
//网站目录$www_file='/home/wwwroot/mysite/';//打开网站目录下的hooks.log文件 需要在服务器上创建 并给写权限$fs = fopen($www_file.'hooks.log', 'a');fwrite($fs, '================ Update Start ==============='.PHP_EOL.PHP_EOL);//自定义字串掩码 用于验证$access_token = 's7kjjhh8767laq29KLJK9089883hjjkgfdrrpipoinmw';//接受的ip数组,也就是允许哪些IP访问这个文件 这里是gitlab服务器IP$access_ip = array('8.8.8.8');//获取请求端的ip和token$client_token = $_GET['token'];$client_ip = $_SERVER['REMOTE_ADDR'];//把请求的IP和时间写进logfwrite($fs, 'Request on ['.date("Y-m-d H:i:s").'] from ['.$client_ip.']'.PHP_EOL);//验证token 有错就写进日志并退出if ($client_token !== $access_token){echo "error 403";fwrite($fs, "Invalid token [{$client_token}]".PHP_EOL);exit(0);}//验证ipif ( !in_array($client_ip, $access_ip)){echo "error 503";fwrite($fs, "Invalid ip [{$client_ip}]".PHP_EOL);exit(0);}//获取请求端发送来的信息,具体格式参见gitlab的文档$json = file_get_contents('php://input');$data = json_decode($json, true);//如果有需要 可以打开下面,把传送过来的信息写进log//fwrite($fs, 'Data: '.print_r($data, true).PHP_EOL);//执行shell命令并把返回信息写进日志$output=shell_exec("cd $www_file &;&; git checkout master &;&; git pull origin master 2>&;1");fwrite($fs, 'Info:'. $output.PHP_EOL);fwrite($fs,PHP_EOL. '================ Update End ==============='.PHP_EOL.PHP_EOL);$fs and fclose($fs);
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