GcFrontend\Form\Install::database PHP Method

database() public method

Database form
public database ( ) : void
return void
    public function database()
    {
        $data = array('pdo_pgsql' => 'PostgreSQL', 'pdo_mysql' => 'MySQL');
        $driver = new Element\Select('driver');
        $driver->setValueOptions($data)->setLabel('Driver')->setLabelAttributes(array('class' => 'control-label required col-lg-2'))->setAttribute('id', 'driver')->setAttribute('class', 'form-control');
        $hostname = new Element\Text('hostname');
        $hostname->setValue('localhost')->setAttribute('class', 'form-control')->setAttribute('id', 'hostname')->setLabel('Hostname')->setLabelAttributes(array('class' => 'control-label required col-lg-2'));
        $username = new Element\Text('username');
        $username->setAttribute('type', 'text')->setAttribute('class', 'form-control')->setAttribute('id', 'username')->setLabel('Username')->setLabelAttributes(array('class' => 'control-label required col-lg-2'));
        $password = new Element\Password('password');
        $password->setAttribute('class', 'form-control')->setAttribute('id', 'password')->setLabel('Password')->setLabelAttributes(array('class' => 'control-label required col-lg-2'));
        $dbname = new Element\Text('dbname');
        $dbname->setAttribute('class', 'form-control')->setAttribute('id', 'dbname')->setLabel('Db Name')->setLabelAttributes(array('class' => 'control-label required col-lg-2'));
        $this->add($driver);
        $this->add($hostname);
        $this->add($dbname);
        $this->add($username);
        $this->add($password);
        $inputFilter = $this->getInputFilter();
        $inputFilter->add(array('name' => 'driver', 'required' => true, 'validators' => array(array('name' => 'not_empty'))), 'driver');
        $inputFilter->add(array('name' => 'hostname', 'required' => true, 'validators' => array(array('name' => 'not_empty'))), 'hostname');
        $inputFilter->add(array('name' => 'username', 'required' => true, 'validators' => array(array('name' => 'not_empty'))), 'username');
        $inputFilter->add(array('name' => 'password', 'required' => false), 'password');
        $inputFilter->add(array('name' => 'dbname', 'required' => true, 'validators' => array(array('name' => 'not_empty'))), 'dbname');
    }

Usage Example

Esempio n. 1
0
 /**
  * Display database information
  *
  * @return array
  */
 public function databaseAction()
 {
     $this->checkInstall(4);
     $this->installForm->database();
     $messages = array();
     if ($this->getRequest()->isPost()) {
         $data = $this->getRequest()->getPost()->toArray();
         $this->installForm->setData($data);
         if ($this->installForm->isValid()) {
             //Test database connexion
             $values = $this->installForm->getInputFilter()->getValues();
             $config = array('driver' => $values['driver'], 'username' => $values['username'], 'database' => $values['dbname'], 'hostname' => $values['hostname'], 'password' => empty($values['password']) ? '' : $values['password']);
             try {
                 $dbAdapter = new DbAdapter($config);
                 $dbAdapter->getDriver()->getConnection()->connect();
                 $session = $this->getSession();
                 $install = $session['install'];
                 $install['db'] = $config;
                 $session['install'] = $install;
                 return $this->redirect()->toRoute('install/configuration');
             } catch (Exception $e) {
                 $messages[] = 'Can\'t connect to database';
                 $messages[] = $e->getMessage();
             }
         }
     }
     $this->layout()->setVariables(array('currentRoute' => $this->getRouteMatch()->getMatchedRouteName()));
     return array('form' => $this->installForm, 'messages' => $messages);
 }
All Usage Examples Of GcFrontend\Form\Install::database