mirror of https://gitee.com/zorlan/skycaiji
105 lines
3.1 KiB
PHP
105 lines
3.1 KiB
PHP
<?php
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| SkyCaiji (蓝天采集器)
|
|
|--------------------------------------------------------------------------
|
|
| Copyright (c) 2018 http://www.skycaiji.com All rights reserved.
|
|
|--------------------------------------------------------------------------
|
|
| 使用协议 http://www.skycaiji.com/licenses
|
|
|--------------------------------------------------------------------------
|
|
*/
|
|
|
|
namespace skycaiji\admin\model;
|
|
|
|
use think\Loader;
|
|
class ReleaseApp extends BaseModel{
|
|
protected $tableName='release_app';
|
|
|
|
public function addCms($cms,$code='',$tpl=''){
|
|
if(empty($cms['app'])){
|
|
return false;
|
|
}
|
|
|
|
$cms['module']='cms';
|
|
$cms['uptime']=$cms['uptime']>0?$cms['uptime']:NOW_TIME;
|
|
$cmsData=$this->where(array('module'=>'cms','app'=>$cms['app']))->find();
|
|
$success=false;
|
|
|
|
if(!empty($cmsData)){
|
|
|
|
$this->allowField(true)->save($cms,array('module'=>'cms','app'=>$cms['app']));
|
|
$success=true;
|
|
}else{
|
|
|
|
$cms['addtime']=NOW_TIME;
|
|
$this->save($cms);
|
|
$cms['id']=$this->id;
|
|
$success=$cms['id']>0?true:false;
|
|
}
|
|
if($success){
|
|
$cmsAppPath=config('plugin_path').'/release';
|
|
if(!empty($code)){
|
|
|
|
write_dir_file($cmsAppPath.'/cms/'.ucfirst($cms['app']).'.php', $code);
|
|
}
|
|
if(!empty($tpl)){
|
|
|
|
write_dir_file($cmsAppPath.'/view/cms/'.ucfirst($cms['app']).'.html', $tpl);
|
|
}
|
|
}
|
|
return $success;
|
|
}
|
|
|
|
public function appFileName($appName,$model='cms'){
|
|
$model=strtolower($model);
|
|
$appName=ucfirst($appName);
|
|
return config('plugin_path').'/release/'.$model.'/'.$appName.'.php';
|
|
}
|
|
public function appFileExists($appName,$model='cms'){
|
|
$fileName=$this->appFileName($appName,$model);
|
|
return file_exists($fileName)?true:false;
|
|
}
|
|
public function appImportClass($appName,$model='cms'){
|
|
$cmsClass='\\plugin\\release\\'.strtolower($model).'\\'.ucfirst($appName);
|
|
$cmsClass=new $cmsClass();
|
|
return $cmsClass;
|
|
}
|
|
/*导入v1.x版本发布插件*/
|
|
public function oldImportClass($appName,$model='Cms'){
|
|
$model=ucfirst($model);
|
|
$appName=ucfirst($appName);
|
|
$fileName=$this->oldFileName($appName,$model);
|
|
$appName=$appName.$model;
|
|
if(file_exists($fileName)){
|
|
Loader::addNamespace('Release',realpath(APP_PATH.'Release'));
|
|
Loader::import($appName,config('app_path').'/Release/'.$model.'/','.class.php');
|
|
$oldClass='\\Release\\'.$model.'\\'.$appName;
|
|
$oldClass=new $oldClass();
|
|
return $oldClass?$oldClass:null;
|
|
}else{
|
|
return null;
|
|
}
|
|
}
|
|
/*获取v1.x版本发布插件源码*/
|
|
public function oldFileCode($appName,$model='Cms'){
|
|
$fileName=$this->oldFileName($appName,$model);
|
|
if(file_exists($fileName)){
|
|
return file_get_contents($fileName);
|
|
}else{
|
|
return null;
|
|
}
|
|
}
|
|
/*存在v1.x版本插件*/
|
|
public function oldFileExists($appName,$model='Cms'){
|
|
$fileName=$this->oldFileName($appName,$model);
|
|
return file_exists($fileName)?true:false;
|
|
}
|
|
|
|
public function oldFileName($appName,$model='Cms'){
|
|
$model=ucfirst($model);
|
|
$appName=ucfirst($appName);
|
|
return config('app_path').'/Release/'.$model.'/'.$appName.$model.'.class.php';
|
|
}
|
|
}
|
|
|
|
?>
|