$this->foldersTree]); } /* * 分类列表 */ public function gallery(Request $request) { $folder_id = $request->input('fid',$this->getFoldersTreeFirstId()); $father_id = $this->getFoldersTreeFatherId($folder_id); $folder = SiteAlbumFolder::find($folder_id); $albums = SiteAlbum::where('folder_id', $folder_id)->get(); $albums = $albums->toArray(); foreach ($albums as $key => $album) { $cover = json_decode($album['cover']); foreach ($cover as $k => $v) { if (strpos($v, 'http') === false && strpos($v, 'https') === false) { unset($cover[$k]); } } $cover = empty($cover) ? ['/static/images/noimg.jpg'] : $cover; $albums[$key]['cover'] = $cover; } return view('gallery', [ 'foldersTree' => $this->foldersTree, 'folderName'=> $folder->title, 'folder_id' => $folder_id, 'father_id' => $father_id, 'albums' => $albums ] ); } public function detail(Request $request) { $id = $request->input('id',0); $album = SiteAlbum::find($id); $bumFolder = SiteAlbumFolder::where('id', $album->folder_id)->first(); $showTabs = []; if ($bumFolder) { $row = json_decode($bumFolder->show_tabs); foreach ($row as $key => $value) { $column = ''; $title = ''; switch ($value) { case '0': $column = 'cover'; $title = '主页'; break; case '1': $column = 'en_detail'; $title = '英文详情'; break; case '2': $column = 'cn_detail'; $title = '中文详情'; break; case '3': $column = 'video'; $title = '视频'; break; case '4': $column = 'poster'; $title = '海报'; break; case '5': $column = 'cert'; $title = '证书'; break; case '6': $column = 'pdf'; $title = 'PDF'; break; } $showTabs[$key] = ['value'=>$value,'column'=>$column, 'title'=>$title]; } } return view('gallery-detail',[ 'foldersTree' => $this->foldersTree, 'album' => $album->toArray(), 'showTabs' => $showTabs ]); } public function updateLog(Request $request) { $losgs = SiteAlbumLog::getFormattedLogs(); return view('update_log',[ 'foldersTree' => $this->foldersTree, 'logs' => $losgs ]); } /* * 更新日志 */ public function nextLog(Request $request) { $id = $request->input('id', 0); $log = SiteAlbumLog::getNextLogEntry($id); if ($log) { return response()->json(['status' => 'success', 'data' => $log]); } else { return response()->json(['status' => 'error', 'data' => []]); } } //获取分类树父ID private function getFoldersTreeFatherId($folder_id) { foreach ($this->foldersTree as $key => $value) { $father_id = $value['id']; if ($folder_id == $value['id']) { return $father_id; } foreach ($value['children'] as $k => $v) { if ($folder_id == $v['id']) { return $father_id; } foreach ($v['children'] as $kk => $vv) { if ($folder_id == $vv['id']) { return $father_id; } } } } return 0; } //返回分类树第一个无子节点的ID private function getFoldersTreeFirstId() { foreach ($this->foldersTree as $key => $value) { if (isset($value['children'])) { foreach ($value['children'] as $k => $v) { return $v['id']; } } else { return $value['id']; } } return 0; } }