/**
  * @param ConfigurationRequest $request
  */
 public function store(ConfigurationRequest $request)
 {
     // get config values:
     $singleUserMode = intval($request->get('single_user_mode')) === 1 ? true : false;
     // store config values
     FireflyConfig::set('single_user_mode', $singleUserMode);
     // flash message
     Session::flash('success', strval(trans('firefly.configuration_updated')));
     Preferences::mark();
     return Redirect::route('admin.configuration.index');
 }
 /**
  * @return array
  */
 private function getBlockedDomains()
 {
     return FireflyConfig::get('blocked-domains', [])->data;
 }
 /**
  * @return array
  */
 private function getKnownDomains() : array
 {
     $users = User::get();
     $set = [];
     $filtered = [];
     /** @var User $user */
     foreach ($users as $user) {
         $email = $user->email;
         $parts = explode('@', $email);
         $domain = $parts[1];
         $set[] = $domain;
     }
     $set = array_unique($set);
     // filter for already banned domains:
     $blocked = FireflyConfig::get('blocked-domains', [])->data;
     foreach ($set as $domain) {
         // in the block array? ignore it.
         if (!in_array($domain, $blocked)) {
             $filtered[] = $domain;
         }
     }
     asort($filtered);
     return $filtered;
 }