--- a/busui/owa/modules/base/installCli.php +++ b/busui/owa/modules/base/installCli.php @@ -1,1 +1,92 @@ - + + * @copyright Copyright © 2006 Peter Adams + * @license http://www.gnu.org/copyleft/gpl.html GPL v2.0 + * @category owa + * @package owa + * @version $Revision$ + * @since owa 1.0.0 + */ + +class owa_installCliController extends owa_cliController { + + function __construct($params) { + define('OWA_INSTALLING', true); + return parent::__construct($params); + } + + function action() { + + $service = &owa_coreAPI::serviceSingleton(); + $im = owa_coreAPI::supportClassFactory('base', 'installManager'); + $this->e->notice('Starting OWA Install from command line.'); + + //create config file + $present = $this->c->isConfigFilePresent(); + + if ( $present ) { + + $this->c->applyConfigConstants(); + + // install schema + $status = $im->installSchema(); + + // schema was installed successfully + if ($status === true) { + + //create admin user + //owa_coreAPI::debug('password: '.owa_lib::encryptPassword( $this->c->get('base', 'db_password') ) ); + $im->createAdminUser($this->getParam('email_address'), $this->getParam('real_name'), $this->c->get('base', 'db_password') ); + + // create default site + $im->createDefaultSite( + $this->getParam('domain'), + $this->getParam('domain'), + $this->getParam('description'), + $this->getParam('site_family') + ); + + // Persist install complete flag. + $this->c->persistSetting('base', 'install_complete', true); + $save_status = $this->c->save(); + + if ($save_status === true) { + $this->e->notice('Install Completed.'); + } else { + $this->e->notice('Could not persist Install Complete Flag to the Database'); + } + + // schema was not installed successfully + } else { + $this->e->notice('Aborting embedded install due to errors installing schema. Try dropping all OWA tables and try again.'); + return false; + } + + + } else { + $this->e->notice("Could not locate config file. Aborting installation."); + } + } +} + +?>