</div></td> <td> <div style="text-align:center"> <?php /*$classes = ''; dump($archive);exit; foreach ($archive['content_archives_classes'] as $_k=>$_v) { $classes = $classes ? '/' . $_v['class_name'] : $_v['class_name']; }*/ ?> <a href="<?php echo url($this->module->id . '/Content' . ($content_model_id ? "/{$content_model_id}" : "/0") . ($archive['class_id'] ? "/{$archive['class_id']}" : "") . '/Archives/Index'); ?> "> <?php echo ContentArchivesClass::get_class_name_by_id($archive['class_id']); ?> </a> </div> </td> <td><div style="text-align:center"><?php echo $archive['content_archives_is_build'] == 1 ? '已生成' : '<span class="red">未生成</span>'; ?> </div></td> <td><div style="text-align:center"><?php echo $archive['AUserName']; ?> </div></td> <td><div style="text-align:center"><?php echo ContentArchives::get_archives_status($archive['content_archives_status']); ?>
/** * 删除档案栏目 * @param mixed $id 档案栏目编号 */ public function actionDelete($id) { $class = ContentArchivesClass::get_class_by_id($id, false); if (empty($class)) { $this->redirect[] = array('text' => '', 'href' => $this->forward); $this->message('档案栏目不存在或已被删除', self::MSG_ERROR, true); } if ($class['class_is_system'] == 1) { $this->redirect[] = array('text' => '', 'href' => $this->forward); $this->message('系统档案栏目不允许删除', self::MSG_ERROR, true); } $this->db->update('{{content_archives_classes}}', array('class_status' => 0), 'class_id=:class_id', array(':class_id' => $id)); ContentArchivesClass::update_cache(); //记录操作日志 $user = $this->user; $message = '{user_name}删除了档案栏目{classes_name}'; $data = array('user_id' => $user->id, 'user_name' => $user->name, 'classes_name' => $class['class_name'], 'data' => array('class_id' => $id)); AdminLogs::add($user->id, 'Content/Class', $id, 'Delete', 'success', $message, $data); if (!isset($_GET['ajax'])) { $this->redirect[] = array('text' => '', 'href' => $this->forward); $this->message('档案栏目删除成功', self::MSG_SUCCESS, true); //$this->redirect(array('Content/Class/Index')); } }
/** * * Enter description here ... * @param unknown_type $params */ public static function Pages($params = array()) { //设置默认参数 $_defaults_params = array('allow_cache' => true, 'page' => isset($_GET['page']) ? intval($_GET['page']) : 1, 'pagesize' => 15); $params = array_merge($_defaults_params, $params); //有开启缓存功能,则从缓存中取数据, 如果有数据,则直接返回结果 if ($params['allow_cache'] && isset(Yii::app()->cache)) { $_cache_key = md5('content.archive.pages.' . serialize($params)); $_r = json_decode(Yii::app()->cache->get($_cache_key), true); if ($_r && is_array($_r)) { return $_r; } } $cmd = Yii::app()->db->createCommand(); $cmd->select('COUNT(DISTINCT a.content_archives_id) AS COUNT')->from('{{content_archives}} a')->join('{{content_archives_classes_relating}} acr', 'acr.content_archives_id=a.content_archives_id')->join('{{content_archives_classes}} ac', 'ac.class_id=acr.class_id')->join('{{content_model}} m', 'm.content_model_id=ac.content_model_id'); //添加条件 if (isset($params['content_archives_status']) && !empty($params['content_archives_status'])) { $__addons = array('AND', 'a.content_archives_status=:content_archives_status'); $__params = array(':content_archives_status' => $params['content_archives_status']); } else { $__addons = array('AND', 'a.content_archives_status>:content_archives_status'); $__params = array(':content_archives_status' => 0); } // if (isset($params['content_archives_id']) && !empty($params['content_archives_id'])) { $__addons[] = array('AND', 'a.content_archives_id=:content_archives_id'); $__params[':content_archives_id'] = $params['content_archives_id']; } // if (isset($params['content_model_id']) && !empty($params['content_model_id'])) { $__addons[] = array('AND', 'ac.content_model_id=:content_model_id'); $__params[':content_model_id'] = $params['content_model_id']; } // if (isset($params['class_id']) && !empty($params['class_id'])) { $_classes = ContentArchivesClass::get_classes_children($params['class_id']); $_s = ''; foreach ($_classes as $_k => $_v) { $_s .= ",:class_id{$_k}"; $__params[":class_id{$_k}"] = $_v; } $_s = trim($_s, ','); $__addons[] = array('AND', "acr.class_id IN({$_s})"); unset($_classes, $_s); } // if (isset($params['content_archives_subject']) && !empty($params['content_archives_subject'])) { $__addons[] = array('OR', array('OR LIKE', 'a.content_archives_subject', "%{$params['content_archives_subject']}%")); //$__addons[] = array('LIKE', 'a.content_archives_name', '%:content_archives_name%'); //$__params = array_merge($__params, array(':content_archives_name'=>$params['content_archives_name'])); } // if (isset($params['search_key']) && $params['search_key']) { if (is_numeric($params['search_key'])) { $__addons[] = array('AND', 'a.content_archives_id=:content_archives_id'); $__params[':content_archives_id'] = $params['search_key']; } else { $__addons[] = array('OR', array('OR LIKE', 'a.content_archives_subject', "%{$params['search_key']}%")); } //$__params = array_merge($__params, array(':search_key'=>$params['search_key'])); } $cmd->where($__addons, $__params); //统计数量 $count = $cmd->queryScalar(); //分页处理 $pages = new CPagination($count); //设置分页大小 $pages->pageSize = $params['pagesize']; //清空前面执行过的SQL $cmd->setText(''); if (isset($params['orderby']) && $params['orderby']) { $cmd->order($params['orderby']); } else { $cmd->order(array('a.content_archives_rank ASC', 'a.content_archives_dateline DESC')); } $cmd->select('a.content_archives_id, ac.content_model_id, m.content_model_name, ac.class_id, ac.class_name, a.content_archives_subject, a.content_archives_color, a.content_archives_short_subject, a.content_archives_flag, a.content_archives_jump_url, a.content_archives_source, a.content_archives_author, a.content_archives_thumb, a.content_archives_keywords, a.content_archives_summary, a.content_archives_status, a.content_archives_rank, a.content_archives_pubtime, a.content_archives_is_build, a.content_archives_lasttime, a.content_archives_dateline')->group('a.content_archives_id')->limit($pages->getLimit())->offset($pages->getOffset()); $_r['pages'] = $pages; $_r['rows'] = $cmd->queryAll(); //有开启缓存,则把结果添加到缓存中 if ($params['allow_cache'] && isset(Yii::app()->cache)) { $_cache_cache_time = Setting::getSettingCache('CONTENT_ARCHIVES_PAGES_CACHE_TIME'); Yii::app()->cache->set($_cache_key, json_encode($_r), $_cache_cache_time); unset($_cache_cache_time, $_cache_key); } return $_r; }
/** * 文档管理 */ public function actionIndex($content_model_id = null, $class_id = null, $search_key = null, $page = null) { if ($_SERVER['REQUEST_METHOD'] == 'POST') { //保存修改 if (!is_array($_POST['Archive']['content_archives_rank'])) { $_POST['Archive']['content_archives_rank'] = array(); } foreach ($_POST['Archive']['content_archives_rank'] as $_k => $_v) { $flag = Yii::app()->db->createCommand()->update('{{content_model}}', array('content_archives_rank' => $_POST['Archive']['content_archives_rank'][$_k] ? intval($_POST['Archive']['content_archives_rank'][$_k]) : 255, 'content_archives_lasttime' => $_SERVER['REQUEST_TIME']), 'content_archives_id=:content_archives_id', array(':content_archives_id' => $_k)); if ($flag) { //记录操作日志 $message = '{user_name}修改了文档({archive_subject})信息'; $data = array('user_id' => Yii::app()->user->id, 'user_name' => Yii::app()->user->name, 'archive_subject' => $_v, 'data' => $_POST); AdminLogs::add(Yii::app()->user->id, 'Content/Archive', $_k, 'Modify', 'success', $message, $data); } } //$this->refresh(); $this->redirect[] = array('text' => '', 'href' => $this->forward ? $this->forward : url($this->module->id . '/Content/Archives/Index')); $this->message('修改文档完成', self::MSG_SUCCESS, true); } $params = array('allow_cache' => false, 'content_model_id' => $content_model_id, 'class_id' => $class_id ? $class_id : 2, 'search_key' => $search_key); $_model = ContentModel::get_model_by_id($content_model_id); $_list_template = $_model['content_model_list_template'] ? $_model['content_model_list_template'] : 'default'; $this->render("_{$_list_template}_list", array('content_model_id' => $content_model_id, 'class_id' => $class_id, 'archives' => ContentArchives::Pages($params), 'models' => ContentModel::get_models_by_cache(), 'classes' => ContentArchivesClass::get_classes_by_cache())); }