init
This commit is contained in:
225
apps/admin/model/IndexModel.php
Normal file
225
apps/admin/model/IndexModel.php
Normal file
@@ -0,0 +1,225 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2017年3月13日
|
||||
* 首页模型类
|
||||
*/
|
||||
namespace app\admin\model;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class IndexModel extends Model
|
||||
{
|
||||
|
||||
// 检查用户账号密码
|
||||
public function login($where)
|
||||
{
|
||||
// 执行登录
|
||||
$result = parent::table('ay_user')->field('id,ucode,username,realname')
|
||||
->where($where)
|
||||
->where('status=1')
|
||||
->find();
|
||||
|
||||
if ($result) { // 登录成功
|
||||
$this->updateLogin($where); // 执行更新登录记录
|
||||
$menus = $this->getUserMenu($result->ucode); // 用户菜单
|
||||
$result->menus = get_tree($menus, 0, 'mcode', 'pcode'); // 用户菜单树
|
||||
$result->rcodes = $this->getUserRcode($result->ucode); // 用户角色
|
||||
$result->levels = $this->getUserLevel($result->ucode); // 用户权限
|
||||
|
||||
$acodes = $this->getUserAcode($result->ucode); // 获取用户区域
|
||||
$areas = $this->getAreas();
|
||||
$first_acode = $areas[0]->acode;
|
||||
if (in_array($first_acode, $acodes)) {
|
||||
array_unshift($acodes, $first_acode);
|
||||
$acodes = array_unique($acodes);
|
||||
}
|
||||
$result->acodes = $acodes;
|
||||
$result->area_map = get_mapping($areas, 'name', 'acode'); // 区域代码名称映射表
|
||||
$result->area_tree = $this->getUserAreaTree($areas, 0, 'acode', 'pcode', 'son', $result->acodes); // 当前用户的区域树
|
||||
return $result;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 用户登录成功后更新登录信息
|
||||
private function updateLogin($where)
|
||||
{
|
||||
$data = array(
|
||||
'last_login_ip' => ip2long(get_user_ip()),
|
||||
'login_count' => '+=1'
|
||||
);
|
||||
return parent::table('ay_user')->where($where)
|
||||
->autoTime()
|
||||
->update($data);
|
||||
}
|
||||
|
||||
// 获取用户菜单列表
|
||||
public function getUserMenu($ucode)
|
||||
{
|
||||
if ($ucode == '10001') { // 管理员获所有区域
|
||||
$field = array(
|
||||
'id',
|
||||
'mcode',
|
||||
'pcode',
|
||||
'name',
|
||||
'url',
|
||||
'shortcut',
|
||||
'ico',
|
||||
'sorting',
|
||||
'status'
|
||||
);
|
||||
$order = array(
|
||||
'sorting',
|
||||
'pcode',
|
||||
'id'
|
||||
);
|
||||
$result = parent::table('ay_menu')->distinct()
|
||||
->field($field)
|
||||
->order($order)
|
||||
->select();
|
||||
} else {
|
||||
$table = array(
|
||||
'ay_user',
|
||||
'ay_user_role',
|
||||
'ay_role',
|
||||
'ay_role_level',
|
||||
'ay_menu'
|
||||
);
|
||||
$field = array(
|
||||
'ay_menu.id',
|
||||
'ay_menu.mcode',
|
||||
'ay_menu.pcode',
|
||||
'ay_menu.name',
|
||||
'ay_menu.url',
|
||||
'ay_menu.shortcut',
|
||||
'ay_menu.ico',
|
||||
'ay_menu.sorting',
|
||||
'ay_menu.status'
|
||||
);
|
||||
$where = array(
|
||||
"ay_user.ucode='$ucode'",
|
||||
"ay_user.ucode=ay_user_role.ucode",
|
||||
"ay_role.rcode=ay_user_role.rcode",
|
||||
"ay_role.rcode=ay_role_level.rcode",
|
||||
"ay_menu.url=ay_role_level.level"
|
||||
);
|
||||
$order = array(
|
||||
'ay_menu.sorting',
|
||||
'ay_menu.pcode',
|
||||
'ay_menu.id'
|
||||
);
|
||||
$result = parent::table($table)->distinct()
|
||||
->field($field)
|
||||
->where($where)
|
||||
->order($order)
|
||||
->select();
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 获取用户的角色代码
|
||||
public function getUserRcode($ucode)
|
||||
{
|
||||
return parent::table('ay_user_role')->where("ucode='$ucode'")->column('rcode');
|
||||
}
|
||||
|
||||
// 获取用户权限列表
|
||||
public function getUserLevel($ucode)
|
||||
{
|
||||
$table = array(
|
||||
'ay_user',
|
||||
'ay_user_role',
|
||||
'ay_role',
|
||||
'ay_role_level'
|
||||
);
|
||||
$where = array(
|
||||
"ay_user.ucode='$ucode'",
|
||||
"ay_user.ucode=ay_user_role.ucode",
|
||||
"ay_role.rcode=ay_user_role.rcode",
|
||||
"ay_role.rcode=ay_role_level.rcode"
|
||||
);
|
||||
return parent::table($table)->distinct()
|
||||
->where($where)
|
||||
->column('ay_role_level.level');
|
||||
}
|
||||
|
||||
// 获取用户可管理的区域代码
|
||||
public function getUserAcode($ucode)
|
||||
{
|
||||
if ($ucode == '10001') { // 管理员获所有区域
|
||||
$result = parent::table('ay_area')->distinct()->column('acode');
|
||||
} else {
|
||||
$table = array(
|
||||
'ay_user',
|
||||
'ay_user_role',
|
||||
'ay_role',
|
||||
'ay_role_area',
|
||||
'ay_area'
|
||||
);
|
||||
$where = array(
|
||||
"ay_user.ucode = '$ucode'",
|
||||
"ay_user.ucode=ay_user_role.ucode",
|
||||
"ay_role.rcode=ay_user_role.rcode",
|
||||
"ay_role.rcode=ay_role_area.rcode",
|
||||
"ay_area.acode=ay_role_area.acode"
|
||||
);
|
||||
$result = parent::table($table)->distinct()
|
||||
->where($where)
|
||||
->column('ay_area.acode');
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 获取区域列表
|
||||
public function getAreas()
|
||||
{
|
||||
$result = parent::table('ay_area')->field('pcode,acode,name,is_default')
|
||||
->order('is_default DESC,pcode,acode')
|
||||
->select();
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 生成授权的区域树
|
||||
public function getUserAreaTree($data, $tid, $idField, $pidField, $sonName = 'son', $valid = array())
|
||||
{
|
||||
$tree = array();
|
||||
foreach ($data as $key => $value) {
|
||||
if ($value->$pidField == "$tid") { // 父亲找到儿子
|
||||
$value->$sonName = $this->getUserAreaTree($data, $value->$idField, $idField, $pidField, $sonName, $valid);
|
||||
if ($value->$sonName) {
|
||||
$tree[] = $value;
|
||||
} elseif (in_array($value->$idField, $valid)) {
|
||||
$tree[] = $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $tree;
|
||||
}
|
||||
|
||||
// 检查当前用户密码
|
||||
public function checkUserPwd($password)
|
||||
{
|
||||
return parent::table('ay_user')->field('id')
|
||||
->where("id=" . session('id') . " AND password='$password'")
|
||||
->find();
|
||||
}
|
||||
|
||||
// 修改当前用户信息
|
||||
public function modUserInfo($data)
|
||||
{
|
||||
return parent::table('ay_user')->where("id=" . session('id'))->update($data);
|
||||
}
|
||||
|
||||
// 获取用户信息
|
||||
public function getUserInfo($ucode)
|
||||
{
|
||||
$result = parent::table('ay_user')->field('id,ucode,username,realname,last_login_ip,update_time,login_count')
|
||||
->where("ucode='$ucode'")
|
||||
->find();
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
39
apps/admin/model/content/CompanyModel.php
Normal file
39
apps/admin/model/content/CompanyModel.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2017年3月24日
|
||||
* 公司信息模型类
|
||||
*/
|
||||
namespace app\admin\model\content;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class CompanyModel extends Model
|
||||
{
|
||||
|
||||
// 获取公司信息
|
||||
public function getList()
|
||||
{
|
||||
return parent::table('ay_company')->where("acode='" . session('acode') . "'")->find();
|
||||
}
|
||||
|
||||
// 检查公司信息
|
||||
public function checkCompany()
|
||||
{
|
||||
return parent::table('ay_company')->where("acode='" . session('acode') . "'")->find();
|
||||
}
|
||||
|
||||
// 增加公司信息
|
||||
public function addCompany($data)
|
||||
{
|
||||
return parent::table('ay_company')->insert($data);
|
||||
}
|
||||
|
||||
// 修改公司信息
|
||||
public function modCompany($data)
|
||||
{
|
||||
return parent::table('ay_company')->where("acode='" . session('acode') . "'")->update($data);
|
||||
}
|
||||
}
|
||||
332
apps/admin/model/content/ContentModel.php
Normal file
332
apps/admin/model/content/ContentModel.php
Normal file
@@ -0,0 +1,332 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2017年12月15日
|
||||
* 列表文章模型类
|
||||
*/
|
||||
namespace app\admin\model\content;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class ContentModel extends Model
|
||||
{
|
||||
|
||||
protected $scodes = array();
|
||||
|
||||
// 获取文章列表
|
||||
public function getList($mcode)
|
||||
{
|
||||
$field = array(
|
||||
'a.id',
|
||||
'b.name as sortname',
|
||||
'a.scode',
|
||||
'c.name as subsortname',
|
||||
'a.subscode',
|
||||
'a.title',
|
||||
'a.subtitle',
|
||||
'a.date',
|
||||
'a.sorting',
|
||||
'a.status',
|
||||
'a.istop',
|
||||
'a.isrecommend',
|
||||
'a.isheadline',
|
||||
'a.visits',
|
||||
'a.ico',
|
||||
'a.pics',
|
||||
'a.filename',
|
||||
'a.outlink',
|
||||
'd.urlname',
|
||||
'b.filename as sortfilename'
|
||||
);
|
||||
$join = array(
|
||||
array(
|
||||
'ay_content_sort b',
|
||||
'a.scode=b.scode',
|
||||
'LEFT'
|
||||
),
|
||||
array(
|
||||
'ay_content_sort c',
|
||||
'a.subscode=c.scode',
|
||||
'LEFT'
|
||||
),
|
||||
array(
|
||||
'ay_model d',
|
||||
'b.mcode=d.mcode',
|
||||
'LEFT'
|
||||
)
|
||||
);
|
||||
return parent::table('ay_content a')->field($field)
|
||||
->where("b.mcode='$mcode'")
|
||||
->where('d.type=2 OR d.type is null ')
|
||||
->where("a.acode='" . session('acode') . "'")
|
||||
->join($join)
|
||||
->order('a.sorting ASC,a.id DESC')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 查找指定分类及子类文章
|
||||
public function findContent($mcode, $scode, $keyword)
|
||||
{
|
||||
$fields = array(
|
||||
'a.id',
|
||||
'b.name as sortname',
|
||||
'a.scode',
|
||||
'c.name as subsortname',
|
||||
'a.subscode',
|
||||
'a.title',
|
||||
'a.subtitle',
|
||||
'a.date',
|
||||
'a.sorting',
|
||||
'a.status',
|
||||
'a.istop',
|
||||
'a.isrecommend',
|
||||
'a.isheadline',
|
||||
'a.visits',
|
||||
'a.ico',
|
||||
'a.pics',
|
||||
'a.filename',
|
||||
'a.outlink',
|
||||
'd.urlname',
|
||||
'b.filename as sortfilename'
|
||||
);
|
||||
$join = array(
|
||||
array(
|
||||
'ay_content_sort b',
|
||||
'a.scode=b.scode',
|
||||
'LEFT'
|
||||
),
|
||||
array(
|
||||
'ay_content_sort c',
|
||||
'a.subscode=c.scode',
|
||||
'LEFT'
|
||||
),
|
||||
array(
|
||||
'ay_model d',
|
||||
'b.mcode=d.mcode',
|
||||
'LEFT'
|
||||
)
|
||||
);
|
||||
$this->scodes = array(); // 先清空
|
||||
$scodes = $this->getSubScodes($scode);
|
||||
return parent::table('ay_content a')->field($fields)
|
||||
->where("b.mcode='$mcode'")
|
||||
->where('d.type=2 OR d.type is null ')
|
||||
->where("a.acode='" . session('acode') . "'")
|
||||
->in('a.scode', $scodes)
|
||||
->like('a.title', $keyword)
|
||||
->join($join)
|
||||
->order('a.sorting ASC,a.id DESC')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 在全部栏目查找文章
|
||||
public function findContentAll($mcode, $keyword)
|
||||
{
|
||||
$fields = array(
|
||||
'a.id',
|
||||
'b.name as sortname',
|
||||
'a.scode',
|
||||
'c.name as subsortname',
|
||||
'a.subscode',
|
||||
'a.title',
|
||||
'a.subtitle',
|
||||
'a.date',
|
||||
'a.sorting',
|
||||
'a.status',
|
||||
'a.istop',
|
||||
'a.isrecommend',
|
||||
'a.isheadline',
|
||||
'a.visits',
|
||||
'a.ico',
|
||||
'a.pics',
|
||||
'a.filename',
|
||||
'a.outlink',
|
||||
'd.urlname',
|
||||
'b.filename as sortfilename'
|
||||
);
|
||||
$join = array(
|
||||
array(
|
||||
'ay_content_sort b',
|
||||
'a.scode=b.scode',
|
||||
'LEFT'
|
||||
),
|
||||
array(
|
||||
'ay_content_sort c',
|
||||
'a.subscode=c.scode',
|
||||
'LEFT'
|
||||
),
|
||||
array(
|
||||
'ay_model d',
|
||||
'b.mcode=d.mcode',
|
||||
'LEFT'
|
||||
)
|
||||
);
|
||||
return parent::table('ay_content a')->field($fields)
|
||||
->where("b.mcode='$mcode'")
|
||||
->where('d.type=2 OR d.type is null ')
|
||||
->where("a.acode='" . session('acode') . "'")
|
||||
->like('a.title', $keyword)
|
||||
->join($join)
|
||||
->order('a.sorting ASC,a.id DESC')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 获取子栏目
|
||||
public function getSubScodes($scode)
|
||||
{
|
||||
if (! $scode) {
|
||||
return;
|
||||
}
|
||||
$this->scodes[] = $scode;
|
||||
$subs = parent::table('ay_content_sort')->where("pcode='$scode'")->column('scode');
|
||||
if ($subs) {
|
||||
foreach ($subs as $value) {
|
||||
$this->getSubScodes($value);
|
||||
}
|
||||
}
|
||||
return $this->scodes;
|
||||
}
|
||||
|
||||
// 检查文章
|
||||
public function checkContent($where)
|
||||
{
|
||||
return parent::table('ay_content')->field('id')
|
||||
->where($where)
|
||||
->find();
|
||||
}
|
||||
|
||||
// 获取文章详情
|
||||
public function getContent($id)
|
||||
{
|
||||
$field = array(
|
||||
'a.*',
|
||||
'b.name as sortname',
|
||||
'c.name as subsortname',
|
||||
'd.*'
|
||||
);
|
||||
$join = array(
|
||||
array(
|
||||
'ay_content_sort b',
|
||||
'a.scode=b.scode',
|
||||
'LEFT'
|
||||
),
|
||||
array(
|
||||
'ay_content_sort c',
|
||||
'a.subscode=c.scode',
|
||||
'LEFT'
|
||||
),
|
||||
array(
|
||||
'ay_content_ext d',
|
||||
'a.id=d.contentid',
|
||||
'LEFT'
|
||||
)
|
||||
);
|
||||
return parent::table('ay_content a')->field($field)
|
||||
->where("a.id=$id")
|
||||
->where("a.acode='" . session('acode') . "'")
|
||||
->join($join)
|
||||
->find();
|
||||
}
|
||||
|
||||
// 添加文章
|
||||
public function addContent(array $data)
|
||||
{
|
||||
return parent::table('ay_content')->autoTime()->insertGetId($data);
|
||||
}
|
||||
|
||||
// 删除文章
|
||||
public function delContent($id)
|
||||
{
|
||||
return parent::table('ay_content')->where("id=$id")
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->delete();
|
||||
}
|
||||
|
||||
// 删除文章
|
||||
public function delContentList($ids)
|
||||
{
|
||||
return parent::table('ay_content')->where("acode='" . session('acode') . "'")->delete($ids);
|
||||
}
|
||||
|
||||
// 修改文章
|
||||
public function modContent($id, $data)
|
||||
{
|
||||
return parent::table('ay_content')->autoTime()
|
||||
->in('id', $id)
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->update($data);
|
||||
}
|
||||
|
||||
// 复制内容到指定栏目
|
||||
public function copyContent($ids, $scode)
|
||||
{
|
||||
// 查找出要复制的主内容
|
||||
$data = parent::table('ay_content')->in('id', $ids)->select(1);
|
||||
|
||||
foreach ($data as $key => $value) {
|
||||
// 查找扩展内容
|
||||
$extdata = parent::table('ay_content_ext')->where('contentid=' . $value['id'])->find(1);
|
||||
|
||||
// 去除主键并修改栏目
|
||||
unset($value['id']);
|
||||
$value['scode'] = $scode;
|
||||
|
||||
// 插入主内容
|
||||
$id = parent::table('ay_content')->insertGetId($value);
|
||||
|
||||
// 插入扩展内容
|
||||
if ($id && $extdata) {
|
||||
unset($extdata['extid']);
|
||||
$extdata['contentid'] = $id;
|
||||
$result = parent::table('ay_content_ext')->insert($extdata);
|
||||
} else {
|
||||
$result = $id;
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 查找文章扩展内容
|
||||
public function findContentExt($id)
|
||||
{
|
||||
return parent::table('ay_content_ext')->where("contentid=$id")->find();
|
||||
}
|
||||
|
||||
// 添加文章扩展内容
|
||||
public function addContentExt(array $data)
|
||||
{
|
||||
return parent::table('ay_content_ext')->insert($data);
|
||||
}
|
||||
|
||||
// 修改文章扩展内容
|
||||
public function modContentExt($id, $data)
|
||||
{
|
||||
return parent::table('ay_content_ext')->where("contentid=$id")->update($data);
|
||||
}
|
||||
|
||||
// 删除文章扩展内容
|
||||
public function delContentExt($id)
|
||||
{
|
||||
return parent::table('ay_content_ext')->where("contentid=$id")->delete();
|
||||
}
|
||||
|
||||
// 删除文章扩展内容
|
||||
public function delContentExtList($ids)
|
||||
{
|
||||
return parent::table('ay_content_ext')->delete($ids, 'contentid');
|
||||
}
|
||||
|
||||
// 检查自定义URL名称
|
||||
public function checkFilename($filename, $where = array())
|
||||
{
|
||||
return parent::table('ay_content')->field('id')
|
||||
->where("filename='$filename'")
|
||||
->where($where)
|
||||
->find();
|
||||
}
|
||||
}
|
||||
261
apps/admin/model/content/ContentSortModel.php
Normal file
261
apps/admin/model/content/ContentSortModel.php
Normal file
@@ -0,0 +1,261 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2017年12月26日
|
||||
* 内容栏目模型类
|
||||
*/
|
||||
namespace app\admin\model\content;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class ContentSortModel extends Model
|
||||
{
|
||||
|
||||
// 存储分类及子编码
|
||||
protected $scodes = array();
|
||||
|
||||
// 获取内容栏目列表
|
||||
public function getList()
|
||||
{
|
||||
$field = array(
|
||||
'a.*',
|
||||
'b.type',
|
||||
'b.urlname'
|
||||
);
|
||||
$join = array(
|
||||
'ay_model b',
|
||||
'a.mcode=b.mcode',
|
||||
'LEFT'
|
||||
);
|
||||
$result = parent::table('ay_content_sort a')->field($field)
|
||||
->where("a.acode='" . session('acode') . "'")
|
||||
->join($join)
|
||||
->order('a.pcode,a.sorting,a.id')
|
||||
->select();
|
||||
$tree = get_tree($result, 0, 'scode', 'pcode');
|
||||
return $tree;
|
||||
}
|
||||
|
||||
// 获取内容栏目选择列表
|
||||
public function getSelect()
|
||||
{
|
||||
$result = parent::table('ay_content_sort')->field('pcode,scode,name')
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->order('pcode,sorting,id')
|
||||
->select();
|
||||
$tree = get_tree($result, 0, 'scode', 'pcode');
|
||||
return $tree;
|
||||
}
|
||||
|
||||
// 获取单页内容栏目选择列表
|
||||
public function getSingleSelect()
|
||||
{
|
||||
$field = array(
|
||||
'a.pcode',
|
||||
'a.scode',
|
||||
'a.name',
|
||||
'a.outlink'
|
||||
);
|
||||
$join = array(
|
||||
'ay_model b',
|
||||
'a.mcode=b.mcode',
|
||||
'LEFT'
|
||||
);
|
||||
$result = parent::table('ay_content_sort a')->field($field)
|
||||
->where('b.type=1')
|
||||
->where("a.outlink=''")
|
||||
->where("a.acode='" . session('acode') . "'")
|
||||
->notIn('a.scode', 'select scode from ay_content')
|
||||
->join($join)
|
||||
->order('a.pcode,a.sorting,a.id')
|
||||
->select();
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 获取列表内容栏目选择列表
|
||||
public function getListSelect($mcode)
|
||||
{
|
||||
$field = array(
|
||||
'a.pcode',
|
||||
'a.scode',
|
||||
'a.name',
|
||||
'a.outlink'
|
||||
);
|
||||
$join = array(
|
||||
'ay_model b',
|
||||
'a.mcode=b.mcode',
|
||||
'LEFT'
|
||||
);
|
||||
$result = parent::table('ay_content_sort a')->field($field)
|
||||
->where('b.type=2')
|
||||
->where("a.outlink=''")
|
||||
->where("a.mcode='$mcode'")
|
||||
->where("a.acode='" . session('acode') . "'")
|
||||
->join($join)
|
||||
->order('a.pcode,a.sorting,a.id')
|
||||
->select();
|
||||
$tree = get_tree($result, 0, 'scode', 'pcode');
|
||||
// 对于父栏目非列表的栏目进行追加到后面
|
||||
foreach ($result as $value) {
|
||||
if ($value->pcode != 0 && result_value_search($value->pcode, $result, 'scode') === false) {
|
||||
$value->son = get_tree($result, $value->scode, 'scode', 'pcode');
|
||||
$tree[] = $value;
|
||||
}
|
||||
}
|
||||
return $tree;
|
||||
}
|
||||
|
||||
// 检查内容栏目
|
||||
public function checkSort($where)
|
||||
{
|
||||
return parent::table('ay_content_sort')->field('id')
|
||||
->where($where)
|
||||
->find();
|
||||
}
|
||||
|
||||
// 获取内容栏目详情
|
||||
public function getSort($scode)
|
||||
{
|
||||
$field = array(
|
||||
'a.*',
|
||||
'b.type'
|
||||
);
|
||||
$join = array(
|
||||
'ay_model b',
|
||||
'a.mcode=b.mcode',
|
||||
'LEFT'
|
||||
);
|
||||
return parent::table('ay_content_sort a')->field($field)
|
||||
->where("a.scode='$scode'")
|
||||
->where("a.acode='" . session('acode') . "'")
|
||||
->join($join)
|
||||
->find();
|
||||
}
|
||||
|
||||
// 获取最后一个code
|
||||
public function getLastCode()
|
||||
{
|
||||
return parent::table('ay_content_sort')->order('id DESC')->value('scode');
|
||||
}
|
||||
|
||||
// 添加内容栏目
|
||||
public function addSort(array $data)
|
||||
{
|
||||
return parent::table('ay_content_sort')->autoTime()->insert($data);
|
||||
}
|
||||
|
||||
// 删除内容栏目及内容
|
||||
public function delSort($scode)
|
||||
{
|
||||
$this->scodes = array(); // 先清空
|
||||
$scodes = $this->getSubScodes($scode); // 获取全部子类
|
||||
$this->delContent($scodes);
|
||||
return parent::table('ay_content_sort')->in('scode', $scodes)
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->delete();
|
||||
}
|
||||
|
||||
// 批量删除栏目及内容
|
||||
public function delSortList($scodes)
|
||||
{
|
||||
$this->scodes = array(); // 先清空
|
||||
foreach ($scodes as $value) {
|
||||
$allscode = $this->getSubScodes($value); // 获取全部子类
|
||||
}
|
||||
$this->delContent($allscode);
|
||||
return parent::table('ay_content_sort')->in('scode', $allscode)
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->delete();
|
||||
}
|
||||
|
||||
// 修改内容栏目资料
|
||||
public function modSort($scode, $data, $modsub = false)
|
||||
{
|
||||
if ($modsub) {
|
||||
// 同步修改子栏目模型及模板
|
||||
$scodes = $this->getSubScodes($scode);
|
||||
$subdata = array(
|
||||
'mcode' => $data['mcode'],
|
||||
'listtpl' => $data['listtpl'],
|
||||
'contenttpl' => $data['contenttpl']
|
||||
);
|
||||
parent::table('ay_content_sort')->in('scode', $scodes)
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->update($subdata);
|
||||
}
|
||||
$result = parent::table('ay_content_sort')->autoTime()
|
||||
->where("scode='$scode'")
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->update($data);
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 修改内容栏目排序
|
||||
public function modSortSorting($id, $data)
|
||||
{
|
||||
$result = parent::table('ay_content_sort')->autoTime()
|
||||
->where("id='$id'")
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->update($data);
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 查找指定单页内容
|
||||
public function findContent($scode)
|
||||
{
|
||||
return parent::table('ay_content')->where("scode='$scode'")->find();
|
||||
}
|
||||
|
||||
// 添加单篇文章
|
||||
public function addSingle(array $data)
|
||||
{
|
||||
return parent::table('ay_content')->autoTime()->insert($data);
|
||||
}
|
||||
|
||||
// 删除指定栏目文章
|
||||
public function delContent($scodes)
|
||||
{
|
||||
return parent::table('ay_content')->in('scode', $scodes)->delete();
|
||||
}
|
||||
|
||||
// 分类子类集
|
||||
private function getSubScodes($scode)
|
||||
{
|
||||
if (! $scode) {
|
||||
return;
|
||||
}
|
||||
$this->scodes[] = $scode;
|
||||
$subs = parent::table('ay_content_sort')->where("pcode='$scode'")->column('scode');
|
||||
if ($subs) {
|
||||
foreach ($subs as $value) {
|
||||
$this->getSubScodes($value);
|
||||
}
|
||||
}
|
||||
return $this->scodes;
|
||||
}
|
||||
|
||||
// 检查自定义URL名称
|
||||
public function checkFilename($filename, $where = array())
|
||||
{
|
||||
return parent::table('ay_content_sort')->field('id')
|
||||
->where("filename='$filename'")
|
||||
->where($where)
|
||||
->find();
|
||||
}
|
||||
|
||||
// 检查URL名字冲突
|
||||
public function checkUrlname($filename)
|
||||
{
|
||||
return parent::table('ay_model')->field('id')
|
||||
->where("urlname='$filename'")
|
||||
->find();
|
||||
}
|
||||
|
||||
// 获取当前主题
|
||||
public function getTheme()
|
||||
{
|
||||
return parent::table('ay_site')->where("acode='" . session('acode') . "'")->value('theme');
|
||||
}
|
||||
}
|
||||
87
apps/admin/model/content/ExtFieldModel.php
Normal file
87
apps/admin/model/content/ExtFieldModel.php
Normal file
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2018年4月7日
|
||||
* 扩展字段模型类
|
||||
*/
|
||||
namespace app\admin\model\content;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class ExtFieldModel extends Model
|
||||
{
|
||||
|
||||
// 获取扩展字段列表
|
||||
public function getList()
|
||||
{
|
||||
return parent::table('ay_extfield')->order('mcode asc,sorting asc,id asc')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 查找扩展字段
|
||||
public function findExtField($field, $keyword)
|
||||
{
|
||||
return parent::table('ay_extfield')->like($field, $keyword)
|
||||
->order('mcode asc,sorting asc,id asc')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 检查扩展字段
|
||||
public function checkExtField($name)
|
||||
{
|
||||
return parent::table('ay_extfield')->where("name='$name'")->find();
|
||||
}
|
||||
|
||||
// 获取模型字段
|
||||
public function getModelField($mcode)
|
||||
{
|
||||
return parent::table('ay_extfield')->where("mcode='$mcode'")
|
||||
->order('sorting asc,id asc')
|
||||
->select();
|
||||
}
|
||||
|
||||
// 获取扩展字段详情
|
||||
public function getExtField($id)
|
||||
{
|
||||
return parent::table('ay_extfield')->where("id=$id")->find();
|
||||
}
|
||||
|
||||
// 获取扩展字段名称
|
||||
public function getExtFieldName($id)
|
||||
{
|
||||
return parent::table('ay_extfield')->where("id=$id")->value('name');
|
||||
}
|
||||
|
||||
// 添加扩展字段
|
||||
public function addExtField(array $data)
|
||||
{
|
||||
return parent::table('ay_extfield')->insert($data);
|
||||
}
|
||||
|
||||
// 删除扩展字段
|
||||
public function delExtField($id)
|
||||
{
|
||||
return parent::table('ay_extfield')->where("id=$id")->delete();
|
||||
}
|
||||
|
||||
// 修改扩展字段
|
||||
public function modExtField($id, $data)
|
||||
{
|
||||
return parent::table('ay_extfield')->where("id=$id")->update($data);
|
||||
}
|
||||
|
||||
// 判断字段是否存在
|
||||
public function isExistField($field)
|
||||
{
|
||||
$fields = parent::tableFields('ay_content_ext');
|
||||
if (in_array($field, $fields)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
238
apps/admin/model/content/FormModel.php
Normal file
238
apps/admin/model/content/FormModel.php
Normal file
@@ -0,0 +1,238 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2018年5月28日
|
||||
* 自定义表单模型类
|
||||
*/
|
||||
namespace app\admin\model\content;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class FormModel extends Model
|
||||
{
|
||||
|
||||
// 获取自定义表单列表
|
||||
public function getList()
|
||||
{
|
||||
return parent::table('ay_form')->page()->select();
|
||||
}
|
||||
|
||||
// 查找自定义表单
|
||||
public function findForm($field, $keyword)
|
||||
{
|
||||
return parent::table('ay_form')->like($field, $keyword)
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 获取最后一个code
|
||||
public function getLastCode()
|
||||
{
|
||||
return parent::table('ay_form')->order('id DESC')->value('fcode');
|
||||
}
|
||||
|
||||
// 获取自定义表单详情
|
||||
public function getForm($id)
|
||||
{
|
||||
return parent::table('ay_form')->where("id=$id")->find();
|
||||
}
|
||||
|
||||
// 获取自定义表单详情
|
||||
public function getFormByCode($fcode)
|
||||
{
|
||||
return parent::table('ay_form')->where("fcode='$fcode'")->find();
|
||||
}
|
||||
|
||||
// 获取自定义表单表
|
||||
public function getFormTable($id)
|
||||
{
|
||||
return parent::table('ay_form')->where("id=$id")->value('table_name');
|
||||
}
|
||||
|
||||
// 获取自定义表单表
|
||||
public function getFormCode($id)
|
||||
{
|
||||
return parent::table('ay_form')->where("id=$id")->value('fcode');
|
||||
}
|
||||
|
||||
// 获取自定义表单表
|
||||
public function getFormTableByCode($fcode)
|
||||
{
|
||||
return parent::table('ay_form')->where("fcode='$fcode'")->value('table_name');
|
||||
}
|
||||
|
||||
// 添加自定义表单
|
||||
public function addForm(array $data)
|
||||
{
|
||||
return parent::table('ay_form')->autoTime()->insert($data);
|
||||
}
|
||||
|
||||
// 删除自定义表单
|
||||
public function delForm($id)
|
||||
{
|
||||
$form = parent::table('ay_form')->field('fcode,form_name')
|
||||
->where("id=$id")
|
||||
->find();
|
||||
|
||||
// 删除可能存在的菜单
|
||||
if (! ! $rs = parent::table('ay_menu')->like('url', '/Form/index/fcode/' . $form->fcode . '/action/showdata')->find()) {
|
||||
parent::table('ay_menu')->where("mcode='" . $rs->mcode . "'")->delete();
|
||||
$menu = session('menu_tree');
|
||||
foreach ($menu as $key => $value) {
|
||||
if (! ! $delkey = result_value_search($rs->mcode, $menu[$key]->son, 'mcode')) {
|
||||
unset($menu[$key]->son[$delkey]);
|
||||
}
|
||||
}
|
||||
}
|
||||
$result = parent::table('ay_form')->where("id=$id")->delete(); // 删除表单
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 修改自定义表单
|
||||
public function modForm($id, $data)
|
||||
{
|
||||
return parent::table('ay_form')->where("id=$id")
|
||||
->autoTime()
|
||||
->update($data);
|
||||
}
|
||||
|
||||
// 获取表单字段
|
||||
public function getFormFieldByCode($fcode)
|
||||
{
|
||||
return parent::table('ay_form_field')->where("fcode='$fcode'")
|
||||
->order('sorting ASC,id ASC')
|
||||
->select();
|
||||
}
|
||||
|
||||
// 获取字段详情
|
||||
public function getFormField($id)
|
||||
{
|
||||
return parent::table('ay_form_field')->where("id=$id")->find();
|
||||
}
|
||||
|
||||
// 检查表单字段
|
||||
public function checkFormField($fcode, $name)
|
||||
{
|
||||
return parent::table('ay_form_field')->where("fcode='$fcode' AND name='$name'")->find();
|
||||
}
|
||||
|
||||
// 获取表单字段名称
|
||||
public function getFormFieldName($id)
|
||||
{
|
||||
return parent::table('ay_form_field')->where("id=$id")->value('name');
|
||||
}
|
||||
|
||||
// 新增表单字段
|
||||
public function addFormField(array $data)
|
||||
{
|
||||
return parent::table('ay_form_field')->autoTime()->insert($data);
|
||||
}
|
||||
|
||||
// 删除表单字段
|
||||
public function delFormField($id)
|
||||
{
|
||||
return parent::table('ay_form_field')->where("id=$id")->delete();
|
||||
}
|
||||
|
||||
// 删除表单字段
|
||||
public function delFormFieldByCode($fcode)
|
||||
{
|
||||
return parent::table('ay_form_field')->where("fcode='$fcode'")->delete();
|
||||
}
|
||||
|
||||
// 修改表单字段
|
||||
public function modFormField($id, $data)
|
||||
{
|
||||
return parent::table('ay_form_field')->where("id=$id")
|
||||
->autoTime()
|
||||
->update($data);
|
||||
}
|
||||
|
||||
// 判断字段是否存在
|
||||
public function isExistField($table, $field)
|
||||
{
|
||||
$fields = parent::tableFields($table);
|
||||
if (in_array($field, $fields)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 获取表单数据
|
||||
public function getFormData($table, $page = true)
|
||||
{
|
||||
return parent::table($table)->page($page)
|
||||
->order('id DESC')
|
||||
->select();
|
||||
}
|
||||
|
||||
// 删除自定义表单数据
|
||||
public function delFormData($table, $id)
|
||||
{
|
||||
return parent::table($table)->where("id=$id")->delete();
|
||||
}
|
||||
|
||||
// 清空自定义表单数据
|
||||
public function clearFormData($table)
|
||||
{
|
||||
return parent::table($table)->delete();
|
||||
}
|
||||
|
||||
// 增加表单数据查看到菜单
|
||||
public function addFormMenu($id)
|
||||
{
|
||||
$form = parent::table('ay_form')->field('fcode,form_name')
|
||||
->where("id=$id")
|
||||
->find();
|
||||
|
||||
$menus = session('menu_tree');
|
||||
|
||||
// 判断是否已经在菜单中
|
||||
if (! ! $menu = parent::table('ay_menu')->like('url', '/Form/index/fcode/' . $form->fcode . '/action/showdata')->find()) {
|
||||
if ($form->form_name != $menu->name) {
|
||||
// 更新缓存菜单
|
||||
parent::table('ay_menu')->where('mcode="' . $menu->mcode . '"')->update('name="' . $form->form_name . '"');
|
||||
foreach ($menus as $key => $value) {
|
||||
if ($value->mcode == 'M157') {
|
||||
if (($skey = result_value_search($menu->mcode, $menus[$key]->son, 'mcode')) !== false) {
|
||||
$menus[$key]->son[$skey]->name = $form->form_name;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// 构建数据
|
||||
$lastmcode = parent::table('ay_menu')->order('mcode DESC')->value('mcode');
|
||||
$mcode = get_auto_code($lastmcode);
|
||||
$data = array(
|
||||
'mcode' => $mcode,
|
||||
'pcode' => 'M157',
|
||||
'name' => $form->form_name,
|
||||
'url' => '/Form/index/fcode/' . $form->fcode . '/action/showdata',
|
||||
'sorting' => 599,
|
||||
'status' => 1,
|
||||
'shortcut' => 0,
|
||||
'ico' => 'fa-plus-square-o',
|
||||
'create_user' => session('username'),
|
||||
'update_user' => session('username')
|
||||
);
|
||||
|
||||
// 加入菜单
|
||||
foreach ($menus as $key => $value) {
|
||||
if ($value->mcode == 'M157') {
|
||||
// 未在缓存菜单中才执行添加
|
||||
if (result_value_search($mcode, $menus[$key]->son, 'mcode') === false) {
|
||||
$menus[$key]->son[] = array_to_object($data);
|
||||
return parent::table('ay_menu')->autoTime()->insert($data); // 插入到数据库
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
70
apps/admin/model/content/LabelModel.php
Normal file
70
apps/admin/model/content/LabelModel.php
Normal file
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2018年03月23日
|
||||
* 自定义标签模型类
|
||||
*/
|
||||
namespace app\admin\model\content;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class LabelModel extends Model
|
||||
{
|
||||
|
||||
// 获取自定义标签列表
|
||||
public function getList()
|
||||
{
|
||||
return parent::table('ay_label')->select();
|
||||
}
|
||||
|
||||
// 检查自定义标签
|
||||
public function checkLabel($where)
|
||||
{
|
||||
return parent::table('ay_label')->field('id')
|
||||
->where($where)
|
||||
->find();
|
||||
}
|
||||
|
||||
// 获取自定义标签详情
|
||||
public function getLabel($id)
|
||||
{
|
||||
return parent::table('ay_label')->where("id=$id")->find();
|
||||
}
|
||||
|
||||
// 添加自定义标签
|
||||
public function addLabel(array $data)
|
||||
{
|
||||
return parent::table('ay_label')->autoTime()->insert($data);
|
||||
}
|
||||
|
||||
// 删除自定义标签
|
||||
public function delLabel($id)
|
||||
{
|
||||
return parent::table('ay_label')->where("id='$id'")->delete();
|
||||
}
|
||||
|
||||
// 修改自定义标签
|
||||
public function modLabel($id, $data)
|
||||
{
|
||||
return parent::table('ay_label')->where("id=$id")
|
||||
->autoTime()
|
||||
->update($data);
|
||||
}
|
||||
|
||||
// 修改自定义标签值
|
||||
public function modValue($name, $value)
|
||||
{
|
||||
return parent::table('ay_label')->where("name='$name'")
|
||||
->autoTime()
|
||||
->update("value='$value'");
|
||||
}
|
||||
|
||||
// 获取配置参数
|
||||
public function getValue()
|
||||
{
|
||||
return parent::table('ay_label')->column('value', 'name');
|
||||
}
|
||||
}
|
||||
|
||||
80
apps/admin/model/content/LinkModel.php
Normal file
80
apps/admin/model/content/LinkModel.php
Normal file
@@ -0,0 +1,80 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2018年3月1日
|
||||
* 友情链接模型类
|
||||
*/
|
||||
namespace app\admin\model\content;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class LinkModel extends Model
|
||||
{
|
||||
|
||||
// 获取友情链接列表
|
||||
public function getList()
|
||||
{
|
||||
return parent::table('ay_link')->where("acode='" . session('acode') . "'")
|
||||
->order('gid asc,sorting asc,id asc')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 查找友情链接
|
||||
public function findLink($field, $keyword)
|
||||
{
|
||||
return parent::table('ay_link')->where("acode='" . session('acode') . "'")
|
||||
->like($field, $keyword)
|
||||
->order('gid asc,sorting asc,id asc')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 获取友情链接详情
|
||||
public function getLink($id)
|
||||
{
|
||||
return parent::table('ay_link')->where("id=$id")
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->find();
|
||||
}
|
||||
|
||||
// 获取分组
|
||||
public function getGid()
|
||||
{
|
||||
return parent::table('ay_link')->distinct()
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->order('gid')
|
||||
->column('gid');
|
||||
}
|
||||
|
||||
// 获取最大分组值
|
||||
public function getMaxGid()
|
||||
{
|
||||
return parent::table('ay_link')->max('gid');
|
||||
}
|
||||
|
||||
// 添加友情链接
|
||||
public function addLink(array $data)
|
||||
{
|
||||
return parent::table('ay_link')->autoTime()->insert($data);
|
||||
}
|
||||
|
||||
// 删除友情链接
|
||||
public function delLink($id)
|
||||
{
|
||||
return parent::table('ay_link')->where("id=$id")
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->delete();
|
||||
}
|
||||
|
||||
// 修改友情链接
|
||||
public function modLink($id, $data)
|
||||
{
|
||||
return parent::table('ay_link')->autoTime()
|
||||
->where("id=$id")
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->update($data);
|
||||
}
|
||||
}
|
||||
99
apps/admin/model/content/MessageModel.php
Normal file
99
apps/admin/model/content/MessageModel.php
Normal file
@@ -0,0 +1,99 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2017年3月29日
|
||||
* 留言模型类
|
||||
*/
|
||||
namespace app\admin\model\content;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class MessageModel extends Model
|
||||
{
|
||||
|
||||
// 获取列表
|
||||
public function getList($page = true)
|
||||
{
|
||||
$field = array(
|
||||
'a.*',
|
||||
'b.username',
|
||||
'b.nickname',
|
||||
'b.headpic'
|
||||
);
|
||||
$join = array(
|
||||
'ay_member b',
|
||||
'a.uid=b.id',
|
||||
'LEFT'
|
||||
);
|
||||
return parent::table('ay_message a')->field($field)
|
||||
->join($join)
|
||||
->where("a.acode='" . session('acode') . "'")
|
||||
->order('a.id DESC')
|
||||
->decode(false)
|
||||
->page($page)
|
||||
->select();
|
||||
}
|
||||
|
||||
// 获取详情
|
||||
public function getMessage($id)
|
||||
{
|
||||
$field = array(
|
||||
'a.*',
|
||||
'b.username',
|
||||
'b.nickname',
|
||||
'b.headpic'
|
||||
);
|
||||
$join = array(
|
||||
'ay_member b',
|
||||
'a.uid=b.id',
|
||||
'LEFT'
|
||||
);
|
||||
return parent::table('ay_message a')->field($field)
|
||||
->join($join)
|
||||
->where("a.id=$id")
|
||||
->where("a.acode='" . session('acode') . "'")
|
||||
->find();
|
||||
}
|
||||
|
||||
// 删除留言
|
||||
public function delMessage($id)
|
||||
{
|
||||
return parent::table('ay_message')->where("id=$id")
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->delete();
|
||||
}
|
||||
|
||||
// 修改留言
|
||||
public function modMessage($id, $data)
|
||||
{
|
||||
return parent::table('ay_message')->autoTime()
|
||||
->where("id=$id")
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->update($data);
|
||||
}
|
||||
|
||||
// 获取表单字段
|
||||
public function getFormFieldByCode($fcode)
|
||||
{
|
||||
return parent::table('ay_form_field')->where("fcode='$fcode'")
|
||||
->order('sorting ASC,id ASC')
|
||||
->select();
|
||||
}
|
||||
|
||||
// 获取留言数量
|
||||
public function getCount()
|
||||
{
|
||||
$rs = parent::table('ay_message')->field('count(*) as count')
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->find();
|
||||
return $rs->count ?: 0;
|
||||
}
|
||||
|
||||
// 删除全部
|
||||
public function clearMessage()
|
||||
{
|
||||
return parent::table('ay_message')->delete();
|
||||
}
|
||||
}
|
||||
140
apps/admin/model/content/ModelModel.php
Normal file
140
apps/admin/model/content/ModelModel.php
Normal file
@@ -0,0 +1,140 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2018年3月25日
|
||||
* 内容模型模型类
|
||||
*/
|
||||
namespace app\admin\model\content;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class ModelModel extends Model
|
||||
{
|
||||
|
||||
// 获取内容模型列表
|
||||
public function getList()
|
||||
{
|
||||
return parent::table('ay_model')->order('id ASC')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 获取模型名称
|
||||
public function getName($mcode)
|
||||
{
|
||||
return parent::table('ay_model')->where("mcode='$mcode'")->value('name');
|
||||
}
|
||||
|
||||
// 获取内容模型选择
|
||||
public function getSelectAll()
|
||||
{
|
||||
return parent::table('ay_model')->field('mcode,name,type,listtpl,contenttpl')
|
||||
->order('id ASC')
|
||||
->select();
|
||||
}
|
||||
|
||||
// 获取内容模型选择
|
||||
public function getModelMenu()
|
||||
{
|
||||
return parent::table('ay_model')->field('mcode,name,type')
|
||||
->where('status=1')
|
||||
->order('id ASC')
|
||||
->select();
|
||||
}
|
||||
|
||||
// 获取模型内容数量
|
||||
public function getModelCount($mcode)
|
||||
{
|
||||
$join = array(
|
||||
array(
|
||||
'ay_content_sort b',
|
||||
'a.scode=b.scode',
|
||||
'LEFT'
|
||||
),
|
||||
array(
|
||||
'ay_model d',
|
||||
'b.mcode=d.mcode',
|
||||
'LEFT'
|
||||
)
|
||||
);
|
||||
return parent::table('ay_content a')->field('count(*) as count')
|
||||
->where("b.mcode='$mcode'")
|
||||
->where("a.acode='" . session('acode') . "'")
|
||||
->join($join)
|
||||
->find();
|
||||
}
|
||||
|
||||
// 获取内容模型选择
|
||||
public function getSelect()
|
||||
{
|
||||
return parent::table('ay_model')->field('mcode,name,type,listtpl,contenttpl')
|
||||
->where('status=1')
|
||||
->order('id ASC')
|
||||
->select();
|
||||
}
|
||||
|
||||
// 查找内容模型
|
||||
public function findModel($field, $keyword)
|
||||
{
|
||||
return parent::table('ay_model')->like($field, $keyword)
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 获取最后一个code
|
||||
public function getLastCode()
|
||||
{
|
||||
return parent::table('ay_model')->order('id DESC')->value('mcode');
|
||||
}
|
||||
|
||||
// 获取内容模型详情
|
||||
public function getModel($id)
|
||||
{
|
||||
return parent::table('ay_model')->where("id=$id")->find();
|
||||
}
|
||||
|
||||
// 添加内容模型
|
||||
public function addModel(array $data)
|
||||
{
|
||||
return parent::table('ay_model')->autoTime()->insert($data);
|
||||
}
|
||||
|
||||
// 删除内容模型
|
||||
public function delModel($id)
|
||||
{
|
||||
$model = parent::table('ay_model')->where('id=' . $id)->find();
|
||||
if (parent::table('ay_content_sort')->where("mcode='$model->mcode'")->find()) {
|
||||
alert_back('模型下面有栏目,不允许直接删除!');
|
||||
}
|
||||
return parent::table('ay_model')->where("id=$id")
|
||||
->where("issystem=0")
|
||||
->delete();
|
||||
}
|
||||
|
||||
// 修改内容模型
|
||||
public function modModel($id, $data)
|
||||
{
|
||||
return parent::table('ay_model')->autoTime()
|
||||
->where("id=$id")
|
||||
->update($data);
|
||||
}
|
||||
|
||||
// 检查URL名字冲突
|
||||
public function checkUrlname($urlname, $type, $where = array())
|
||||
{
|
||||
return parent::table('ay_model')->field('id')
|
||||
->where("urlname='$urlname' AND type<>$type")
|
||||
->where($where)
|
||||
->find();
|
||||
}
|
||||
|
||||
// 检查栏目名字冲突
|
||||
public function checkSortFilename($urlname)
|
||||
{
|
||||
return parent::table('ay_content_sort')->field('id')
|
||||
->where("filename='$urlname'")
|
||||
->find();
|
||||
}
|
||||
}
|
||||
196
apps/admin/model/content/SingleModel.php
Normal file
196
apps/admin/model/content/SingleModel.php
Normal file
@@ -0,0 +1,196 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2017年12月15日
|
||||
* 单页文章模型类
|
||||
*/
|
||||
namespace app\admin\model\content;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class SingleModel extends Model
|
||||
{
|
||||
|
||||
// 获取文章列表
|
||||
public function getList($mcode)
|
||||
{
|
||||
$field = array(
|
||||
'a.id',
|
||||
'a.scode',
|
||||
'b.name as sortname',
|
||||
'a.title',
|
||||
'a.date',
|
||||
'a.status',
|
||||
'a.visits',
|
||||
'b.mcode',
|
||||
'a.ico',
|
||||
'a.pics',
|
||||
'a.outlink',
|
||||
'b.filename',
|
||||
'c.urlname'
|
||||
);
|
||||
$join = array(
|
||||
array(
|
||||
'ay_content_sort b',
|
||||
'a.scode=b.scode',
|
||||
'LEFT'
|
||||
),
|
||||
array(
|
||||
'ay_model c',
|
||||
'b.mcode=c.mcode',
|
||||
'LEFT'
|
||||
)
|
||||
);
|
||||
return parent::table('ay_content a')->distinct()
|
||||
->field($field)
|
||||
->where("b.mcode='$mcode'")
|
||||
->where("a.acode='" . session('acode') . "'")
|
||||
->where('c.type=1')
|
||||
->join($join)
|
||||
->where('a.id IN(SELECT MAX(d.id) FROM ay_content d WHERE d.scode=a.scode)')
|
||||
->order('a.id DESC')
|
||||
->select();
|
||||
}
|
||||
|
||||
// 查找文章
|
||||
public function findSingle($mcode, $field, $keyword)
|
||||
{
|
||||
$fields = array(
|
||||
'a.id',
|
||||
'a.scode',
|
||||
'b.name as sortname',
|
||||
'a.title',
|
||||
'a.date',
|
||||
'a.status',
|
||||
'a.visits',
|
||||
'b.mcode',
|
||||
'a.ico',
|
||||
'a.pics',
|
||||
'a.outlink',
|
||||
'b.filename',
|
||||
'c.urlname'
|
||||
);
|
||||
$join = array(
|
||||
array(
|
||||
'ay_content_sort b',
|
||||
'a.scode=b.scode',
|
||||
'LEFT'
|
||||
),
|
||||
array(
|
||||
'ay_model c',
|
||||
'b.mcode=c.mcode',
|
||||
'LEFT'
|
||||
)
|
||||
);
|
||||
return parent::table('ay_content a')->distinct()
|
||||
->field($fields)
|
||||
->where("b.mcode='$mcode'")
|
||||
->where("a.acode='" . session('acode') . "'")
|
||||
->where('c.type=1')
|
||||
->like($field, $keyword)
|
||||
->join($join)
|
||||
->group('b.name')
|
||||
->order('a.id DESC')
|
||||
->select();
|
||||
}
|
||||
|
||||
// 检查文章
|
||||
public function checkSingle($where)
|
||||
{
|
||||
return parent::table('ay_content')->field('id')
|
||||
->where($where)
|
||||
->find();
|
||||
}
|
||||
|
||||
// 获取文章详情
|
||||
public function getSingle($id)
|
||||
{
|
||||
$field = array(
|
||||
'a.*',
|
||||
'b.name as sortname',
|
||||
'c.*',
|
||||
'b.filename',
|
||||
'd.urlname'
|
||||
);
|
||||
$join = array(
|
||||
array(
|
||||
'ay_content_sort b',
|
||||
'a.scode=b.scode',
|
||||
'LEFT'
|
||||
|
||||
),
|
||||
array(
|
||||
'ay_content_ext c',
|
||||
'a.id=c.contentid',
|
||||
'LEFT'
|
||||
),
|
||||
array(
|
||||
'ay_model d',
|
||||
'b.mcode=d.mcode',
|
||||
'LEFT'
|
||||
)
|
||||
);
|
||||
return parent::table('ay_content a')->field($field)
|
||||
->where("a.id=$id")
|
||||
->where("a.acode='" . session('acode') . "'")
|
||||
->join($join)
|
||||
->find();
|
||||
}
|
||||
|
||||
// 添加文章
|
||||
public function addSingle(array $data)
|
||||
{
|
||||
return parent::table('ay_content')->autoTime()->insert($data);
|
||||
}
|
||||
|
||||
// 删除文章
|
||||
public function delSingle($id)
|
||||
{
|
||||
return parent::table('ay_content')->where("id=$id")
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->delete();
|
||||
}
|
||||
|
||||
// 修改文章
|
||||
public function modSingle($id, $data)
|
||||
{
|
||||
return parent::table('ay_content')->autoTime()
|
||||
->where("id=$id")
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->update($data);
|
||||
}
|
||||
|
||||
// 查找文章扩展内容
|
||||
public function findContentExt($id)
|
||||
{
|
||||
return parent::table('ay_content_ext')->where("contentid=$id")->find();
|
||||
}
|
||||
|
||||
// 添加文章扩展内容
|
||||
public function addContentExt(array $data)
|
||||
{
|
||||
return parent::table('ay_content_ext')->insert($data);
|
||||
}
|
||||
|
||||
// 修改文章扩展内容
|
||||
public function modContentExt($id, $data)
|
||||
{
|
||||
return parent::table('ay_content_ext')->where("contentid=$id")->update($data);
|
||||
}
|
||||
|
||||
// 删除文章扩展内容
|
||||
public function delContentExt($id)
|
||||
{
|
||||
return parent::table('ay_content_ext')->where("contentid=$id")->delete();
|
||||
}
|
||||
|
||||
// 检查自定义URL名称
|
||||
public function checkFilename($where)
|
||||
{
|
||||
return parent::table('ay_content')->field('id')
|
||||
->where($where)
|
||||
->find();
|
||||
}
|
||||
}
|
||||
45
apps/admin/model/content/SiteModel.php
Normal file
45
apps/admin/model/content/SiteModel.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2017年3月24日
|
||||
* 站点配置模型类
|
||||
*/
|
||||
namespace app\admin\model\content;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class SiteModel extends Model
|
||||
{
|
||||
|
||||
// 获取系统配置信息
|
||||
public function getList()
|
||||
{
|
||||
return parent::table('ay_site')->where("acode='" . session('acode') . "'")->find();
|
||||
}
|
||||
|
||||
// 检查系统配置信息
|
||||
public function checkSite()
|
||||
{
|
||||
return parent::table('ay_site')->where("acode='" . session('acode') . "'")->find();
|
||||
}
|
||||
|
||||
// 增加系统配置信息
|
||||
public function addSite($data)
|
||||
{
|
||||
return parent::table('ay_site')->insert($data);
|
||||
}
|
||||
|
||||
// 修改系统配置信息
|
||||
public function modSite($data)
|
||||
{
|
||||
return parent::table('ay_site')->where("acode='" . session('acode') . "'")->update($data);
|
||||
}
|
||||
|
||||
// 系统数据库版本
|
||||
public function getMysql()
|
||||
{
|
||||
return parent::one('SELECT VERSION()', MYSQLI_NUM);
|
||||
}
|
||||
}
|
||||
80
apps/admin/model/content/SlideModel.php
Normal file
80
apps/admin/model/content/SlideModel.php
Normal file
@@ -0,0 +1,80 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2018年3月1日
|
||||
* 轮播图模型类
|
||||
*/
|
||||
namespace app\admin\model\content;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class SlideModel extends Model
|
||||
{
|
||||
|
||||
// 获取轮播图列表
|
||||
public function getList()
|
||||
{
|
||||
return parent::table('ay_slide')->where("acode='" . session('acode') . "'")
|
||||
->order('gid asc,sorting asc,id asc')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 查找轮播图
|
||||
public function findSlide($field, $keyword)
|
||||
{
|
||||
return parent::table('ay_slide')->where("acode='" . session('acode') . "'")
|
||||
->like($field, $keyword)
|
||||
->order('gid asc,sorting asc,id asc')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 获取轮播图详情
|
||||
public function getSlide($id)
|
||||
{
|
||||
return parent::table('ay_slide')->where("id=$id")
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->find();
|
||||
}
|
||||
|
||||
// 获取分组
|
||||
public function getGid()
|
||||
{
|
||||
return parent::table('ay_slide')->distinct()
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->order('gid')
|
||||
->column('gid');
|
||||
}
|
||||
|
||||
// 获取最大分组值
|
||||
public function getMaxGid()
|
||||
{
|
||||
return parent::table('ay_slide')->max('gid');
|
||||
}
|
||||
|
||||
// 添加轮播图
|
||||
public function addSlide(array $data)
|
||||
{
|
||||
return parent::table('ay_slide')->autoTime()->insert($data);
|
||||
}
|
||||
|
||||
// 删除轮播图
|
||||
public function delSlide($id)
|
||||
{
|
||||
return parent::table('ay_slide')->where("id=$id")
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->delete();
|
||||
}
|
||||
|
||||
// 修改轮播图
|
||||
public function modSlide($id, $data)
|
||||
{
|
||||
return parent::table('ay_slide')->autoTime()
|
||||
->where("id=$id")
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->update($data);
|
||||
}
|
||||
}
|
||||
65
apps/admin/model/content/TagsModel.php
Normal file
65
apps/admin/model/content/TagsModel.php
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2019年07月12日
|
||||
* 内链链接模型类
|
||||
*/
|
||||
namespace app\admin\model\content;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class TagsModel extends Model
|
||||
{
|
||||
|
||||
// 获取文章内链列表
|
||||
public function getList()
|
||||
{
|
||||
return parent::table('ay_tags')->where("acode='" . session('acode') . "'")
|
||||
->order('id asc')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 查找文章内链
|
||||
public function findTags($field, $keyword)
|
||||
{
|
||||
return parent::table('ay_tags')->where("acode='" . session('acode') . "'")
|
||||
->like($field, $keyword)
|
||||
->order('id asc')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 获取文章内链详情
|
||||
public function getTags($id)
|
||||
{
|
||||
return parent::table('ay_tags')->where("id=$id")
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->find();
|
||||
}
|
||||
|
||||
// 添加文章内链
|
||||
public function addTags(array $data)
|
||||
{
|
||||
return parent::table('ay_tags')->autoTime()->insert($data);
|
||||
}
|
||||
|
||||
// 删除文章内链
|
||||
public function delTags($id)
|
||||
{
|
||||
return parent::table('ay_tags')->where("id=$id")
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->delete();
|
||||
}
|
||||
|
||||
// 修改文章内链
|
||||
public function modTags($id, $data)
|
||||
{
|
||||
return parent::table('ay_tags')->autoTime()
|
||||
->where("id=$id")
|
||||
->where("acode='" . session('acode') . "'")
|
||||
->update($data);
|
||||
}
|
||||
}
|
||||
136
apps/admin/model/member/MemberCommentModel.php
Normal file
136
apps/admin/model/member/MemberCommentModel.php
Normal file
@@ -0,0 +1,136 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2020年06月27日
|
||||
* 文章评论模型类
|
||||
*/
|
||||
namespace app\admin\model\member;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class MemberCommentModel extends Model
|
||||
{
|
||||
|
||||
// 获取列表
|
||||
public function getList()
|
||||
{
|
||||
$field = array(
|
||||
'a.*',
|
||||
'b.title',
|
||||
'c.username',
|
||||
'c.nickname',
|
||||
'c.headpic'
|
||||
);
|
||||
$join = array(
|
||||
array(
|
||||
'ay_content b',
|
||||
'a.contentid=b.id',
|
||||
'LEFT'
|
||||
),
|
||||
array(
|
||||
'ay_member c',
|
||||
'a.uid=c.id',
|
||||
'LEFT'
|
||||
)
|
||||
);
|
||||
return parent::table('ay_member_comment a')->field($field)
|
||||
->join($join)
|
||||
->order('a.id desc')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 查找
|
||||
public function findComment($field, $keyword)
|
||||
{
|
||||
$fields = array(
|
||||
'a.*',
|
||||
'b.title',
|
||||
'c.username',
|
||||
'c.nickname',
|
||||
'c.headpic'
|
||||
);
|
||||
$join = array(
|
||||
array(
|
||||
'ay_content b',
|
||||
'a.contentid=b.id',
|
||||
'LEFT'
|
||||
),
|
||||
array(
|
||||
'ay_member c',
|
||||
'a.uid=c.id',
|
||||
'LEFT'
|
||||
)
|
||||
);
|
||||
return parent::table('ay_member_comment a')->field($fields)
|
||||
->join($join)
|
||||
->like($field, $keyword)
|
||||
->order('a.id desc')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 获取详情
|
||||
public function getComment($id)
|
||||
{
|
||||
$field = array(
|
||||
'a.*',
|
||||
'b.title',
|
||||
'c.username',
|
||||
'c.nickname',
|
||||
'c.headpic',
|
||||
'd.username as pusername',
|
||||
'd.nickname as pnickname'
|
||||
);
|
||||
$join = array(
|
||||
array(
|
||||
'ay_content b',
|
||||
'a.contentid=b.id',
|
||||
'LEFT'
|
||||
),
|
||||
array(
|
||||
'ay_member c',
|
||||
'a.uid=c.id',
|
||||
'LEFT'
|
||||
),
|
||||
array(
|
||||
'ay_member d',
|
||||
'a.puid=d.id',
|
||||
'LEFT'
|
||||
)
|
||||
);
|
||||
|
||||
return parent::table('ay_member_comment a')->field($field)
|
||||
->join($join)
|
||||
->where("a.id=$id")
|
||||
->find();
|
||||
}
|
||||
|
||||
// 删除
|
||||
public function delComment($id)
|
||||
{
|
||||
return parent::table('ay_member_comment')->where("id=$id")->delete();
|
||||
}
|
||||
|
||||
// 删除多个
|
||||
public function delCommentList($ids)
|
||||
{
|
||||
return parent::table('ay_member_comment')->delete($ids);
|
||||
}
|
||||
|
||||
// 修改
|
||||
public function modComment($id, $data)
|
||||
{
|
||||
return parent::table('ay_member_comment')->where("id=$id")
|
||||
->autoTime()
|
||||
->update($data);
|
||||
}
|
||||
|
||||
// 修改多个
|
||||
public function modCommentList($ids, $data)
|
||||
{
|
||||
return parent::table('ay_member_comment')->in('id', $ids)->update($data);
|
||||
}
|
||||
}
|
||||
79
apps/admin/model/member/MemberFieldModel.php
Normal file
79
apps/admin/model/member/MemberFieldModel.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2020年06月25日
|
||||
* 会员字段模型类
|
||||
*/
|
||||
namespace app\admin\model\member;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class MemberFieldModel extends Model
|
||||
{
|
||||
|
||||
// 获取会员字段列表
|
||||
public function getList()
|
||||
{
|
||||
return parent::table('ay_member_field')->order('sorting asc,id asc')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 查找会员字段
|
||||
public function findField($field, $keyword)
|
||||
{
|
||||
return parent::table('ay_member_field')->like($field, $keyword)
|
||||
->order('sorting asc,id asc')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 检查会员字段
|
||||
public function checkField($name)
|
||||
{
|
||||
return parent::table('ay_member_field')->where("name='$name'")->find();
|
||||
}
|
||||
|
||||
// 获取会员字段详情
|
||||
public function getField($id)
|
||||
{
|
||||
return parent::table('ay_member_field')->where("id=$id")->find();
|
||||
}
|
||||
|
||||
// 获取会员字段名称
|
||||
public function getFieldName($id)
|
||||
{
|
||||
return parent::table('ay_member_field')->where("id=$id")->value('name');
|
||||
}
|
||||
|
||||
// 添加会员字段
|
||||
public function addField(array $data)
|
||||
{
|
||||
return parent::table('ay_member_field')->autoTime()->insert($data);
|
||||
}
|
||||
|
||||
// 删除会员字段
|
||||
public function delField($id)
|
||||
{
|
||||
return parent::table('ay_member_field')->where("id=$id")->delete();
|
||||
}
|
||||
|
||||
// 修改会员字段
|
||||
public function modField($id, $data)
|
||||
{
|
||||
return parent::table('ay_member_field')->where("id=$id")->update($data);
|
||||
}
|
||||
|
||||
// 判断字段是否存在
|
||||
public function isExistField($field)
|
||||
{
|
||||
$fields = parent::tableFields('ay_member');
|
||||
if (in_array($field, $fields)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
98
apps/admin/model/member/MemberGroupModel.php
Normal file
98
apps/admin/model/member/MemberGroupModel.php
Normal file
@@ -0,0 +1,98 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2020年06月25日
|
||||
* 会员等级模型类
|
||||
*/
|
||||
namespace app\admin\model\member;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class MemberGroupModel extends Model
|
||||
{
|
||||
|
||||
// 获取会员等级列表
|
||||
public function getList()
|
||||
{
|
||||
return parent::table('ay_member_group')->order('gcode,id')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 查找会员等级
|
||||
public function findGroup($field, $keyword)
|
||||
{
|
||||
return parent::table('ay_member_group')->like($field, $keyword)
|
||||
->order('gcode,id')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 获取最后一个code
|
||||
public function getLastGid()
|
||||
{
|
||||
return parent::table('ay_member_group')->order('id DESC')->value('gcode');
|
||||
}
|
||||
|
||||
// 获取等级选择列表
|
||||
public function getSelect()
|
||||
{
|
||||
return parent::table('ay_member_group')->field('id,gcode,gname')
|
||||
->order('gcode,id')
|
||||
->select();
|
||||
}
|
||||
|
||||
// 获取会员等级详情
|
||||
public function getGroup($id)
|
||||
{
|
||||
return parent::table('ay_member_group')->where("id=$id")->find();
|
||||
}
|
||||
|
||||
// 获取会员等级名称
|
||||
public function getGroupName($id)
|
||||
{
|
||||
return parent::table('ay_member_group')->where("id=$id")->value('gname');
|
||||
}
|
||||
|
||||
// 添加会员等级
|
||||
public function addGroup(array $data)
|
||||
{
|
||||
return parent::table('ay_member_group')->autoTime()->insert($data);
|
||||
}
|
||||
|
||||
// 删除会员等级
|
||||
public function delGroup($id)
|
||||
{
|
||||
return parent::table('ay_member_group')->where("id=$id")->delete();
|
||||
}
|
||||
|
||||
// 修改会员等级
|
||||
public function modGroup($id, $data)
|
||||
{
|
||||
return parent::table('ay_member_group')->where("id=$id")->update($data);
|
||||
}
|
||||
|
||||
// 查找等级下会员是否存在
|
||||
public function findGroupUser($id)
|
||||
{
|
||||
return parent::table('ay_member')->field('id')
|
||||
->where("gid=$id")
|
||||
->find();
|
||||
}
|
||||
|
||||
// 查找等级编号
|
||||
public function findGroupCode($gcode, $id = null)
|
||||
{
|
||||
if ($id) {
|
||||
return parent::table('ay_member_group')->field('id')
|
||||
->where("gcode='$gcode' and id<>$id")
|
||||
->find();
|
||||
} else {
|
||||
return parent::table('ay_member_group')->field('id')
|
||||
->where("gcode='$gcode'")
|
||||
->find();
|
||||
}
|
||||
}
|
||||
}
|
||||
122
apps/admin/model/member/MemberModel.php
Normal file
122
apps/admin/model/member/MemberModel.php
Normal file
@@ -0,0 +1,122 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2019年10月05日
|
||||
* 会员模型类
|
||||
*/
|
||||
namespace app\admin\model\member;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class MemberModel extends Model
|
||||
{
|
||||
|
||||
// 获取会员列表
|
||||
public function getList()
|
||||
{
|
||||
$field = array(
|
||||
'a.*',
|
||||
'b.gname'
|
||||
);
|
||||
$join = array(
|
||||
'ay_member_group b',
|
||||
'a.gid=b.id',
|
||||
'LEFT'
|
||||
);
|
||||
return parent::table('ay_member a')->field($field)
|
||||
->join($join)
|
||||
->order('a.id desc')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 查找会员
|
||||
public function findMember($field, $keyword)
|
||||
{
|
||||
$fields = array(
|
||||
'a.*',
|
||||
'b.gname'
|
||||
);
|
||||
$join = array(
|
||||
'ay_member_group b',
|
||||
'a.gid=b.id',
|
||||
'LEFT'
|
||||
);
|
||||
return parent::table('ay_member a')->field($fields)
|
||||
->join($join)
|
||||
->like($field, $keyword)
|
||||
->order('a.id desc')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 检查会员
|
||||
public function checkMember($where)
|
||||
{
|
||||
return parent::table('ay_member')->where($where)->find();
|
||||
}
|
||||
|
||||
// 获取最后一个code
|
||||
public function getLastCode()
|
||||
{
|
||||
return parent::table('ay_member')->order('id DESC')->value('ucode');
|
||||
}
|
||||
|
||||
// 获取会员详情
|
||||
public function getMember($id)
|
||||
{
|
||||
$field = array(
|
||||
'a.*',
|
||||
'b.gname'
|
||||
);
|
||||
$join = array(
|
||||
'ay_member_group b',
|
||||
'a.gid=b.id',
|
||||
'LEFT'
|
||||
);
|
||||
return parent::table('ay_member a')->field($field)
|
||||
->join($join)
|
||||
->where("a.id=$id")
|
||||
->find();
|
||||
}
|
||||
|
||||
// 添加会员
|
||||
public function addMember(array $data)
|
||||
{
|
||||
return parent::table('ay_member')->insert($data);
|
||||
}
|
||||
|
||||
// 删除会员
|
||||
public function delMember($id)
|
||||
{
|
||||
return parent::table('ay_member')->where("id=$id")->delete();
|
||||
}
|
||||
|
||||
// 删除会员
|
||||
public function delMemberList($ids)
|
||||
{
|
||||
return parent::table('ay_member')->delete($ids);
|
||||
}
|
||||
|
||||
// 修改会员
|
||||
public function modMember($id, $data)
|
||||
{
|
||||
return parent::table('ay_member')->where("id=$id")->update($data);
|
||||
}
|
||||
|
||||
// 修改会员
|
||||
public function modMemberList($ids, $data)
|
||||
{
|
||||
return parent::table('ay_member')->in('id', $ids)->update($data);
|
||||
}
|
||||
|
||||
// 会员字段
|
||||
public function getFields()
|
||||
{
|
||||
return parent::table('ay_member_field')->where('status=1')
|
||||
->order('sorting')
|
||||
->select();
|
||||
}
|
||||
}
|
||||
101
apps/admin/model/system/AreaModel.php
Normal file
101
apps/admin/model/system/AreaModel.php
Normal file
@@ -0,0 +1,101 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2017年04月07日
|
||||
* 区域模型类
|
||||
*/
|
||||
namespace app\admin\model\system;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class AreaModel extends Model
|
||||
{
|
||||
|
||||
// 获取区域列表
|
||||
public function getList()
|
||||
{
|
||||
$result = parent::table('ay_area')->order('pcode,acode')
|
||||
->page()
|
||||
->select();
|
||||
$tree = get_tree($result, 0, 'acode', 'pcode');
|
||||
return $tree;
|
||||
}
|
||||
|
||||
// 获取区域选择列表
|
||||
public function getSelect()
|
||||
{
|
||||
$result = parent::table('ay_area')->field('pcode,acode,name')
|
||||
->order('pcode,acode')
|
||||
->select();
|
||||
$tree = get_tree($result, 0, 'acode', 'pcode');
|
||||
return $tree;
|
||||
}
|
||||
|
||||
// 检查区域
|
||||
public function checkArea($where)
|
||||
{
|
||||
return parent::table('ay_area')->field('id')
|
||||
->where($where)
|
||||
->find();
|
||||
}
|
||||
|
||||
// 获取区域详情
|
||||
public function getArea($acode)
|
||||
{
|
||||
return parent::table('ay_area')->where("acode='$acode'")->find();
|
||||
}
|
||||
|
||||
// 获取最后一个code
|
||||
public function getLastCode()
|
||||
{
|
||||
return parent::table('ay_area')->order('id DESC')->value('acode');
|
||||
}
|
||||
|
||||
// 添加区域
|
||||
public function addArea(array $data)
|
||||
{
|
||||
if ($data['is_default']) {
|
||||
$this->unsetDefault($data['acode']);
|
||||
}
|
||||
return parent::table('ay_area')->autoTime()->insert($data);
|
||||
}
|
||||
|
||||
// 删除区域
|
||||
public function delArea($acode)
|
||||
{
|
||||
return parent::table('ay_area')->where("acode='$acode' OR pcode='$acode'")
|
||||
->where('is_default=0')
|
||||
->delete();
|
||||
}
|
||||
|
||||
// 修改区域资料
|
||||
public function modArea($acode, $data)
|
||||
{
|
||||
$result = parent::table('ay_area')->autoTime()
|
||||
->where("acode='$acode'")
|
||||
->update($data);
|
||||
if ($data['is_default']) {
|
||||
$this->unsetDefault($data['acode']);
|
||||
}
|
||||
if ($result && array_key_exists('acode', $data) && $acode != $data['acode']) {
|
||||
$this->modSubArea($acode, $data['acode']);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 当父编号改变时,修改子栏目的父编码
|
||||
private function modSubArea($pcode, $pcodeNew)
|
||||
{
|
||||
return parent::table('ay_area')->where("pcode='$pcode'")
|
||||
->autoTime()
|
||||
->update("pcode='$pcodeNew'");
|
||||
}
|
||||
|
||||
// 去除$acode以外的默认区域
|
||||
private function unsetDefault($acode)
|
||||
{
|
||||
parent::table('ay_area')->where("acode<>'$acode'")->update('is_default=0');
|
||||
}
|
||||
}
|
||||
66
apps/admin/model/system/ConfigModel.php
Normal file
66
apps/admin/model/system/ConfigModel.php
Normal file
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2018年01月03日
|
||||
* 应用配置模型类
|
||||
*/
|
||||
namespace app\admin\model\system;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class ConfigModel extends Model
|
||||
{
|
||||
|
||||
// 获取应用配置列表
|
||||
public function getList()
|
||||
{
|
||||
return parent::table('ay_config')->order('sorting,id')->column('name,value,type,description', 'name');
|
||||
}
|
||||
|
||||
// 检查应用配置
|
||||
public function checkConfig($where)
|
||||
{
|
||||
return parent::table('ay_config')->field('id')
|
||||
->where($where)
|
||||
->find();
|
||||
}
|
||||
|
||||
// 添加应用配置字段
|
||||
public function addConfig(array $data)
|
||||
{
|
||||
return parent::table('ay_config')->insert($data);
|
||||
}
|
||||
|
||||
// 修改应用配置值
|
||||
public function modValue($name, $value)
|
||||
{
|
||||
return parent::table('ay_config')->where("name='$name'")->update("value='$value'");
|
||||
}
|
||||
|
||||
// 获取区域及主题
|
||||
public function getAreaTheme()
|
||||
{
|
||||
$field = array(
|
||||
'a.*',
|
||||
'b.theme'
|
||||
);
|
||||
$join = array(
|
||||
'ay_site b',
|
||||
'a.acode=b.acode',
|
||||
'LEFT'
|
||||
);
|
||||
return parent::table('ay_area a')->field($field)
|
||||
->join($join)
|
||||
->order('is_default DESC')
|
||||
->select(1);
|
||||
}
|
||||
|
||||
// 获取配置参数
|
||||
public function getConfig()
|
||||
{
|
||||
return parent::table('ay_config')->column('value', 'name');
|
||||
}
|
||||
}
|
||||
|
||||
102
apps/admin/model/system/DatabaseModel.php
Normal file
102
apps/admin/model/system/DatabaseModel.php
Normal file
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2017年11月19日
|
||||
* 数据库管理模型类,只兼容MySQL数据库
|
||||
*/
|
||||
namespace app\admin\model\system;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class DatabaseModel extends Model
|
||||
{
|
||||
|
||||
// 数据库表状态列表
|
||||
public function getList()
|
||||
{
|
||||
return parent::all('SHOW TABLE STATUS');
|
||||
}
|
||||
|
||||
// 获取全部表
|
||||
public function getTables()
|
||||
{
|
||||
$result = parent::all('SHOW TABLES', 2);
|
||||
foreach ($result as $value) {
|
||||
$tables[] = $value[0];
|
||||
}
|
||||
return $tables;
|
||||
}
|
||||
|
||||
// 获取表字段数量
|
||||
public function getFieldNum($table)
|
||||
{
|
||||
return parent::fields($table);
|
||||
}
|
||||
|
||||
// 获取表字段名
|
||||
public function getFields($table)
|
||||
{
|
||||
$one_data = parent::one("SELECT * FROM " . $table); // 读取数据
|
||||
$fields = array();
|
||||
if ($one_data) {
|
||||
foreach ($one_data as $key => $value) {
|
||||
$fields[] = "`$key`";
|
||||
}
|
||||
}
|
||||
return $fields;
|
||||
}
|
||||
|
||||
// 获取一条数据
|
||||
public function getOne($table)
|
||||
{
|
||||
return parent::one("SELECT * FROM " . $table);
|
||||
}
|
||||
|
||||
// 获取全部数据
|
||||
public function getAll($table)
|
||||
{
|
||||
return parent::all("SELECT * FROM " . $table, MYSQLI_NUM);
|
||||
}
|
||||
|
||||
// 数据库表结构
|
||||
public function tableStru($table)
|
||||
{
|
||||
$sql = "DROP TABLE IF EXISTS `" . $table . '`;' . PHP_EOL;
|
||||
$result = parent::one('SHOW CREATE TABLE `' . $table . '`', MYSQLI_ASSOC);
|
||||
return $sql . $result['Create Table'] . ';' . PHP_EOL . PHP_EOL;
|
||||
}
|
||||
|
||||
// 数据库表优化
|
||||
public function optimize($tables)
|
||||
{
|
||||
return parent::query("OPTIMIZE TABLE $tables");
|
||||
}
|
||||
|
||||
// 数据库表修复
|
||||
public function repair($tables)
|
||||
{
|
||||
return parent::query("REPAIR TABLE $tables");
|
||||
}
|
||||
|
||||
// 锁定数据库表
|
||||
public function lock($tablename, $op = "WRITE")
|
||||
{
|
||||
if (parent::query("lock tables " . $tablename . " " . $op)) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 解锁数据库标
|
||||
public function unlock()
|
||||
{
|
||||
if (parent::query("unlock tables")) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
161
apps/admin/model/system/MenuModel.php
Normal file
161
apps/admin/model/system/MenuModel.php
Normal file
@@ -0,0 +1,161 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2017年4月3日
|
||||
* 菜单管理模型类
|
||||
*/
|
||||
namespace app\admin\model\system;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class MenuModel extends Model
|
||||
{
|
||||
|
||||
// 获取菜单列表
|
||||
public function getList()
|
||||
{
|
||||
$result = parent::table('ay_menu')->order('pcode,sorting,id')->select();
|
||||
$tree = get_tree($result, 0, 'mcode', 'pcode');
|
||||
return $tree;
|
||||
}
|
||||
|
||||
// 获取菜单选择列表
|
||||
public function getSelect()
|
||||
{
|
||||
$result = parent::table('ay_menu')->field('id,pcode,mcode,name,url,sorting')
|
||||
->order('pcode,sorting,id')
|
||||
->select();
|
||||
$tree = get_tree($result, 0, 'mcode', 'pcode');
|
||||
return $tree;
|
||||
}
|
||||
|
||||
// 获取菜单详情
|
||||
public function getMenu($mcode)
|
||||
{
|
||||
$result = parent::table('ay_menu')->where("mcode='$mcode'")->find();
|
||||
if ($result)
|
||||
$result->actions = $this->getMenuAction($result->mcode);
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 检查是否存在
|
||||
public function checkMenu($data)
|
||||
{
|
||||
return parent::table('ay_menu')->where($data)->find();
|
||||
}
|
||||
|
||||
// 获取最后一个code
|
||||
public function getLastCode()
|
||||
{
|
||||
return parent::table('ay_menu')->order('mcode DESC')->value('mcode');
|
||||
}
|
||||
|
||||
// 新增菜单,$actions为菜单功能按钮数组
|
||||
public function addMenu(array $data, array $actions = array())
|
||||
{
|
||||
$result = parent::table('ay_menu')->autoTime()->insert($data);
|
||||
if ($result && $actions) {
|
||||
$this->delMenuAction($data['mcode']);
|
||||
$this->addMenuAction($data['mcode'], $actions);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 删除菜单
|
||||
public function delMenu($mcode)
|
||||
{
|
||||
$result = parent::table('ay_menu')->where("mcode='$mcode' OR pcode='$mcode'")->delete();
|
||||
if ($result) {
|
||||
$this->delMenuAction($mcode);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 修改菜单
|
||||
public function modMenu($mcode, $data, array $actions = null)
|
||||
{
|
||||
$result = parent::table('ay_menu')->where("mcode='$mcode'")
|
||||
->autoTime()
|
||||
->update($data);
|
||||
if ($result) {
|
||||
if (array_key_exists('mcode', $data) && $mcode != $data['mcode']) {
|
||||
$this->modSubMenu($mcode, $data['mcode']);
|
||||
}
|
||||
if (is_array($actions)) {
|
||||
$this->delMenuAction($mcode);
|
||||
}
|
||||
if ($actions) {
|
||||
if (array_key_exists('mcode', $data)) {
|
||||
$mcode = $data['mcode'];
|
||||
}
|
||||
$this->addMenuAction($mcode, $actions);
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 修改子菜单的父菜单
|
||||
private function modSubMenu($mcode, $mcodeNew)
|
||||
{
|
||||
return parent::table('ay_menu')->where("pcode='$mcode'")->update("mcode='$mcodeNew'");
|
||||
}
|
||||
|
||||
// 获取指定菜单的功能数据
|
||||
private function getMenuAction($mcode)
|
||||
{
|
||||
return parent::table('ay_menu_action')->where("mcode='$mcode'")->column('action');
|
||||
}
|
||||
|
||||
// 插入指定菜单功能关联数据
|
||||
private function addMenuAction($mcode, array $actions)
|
||||
{
|
||||
return parent::table('ay_menu_action')->field('mcode,action')
|
||||
->relation($mcode, $actions)
|
||||
->insert();
|
||||
}
|
||||
|
||||
// 删除指定菜单功能关联数据
|
||||
private function delMenuAction($mcode)
|
||||
{
|
||||
return parent::table('ay_menu_action')->where("mcode='$mcode'")->delete();
|
||||
}
|
||||
|
||||
// 获取菜单权限功能表
|
||||
public function getMenuLevel()
|
||||
{
|
||||
$table = array(
|
||||
'ay_menu',
|
||||
'ay_menu_action',
|
||||
'ay_type'
|
||||
);
|
||||
$field = array(
|
||||
'ay_menu.mcode',
|
||||
'ay_menu.name',
|
||||
'ay_menu.url',
|
||||
'ay_type.item',
|
||||
'ay_type.value'
|
||||
);
|
||||
$where = array(
|
||||
"ay_type.tcode='T101'",
|
||||
"ay_menu.mcode=ay_menu_action.mcode",
|
||||
"ay_type.value=ay_menu_action.action"
|
||||
);
|
||||
$order = array(
|
||||
'ay_menu.mcode',
|
||||
'ay_type.tcode',
|
||||
'ay_type.sorting'
|
||||
);
|
||||
$result = parent::table($table)->field($field)
|
||||
->where($where)
|
||||
->order($order)
|
||||
->select();
|
||||
$data = array();
|
||||
foreach ($result as $key => $value) {
|
||||
$data[$value->mcode][] = $value;
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
|
||||
169
apps/admin/model/system/RoleModel.php
Normal file
169
apps/admin/model/system/RoleModel.php
Normal file
@@ -0,0 +1,169 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2017年04月07日
|
||||
* 角色管理模型类
|
||||
*/
|
||||
namespace app\admin\model\system;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class RoleModel extends Model
|
||||
{
|
||||
|
||||
// 获取角色列表
|
||||
public function getList()
|
||||
{
|
||||
return parent::table('ay_role')->order('rcode,id DESC')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 获取角色选择列表
|
||||
public function getSelect()
|
||||
{
|
||||
return parent::table('ay_role')->field('rcode,name')
|
||||
->order('rcode,id')
|
||||
->select();
|
||||
}
|
||||
|
||||
// 检查角色
|
||||
public function checkRole($where)
|
||||
{
|
||||
return parent::table('ay_role')->field('id')
|
||||
->where($where)
|
||||
->find();
|
||||
}
|
||||
|
||||
// 获取角色详情
|
||||
public function getRole($rcode)
|
||||
{
|
||||
$result = parent::table('ay_role')->where("rcode='$rcode'")->find();
|
||||
if ($result) {
|
||||
$result->acodes = $this->getRoleArea($rcode);
|
||||
$result->levels = $this->getRoleLevel($rcode);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 获取最后一个code
|
||||
public function getLastCode()
|
||||
{
|
||||
return parent::table('ay_role')->order('id DESC')->value('rcode');
|
||||
}
|
||||
|
||||
// 添加角色
|
||||
public function addRole(array $data, array $acodes, array $levels)
|
||||
{
|
||||
$result = parent::table('ay_role')->autoTime()->insert($data);
|
||||
if ($result) {
|
||||
if ($acodes) {
|
||||
$this->delRoleArea($data['rcode']);
|
||||
$this->addRoleArea($data['rcode'], $acodes);
|
||||
}
|
||||
if ($levels) {
|
||||
$this->delRoleLevel($data['rcode']);
|
||||
$this->addRoleLevel($data['rcode'], $levels);
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 删除角色
|
||||
public function delRole($rcode)
|
||||
{
|
||||
$result = parent::table('ay_role')->where("rcode='$rcode'")->delete();
|
||||
if ($result) {
|
||||
$this->delRoleArea($rcode);
|
||||
$this->delRoleLevel($rcode);
|
||||
$this->delUserRole($rcode);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 修改角色资料
|
||||
public function modRole($rcode, $data, array $acodes = null, array $levels = null)
|
||||
{
|
||||
$result = parent::table('ay_role')->where("rcode='$rcode'")
|
||||
->autoTime()
|
||||
->update($data);
|
||||
if ($result) {
|
||||
if (is_array($acodes)) {
|
||||
$this->delRoleArea($rcode);
|
||||
}
|
||||
|
||||
if (is_array($levels)) {
|
||||
$this->delRoleLevel($rcode);
|
||||
}
|
||||
|
||||
if (array_key_exists('rcode', $data)) {
|
||||
if ($rcode != $data['rcode']) {
|
||||
$this->modUserRole($rcode, "rcode='" . $data['rcode'] . "'");
|
||||
$rcode = $data['rcode'];
|
||||
}
|
||||
}
|
||||
if ($acodes) {
|
||||
$this->addRoleArea($rcode, $acodes);
|
||||
}
|
||||
if ($levels) {
|
||||
$this->addRoleLevel($rcode, $levels);
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 获取角色的区域数据
|
||||
private function getRoleArea($rcode)
|
||||
{
|
||||
return parent::table('ay_role_area')->where("rcode='$rcode'")->column('acode');
|
||||
}
|
||||
|
||||
// 插入角色区域关联数据
|
||||
private function addRoleArea($rcode, array $acodes)
|
||||
{
|
||||
return parent::table('ay_role_area')->field('rcode,acode')
|
||||
->relation($rcode, $acodes)
|
||||
->insert();
|
||||
}
|
||||
|
||||
// 删除角色区域关联数据
|
||||
private function delRoleArea($rcode)
|
||||
{
|
||||
return parent::table('ay_role_area')->where("rcode='$rcode'")->delete();
|
||||
}
|
||||
|
||||
// 获取角色的权限数据
|
||||
private function getRoleLevel($rcode)
|
||||
{
|
||||
return parent::table('ay_role_level')->where("rcode='$rcode'")->column('level');
|
||||
}
|
||||
|
||||
// 插入角色权限关联数据
|
||||
private function addRoleLevel($rcode, array $levels)
|
||||
{
|
||||
return parent::table('ay_role_level')->field('rcode,level')
|
||||
->relation($rcode, $levels)
|
||||
->insert();
|
||||
}
|
||||
|
||||
// 删除角色权限关联数据
|
||||
private function delRoleLevel($rcode)
|
||||
{
|
||||
return parent::table('ay_role_level')->where("rcode='$rcode'")->delete();
|
||||
}
|
||||
|
||||
// 删除角色用户关联数据
|
||||
private function delUserRole($rcode)
|
||||
{
|
||||
return parent::table('ay_user_role')->where("rcode='$rcode'")->delete();
|
||||
}
|
||||
|
||||
// 修改角色用户关联数据
|
||||
private function modUserRole($rcode, $data)
|
||||
{
|
||||
return parent::table('ay_user_role')->where("rcode='$rcode'")->update($data);
|
||||
}
|
||||
}
|
||||
|
||||
29
apps/admin/model/system/SyslogModel.php
Normal file
29
apps/admin/model/system/SyslogModel.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2017年3月29日
|
||||
* 日志模型类
|
||||
*/
|
||||
namespace app\admin\model\system;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class SyslogModel extends Model
|
||||
{
|
||||
|
||||
// 获取日志列表
|
||||
public function getList()
|
||||
{
|
||||
return parent::table('ay_syslog')->order('id DESC')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 删除全部
|
||||
public function clearLog()
|
||||
{
|
||||
return parent::table('ay_syslog')->delete();
|
||||
}
|
||||
}
|
||||
89
apps/admin/model/system/TypeModel.php
Normal file
89
apps/admin/model/system/TypeModel.php
Normal file
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2017年04月07日
|
||||
* 类型模型类
|
||||
*/
|
||||
namespace app\admin\model\system;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class TypeModel extends Model
|
||||
{
|
||||
|
||||
// 获取类型列表
|
||||
public function getList()
|
||||
{
|
||||
return parent::table('ay_type')->order('tcode DESC,sorting')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 查找类型
|
||||
public function findType($field, $keyword)
|
||||
{
|
||||
return parent::table('ay_type')->like($field, $keyword)
|
||||
->order('tcode DESC,sorting')
|
||||
->page()
|
||||
->select();
|
||||
}
|
||||
|
||||
// 获取类型编码选择
|
||||
public function getSelect()
|
||||
{
|
||||
return parent::table('ay_type')->distinct()
|
||||
->field('tcode,name')
|
||||
->order('tcode')
|
||||
->select();
|
||||
}
|
||||
|
||||
// 检查类型
|
||||
public function checkType($where)
|
||||
{
|
||||
return parent::table('ay_type')->field('id')
|
||||
->where($where)
|
||||
->find();
|
||||
}
|
||||
|
||||
// 获取类型详情
|
||||
public function getType($id)
|
||||
{
|
||||
return parent::table('ay_type')->where("id=$id")->find();
|
||||
}
|
||||
|
||||
// 获取指定分类项
|
||||
public function getItem($tcode)
|
||||
{
|
||||
return parent::table('ay_type')->field('item,value')
|
||||
->where("tcode='$tcode'")
|
||||
->select();
|
||||
}
|
||||
|
||||
// 获取最后一个code
|
||||
public function getLastCode()
|
||||
{
|
||||
return parent::table('ay_type')->order('id DESC')->value('tcode');
|
||||
}
|
||||
|
||||
// 添加类型
|
||||
public function addType(array $data)
|
||||
{
|
||||
return parent::table('ay_type')->autoTime()->insert($data);
|
||||
}
|
||||
|
||||
// 删除类型
|
||||
public function delType($id)
|
||||
{
|
||||
return parent::table('ay_type')->where("id=$id")->delete();
|
||||
}
|
||||
|
||||
// 修改类型资料
|
||||
public function modType($id, $data)
|
||||
{
|
||||
return parent::table('ay_type')->where("id=$id")
|
||||
->autoTime()
|
||||
->update($data);
|
||||
}
|
||||
}
|
||||
166
apps/admin/model/system/UserModel.php
Normal file
166
apps/admin/model/system/UserModel.php
Normal file
@@ -0,0 +1,166 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright (C)2016-2099 Hnaoyun Inc.
|
||||
* @author XingMeng
|
||||
* @email hnxsh@foxmail.com
|
||||
* @date 2017年04月07日
|
||||
* 用户模型类
|
||||
*/
|
||||
namespace app\admin\model\system;
|
||||
|
||||
use core\basic\Model;
|
||||
|
||||
class UserModel extends Model
|
||||
{
|
||||
|
||||
// 获取用户列表
|
||||
public function getList()
|
||||
{
|
||||
$result = parent::table('ay_user')->page()
|
||||
->order('id DESC')
|
||||
->select();
|
||||
// 获取每用户的第一角色
|
||||
foreach ($result as $key => $value) {
|
||||
if ($value->ucode == '10001') {
|
||||
$value->rolename = '创始人';
|
||||
continue;
|
||||
}
|
||||
$roles = $this->getUserRole($value->ucode);
|
||||
if ($roles) {
|
||||
$value->rolename = $roles[0]->name;
|
||||
} else {
|
||||
$value->rolename = '';
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 查找用户资料
|
||||
public function findUser($field, $keyword)
|
||||
{
|
||||
$result = parent::table('ay_user')->like($field, $keyword)
|
||||
->order('id DESC')
|
||||
->page()
|
||||
->select();
|
||||
// 获取每用户的第一角色
|
||||
foreach ($result as $key => $value) {
|
||||
if ($value->ucode == '10001') {
|
||||
$value->rolename = '创始人';
|
||||
continue;
|
||||
}
|
||||
$roles = $this->getUserRole($value->ucode);
|
||||
if ($roles) {
|
||||
$value->rolename = $roles[0]->name;
|
||||
} else {
|
||||
$value->rolename = '';
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 获取用户列表
|
||||
public function getSelect()
|
||||
{
|
||||
return parent::table('ay_user')->field('ucode,username,realname')
|
||||
->order('id DESC')
|
||||
->select();
|
||||
}
|
||||
|
||||
// 检查用户
|
||||
public function checkUser($where)
|
||||
{
|
||||
return parent::table('ay_user')->field('id')
|
||||
->where($where)
|
||||
->find();
|
||||
}
|
||||
|
||||
// 获取用户详情
|
||||
public function getUser($ucode)
|
||||
{
|
||||
$result = parent::table('ay_user')->where("ucode='$ucode'")->find();
|
||||
// 用户角色信息
|
||||
if ($result) {
|
||||
$roles = $this->getUserRole($ucode);
|
||||
$result->roles = $roles;
|
||||
$result->rcodes = get_mapping($roles, 'rcode');
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 获取最后一个code
|
||||
public function getLastCode()
|
||||
{
|
||||
return parent::table('ay_user')->order('id DESC')->value('ucode');
|
||||
}
|
||||
|
||||
// 添加用户
|
||||
public function addUser(array $data, array $roles)
|
||||
{
|
||||
$result = parent::table('ay_user')->insert($data);
|
||||
if ($result && $roles) {
|
||||
$this->addUserRole($data['ucode'], $roles);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 删除用户
|
||||
public function delUser($ucode)
|
||||
{
|
||||
$result = parent::table('ay_user')->where("ucode='$ucode' AND ucode<>10001")->delete();
|
||||
if ($result) {
|
||||
$this->delUserRole($ucode);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 修改用户资料
|
||||
public function modUser($ucode, $data, array $roles = null)
|
||||
{
|
||||
$result = parent::table('ay_user')->where("ucode='$ucode'")->update($data);
|
||||
if (is_array($roles)) {
|
||||
$result = $this->delUserRole($ucode);
|
||||
if ($roles) {
|
||||
if (array_key_exists('ucode', $data)) {
|
||||
$ucode = $data['ucode'];
|
||||
}
|
||||
if ($ucode != '10001')
|
||||
$result = $this->addUserRole($ucode, $roles);
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
// 获取指定用户角色表
|
||||
private function getUserRole($ucode)
|
||||
{
|
||||
$table = array(
|
||||
'ay_role',
|
||||
'ay_user_role'
|
||||
);
|
||||
$field = array(
|
||||
'ay_role.rcode',
|
||||
'ay_role.name'
|
||||
);
|
||||
$where = array(
|
||||
"ay_user_role.ucode='$ucode'",
|
||||
"ay_role.rcode=ay_user_role.rcode"
|
||||
);
|
||||
return parent::table($table)->field($field)
|
||||
->where($where)
|
||||
->select();
|
||||
}
|
||||
|
||||
// 插入用户角色关联数据
|
||||
private function addUserRole($ucode, array $roles)
|
||||
{
|
||||
return parent::table('ay_user_role')->field('ucode,rcode')
|
||||
->relation($ucode, $roles)
|
||||
->insert();
|
||||
}
|
||||
|
||||
// 删除用户角色关联数据
|
||||
private function delUserRole($ucode)
|
||||
{
|
||||
return parent::table('ay_user_role')->where("ucode='$ucode' AND ucode<>10001")->delete();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user