Beispiel #1
0
 public function signoutAction()
 {
     $request_data = $this->jsonRequest();
     if (empty($request_data) || !array_key_exists('user', $request_data) && !array_key_exists('client', $request_data)) {
         $this->renderJson(array('error' => 'User and client are missing'), 404);
     }
     $userRepository = new UserRepository($this->app->db);
     $user = $userRepository->findBy('name', $request_data['user']);
     if (!$user) {
         $this->renderJson(array('error' => 'User not found'), 404);
     }
     $accessRepository = new AccessRepository($this->app->db);
     $accessRepository->removeUserClient($user['id'], $request_data['client']);
     $this->renderJson(array('logout' => 'successful'));
 }
Beispiel #2
0
 /**
  * Check user in config and insert them into database
  *
  * @param $auth_user
  * @param $auth_pass
  * @return array|null
  */
 protected function checkConfigUser($auth_user, $auth_pass)
 {
     $algorithm = $this->app->config('login.algorithm');
     $credentials = $this->app->config('login.credentials');
     $password = $auth_pass;
     if (!empty($algorithm) && $algorithm !== 'plaintext') {
         $password = hash($algorithm, $auth_pass);
     }
     if (!empty($auth_user) && isset($credentials[$auth_user]) && $credentials[$auth_user] === $password) {
         $user = ['name' => $auth_user, 'password' => password_hash($auth_pass, PASSWORD_DEFAULT), 'active' => true, 'superadmin' => true, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')];
         $user['id'] = $this->userRepository->persist($user);
         $this->app->db->query('UPDATE tags SET user_id = :user_id WHERE user_id IS NULL', ['user_id' => $user['id']]);
         $this->app->db->query('UPDATE items SET user_id = :user_id WHERE user_id IS NULL', ['user_id' => $user['id']]);
         $this->app->db->query('UPDATE sources SET user_id = :user_id WHERE user_id IS NULL', ['user_id' => $user['id']]);
         $this->app->db->query('UPDATE settings SET user_id = :user_id WHERE user_id IS NULL', ['user_id' => $user['id']]);
         return $user;
     }
     return null;
 }
Beispiel #3
0
 $app->config($configLoader->getConfig());
 $app->config('installed', false);
 // Create database
 switch ($app->config('database_adapter')) {
     case 'sqlite':
         if (file_exists($app->config('database_dsn'))) {
             unlink($app->config('database_dsn'));
         }
         break;
 }
 $connector = new DatabaseConnector($app->config('database_adapter'), $app->config('database_dsn'), $app->config('database_username'), $app->config('database_password'));
 $db = $connector->getInstance();
 if ($db != null) {
     $connector->migrate($db, ROOT_DIR . '/src/Nogo/Feedbox/Resources/sql/' . $app->config('database_adapter'));
     $user = array('name' => $input['login_username'], 'email' => $input['login_email'], 'password' => password_hash($input['login_password'], PASSWORD_DEFAULT), 'active' => true, 'superadmin' => true, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s'));
     $userRepository = new User($db);
     $user['id'] = $userRepository->persist($user);
     $opml = trim($request->post('opml'));
     if (!empty($opml)) {
         $opmlLoader = new OpmlLoader();
         $opmlLoader->setContent($opml);
         $sources = $opmlLoader->run();
         if (!empty($sources)) {
             $sourceRepository = new Source($db);
             foreach ($sources as $source) {
                 $source['user_id'] = $user['id'];
                 $sourceRepository->persist($source);
             }
         }
     }
 }