代码格式化
This commit is contained in:
@@ -13,128 +13,129 @@ namespace app\common\controller;
|
||||
* 插件类
|
||||
* @author yangweijie <yangweijiester@gmail.com>
|
||||
*/
|
||||
class Addons extends Base{
|
||||
class Addons extends Base {
|
||||
|
||||
public $info = array();
|
||||
public $addon_path = '';
|
||||
public $config_file = '';
|
||||
public $custom_config = '';
|
||||
public $admin_list = array();
|
||||
public $custom_adminlist = '';
|
||||
public $access_url = array();
|
||||
public $info = array();
|
||||
public $addon_path = '';
|
||||
public $config_file = '';
|
||||
public $custom_config = '';
|
||||
public $admin_list = array();
|
||||
public $custom_adminlist = '';
|
||||
public $access_url = array();
|
||||
|
||||
public function _initialize(){
|
||||
public function _initialize() {
|
||||
$mc = $this->getAddonsName();
|
||||
|
||||
$this->addon_path = ROOT_PATH . "/addons/{$mc}/";
|
||||
if (is_file($this->addon_path.'config.php')) {
|
||||
$this->config_file = $this->addon_path.'config.php';
|
||||
$this->addon_path = ROOT_PATH . "/addons/{$mc}/";
|
||||
if (is_file($this->addon_path . 'config.php')) {
|
||||
$this->config_file = $this->addon_path . 'config.php';
|
||||
}
|
||||
}
|
||||
|
||||
public function template($template){
|
||||
$mc = $this->getAddonsName();
|
||||
$ac = input('get.ac','','trim,strtolower');
|
||||
$parse_str = \think\Config::get('parse_str');
|
||||
$parse_str['__ADDONROOT__'] = ROOT_PATH . "/addons/{$mc}";
|
||||
\think\Config::set('parse_str', $parse_str);
|
||||
public function template($template) {
|
||||
$mc = $this->getAddonsName();
|
||||
$ac = input('get.ac', '', 'trim,strtolower');
|
||||
$parse_str = \think\Config::get('parse_str');
|
||||
$parse_str['__ADDONROOT__'] = ROOT_PATH . "/addons/{$mc}";
|
||||
\think\Config::set('parse_str', $parse_str);
|
||||
|
||||
if ($template) {
|
||||
$template = $template;
|
||||
}else{
|
||||
$template = $mc . "/" . $ac;
|
||||
}
|
||||
if ($template) {
|
||||
$template = $template;
|
||||
} else {
|
||||
$template = $mc . "/" . $ac;
|
||||
}
|
||||
|
||||
$this->view->engine(
|
||||
array('view_path'=> "addons/" . $mc . "/view/")
|
||||
);
|
||||
echo $this->fetch($template);
|
||||
}
|
||||
|
||||
final public function getAddonsName(){
|
||||
$mc = input('get.mc','','trim,strtolower');
|
||||
if ($mc) {
|
||||
return $mc;
|
||||
}else{
|
||||
$class = get_class($this);
|
||||
return strtolower(substr($class,strrpos($class, '\\')+1));
|
||||
}
|
||||
}
|
||||
|
||||
final public function checkInfo(){
|
||||
$info_check_keys = array('name','title','description','status','author','version');
|
||||
foreach ($info_check_keys as $value) {
|
||||
if(!array_key_exists($value, $this->info))
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public function getConfig(){
|
||||
|
||||
static $_config = array();
|
||||
if(empty($name)){
|
||||
$name = $this->getAddonsName();
|
||||
}
|
||||
if(isset($_config[$name])){
|
||||
return $_config[$name];
|
||||
}
|
||||
$config = array();
|
||||
$map['name'] = $name;
|
||||
$map['status'] = 1;
|
||||
$config = db('Addons')->where($map)->value('config');
|
||||
if($config){
|
||||
$config = json_decode($config, true);
|
||||
}else{
|
||||
$temp_arr = include $this->config_file;
|
||||
foreach ($temp_arr as $key => $value) {
|
||||
if($value['type'] == 'group'){
|
||||
foreach ($value['options'] as $gkey => $gvalue) {
|
||||
foreach ($gvalue['options'] as $ikey => $ivalue) {
|
||||
$config[$ikey] = $ivalue['value'];
|
||||
}
|
||||
}
|
||||
}else{
|
||||
$config[$key] = $temp_arr[$key]['value'];
|
||||
}
|
||||
}
|
||||
}
|
||||
$_config[$name] = $config;
|
||||
return $config;
|
||||
$this->view->engine(
|
||||
array('view_path' => "addons/" . $mc . "/view/")
|
||||
);
|
||||
echo $this->fetch($template);
|
||||
}
|
||||
|
||||
final public function getAddonsName() {
|
||||
$mc = input('get.mc', '', 'trim,strtolower');
|
||||
if ($mc) {
|
||||
return $mc;
|
||||
} else {
|
||||
$class = get_class($this);
|
||||
return strtolower(substr($class, strrpos($class, '\\') + 1));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取插件所需的钩子是否存在,没有则新增
|
||||
* @param string $str 钩子名称
|
||||
* @param string $addons 插件名称
|
||||
* @param string $addons 插件简介
|
||||
*/
|
||||
public function getisHook($str, $addons, $msg=''){
|
||||
$hook_mod = db('Hooks');
|
||||
$where['name'] = $str;
|
||||
$gethook = $hook_mod->where($where)->find();
|
||||
if(!$gethook || empty($gethook) || !is_array($gethook)){
|
||||
$data['name'] = $str;
|
||||
$data['description'] = $msg;
|
||||
$data['type'] = 1;
|
||||
$data['update_time'] = time();
|
||||
$data['addons'] = $addons;
|
||||
if( false !== $hook_mod->create($data) ){
|
||||
$hook_mod->add();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除钩子
|
||||
* @param string $hook 钩子名称
|
||||
*/
|
||||
public function deleteHook($hook){
|
||||
$model = db('hooks');
|
||||
$condition = array(
|
||||
'name' => $hook,
|
||||
);
|
||||
$model->where($condition)->delete();
|
||||
}
|
||||
final public function checkInfo() {
|
||||
$info_check_keys = array('name', 'title', 'description', 'status', 'author', 'version');
|
||||
foreach ($info_check_keys as $value) {
|
||||
if (!array_key_exists($value, $this->info)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public function getConfig() {
|
||||
|
||||
static $_config = array();
|
||||
if (empty($name)) {
|
||||
$name = $this->getAddonsName();
|
||||
}
|
||||
if (isset($_config[$name])) {
|
||||
return $_config[$name];
|
||||
}
|
||||
$config = array();
|
||||
$map['name'] = $name;
|
||||
$map['status'] = 1;
|
||||
$config = db('Addons')->where($map)->value('config');
|
||||
if ($config) {
|
||||
$config = json_decode($config, true);
|
||||
} else {
|
||||
$temp_arr = include $this->config_file;
|
||||
foreach ($temp_arr as $key => $value) {
|
||||
if ($value['type'] == 'group') {
|
||||
foreach ($value['options'] as $gkey => $gvalue) {
|
||||
foreach ($gvalue['options'] as $ikey => $ivalue) {
|
||||
$config[$ikey] = $ivalue['value'];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$config[$key] = $temp_arr[$key]['value'];
|
||||
}
|
||||
}
|
||||
}
|
||||
$_config[$name] = $config;
|
||||
return $config;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取插件所需的钩子是否存在,没有则新增
|
||||
* @param string $str 钩子名称
|
||||
* @param string $addons 插件名称
|
||||
* @param string $addons 插件简介
|
||||
*/
|
||||
public function getisHook($str, $addons, $msg = '') {
|
||||
$hook_mod = db('Hooks');
|
||||
$where['name'] = $str;
|
||||
$gethook = $hook_mod->where($where)->find();
|
||||
if (!$gethook || empty($gethook) || !is_array($gethook)) {
|
||||
$data['name'] = $str;
|
||||
$data['description'] = $msg;
|
||||
$data['type'] = 1;
|
||||
$data['update_time'] = time();
|
||||
$data['addons'] = $addons;
|
||||
if (false !== $hook_mod->create($data)) {
|
||||
$hook_mod->add();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除钩子
|
||||
* @param string $hook 钩子名称
|
||||
*/
|
||||
public function deleteHook($hook) {
|
||||
$model = db('hooks');
|
||||
$condition = array(
|
||||
'name' => $hook,
|
||||
);
|
||||
$model->where($condition)->delete();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user