コード例 #1
0
 /**
  * @return string
  */
 public function categories()
 {
     $string = '';
     foreach ($this->entity->categories as $category) {
         $string .= sprintf('<a href="%s">%s</a> ', store_route('store.shop.category', [$category->translate()]), $category->name);
     }
     return $string;
 }
コード例 #2
0
 /**
  * @param Store $session
  * @param Request $request
  * @param AccountManager $accounts
  * @return \Illuminate\Http\RedirectResponse
  */
 public function locale(Store $session, Request $request, AccountManager $accounts)
 {
     $account = $accounts->account();
     if ($request->has('locale') && $this->is_account_locale($account, $request->get('locale'))) {
         $session->set('locale', $request->get('locale'));
         return redirect()->to('/' . $request->get('locale'));
     }
     return redirect()->to(store_route('store.home'));
 }
コード例 #3
0
 /**
  * This route is only valid for multi locale applications.
  *
  * @param Request $request
  * @param AccountManager $manager
  * @return \Illuminate\Contracts\View\View|\Illuminate\Http\RedirectResponse
  */
 public function landing(Request $request, AccountManager $manager)
 {
     if ($manager->account()->locales->count() == 1) {
         return redirect()->to(store_route('store.home'));
     }
     if ($request->hasCookie('locale')) {
         return redirect()->to(store_route('store.home', [], [], $request->cookie('locale')));
     }
     return $this->theme->render('home.landing');
 }
コード例 #4
0
 /**
  * @return string
  */
 public function url()
 {
     if ($this->entity->page) {
         return $this->pageUrl();
     }
     if ($this->entity->route) {
         return store_route($this->entity->route->name);
     }
     return $this->entity->url;
 }
コード例 #5
0
 /**
  * The method which actually triggers the confirmation.
  *
  * @param $token
  * @param TokenRepositoryInterface $tokens
  * @param Guard $guard
  * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
  */
 public function show($token, TokenRepositoryInterface $tokens, Guard $guard)
 {
     $token = $tokens->findTokenByValue($token);
     if ($token) {
         $user = $this->dispatch(new ConfirmEmail($token));
         if ($user) {
             return redirect('admin/start');
         }
     }
     return redirect()->to(store_route('store.home'));
 }
コード例 #6
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request $request
  * @param  \Closure                 $next
  *
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     if ($this->auth->guest()) {
         if ($request->ajax()) {
             return response(store_route('store.auth.signin.index'), 401);
         } else {
             //if we're in a store application, we need to redirect to the store.admin.signin
             return redirect()->guest(store_route('store.auth.signin.index'));
         }
     }
     return $next($request);
 }
コード例 #7
0
 /**
  * @param SigninRequest $request
  * @param Translator $lang
  * @return $this|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
  */
 public function store(SignInRequest $request, Translator $lang)
 {
     $credentials = $request->except('_token', 'remember_me');
     $remember_me = $request->has('remember_me') ? true : false;
     $response = $this->dispatch(new Signin($credentials, $remember_me));
     if ($response instanceof User) {
         return redirect('admin/start');
     } elseif (is_string($response) && $response == 'unconfirmed') {
         $route = store_route('store.auth.confirm-email.create', ['email' => $credentials['email']]);
         $error = $lang->get('users::auth.errors.unconfirmed', ['url' => $route]);
         return redirect()->back()->withErrors(['email' => $error]);
     }
     return redirect()->back()->withErrors(['email' => $lang->get('users::auth.errors.failed')]);
 }
コード例 #8
0
 /**
  * @param $token
  * @param TokenRepository $tokens
  * @param ResetPasswordRequest $request
  * @param Guard $guard
  * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
  */
 public function update($token, TokenRepository $tokens, ResetPasswordRequest $request, Guard $guard)
 {
     $token = $tokens->findTokenByValue($token);
     if ($token) {
         $user = $this->dispatch(new ResetPassword($request->get('email'), $token, $request->get('password'), $request->get('password_confirmation')));
         if ($user) {
             $guard->loginUsingId($user->id);
             return redirect('admin/start');
         }
     }
     //always redirect to signin if we get here.
     //the request was validated for correct input, so if the reset was no success,
     //we simply bail out for security reasons.
     return redirect()->to(store_route('store.auth.signin.index'))->withSuccess(Lang::get('users::front.request-handled'));
 }
コード例 #9
0
ファイル: TagCollection.php プロジェクト: jaffle-be/framework
 /**
  * Format the collection for output.
  *
  *
  *
  *
  * @param string $format
  * @param string $glue
  * @return array|string
  */
 public function format($format = '<a href=":url">:name</a>', $glue = ' / ')
 {
     //when the user passed an empty format, so he could change the glue
     //we still need to use the default format
     if (empty($format)) {
         $format = '<a href=":url">:name</a>';
     }
     $formats = [];
     $replace = [':name', ':url'];
     foreach ($this->items as $tag) {
         $by = [$tag->name, store_route('store.tags.show', [$tag])];
         $formattedTag = str_replace($replace, $by, $format);
         array_push($formats, $formattedTag);
     }
     $formats = implode($glue, $formats);
     return $formats;
 }
コード例 #10
0
 /**
  * @param MembershipRepository $repository
  * @param $invitation
  * @param Guard $guard
  * @return \Illuminate\Contracts\View\View|\Illuminate\Http\RedirectResponse
  */
 public function show(MembershipRepository $repository, $invitation, Guard $guard)
 {
     $invitation = $repository->findInvitationByToken($invitation);
     if (!$invitation) {
         return redirect()->to(store_route('store.home'));
     }
     //do we have an invitation for a user with a registered account?
     //if so, we simply accept it instead of asking for credentials.
     if ($user = User::where('email', $invitation->email)->limit(1)->first()) {
         $user = $this->dispatch(new Signup(false, false, $invitation));
         if ($user->confirmed) {
             //user can be logged in too
             $guard->login($user);
             return redirect()->to(store_route('store.dash'));
         }
         return redirect()->to(store_route('store.home'))->with('message', 'success');
     }
     return $this->theme->render('auth.register', ['invitation' => $invitation]);
 }
コード例 #11
0
 /**
  * @param SignupRequest $request
  * @param Guard $guard
  * @return \Illuminate\Http\RedirectResponse
  */
 public function store(SignupRequest $request, Guard $guard)
 {
     $data = $request->only(['email', 'password']);
     $invitation = null;
     if ($request->has('invitation')) {
         $invitation = MembershipInvitation::find($request->get('invitation'));
         if (!$invitation) {
             return redirect()->back()->with('message', 'failed');
         }
     }
     if ($user = $this->dispatch(new Signup($request->get('email'), $request->get('password'), $invitation))) {
         if ($user->confirmed) {
             //user can be logged in too
             $guard->login($user);
             return redirect()->to(store_route('store.dash'));
         }
         return redirect()->to(store_route('store.home'))->with('message', 'success');
     }
     return redirect()->back()->with('message', 'failed');
 }
コード例 #12
0
ファイル: breadcrumbs.php プロジェクト: jaffle-be/framework
<?php

if (env('APP_MULTIPLE_LOCALES')) {
    foreach (config('system.locales') as $locale) {
        // Home
        Breadcrumbs::register("store.{$locale}.home", function ($breadcrumbs) {
            $breadcrumbs->push('Home', store_route('store.home'));
        });
    }
} else {
    // Home
    Breadcrumbs::register('store.home', function ($breadcrumbs) {
        $breadcrumbs->push('Home', store_route('store.home'));
    });
}
コード例 #13
0
 /**
  * @return mixed
  */
 public function index()
 {
     $command = new Signout();
     $this->dispatch($command);
     return redirect()->to(store_route('store.auth.signin.index'))->withSuccess(Lang::get('users::front.logout-success'));
 }
コード例 #14
0
ファイル: breadcrumbs.php プロジェクト: jaffle-be/framework
if (env('APP_MULTIPLE_LOCALES')) {
    foreach (config('system.locales') as $locale) {
        Breadcrumbs::register("store.{$locale}.team.index", function ($breadcrumbs) use($locale) {
            $breadcrumbs->parent("store.{$locale}.home");
            $breadcrumbs->push('About', store_route('store.team.index'));
        });
        Breadcrumbs::register("store.{$locale}.team.show", function ($breadcrumbs, $member) use($locale) {
            $breadcrumbs->parent("store.{$locale}.team.index");
            $breadcrumbs->push('Member', store_route('store.team.show', [$member]));
        });
        Breadcrumbs::register("store.{$locale}.api.admin.account.members.invitation.store", function ($breadcrumbs) use($locale) {
            //what is this route used for? it has a really shitty name to begin with.
            $breadcrumbs->parent("store.{$locale}.home");
            $breadcrumbs->push(Lang::get('account::admin.users.invitation'));
        });
    }
} else {
    Breadcrumbs::register('store.team.index', function ($breadcrumbs) {
        $breadcrumbs->parent('store.home');
        $breadcrumbs->push('About', store_route('store.team.index'));
    });
    Breadcrumbs::register('store.team.show', function ($breadcrumbs, $member) {
        $breadcrumbs->parent('store.team.index');
        $breadcrumbs->push('Member', store_route('store.team.show', [$member]));
    });
    Breadcrumbs::register('store.api.admin.account.members.invitation.store', function ($breadcrumbs) {
        $breadcrumbs->parent('store.home');
        $breadcrumbs->push(Lang::get('account::admin.users.invitation'));
    });
}
コード例 #15
0
ファイル: breadcrumbs.php プロジェクト: jaffle-be/framework
<?php

if (env('APP_MULTIPLE_LOCALES')) {
    foreach (config('system.locales') as $locale) {
        Breadcrumbs::register("store.{$locale}.blog.index", function ($breadcrumbs) use($locale) {
            $breadcrumbs->parent("store.{$locale}.home");
            $breadcrumbs->push('News', store_route('store.blog.index'));
        });
    }
} else {
    Breadcrumbs::register('store.blog.index', function ($breadcrumbs) {
        $breadcrumbs->parent('store.home');
        $breadcrumbs->push('News', store_route('store.blog.index'));
    });
}
コード例 #16
0
ファイル: breadcrumbs.php プロジェクト: jaffle-be/framework
        Breadcrumbs::register("store.{$locale}.shop.register", function ($breadcrumbs) use($locale) {
            $breadcrumbs->parent("store.{$locale}.shop.index");
            $breadcrumbs->push(Lang::get('shop::front.register'), store_route('store.shop.register'));
        });
    }
} else {
    Breadcrumbs::register('store.shop.index', function ($breadcrumbs) {
        $breadcrumbs->parent('store.home');
        $breadcrumbs->push(Lang::get('shop::front.shop'), store_route('store.shop.index'));
    });
    Breadcrumbs::register('store.shop.checkout.index', function ($breadcrumbs) {
        $breadcrumbs->parent('store.shop.index');
        $breadcrumbs->push(Lang::get('shop::front.checkout'), store_route('store.shop.checkout.index'));
    });
    Breadcrumbs::register('store.shop.login', function ($breadcrumbs) {
        $breadcrumbs->parent('store.shop.index');
        $breadcrumbs->push(Lang::get('shop::front.login'), store_route('store.shop.login'));
    });
    Breadcrumbs::register('store.shop.show', function ($breadcrumbs) {
        $breadcrumbs->parent('store.shop.index');
        $breadcrumbs->push(Lang::get('shop::front.show'), store_route('store.shop.show'));
    });
    Breadcrumbs::register('store.shop.product', function ($breadcrumbs, $product) {
        $breadcrumbs->parent('store.shop.show');
        $breadcrumbs->push(Lang::get('shop::front.product'), store_route('store.shop.product', [$product]));
    });
    Breadcrumbs::register('store.shop.register', function ($breadcrumbs) {
        $breadcrumbs->parent('store.shop.index');
        $breadcrumbs->push(Lang::get('shop::front.register'), store_route('store.shop.register'));
    });
}
コード例 #17
0
ファイル: breadcrumbs.php プロジェクト: jaffle-be/framework
<?php

use Modules\Blog\PostTranslation;
use Modules\Pages\PageTranslation;
if (env('APP_MULTIPLE_LOCALES')) {
    foreach (config('system.locales') as $locale) {
        Breadcrumbs::register("store.{$locale}.uri.show", function ($breadcrumbs, $uri, $suburi = null, $subesturi = null) use($locale) {
            if ($uri->owner instanceof PostTranslation) {
                $breadcrumbs->parent("store.{$locale}.blog.index");
                $breadcrumbs->push('Post', store_route('store.uri.show', [$uri]));
            } elseif ($uri->owner instanceof PageTranslation) {
                $breadcrumbs->parent("store.{$locale}.home");
                $breadcrumbs->push('Page');
            }
        });
    }
} else {
    Breadcrumbs::register('store.uri.show', function ($breadcrumbs, $uri, $suburi = null, $subesturi = null) {
        if ($uri->owner instanceof PostTranslation) {
            $breadcrumbs->parent('store.blog.index');
            $breadcrumbs->push('Post', store_route('store.uri.show', [$uri]));
        } elseif ($uri->owner instanceof PageTranslation) {
            $breadcrumbs->parent('store.home');
            $breadcrumbs->push('Page');
        }
    });
}
コード例 #18
0
ファイル: AuthTest.php プロジェクト: jaffle-be/framework
 public function testSignout()
 {
     $response = $this->call('GET', store_route('store.auth.signout.index'));
     $this->assertEquals(302, $response->getStatusCode());
 }
コード例 #19
0
ファイル: breadcrumbs.php プロジェクト: jaffle-be/framework
<?php

if (env('APP_MULTIPLE_LOCALES')) {
    foreach (config('system.locales') as $locale) {
        Breadcrumbs::register("store.{$locale}.portfolio.index", function ($breadcrumbs) use($locale) {
            $breadcrumbs->parent("store.{$locale}.home");
            $breadcrumbs->push('Projects', store_route('store.portfolio.index'));
        });
        Breadcrumbs::register("store.{$locale}.portfolio.show", function ($breadcrumbs, $project) use($locale) {
            $breadcrumbs->parent("store.{$locale}.portfolio.index");
            $breadcrumbs->push('Project', store_route('store.portfolio.show', [$project]));
        });
    }
} else {
    Breadcrumbs::register('store.portfolio.index', function ($breadcrumbs) {
        $breadcrumbs->parent('store.home');
        $breadcrumbs->push('Projects', store_route('store.portfolio.index'));
    });
    Breadcrumbs::register('store.portfolio.show', function ($breadcrumbs, $project) {
        $breadcrumbs->parent('store.portfolio.index');
        $breadcrumbs->push('Project', store_route('store.portfolio.show', [$project]));
    });
}
コード例 #20
0
ファイル: RouteTests.php プロジェクト: jaffle-be/framework
 protected function tryRoute($route, array $arguments = [])
 {
     $response = $this->call('GET', store_route($route, $arguments));
     //        var_dump(strip_tags($response->getOriginalContent()));
     $this->assertEquals(200, $response->getStatusCode(), 'route failed: ' . $route);
 }
コード例 #21
0
ファイル: breadcrumbs.php プロジェクト: jaffle-be/framework
<?php

if (env('APP_MULTIPLE_LOCALES')) {
    foreach (config('system.locales') as $locale) {
        Breadcrumbs::register("store.{$locale}.tags.show", function ($breadcrumbs, $tag) use($locale) {
            $breadcrumbs->parent("store.{$locale}.home");
            $breadcrumbs->push('Tag', store_route('store.tags.show', [$tag]));
        });
    }
} else {
    Breadcrumbs::register('store.tags.show', function ($breadcrumbs, $tag) {
        $breadcrumbs->parent('store.home');
        $breadcrumbs->push('Tag', store_route('store.tags.show', [$tag]));
    });
}
コード例 #22
0
ファイル: breadcrumbs.php プロジェクト: jaffle-be/framework
<?php

// Home > Contact
if (env('APP_MULTIPLE_LOCALES')) {
    foreach (config('system.locales') as $locale) {
        Breadcrumbs::register("store.{$locale}.contact.index", function ($breadcrumbs) use($locale) {
            $breadcrumbs->parent("store.{$locale}.home");
            $breadcrumbs->push(Lang::get('contact::front.breadcrumb'), store_route('store.contact.index'));
        });
    }
} else {
    Breadcrumbs::register('store.contact.index', function ($breadcrumbs) {
        $breadcrumbs->parent('store.home');
        $breadcrumbs->push(Lang::get('contact::front.breadcrumb'), store_route('store.contact.index'));
    });
}
コード例 #23
0
ファイル: breadcrumbs.php プロジェクト: jaffle-be/framework
<?php

if (env('APP_MULTIPLE_LOCALES')) {
    foreach (config('system.locales') as $locale) {
        Breadcrumbs::register("store.{$locale}.search.index", function ($breadcrumbs) use($locale) {
            $breadcrumbs->parent("store.{$locale}.home");
            $breadcrumbs->push('Find', store_route('store.search.index'));
        });
    }
} else {
    Breadcrumbs::register('store.search.index', function ($breadcrumbs) {
        $breadcrumbs->parent('store.home');
        $breadcrumbs->push('Find', store_route('store.search.index'));
    });
}
コード例 #24
0
 /**
  * @param ForgotPasswordRequest $request
  * @return mixed
  */
 public function store(ForgotPasswordRequest $request)
 {
     $this->dispatch(new SendResetEmail($request->get('email')));
     return redirect()->to(store_route('store.auth.signin.index'))->withSuccess(Lang::get('users::front.request-handled'));
 }
コード例 #25
0
ファイル: breadcrumbs.php プロジェクト: jaffle-be/framework
        $breadcrumbs->parent('store.home');
        $breadcrumbs->push(Lang::get('users::front.signout'), store_route('store.auth.signout.index'));
    });
    // SIGNUP
    Breadcrumbs::register('store.auth.signup.index', function ($breadcrumbs) {
        $breadcrumbs->parent('store.home');
        $breadcrumbs->push(Lang::get('users::front.signup'), store_route('store.auth.signup.index'));
    });
    Breadcrumbs::register('store.auth.confirm-email.create', function ($breadcrumbs) {
        $breadcrumbs->parent('store.home');
        $breadcrumbs->push(Lang::get('users::front.confirm-email'), store_route('store.auth.confirm-email.create'));
    });
    Breadcrumbs::register('store.auth.confirm-email.show', function ($breadcrumbs) {
        $breadcrumbs->parent('store.home');
        $breadcrumbs->push(Lang::get('users::front.confirm-email'));
    });
    //FORGOT PASSWORD
    Breadcrumbs::register('store.auth.forgot-password.index', function ($breadcrumbs) {
        $breadcrumbs->parent('store.home');
        $breadcrumbs->push(Lang::get('users::front.forgot-password'), store_route('store.auth.forgot-password.index'));
    });
    Breadcrumbs::register('store.auth.reset-password.show', function ($breadcrumbs) {
        $breadcrumbs->parent('store.home');
        $breadcrumbs->push(Lang::get('users::front.reset-password'));
    });
    //INVITATION
    Breadcrumbs::register('store.auth.invitation.show', function ($breadcrumbs) {
        $breadcrumbs->parent('store.home');
        $breadcrumbs->push(Lang::get('users::front.invitation'));
    });
}