--- a/busui/owa/modules/base/classes/installManager.php +++ b/busui/owa/modules/base/classes/installManager.php @@ -1,1 +1,140 @@ + + * @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_installManager extends owa_base { + + function __construct($params = '') { + + return parent::__construct($params); + } + + function installSchema() { + + $service = &owa_coreAPI::serviceSingleton(); + $base = $service->getModule('base'); + $status = $base->install(); + return $status; + + } + + function createAdminUser($email_address, $real_name = '', $password = '') { + + //create user entity + $u = owa_coreAPI::entityFactory('base.user'); + // check to see if an admin user already exists + $u->getByColumn('role', 'admin'); + $id_check = $u->get('id'); + // if not then proceed + if (empty($id_check)) { + + //Check to see if user name already exists + $u->getByColumn('user_id', 'admin'); + + $id = $u->get('id'); + + // Set user object Params + if (empty($id)) { + + if ( ! $password ) { + + $password = $u->generateRandomPassword(); + } + + $ret = $u->createNewUser('admin', 'admin', $password, $email_address, $real_name); + owa_coreAPI::debug("Admin user created successfully."); + return $password; + + } else { + owa_coreAPI::debug($this->getMsg(3306)); + } + } else { + owa_coreAPI::debug("Admin user already exists."); + } + + } + + function createDefaultSite($domain, $name = '', $description = '', $site_family = '', $site_id = '') { + + if (!$name) { + $name = $domain; + } + + $site = owa_coreAPI::entityFactory('base.site'); + + if (!$site_id) { + $site_id = $site->generateSiteId($domain); + } + + + // Check to see if default site already exists + $this->e->notice('Checking for existence of default site.'); + + // create site_id....how??? + $site->getByColumn('site_id', $site_id); + $id = $site->get('id'); + + if(empty($id)) { + // Create default site + $site->set('id', $site->generateId($site_id)); + $site->set('site_id', $site_id); + $site->set('name', $name); + $site->set('description', $description); + $site->set('domain', $domain); + $site->set('site_family', $site_family); + $site_status = $site->create(); + + if ($site_status == true) { + $this->e->notice('Created default site.'); + } else { + $this->e->notice('Creation of default site failed.'); + } + + } else { + $this->e->notice(sprintf("Default site already exists (id = %s). nothing to do here.", $id)); + } + + return $site->get('site_id'); + } + + function checkDbConnection() { + + // Check DB connection status + $db = &owa_coreAPI::dbSingleton(); + $db->connect(); + if ($db->connection_status === true) { + return true; + } else { + return false; + } + } +} + +?>