protected function execute(Gpf_Rpc_Params $params) { $form = new Gpf_Rpc_Form($params); $updateFile = $this->getNextUpdateFile(); if ($updateFile !== null) { try { Gpf_Install_CreateDatabaseTask::setStorageEngine($this->createDatabase()); $updateFile->execute(); } catch (Exception $e) { $form->setErrorMessage($e->getMessage()); return $form; } $this->setResponseType($form, self::PART_DONE_TYPE); $form->setInfoMessage($this->_('Updated to version %s-%s', $updateFile->getApplication(), $updateFile->getVersion())); return $form; } $task = $this->getUpdateAccountTask(); try { $task->run(); } catch (Gpf_Tasks_LongTaskInterrupt $e) { $this->setResponseType($form, self::PART_DONE_TYPE); $form->setInfoMessage($e->getMessage()); return $form; } catch (Exception $e) { $form->setErrorMessage($this->_('Error during application update (%s)', $e->getMessage())); return $form; } $this->setNextStep($form); return $form; }
protected function execute(Gpf_Rpc_Params $params) { $form = new Gpf_Rpc_Form($params); $form->addValidator(new Gpf_Rpc_Form_Validator_MandatoryValidator(), Gpf_Install_CreateDatabase::DB_HOSTNAME, $this->_('Database Hostname')); $form->addValidator(new Gpf_Rpc_Form_Validator_MandatoryValidator(), Gpf_Install_CreateDatabase::DB_USERNAME, $this->_('Username')); $form->addValidator(new Gpf_Rpc_Form_Validator_MandatoryValidator(), Gpf_Install_CreateDatabase::DB_NAME, $this->_('Database Name')); if (!$form->validate()) { return $form; } $createDatabaseTask = new Gpf_Install_CreateDatabaseTask(); $createDatabaseTask->setDBSettings($form->getFieldValue(Gpf_Install_CreateDatabase::DB_HOSTNAME), $form->getFieldValue(Gpf_Install_CreateDatabase::DB_USERNAME), $form->getFieldValue(Gpf_Install_CreateDatabase::DB_NAME), $form->getFieldValue(Gpf_Install_CreateDatabase::DB_PASSWORD)); try { $createDatabaseTask->run(); } catch (Gpf_Tasks_LongTaskInterrupt $e) { $this->setResponseType($form, self::PART_DONE_TYPE); $form->setInfoMessage($e->getMessage()); return $form; } catch (Exception $e) { $form->setErrorMessage($e->getMessage()); return $form; } $this->setNextStep($form); return $form; }