CoreThink是一套完全开源免费的WEB产品开发框架,追求简单、高效、卓越。可轻松实现支持多终端的WEB产品快速搭建、部署、上线。系统功能采用模块化、组件化、插件化等开放化低耦合设计,应用商城拥有丰富的功能模块、插件、主题,便于用户灵活扩展和二次开发。
代码包大于4M传不上去,可以在我们官网获取:www.corethink.cn
1. [图片] 1.jpg
2. [代码][PHP]代码
<?php // +---------------------------------------------------------------------- // | OpenCMF [ Simple Efficient Excellent ] // +---------------------------------------------------------------------- // | Copyright (c) 2014 http://www.php.cn/ All rights reserved. // +---------------------------------------------------------------------- // | Author: jry <598821125@qq.com> // +---------------------------------------------------------------------- namespace Home\Controller; use Common\Controller\CommonController; /** * 前台公共控制器 * 为防止多分组Controller名称冲突,公共Controller名称统一使用模块名 * @author jry <598821125@qq.com> */ class HomeController extends CommonController { /** * 初始化方法 * @author jry <598821125@qq.com> */ protected function _initialize() { // 系统开关 if (!C('TOGGLE_WEB_SITE')) { $this->error('站点已经关闭,请稍后访问~'); } // 获取所有模块配置的用户导航 $mod_con['status'] = 1; $_user_nav_main = array(); $_user_nav_list = D('Admin/Module')->where($mod_con)->getField('user_nav', true); foreach ($_user_nav_list as $key => $val) { if ($val) { $val = json_decode($val, true); if ($val['main']) { $_user_nav_main = array_merge($_user_nav_main, $val['main']); } } } // 监听行为扩展 \Think\Hook::listen('corethink_behavior'); $this->assign('meta_keywords', C('WEB_SITE_KEYWORD')); $this->assign('meta_description', C('WEB_SITE_DESCRIPTION')); $this->assign('_new_message', cookie('_new_message')); // 获取用户未读消息数量 $this->assign('_user_auth', session('user_auth')); // 用户登录信息 $this->assign('_user_nav_main', $_user_nav_main); // 用户导航信息 $this->assign('_user_center_side', C('USER_CENTER_SIDE')); // 用户中心侧边 $this->assign('_user_login_modal', C('USER_LOGIN_MODAL')); // 用户登录弹窗 $this->assign('_home_public_layout', C('HOME_PUBLIC_LAYOUT')); // 页面公共继承模版 } /** * 用户登录检测 * @author jry <598821125@qq.com> */ protected function is_login() { //用户登录检测 $uid = is_login(); if ($uid) { return $uid; } else { if (IS_AJAX) { $return['status'] = 0; $return['info'] = '请先登录系统'; $return['login'] = 1; $this->ajaxReturn($return); } else { redirect(U('User/User/login', null, true, true)); } } } /** * 设置一条或者多条数据的状态 * @param $script 严格模式要求处理的纪录的uid等于当前登陆用户UID * @author jry <598821125@qq.com> */ public function setStatus($model = CONTROLLER_NAME, $script = true) { $ids = I('request.ids'); $status = I('request.status'); if (empty($ids)) { $this->error('请选择要操作的数据'); } $model_primary_key = D($model)->getPk(); $map[$model_primary_key] = array('in',$ids); if ($script) { $map['uid'] = array('eq', is_login()); } switch ($status) { case 'forbid' : // 禁用条目 $data = array('status' => 0); $this->editRow( $model, $data, $map, array('success'=>'禁用成功','error'=>'禁用失败') ); break; case 'resume' : // 启用条目 $data = array('status' => 1); $map = array_merge(array('status' => 0), $map); $this->editRow( $model, $data, $map, array('success'=>'启用成功','error'=>'启用失败') ); break; case 'hide' : // 隐藏条目 $data = array('status' => 2); $map = array_merge(array('status' => 1), $map); $this->editRow( $model, $data, $map, array('success'=>'隐藏成功','error'=>'隐藏失败') ); break; case 'show' : // 显示条目 $data = array('status' => 1); $map = array_merge(array('status' => 2), $map); $this->editRow( $model, $data, $map, array('success'=>'显示成功','error'=>'显示失败') ); break; case 'recycle' : // 移动至回收站 $data['status'] = -1; $this->editRow( $model, $data, $map, array('success'=>'成功移至回收站','error'=>'删除失败') ); break; case 'restore' : // 从回收站还原 $data = array('status' => 1); $map = array_merge(array('status' => -1), $map); $this->editRow( $model, $data, $map, array('success'=>'恢复成功','error'=>'恢复失败') ); break; case 'delete' : // 删除条目 $result = D($model)->where($map)->delete(); if ($result) { $this->success('删除成功,不可恢复!'); } else { $this->error('删除失败'); } break; default : $this->error('参数错误'); break; } } /** * 对数据表中的单行或多行记录执行修改 GET参数id为数字或逗号分隔的数字 * @param string $model 模型名称,供M函数使用的参数 * @param array $data 修改的数据 * @param array $map 查询时的where()方法的参数 * @param array $msg 执行正确和错误的消息 * array( * 'success' => '', * 'error' => '', * 'url' => '', // url为跳转页面 * 'ajax' => false //是否ajax(数字则为倒数计时) * ) * @author jry <598821125@qq.com> */ final protected function editRow($model, $data, $map, $msg) { $id = array_unique((array)I('id',0)); $id = is_array($id) ? implode(',',$id) : $id; //如存在id字段,则加入该条件 $fields = D($model)->getDbFields(); if (in_array('id', $fields) && !empty($id)) { $where = array_merge( array('id' => array('in', $id )), (array)$where ); } $msg = array_merge( array( 'success' => '操作成功!', 'error' => '操作失败!', 'url' => ' ', 'ajax' => IS_AJAX ), (array)$msg ); $result = D($model)->where($map)->save($data); if ($result != false) { $this->success($msg['success'], $msg['url'], $msg['ajax']); } else { $this->error($msg['error'], $msg['url'], $msg['ajax']); } } }
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
刺客信條陰影:貝殼謎語解決方案
1 週前ByDDD
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

記事本++7.3.1
好用且免費的程式碼編輯器

Dreamweaver CS6
視覺化網頁開發工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SublimeText3漢化版
中文版,非常好用