/** * 删除文档 * @param mixed $id 文档编号 */ public function actionDelete($id = null) { if ($_SERVER['REQUEST_METHOD'] == 'POST') { if (empty($_POST['Archives']['content_archives_id'])) { $this->redirect[] = array('text' => '', 'href' => $_SERVER['HTTP_REFERER']); $this->message('文档不存在或已被删除', self::MSG_ERROR, true); } $content_archives_id = $_POST['Archives']['content_archives_id']; } else { if (empty($id) > 0) { $this->redirect[] = array('text' => '', 'href' => $_SERVER['HTTP_REFERER']); $this->message('文档不存在或已被删除', self::MSG_ERROR, true); } $content_archives_id = $id; } // if (!is_array($content_archives_id)) { $content_archives_id = array($content_archives_id); } // $_sql_wheel = ""; $_sql_params = array(); foreach ($content_archives_id as $_k => $_v) { $_sql_wheel .= "content_archives_id=:content_archives_id{$_k} OR "; $_sql_params[":content_archives_id{$_k}"] = $_v; } $_sql_wheel = trim($_sql_wheel, ' OR '); // $_sql = "SELECT content_archives_id, content_archives_subject FROM {{content_archives}} WHERE {$_sql_wheel}"; $cmd = Yii::app()->db->createCommand($_sql); $_r = $cmd->queryAll(true, $_sql_params); //修改状态为删除 $content_archives_subject = ContentArchives::get_archive_subject_by_id($id); $flag = Yii::app()->db->createCommand()->update('{{content_archives}}', array('content_archives_status' => ContentArchives::STAT_DELETED), $_sql_wheel, $_sql_params); if ($flag) { foreach ($_r as $_k => $_v) { //删除缓存 if (Yii::app()->cache) { Yii::app()->cache->delete("content.archive.row.{$id}"); } //记录操作日志 $user = Yii::app()->user; $message = '{user_name}删除了文档({archive_subject})'; $data = array('user_id' => $user->id, 'user_name' => $user->name, 'archive_subject' => $_v['content_archives_subject'], 'data' => array('content_archives_id' => $id)); AdminLogs::add($user->id, 'Content/Archive', $_v['content_archives_id'], 'Delete', 'success', $message, $data); } } if (!isset($_GET['ajax'])) { $this->redirect[] = array('text' => '', 'href' => $_SERVER['HTTP_REFERER']); $this->message('删除文档完成', self::MSG_SUCCESS, true); } }