app->request->param('cid'); $params = $this->app->request->param(); $list = ArticleModel::queryPage($params); View::assign([ 'category_tree' => $category_tree, 'list' => $list, 'cid' => $cid ]); return View::fetch(); } public function save($content_type = 0, $id = 0) { if ($this->app->request->isPost()) { $params = $this->app->request->param(); if (!$params['cid']) { $this->error('请选择栏目'); } if ($params['title'] == '') { $this->error("标题不能为空"); } $params['content'] = isset($params['content']) ? $params['content'] : ''; $params['content'] = $this->saveRomteImage($params['content']); $params['keywords'] = trim($params['keywords']); try { if ($params['id'] != 0) { ArticleModel::update($params); } else { $params['userid'] = $this->getSysUser()->userid; $params['username'] = $this->getSysUser()->nickname ?? $this->getSysUser()->username; unset($params['id']); ArticleModel::create($params); } } catch (\Exception $e) { $msg = $e->getMessage(); $this->error("错误提示:" . $msg); } $this->success('操作成功', (string) url('index?cid=' . $params['cid'])); } else { if ($id) { $data = ArticleModel::find($id); } else { $data = new ArticleModel(); $data->content_type = $content_type; } $data->cjid = time(); $categories = CategoryModel::field('id, parent_id, name')->select(); View::assign('category_tree', list_tree($categories)); View::assign('data', $data); $template = $content_type ? 'savemd' : 'save'; return View::fetch($template); } } protected function saveRomteImage($content) { $content = stripslashes($content); $img_array = []; // 匹配所有远程图片 $pattern = '/src="(http[s]:\/\/.*)"/isU'; preg_match_all($pattern, $content, $img_array); // 删除重复 url $img_arrays = array_unique($img_array[1]); foreach ($img_arrays as $value) { $filename = FileUtils::downloadUrlImg($value); $content = str_replace($value, $filename, $content); } return $content; } public function move() { $ids = $this->request->param('ids'); $cid = $this->request->param('cid'); $tablename = ArticleModel::getTable(); $idss = implode(',', $ids); $sql = "update " . $tablename . " set cid=". $cid ." where id IN (" . $idss . ");"; try { Db::execute($sql); } catch (Exception $e) { return ReUtils::error(); } return ReUtils::success(); } }