Example #1
0
 /**
  * Create a new password controller instance.
  *
  * @param Guard                                     $auth
  * @param \Illuminate\Contracts\Auth\PasswordBroker $passwords
  * @param Breadcrumbs                               $breadcrumbs
  */
 public function __construct(Guard $auth, PasswordBroker $passwords, Breadcrumbs $breadcrumbs)
 {
     $this->auth = $auth;
     $this->passwords = $passwords;
     $this->middleware('guest');
     $breadcrumbs->setCurrentRoute('Illuminate\\Auth\\Events\\Login');
 }
 /**
  * Register the service provider.
  *
  * @return void
  */
 public function register()
 {
     $this->app['breadcrumbs'] = $this->app->share(function ($app) {
         $breadcrumbs = new Manager($app['view'], $app['router']);
         $breadcrumbs->setView($app['config']['laravel-breadcrumbs::view']);
         return $breadcrumbs;
     });
 }
Example #3
0
 /**
  * @param string                               $slug
  * @param int                                  $id
  * @param ProfileFieldGroupRepositoryInterface $profileFieldGroups
  * @param Breadcrumbs                          $breadcrumbs
  *
  * @return \Illuminate\View\View
  */
 public function profile($slug, $id, ProfileFieldGroupRepositoryInterface $profileFieldGroups, Breadcrumbs $breadcrumbs)
 {
     $user = $this->users->find($id);
     if (!$user) {
         throw new UserNotFoundException();
     }
     $groups = $profileFieldGroups->getAll();
     $breadcrumbs->setCurrentRoute('user.profile', $user);
     return view('user.profile', ['user' => $user, 'profile_field_groups' => $groups]);
 }
Example #4
0
 /**
  * Shows a specific forum.
  *
  * @param Request $request
  * @param string  $slug    The slug of the forum to show.
  *
  * @param int     $id      The ID of the forum to show.
  *
  * @return \Illuminate\View\View
  */
 public function show(Request $request, $slug = '', $id = 0)
 {
     // Forum permissions are checked in "find"
     $forum = $this->forumRepository->find($id);
     // Load last post information for child forums
     $forum->load(['children.lastPost', 'children.lastPost.topic', 'children.lastPostAuthor']);
     if (!$forum) {
         throw new ForumNotFoundException();
     }
     $this->breadcrumbs->setCurrentRoute('forums.show', $forum);
     // Build the order by/dir parts
     $allowed = ['lastpost', 'replies', 'startdate', 'title'];
     $orderBy = $request->get('orderBy', 'lastpost');
     if (!in_array($orderBy, $allowed)) {
         $orderBy = 'lastpost';
     }
     $orderDir = $request->get('orderDir', 'desc');
     if ($orderDir != 'asc' && $orderDir != 'desc') {
         $orderDir = 'desc';
     }
     // We need to know how to build the url...
     $urlDirs = ['lastpost' => 'desc', 'replies' => 'desc', 'startdate' => 'desc', 'title' => 'asc'];
     if ($orderDir == 'desc' && $urlDirs[$orderBy] == 'desc') {
         $urlDirs[$orderBy] = 'asc';
     } elseif ($orderDir == 'asc' && $urlDirs[$orderBy] == 'asc') {
         $urlDirs[$orderBy] = 'desc';
     }
     $topics = $this->topicRepository->allForForum($forum, $orderBy, $orderDir);
     $topics->appends(['orderBy' => $orderBy, 'orderDir' => $orderDir]);
     return view('forum.show', compact('forum', 'topics', 'orderBy', 'orderDir', 'urlDirs'));
 }
Example #5
0
 /**
  * @param string $topicSlug
  * @param int    $topicId
  *
  * @return \Illuminate\View\View
  */
 public function edit($topicSlug, $topicId)
 {
     $topic = $this->topicRepository->find($topicId);
     if (!$topic) {
         throw new TopicNotFoundException();
     }
     if (!$topic->has_poll) {
         throw new PollNotFoundException();
     }
     $poll = $topic->poll;
     $this->breadcrumbs->setCurrentRoute('polls.edit', $topic);
     return view('polls.edit', compact('topic', 'poll'));
 }
Example #6
0
 /**
  * @param int              $forumId
  * @param Request          $request
  * @param MessageFormatter $formatter
  *
  * @return \Illuminate\View\View
  */
 public function create($forumId, Request $request, MessageFormatter $formatter)
 {
     // Forum permissions are checked in "find"
     $forum = $this->forumRepository->find($forumId);
     if (!$forum) {
         throw new ForumNotFoundException();
     }
     $this->breadcrumbs->setCurrentRoute('topics.create', $forum);
     $username = trans('general.guest');
     $preview = null;
     if ($request->has('content')) {
         if (!$this->guard->check()) {
             $userId = null;
             $username = $request->get('username');
         } else {
             $userId = $this->guard->user()->id;
             $username = $this->guard->user()->name;
         }
         $preview = new Post(['user_id' => $userId, 'username' => $username, 'content' => $request->get('content'), 'content_parsed' => $formatter->parse($request->get('content'), [MessageFormatter::ME_USERNAME => $this->guard->user()->name]), 'created_at' => new \DateTime()]);
     }
     return view('topic.create', compact('forum', 'preview', 'username'));
 }
 /**
  * 
  *
  * @static 
  */
 public static function setView($view)
 {
     return \DaveJamesMiller\Breadcrumbs\Manager::setView($view);
 }
Example #8
0
 public function index()
 {
     $this->breadcrumbs->setCurrentRoute('admin.dashboard');
     return view('admin.dashboard', ['active_tab' => 'dashboard']);
 }
Example #9
0
 /**
  * @param int         $id
  * @param Request     $request
  * @param Breadcrumbs $breadcrumbs
  *
  * @return \Illuminate\View\View
  */
 public function results($id, Request $request, Breadcrumbs $breadcrumbs)
 {
     // TODO: sorts
     $search = $this->searchRepository->find($id);
     if (!$search) {
         throw new NotFoundHttpException();
     }
     $breadcrumbs->setCurrentRoute('search.results', $search);
     $orderBy = $request->get('orderBy');
     $orderDir = $request->get('orderDir');
     if (!isset($this->sorts[$orderBy])) {
         $orderBy = 'postdate';
     }
     if ($orderDir != 'asc') {
         $orderDir = 'desc';
     }
     $urlDirs = [];
     foreach ($this->sorts as $sortName => $sort) {
         $urlDirs[$sortName] = $sort['asc'];
     }
     if ($orderDir == $urlDirs[$orderBy]) {
         if ($urlDirs[$orderBy] == 'desc') {
             $urlDirs[$orderBy] = 'asc';
         } else {
             $urlDirs[$orderBy] = 'desc';
         }
     }
     if ($search->as_topics) {
         $results = Topic::whereIn('id', explode(',', $search->topics))->with(['lastPost', 'author', 'lastPost.author'])->orderBy($this->sorts[$orderBy]['name'], $this->sorts[$orderBy][$orderDir])->paginate(10);
     } else {
         $results = Post::whereIn('id', explode(',', $search->posts))->with(['topic', 'author'])->orderBy($this->sorts[$orderBy]['name'], $this->sorts[$orderBy][$orderDir])->paginate(10);
     }
     if ($search->as_topics) {
         return view('search.result_topics', compact('results', 'search', 'orderDir', 'orderBy', 'urlDirs'));
     } else {
         return view('search.result_posts', compact('results', 'search'));
     }
 }
Example #10
0
 /**
  * Show the application login form.
  *
  * @return \Illuminate\Http\Response
  */
 public function getLogin()
 {
     $this->breadcrumbs->setCurrentRoute('auth.login');
     return view('member.login');
 }
 /**
  * @return \Illuminate\View\View
  */
 public function addProfileFieldGroup()
 {
     $this->breadcrumbs->setCurrentRoute('admin.users.profile_fields.add_group');
     return view('admin.users.profile_fields.add_group')->withActive('profile-fields');
 }