public function index() { $folderName = Input::get('folder'); $groupName = Input::has('group') ? shadow(Input::get('group')) : 'all'; $className = 'Strimoid\\Models\\Folders\\' . studly_case($folderName ?: $groupName); if (Input::has('folder') && !class_exists('Folders\\' . studly_case($folderName))) { $user = Input::has('user') ? User::findOrFail(Input::get('user')) : Auth::user(); $folder = Folder::findUserFolderOrFail($user->getKey(), Input::get('folder')); if (!$folder->public && (Auth::guest() || $user->getKey() != Auth::id())) { App::abort(404); } $builder = $folder->entries(); } elseif (class_exists($className)) { $fakeGroup = new $className(); $builder = $fakeGroup->entries(); $builder->orderBy('sticky_global', 'desc'); } else { $group = Group::name($groupName)->firstOrFail(); $group->checkAccess(); $builder = $group->entries(); // Allow group moderators to stick contents $builder->orderBy('sticky_group', 'desc'); } $builder->with(['user', 'group', 'replies', 'replies.user'])->orderBy('created_at', 'desc'); $perPage = Input::has('per_page') ? between(Input::get('per_page'), 1, 100) : 20; return $builder->paginate($perPage); }
public function copyFolder() { $folder = Folder::findUserFolderOrFail(Input::get('user'), Input::get('folder')); if (!$folder->public && $folder->user->getKey() != Auth::id()) { App::abort(404); } $validator = Validator::make(Input::all(), ['name' => 'required|min:1|max:64|regex:/^[a-z0-9\\pL ]+$/u']); if ($validator->fails()) { return Redirect::route('user_folder_contents', [Input::get('user'), Input::get('folder')])->with('danger_msg', $validator->messages()->first()); } $id = Str::slug(Input::get('name')); if (Folder::find($id)) { return Redirect::route('user_folder_contents', [Input::get('user'), Input::get('folder')])->with('danger_msg', 'Folder z podaną nazwą już istnieje.'); } $folder->exists = false; $folder->name = Input::get('name'); Auth::user()->folders()->save($folder); return Redirect::route('folder_contents', $id)->with('info_msg', 'Folder został skopiowany.'); }