/**
  * Validation du formulaire de configuration des connections
  *
  * @return CopixActionReturn
  */
 public function processValidForm()
 {
     $arConnections = array();
     $arKeyConnections = array_keys($this->_getConnections());
     $arKeyConnections[] = "";
     foreach ($arKeyConnections as $key => $i) {
         try {
             CopixRequest::assert('driver' . $i, 'connectionString' . $i, 'user' . $i);
             $connectionName = str_replace(' ', '_', CopixRequest::getAlphaNum('connectionName' . $i));
             if ($connectionName == "") {
                 $connectionName = $key;
             }
             if (in_array(_request('driver' . $i), CopixDB::getAvailableDrivers())) {
                 $connectionString = _request('connectionString' . $i);
                 if (_request('driver' . $i) == 'pdo_mysql' || _request('driver' . $i) == 'mysql') {
                     if (strpos($connectionString, 'dbname=') !== 0) {
                         $connectionString = 'dbname=' . $connectionString;
                     }
                 }
                 $arConnections[$connectionName] = array('driver' => _request('driver' . $i), 'connectionString' => $connectionString, 'user' => _request('user' . $i), 'password' => _request('password' . $i), 'extra' => array(), 'default' => _request('defaultRadio') == 'default' . $i);
             }
         } catch (Exception $e) {
             // var_dump($e);
             break;
         }
     }
     CopixSession::set('admin|database|configure', $arConnections);
     $default_db = CopixRequest::get('defaultRadio') == 'nodefault' ? 'nodefault' : substr(CopixRequest::get('defaultRadio'), 7);
     CopixSession::set('admin|database|default', $default_db);
     $result = $this->_testConnections();
     if (CopixRequest::get('btn') == _i18n('install.database.save') && ($result && count(CopixSession::get('admin|database|configure')) >= 1)) {
         if (_ioClass('DatabaseConfigurationFile')->write(CopixSession::get('admin|database|configure'), CopixRequest::get('defaultRadio'))) {
             CopixSession::set('admin|database|configure', null);
             CopixSession::set('admin|database|default', null);
             if (CopixRequest::get('defaultRadio') == 'nodefault') {
                 _class('admin|admintemp')->clearTemp();
                 return _arRedirect(_url('admin||'));
             } else {
                 return _arRedirect($this->_checkInstallFramework($default_db));
             }
         }
     }
     if (count(CopixSession::get('admin|database|configure')) == 1) {
         return _arRedirect(_url('admin|database|ConfigurationForm', array('valid' => $result && count(CopixSession::get('admin|database|configure')) >= 1, 'forcedefault' => true)));
     } else {
         return _arRedirect(_url('admin|database|ConfigurationForm', array('valid' => $result && count(CopixSession::get('admin|database|configure')) >= 1)));
     }
 }
 public function testAlphaNum()
 {
     $this->assertEquals('valeur 3', CopixRequest::getAlphaNum('element2'));
 }