Пример #1
0
 public function testHasAccent()
 {
     $this->assertTrue(p4string::hasAccent('azertyuéjn'));
     $this->assertFalse(p4string::hasAccent('azertyujn'));
     $this->assertFalse(p4string::hasAccent(''));
     $this->assertTrue(p4string::hasAccent('é'));
 }
Пример #2
0
 /**
  * Mount a databox
  *
  * @param  Application      $app     The silex application
  * @param  Request          $request The current HTTP request
  * @return RedirectResponse
  */
 public function databaseMount(Application $app, Request $request)
 {
     if ('' === ($dbName = trim($request->request->get('new_dbname', '')))) {
         return $app->redirectPath('admin_databases', ['success' => 0, 'error' => 'no-empty']);
     }
     if (\p4string::hasAccent($dbName)) {
         return $app->redirectPath('admin_databases', ['success' => 0, 'error' => 'special-chars']);
     }
     if (null === $request->request->get('new_settings')) {
         try {
             $connexion = $app['conf']->get(['main', 'database']);
             $hostname = $connexion['host'];
             $port = $connexion['port'];
             $user = $connexion['user'];
             $password = $connexion['password'];
             $app['phraseanet.appbox']->get_connection()->beginTransaction();
             $base = \databox::mount($app, $hostname, $port, $user, $password, $dbName);
             $base->registerAdmin($app['authentication']->getUser());
             $app['phraseanet.appbox']->get_connection()->commit();
             return $app->redirectPath('admin_database', ['databox_id' => $base->get_sbas_id(), 'success' => 1, 'reload-tree' => 1]);
         } catch (\Exception $e) {
             $app['phraseanet.appbox']->get_connection()->rollBack();
             return $app->redirectPath('admin_databases', ['success' => 0, 'error' => 'mount-failed']);
         }
     }
     if (null !== $request->request->get('new_settings') && null !== ($hostname = $request->request->get('new_hostname')) && null !== ($port = $request->request->get('new_port')) && null !== ($userDb = $request->request->get('new_user')) && null !== ($passwordDb = $request->request->get('new_password'))) {
         try {
             $app['phraseanet.appbox']->get_connection()->beginTransaction();
             $base = \databox::mount($app, $hostname, $port, $userDb, $passwordDb, $dbName);
             $base->registerAdmin($app['authentication']->getUser());
             $app['phraseanet.appbox']->get_connection()->commit();
             return $app->redirectPath('admin_database', ['databox_id' => $base->get_sbas_id(), 'success' => 1, 'reload-tree' => 1]);
         } catch (\Exception $e) {
             $app['phraseanet.appbox']->get_connection()->rollBack();
             return $app->redirectPath('admin_databases', ['success' => 0, 'error' => 'mount-failed']);
         }
     }
 }