|
Server : nginx/1.18.0 System : Linux iZrj9edhd5u5pfsek09o1jZ 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 User : www ( 1000) PHP Version : 5.6.40 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv Directory : /mnt/web/www.neatabattery.com/data/backup/v1.3.8_www/application/common/model/ |
<?php
/**
* 易优CMS
* ============================================================================
* 版权所有 2016-2028 海南赞赞网络科技有限公司,并保留所有权利。
* 网站地址: http://www.eyoucms.com
* ----------------------------------------------------------------------------
* 如果商业用途务必到官方购买正版授权, 以免引起不必要的法律纠纷.
* ============================================================================
* Author: 小虎哥 <1105415366@qq.com>
* Date: 2018-4-3
*/
namespace app\common\model;
use think\Model;
/**
* 模型
*/
class Channeltype extends Model
{
//初始化
protected function initialize()
{
// 需要调用`Model`的`initialize`方法
parent::initialize();
}
/**
* 获取单条记录
* @author 小虎哥 by 2018-4-16
*/
public function getInfo($id)
{
$result = M('channeltype')->field('*')->cache(true,EYOUCMS_CACHE_TIME,"channeltype")->find($id);
return $result;
}
/**
* 获取单条记录
* @author 小虎哥 by 2018-4-16
*/
public function getInfoByWhere($where, $field = '*')
{
$result = M('channeltype')->field($field)->where($where)->find();
return $result;
}
/**
* 获取多条记录
* @author 小虎哥 by 2018-4-16
*/
public function getListByIds($ids, $field = '*')
{
$map = array(
'id' => array('IN', $ids),
);
$result = db('Channeltype')->field($field)
->where($map)
->order('sort_order asc')
->select();
return $result;
}
/**
* 默认获取全部
* @author 小虎哥 by 2018-4-16
*/
public function getAll($field = '*', $map = array(), $index_key = '')
{
$cacheKey = array(
'common',
'model',
'Channeltype',
'getAll',
$field,
$map,
$index_key
);
$cacheKey = json_encode($cacheKey);
$result = cache($cacheKey);
if (empty($result)) {
$result = db('channeltype')->field($field)
->where($map)
->order('sort_order asc, id asc')
->select();
if (!empty($index_key)) {
$result = convert_arr_key($result, $index_key);
}
cache($cacheKey, $result, null, 'channeltype');
}
return $result;
}
/**
* 获取有栏目的模型列表
* @param string $type yes表示存在栏目的模型列表,no表示不存在栏目的模型列表
* @author 小虎哥 by 2018-4-16
*/
public function getArctypeChannel($type = 'yes')
{
if ($type == 'yes') {
$map = array(
'b.status' => 1,
);
$result = M('Channeltype')->field('b.*, a.*, b.id as typeid')
->alias('a')
->join('__ARCTYPE__ b', 'b.current_channel = a.id', 'LEFT')
->where($map)
->group('a.id')
->cache(true,EYOUCMS_CACHE_TIME,"arctype")
->getAllWithIndex('nid');
} else {
$result = M('Channeltype')->field('b.*, a.*, b.id as typeid')
->alias('a')
->join('__ARCTYPE__ b', 'b.current_channel = a.id', 'LEFT')
->group('a.id')
->cache(true,EYOUCMS_CACHE_TIME,"arctype")
->getAllWithIndex('nid');
if ($result) {
foreach ($result as $key => $val) {
if (intval($val['channeltype']) > 0) {
unset($result[$key]);
}
}
}
}
return $result;
}
/**
* 根据文档ID获取模型信息
* @author 小虎哥 by 2018-4-16
*/
public function getInfoByAid($aid)
{
$result = array();
$res1 = M('archives')->where(array('aid'=>$aid))->find();
$res2 = M('Channeltype')->where(array('id'=>$res1['channel']))->find();
if (is_array($res1) && is_array($res2)) {
$result = array_merge($res1, $res2);
}
return $result;
}
/**
* 根据前端模板自动开启系统模型
*/
public function setChanneltypeStatus()
{
$planPath = 'template/pc';
$planPath = realpath($planPath);
if (!file_exists($planPath)) {
return true;
}
$ctl_name_arr = array();
$dirRes = opendir($planPath);
$view_suffix = config('template.view_suffix');
while($filename = readdir($dirRes))
{
if(preg_match('/^(lists|view)?_/i', $filename) == 1)
{
$tplname = preg_replace('/([^_]+)?_([^\.]+)\.'.$view_suffix.'$/i', '${2}', $filename);
$ctl_name_arr[] = ucwords($tplname);
} elseif (preg_match('/\.'.$view_suffix.'$/i', $filename) == 1) {
$tplname = preg_replace('/\.'.$view_suffix.'$/i', '', $filename);
$ctl_name_arr[] = ucwords($tplname);
}
}
$ctl_name_arr = array_unique($ctl_name_arr);
if (!empty($ctl_name_arr)) {
\think\Db::name('Channeltype')->where('id > 0')->cache(true,null,"channeltype")->update(array('status'=>0, 'update_time'=>getTime()));
$map = array(
'ctl_name' => array('IN', $ctl_name_arr),
);
\think\Db::name('Channeltype')->where($map)->cache(true,null,"channeltype")->update(array('status'=>1, 'update_time'=>getTime()));
}
}
}