示例#1
0
 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);
 }
示例#2
0
 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.');
 }