--- a/busui/owa/modules/base/updates/004.php +++ b/busui/owa/modules/base/updates/004.php @@ -1,1 +1,101 @@ + + * @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.2.1 + */ + + +class owa_base_004_update extends owa_update { + + function up() { + + // create admin user for embedded installs. + // embedded installs did not create admin users until this release (v1.2.1) + $cu = owa_coreAPI::getCurrentUser(); + $this->createAdminUser($cu->getUserData('email_address')); + + $ds = owa_coreAPI::entityFactory('base.domstream'); + $ret = $ds->createTable(); + + if ($ret == true) { + $this->e->notice('Domstream entity table created'); + return true; + } else { + $this->e->notice('Domstream entity table creation failed'); + return false; + } + } + + function down() { + + return false; + } + + function createAdminUser($email_address) { + + //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)) { + + $password = $u->generateRandomPassword(); + $u->set('user_id', 'admin'); + $u->set('role', 'admin'); + $u->set('real_name', ''); + $u->set('email_address', $email_address); + $u->set('password', owa_lib::encryptPassword($password)); + $u->set('creation_date', time()); + $u->set('last_update_date', time()); + $ret = $u->create(); + + owa_coreAPI::debug("Admin user created successfully."); + + return $password; + + } else { + owa_coreAPI::debug($this->getMsg(3306)); + } + } else { + owa_coreAPI::debug("Admin user already exists."); + } + + } + +} + +?>