/**
  * Handle the event.
  */
 public function handle()
 {
     if (!$this->config->get('app.debug') && !$this->session->get(__CLASS__ . 'warned') && $this->request->path() == 'admin/dashboard' && $this->modules->get('anomaly.module.installer')) {
         $this->session->set(__CLASS__ . 'warned', true);
         $this->messages->error('streams::message.delete_installer');
     }
 }
 /**
  * Handle the command.
  *
  * @param ContactFormBuilder $builder
  * @param MessageBag         $messages
  * @param Mailer             $mailer
  */
 public function handle(ContactFormBuilder $builder, MessageBag $messages, Mailer $mailer)
 {
     // Validation failed!
     if ($builder->hasFormErrors()) {
         return;
     }
     // Delegate these for now.
     $view = $this->dispatch(new GetMessageView($builder));
     $data = $this->dispatch(new GetMessageData($builder));
     // Build the message object.
     $message = function (Message $message) use($builder) {
         $this->dispatch(new BuildMessage($message, $builder));
     };
     // Send the email.
     $mailer->send($view, $data, $message);
     // If there are any failures, report.
     if (count($mailer->failures()) > 0) {
         $messages->error($builder->getFormOption('error_message', 'anomaly.plugin.contact::error.send_message'));
     } else {
         // Otherwise, show success.
         $messages->success($builder->getFormOption('success_message', 'anomaly.plugin.contact::success.send_message'));
     }
     // Clear the form!
     $builder->resetForm();
 }
 public function migrate(Request $request, MessageBag $bag, FolderRepositoryInterface $folders)
 {
     $input = $request->input();
     if (!$input['table'] || !$input['column']) {
         $bag->error("Table and column are both required");
         return redirect('/admin/migrator/migrate_column');
     }
     $data = DB::select('select `id`, ' . $input['column'] . ' from ' . $input['table']);
     echo "<table><thead><tr><th>Row</th><th>Original ID</th><th>New Id</th></tr></thead><tbody>";
     foreach ($data as $row) {
         $remoteFile = json_decode($this->getData($this->baseUrl . '/migrator/get_file/' . $row->{$input['column']}));
         $folder = $folders->findByPath($remoteFile->path, $this->disk);
         $foundFile = false;
         if ($folder) {
             foreach ($folder->getFiles() as $file) {
                 if ($file->getName() == $remoteFile->file) {
                     $foundFile = true;
                     // return 'found file ID: ' . $file->getId();
                     echo "<tr><td>" . $row->id . "</td><td>" . $row->{$input['column']} . "</td><td>" . $file->getId() . "</td>";
                 }
             }
         }
         if (!$foundFile) {
             echo "<tr><td>" . $row->id . "</td><td>" . $row->{$input['column']} . "</td><td>Could not find file to migrate to.<br>";
             echo "<b>Path:</b> " . $remoteFile->path . "<br>";
             echo "<b>File:</b> " . $remoteFile->file . "<br>";
             echo "<b>Filename:</b> " . $remoteFile->filename;
             echo "</td></tr>";
         }
     }
     echo "</tbody></table>";
     var_dump($input['table']);
     var_dump($input['column']);
 }
 /**
  * Handle the command.
  *
  * @param MessageBag $messages
  */
 public function handle(MessageBag $messages)
 {
     $form = $this->builder->getForm();
     $errors = $form->getErrors();
     if ($errors instanceof \Illuminate\Support\MessageBag) {
         $messages->error($errors->all());
     }
 }
 public function __construct(SettingRepositoryInterface $settings, MessageBag $bag)
 {
     $this->baseUrl = $settings->get('bloveless.module.migrator::base_url')->value;
     $this->disk = $settings->get('bloveless.module.migrator::disk')->value;
     if (!isset($this->baseUrl) || !isset($this->disk)) {
         $bag->error("The base url and disk are required for this module to function. Set them in \"Settings\"");
     }
     parent::__construct();
 }
 /**
  * Handle the command.
  *
  * @param UserActivator $activator
  * @param MessageBag    $messages
  */
 public function handle(UserActivator $activator, MessageBag $messages)
 {
     /* @var UserInterface $user */
     $user = $this->builder->getFormEntry();
     $activator->send($user, $this->builder->getFormOption('activate_redirect', '/'));
     if (!is_null($message = $this->builder->getFormOption('confirm_message'))) {
         $messages->info($message);
     }
 }
 /**
  * Handle the command.
  *
  * @param UserActivator $activator
  * @param MessageBag    $messages
  */
 public function handle(UserActivator $activator, MessageBag $messages)
 {
     /* @var UserInterface $user */
     $user = $this->builder->getFormEntry();
     $activator->force($user);
     if (!is_null($message = $this->builder->getFormOption('activated_message'))) {
         $messages->info($message);
     }
 }
 /**
  * Fired when builder is ready to build.
  *
  * @param UserRepositoryInterface $users
  * @param BreadcrumbCollection    $breadcrumbs
  * @param MessageBag              $messages
  * @param Redirector              $redirect
  * @return \Illuminate\Http\RedirectResponse
  */
 public function onReady(UserRepositoryInterface $users, RoleRepositoryInterface $roles, BreadcrumbCollection $breadcrumbs, MessageBag $messages, Redirector $redirect)
 {
     $this->setEntry($user = $users->find($this->getEntry()));
     if ($user->hasRole($roles->findBySlug('admin'))) {
         $messages->warning('anomaly.module.users::warning.modify_admin_user');
         $this->setFormResponse($redirect->to('admin/users'));
         return;
     }
     $breadcrumbs->add($user->getDisplayName(), 'admin/users/edit/' . $user->getId());
     $breadcrumbs->add('anomaly.module.users::breadcrumb.permissions', 'admin/users/permissions/' . $user->getId());
 }
 /**
  * Fired when builder is ready to build.
  *
  * @param RoleRepositoryInterface $roles
  * @param BreadcrumbCollection    $breadcrumbs
  * @param MessageBag              $messages
  * @param Redirector              $redirect
  * @return \Illuminate\Http\RedirectResponse
  */
 public function onReady(RoleRepositoryInterface $roles, BreadcrumbCollection $breadcrumbs, MessageBag $messages, Redirector $redirect)
 {
     $this->setEntry($role = $roles->find($this->getEntry()));
     if ($role->getSlug() === 'admin') {
         $messages->warning('anomaly.module.users::warning.modify_admin_role');
         $this->setFormResponse($redirect->to('admin/users/roles'));
         return;
     }
     $breadcrumbs->add($role->getName(), 'admin/users/roles/edit/' . $role->getId());
     $breadcrumbs->add('anomaly.module.users::breadcrumb.permissions', 'admin/users/roles/permissions/' . $role->getId());
 }
 /**
  * Handle the form.
  *
  * @param ForgotPasswordFormBuilder $builder
  * @param UserRepositoryInterface   $users
  * @param UserPassword              $password
  * @param MessageBag                $messages
  * @param Repository                $config
  */
 public function handle(ForgotPasswordFormBuilder $builder, UserRepositoryInterface $users, UserPassword $password, MessageBag $messages, Repository $config)
 {
     if ($builder->hasFormErrors()) {
         return;
     }
     $user = $users->findByEmail($builder->getFormValue('email'));
     if ($path = $builder->getFormOption('reset_path')) {
         $config->set('anomaly.module.users::paths.reset', $path);
     }
     $password->forgot($user);
     $password->send($user, $builder->getFormOption('reset_redirect'));
     $messages->success('anomaly.module.users::message.confirm_reset_password');
 }
 /**
  * Fired just after
  * saving the form entry.
  *
  * This is basically a validator
  * but I am putting it here because
  * it's far easier to test being that
  * the disk is being loaded already.
  *
  * @param MountManager $manager
  * @param MessageBag   $messages
  * @param Redirector   $redirector
  */
 public function onSaved(MountManager $manager, MessageBag $messages, Redirector $redirector)
 {
     /* @var DiskFormBuilder $builder */
     $builder = $this->forms->get('disk');
     /* @var DiskInterface $entry */
     $entry = $builder->getFormEntry();
     app()->call('Anomaly\\FilesModule\\Disk\\Listener\\RegisterDisks@handle');
     try {
         $manager->has($entry->path('test.me'));
     } catch (\Exception $e) {
         $messages->error($e->getMessage());
         $this->setFormResponse($redirector->to('admin/files/disks/edit/' . $entry->getId()));
     }
 }
 /**
  * Handle the command.
  *
  * @param Request    $request
  * @param MessageBag $messages
  * @param Translator $translator
  */
 public function handle(Request $request, MessageBag $messages, Translator $translator)
 {
     if ($this->builder->isAjax()) {
         return;
     }
     $errors = $this->builder->getFormErrors();
     $messages->error($errors->all());
     if ($request->segment(1) == 'admin' && ($stream = $this->builder->getFormStream()) && $stream->isTrashable()) {
         /* @var AssignmentInterface $assignment */
         foreach ($stream->getUniqueAssignments() as $assignment) {
             if ($this->builder->hasFormError($assignment->getFieldSlug())) {
                 $messages->warning($translator->trans('streams::validation.unique_trash', ['attribute' => '"' . $translator->trans($assignment->getFieldName()) . '"']));
             }
         }
     }
 }
 /**
  * Handle the command.
  *
  * @param InviteFormBuilder $builder
  * @param MessageBag $messages
  */
 public function handle(InviteFormBuilder $builder, MessageBag $messages)
 {
     // Validation failed!
     if ($builder->hasFormErrors()) {
         return;
     }
     $reply = $this->dispatch(new SendInvite($builder));
     if (array_get($reply, 'ok') === true) {
         $messages->success('anomaly.extension.slack_inviter::success.send_invite');
     } else {
         $messages->error('anomaly.extension.slack_inviter::error.send_invite');
         $messages->error('anomaly.extension.slack_inviter::error.' . $reply['error']);
     }
     // Clear the form!
     $builder->resetForm();
 }
 /**
  * @param  UserAuthenticator                      $authenticator
  * @param  MessageBag                             $message
  * @param  Redirector                             $redirect
  * @return bool|\Illuminate\Http\RedirectResponse
  */
 public function handle(UserAuthenticator $authenticator, MessageBag $message, Redirector $redirect)
 {
     if (!$this->user->isActivated()) {
         $message->error('Your account has not been activated.');
         $authenticator->logout();
         // Just in case.
         return $redirect->back();
     }
     if (!$this->user->isEnabled()) {
         $message->error('Your account has been disabled.');
         $authenticator->logout();
         // Just in case.
         return $redirect->back();
     }
     return true;
 }
 /**
  * Check the authorization of module access.
  *
  * @param  Request  $request
  * @param  \Closure $next
  * @return \Illuminate\Http\RedirectResponse
  */
 public function handle(Request $request, Closure $next)
 {
     if (in_array($request->path(), ['admin/login', 'admin/logout'])) {
         return $next($request);
     }
     if ($request->segment(1) == 'admin' && !$this->authorizer->authorize('anomaly.module.users::general.control_panel')) {
         abort(403);
     }
     if (!$this->authorizer->authorize(array_get($this->route->getAction(), 'anomaly.module.users::permission'))) {
         if ($message = array_get($this->route->getAction(), 'anomaly.module.users::message')) {
             $this->messages->error($message);
         }
         if ($redirect = array_get($this->route->getAction(), 'anomaly.module.users::redirect')) {
             return $this->redirect->to($redirect);
         }
         abort(403);
     }
     return $next($request);
 }
 /**
  * Handle the form.
  *
  * @param UserRepositoryInterface  $users
  * @param ResetPasswordFormBuilder $builder
  * @param MessageBag               $messages
  * @param UserPassword             $password
  */
 public function handle(UserRepositoryInterface $users, ResetPasswordFormBuilder $builder, MessageBag $messages, UserPassword $password)
 {
     $user = $users->findByEmail($builder->getEmail());
     /**
      * If we can't find the user by the email
      * provided then head back to the form.
      */
     if (!$user) {
         $messages->error(trans('anomaly.module.users::error.reset_password'));
         return;
     }
     /**
      * If we can't successfully reset the
      * provided user then back back to the form.
      */
     if (!$password->reset($user, $builder->getCode(), $builder->getFormValue('password'))) {
         $messages->error(trans('anomaly.module.users::error.reset_password'));
         return;
     }
     $messages->success(trans('anomaly.module.users::success.reset_password'));
 }
 /**
  * Check the authorization of module access.
  *
  * @param  Request  $request
  * @param  \Closure $next
  * @return \Illuminate\Http\RedirectResponse
  */
 public function handle(Request $request, Closure $next)
 {
     if (in_array($request->path(), ['admin/login', 'admin/logout'])) {
         return $next($request);
     }
     /* @var UserInterface $user */
     $user = $this->auth->user();
     $role = array_get($this->route->getAction(), 'anomaly.module.users::role');
     $redirect = array_get($this->route->getAction(), 'anomaly.module.users::redirect');
     $message = array_get($this->route->getAction(), 'anomaly.module.users::message');
     if ($role && (!$user || !$user->hasAnyRole((array) $role))) {
         if ($message) {
             $this->messages->error($message);
         }
         if ($redirect) {
             return $this->redirect->to($redirect);
         }
         abort(403);
     }
     return $next($request);
 }
 /**
  * Handle the request.
  *
  * @param \Illuminate\Http\Request $request
  * @param callable                 $next
  * @return \Illuminate\Http\RedirectResponse|mixed
  */
 public function handle($request, Closure $next)
 {
     // If the method is not a post - skip.
     if (!$request->isMethod('post')) {
         return $next($request);
     }
     // Get the route action.
     $action = $this->route->getAction();
     // If the route disabled the CSRF - skip.
     if (array_get($action, 'csrf') === false) {
         return $next($request);
     }
     /**
      * Try validating the CSRF token with the
      * base Laravel Middleware.
      */
     try {
         return parent::handle($request, $next);
     } catch (TokenMismatchException $e) {
         $this->messages->error('streams::message.csrf_token_mismatch');
         return $this->redirector->back();
     }
 }
 /**
  * Execute an action.
  *
  * @param  TableBuilder    $builder
  * @param  ActionInterface $action
  * @throws \Exception
  */
 public function execute(TableBuilder $builder, ActionInterface $action)
 {
     $options = $builder->getTableOptions();
     $handler = $action->getHandler();
     // Self handling implies @handle
     if (is_string($handler) && !str_contains($handler, '@')) {
         $handler .= '@handle';
     }
     /*
      * Authorize the action.
      */
     if (!$this->authorizer->authorize($action->getPermission())) {
         $this->messages->error('streams::message.403');
         return;
     }
     /*
      * Get the IDs of the selected rows.
      */
     $selected = $this->request->get($options->get('prefix') . 'id', []);
     /*
      * If the handler is a callable string or Closure
      * then call it using the IoC container.
      */
     if (is_string($handler) || $handler instanceof \Closure) {
         if (is_string($handler) && class_exists($handler)) {
             $handler .= '@handle';
         }
         app()->call($handler, compact('builder', 'selected'));
         return;
     }
     /*
      * If the handle is an instance of ActionHandlerInterface
      * simply call the handle method on it.
      */
     if ($handler instanceof ActionHandlerInterface) {
         $handler->handle($builder, $selected);
         return;
     }
     throw new \Exception('Action $handler must be a callable string, Closure or ActionHandlerInterface.');
 }
 /**
  * Handle the command.
  *
  * @param MessageBag $messages
  */
 public function handle(MessageBag $messages)
 {
     if (!is_null($message = $this->builder->getFormOption('pending_message'))) {
         $messages->info($message);
     }
 }