扩展功能优化完善
This commit is contained in:
38
addons/syslogin/Plugin.php
Normal file
38
addons/syslogin/Plugin.php
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | OneThink [ WE CAN DO IT JUST THINK IT ]
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Copyright (c) 2013 http://www.onethink.cn All rights reserved.
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
// | Author: yangweijie <yangweijiester@gmail.com> <code-tech.diandian.com>
|
||||||
|
// +----------------------------------------------------------------------
|
||||||
|
namespace addons\syslogin;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 系统环境信息插件
|
||||||
|
* @author thinkphp
|
||||||
|
*/
|
||||||
|
|
||||||
|
class Plugin extends \sent\Addons{
|
||||||
|
|
||||||
|
public $info = array(
|
||||||
|
'name'=>'Syslogin',
|
||||||
|
'title'=>'第三方登录',
|
||||||
|
'description'=>'第三方登录',
|
||||||
|
'status'=>0,
|
||||||
|
'author'=>'molong',
|
||||||
|
'version'=>'0.1'
|
||||||
|
);
|
||||||
|
|
||||||
|
public function loginBottomAddon(){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function install(){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function uninstall(){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -184,7 +184,7 @@ class Addons extends Base {
|
|||||||
$map = [];
|
$map = [];
|
||||||
$order = "id desc";
|
$order = "id desc";
|
||||||
|
|
||||||
$list = Hooks::where($map)->order($order)->paginate($this->request->pageConfig);
|
$list = Hooks::where($map)->order($order)->paginate($this->request->pageConfig)->append(['type_text']);
|
||||||
|
|
||||||
$this->data = array(
|
$this->data = array(
|
||||||
'list' => $list,
|
'list' => $list,
|
||||||
@@ -216,7 +216,6 @@ class Addons extends Base {
|
|||||||
* @title 编辑钩子
|
* @title 编辑钩子
|
||||||
*/
|
*/
|
||||||
public function edithook($id) {
|
public function edithook($id) {
|
||||||
$hooks = model('Hooks');
|
|
||||||
if ($this->request->isPost()) {
|
if ($this->request->isPost()) {
|
||||||
$result = $hooks->change();
|
$result = $hooks->change();
|
||||||
if ($result !== false) {
|
if ($result !== false) {
|
||||||
@@ -225,15 +224,13 @@ class Addons extends Base {
|
|||||||
return $this->error($hooks->getError());
|
return $this->error($hooks->getError());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$info = db('Hooks')->find($id);
|
$info = Hooks::find($id);
|
||||||
$keylist = $hooks->getaddons($info['addons']);
|
$keylist = Hooks::getaddons($info);
|
||||||
$data = array(
|
$this->data = array(
|
||||||
'info' => $info,
|
'info' => $info,
|
||||||
'keyList' => $keylist,
|
'keyList' => $keylist,
|
||||||
);
|
);
|
||||||
$this->assign($data);
|
return $this->fetch('admin/public/edit');
|
||||||
$this->setMeta('编辑钩子');
|
|
||||||
return $this->fetch('public/edit');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
<div class="boards" id="{$name}_sort">
|
||||||
|
{volist name="option" id="vo"}
|
||||||
|
<div class="board panel panel-info">
|
||||||
|
<div class="panel-heading">{$vo['name']|default=''}</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
{if !empty($vo['list'])}
|
||||||
|
<div class="board-list" data-group="{$key}">
|
||||||
|
{foreach name="vo['list']" item="item" key="k"}
|
||||||
|
{php}
|
||||||
|
$item['group'] = isset($item['group']) ? $item['group'] : '';
|
||||||
|
{/php}
|
||||||
|
{if (($i eq 1) or ($item['group'] eq $key)) and ($item['is_show'] eq 1)}
|
||||||
|
<div class="board-item">
|
||||||
|
<span data="{$item['id']}">{$item['title']} [{$item['name']}]</span>
|
||||||
|
<input type="hidden" name="{$name}[{$key}][]" value="{$item['id']}"/>
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
{/foreach}
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{/volist}
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(function(){
|
||||||
|
$('.form-group #{$name}_sort').boards({
|
||||||
|
drop: function(e){
|
||||||
|
var group = e.target.closest('.board').find('.board-list').attr('data-group');
|
||||||
|
e.element.find('input').attr('name','{$name}[' + group + '][]')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
</script>
|
||||||
@@ -14,10 +14,27 @@ namespace app\model;
|
|||||||
*/
|
*/
|
||||||
class Hooks extends \think\Model {
|
class Hooks extends \think\Model {
|
||||||
|
|
||||||
public static $keylist = [
|
protected function getTypeTextAttr($value, $data){
|
||||||
['name' => 'name', 'title' => '钩子名称', 'type' => 'text', 'help' => '需要在程序中先添加钩子,否则无效'],
|
$type = [1 => '视图', 2 => '控制器'];
|
||||||
['name' => 'description', 'title' => '钩子描述', 'type' => 'text', 'help' => '钩子的描述信息'],
|
return isset($type[$data['type']]) ? $type[$data['type']] : '';
|
||||||
['name' => 'type_text', 'title' => '钩子类型', 'type' => 'select', 'option' => [['key'=>1, 'label'=>'视图'], ['key' => 2, 'label' => '控制器']], 'help' => '钩子的描述信息'],
|
}
|
||||||
['name' => 'addons', 'title' => '插件排序', 'type' => 'kanban'],
|
|
||||||
];
|
public static function getaddons($addons){
|
||||||
|
if (isset($addons['addons']) && $addons['addons']) {
|
||||||
|
$hook_list = explode(',', $addons['addons']);
|
||||||
|
foreach ($hook_list as $key => $value) {
|
||||||
|
$field_list[] = array('id' => $value, 'title' => $value, 'name' => $value, 'is_show' => 1);
|
||||||
|
}
|
||||||
|
$option[] = ['name' => '钩子挂载排序', 'list' => $field_list];
|
||||||
|
} else {
|
||||||
|
$option[] = ['name' => '钩子挂载排序', 'list' => []];
|
||||||
|
}
|
||||||
|
$keylist = [
|
||||||
|
['name' => 'name', 'title' => '钩子名称', 'type' => 'text', 'help' => '需要在程序中先添加钩子,否则无效'],
|
||||||
|
['name' => 'description', 'title' => '钩子描述', 'type' => 'text', 'help' => '钩子的描述信息'],
|
||||||
|
['name' => 'type_text', 'title' => '钩子类型', 'type' => 'select', 'option' => [['key'=>1, 'label'=>'视图'], ['key' => 2, 'label' => '控制器']], 'help' => '钩子的描述信息'],
|
||||||
|
['name' => 'addons', 'title' => '插件排序', 'type' => 'kanban', 'option' => $option],
|
||||||
|
];
|
||||||
|
return $keylist;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user