|  | @@ -12,12 +12,16 @@ declare(strict_types=1);
 | 
											
												
													
														|  |  namespace app\sys\controller;
 |  |  namespace app\sys\controller;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  // 引入框架内置类
 |  |  // 引入框架内置类
 | 
											
												
													
														|  | -use think\facade\View;
 |  | 
 | 
											
												
													
														|  | 
 |  | +use think\Exception;
 | 
											
												
													
														|  | 
 |  | +use think\facade\Db;
 | 
											
												
													
														|  |  use think\facade\Config;
 |  |  use think\facade\Config;
 | 
											
												
													
														|  | 
 |  | +use think\facade\View;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  use app\common\model\Category as CategoryModel;
 |  |  use app\common\model\Category as CategoryModel;
 | 
											
												
													
														|  |  use app\common\model\Article as ArticleModel;
 |  |  use app\common\model\Article as ArticleModel;
 | 
											
												
													
														|  |  use app\common\facade\FileUtils;
 |  |  use app\common\facade\FileUtils;
 | 
											
												
													
														|  | 
 |  | +use app\common\utils\ReUtils;
 | 
											
												
													
														|  |  use app\common\model\FileManager as FileManagerModel;
 |  |  use app\common\model\FileManager as FileManagerModel;
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  class Article extends Base
 |  |  class Article extends Base
 | 
											
										
											
												
													
														|  | @@ -60,7 +64,7 @@ class Article extends Base
 | 
											
												
													
														|  |              $params['content'] =  isset($params['content']) ? $params['content'] : '';
 |  |              $params['content'] =  isset($params['content']) ? $params['content'] : '';
 | 
											
												
													
														|  |              if ($content_type == 0) {
 |  |              if ($content_type == 0) {
 | 
											
												
													
														|  |                  $username = $this->getSysUser()->username;
 |  |                  $username = $this->getSysUser()->username;
 | 
											
												
													
														|  | -                $params['content'] = $this->saveRomteImage($params['content'],(int)$params['id'],(int) $params['cjid'], $username);
 |  | 
 | 
											
												
													
														|  | 
 |  | +                $params['content'] = $this->saveRomteImage($params['content'], (int)$params['id'], (int) $params['cjid'], $username);
 | 
											
												
													
														|  |              }
 |  |              }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |              $params['keywords'] = trim($params['keywords']);
 |  |              $params['keywords'] = trim($params['keywords']);
 | 
											
										
											
												
													
														|  | @@ -101,27 +105,27 @@ class Article extends Base
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -    protected function saveRomteImage($content, $infoid=0, $cjid=0, $username='system')
 |  | 
 | 
											
												
													
														|  | 
 |  | +    protected function saveRomteImage($content, $infoid = 0, $cjid = 0, $username = 'system')
 | 
											
												
													
														|  |      {
 |  |      {
 | 
											
												
													
														|  | -        $content = stripslashes ($content);
 |  | 
 | 
											
												
													
														|  | 
 |  | +        $content = stripslashes($content);
 | 
											
												
													
														|  |          $img_array = [];
 |  |          $img_array = [];
 | 
											
												
													
														|  |          // 匹配所有远程图片
 |  |          // 匹配所有远程图片
 | 
											
												
													
														|  |          $pattern = '/src="(http[s]:\/\/.*)"/isU';
 |  |          $pattern = '/src="(http[s]:\/\/.*)"/isU';
 | 
											
												
													
														|  | -        preg_match_all ($pattern,$content,$img_array);
 |  | 
 | 
											
												
													
														|  | -        
 |  | 
 | 
											
												
													
														|  | 
 |  | +        preg_match_all($pattern, $content, $img_array);
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |          // 删除重复 url
 |  |          // 删除重复 url
 | 
											
												
													
														|  | -        $img_arrays = array_unique ($img_array[1]);
 |  | 
 | 
											
												
													
														|  | 
 |  | +        $img_arrays = array_unique($img_array[1]);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |          foreach ($img_arrays as $value) {
 |  |          foreach ($img_arrays as $value) {
 | 
											
												
													
														|  |              $file = FileUtils::downloadUrlImg($value);
 |  |              $file = FileUtils::downloadUrlImg($value);
 | 
											
												
													
														|  | -            
 |  | 
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |              $savename = \think\facade\Filesystem::disk('public')->putFile('/', $file);
 |  |              $savename = \think\facade\Filesystem::disk('public')->putFile('/', $file);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |              FileManagerModel::saveFileInfo($file, $savename, $file->getOriginalName, $infoid, $cjid, $username);
 |  |              FileManagerModel::saveFileInfo($file, $savename, $file->getOriginalName, $infoid, $cjid, $username);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |              // 删除临时文件
 |  |              // 删除临时文件
 | 
											
												
													
														|  |              @unlink($file->getRealPath());
 |  |              @unlink($file->getRealPath());
 | 
											
												
													
														|  | -            
 |  | 
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |              $filename = Config::get('filesystem.disks.public.url') . '/' . str_replace('\\', '/', $savename);
 |  |              $filename = Config::get('filesystem.disks.public.url') . '/' . str_replace('\\', '/', $savename);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |              // dump($filename);
 |  |              // dump($filename);
 | 
											
										
											
												
													
														|  | @@ -130,4 +134,24 @@ class Article extends Base
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |          return $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();
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  |  }
 |  |  }
 |