public static function initializeMasterTenant() { $session = Session::instance(); Doctrine::getTable('Location')->getRecordListener()->get('MultiTenant')->setOption('disabled', true); Doctrine::getTable('User')->getRecordListener()->get('MultiTenant')->setOption('disabled', true); $options = array(); $options['account'] = array('name' => 'Master Account', 'type' => Account::TYPE_NORMAL); $options['location'] = array('name' => 'Main Location'); $options['user'] = array('username' => $session->get('installer.adminEmailAddress'), 'password' => $session->get('installer.adminPassword'), 'user_type' => User::TYPE_SYSTEM_ADMIN); Bluebox_Tenant::initializeTenant($options); Bluebox_Tenant::initializeSite('localhost', 1); // Force a login of the master/admin user for the remainder of the install Auth::instance()->force_login($session->get('installer.adminEmailAddress')); users::isUserAuthentic(); users::getCurrentUser(); }
/** * This step finalizes the installation (whatever that means) * * @return subview */ private function finalize() { $subview = new View('installer/finalize'); $this->template->title = __('Complete!'); $this->template->allowPrev = FALSE; $this->template->allowNext = FALSE; // Force a login of the master/admin user for the remainder of the install Auth::instance()->force_login($this->session->get('installer.adminEmailAddress')); users::isUserAuthentic(); users::getCurrentUser(); $created = $this->session->get('Bluebox_installer.created'); Bluebox_Tenant::createUserExtension($created['userId']); if (Session::instance()->get('installer.samples', FALSE)) { $sampleUsers = array(array('first' => 'Peter', 'last' => 'Gibbons', 'username' => '*****@*****.**', 'password' => inflector::generatePassword(), 'user_type' => User::TYPE_NORMAL_USER), array('first' => 'Michael', 'last' => 'Bolton', 'username' => '*****@*****.**', 'password' => inflector::generatePassword(), 'user_type' => User::TYPE_NORMAL_USER), array('first' => 'Samir', 'last' => 'Nagheenanajar', 'username' => '*****@*****.**', 'password' => inflector::generatePassword(), 'user_type' => User::TYPE_NORMAL_USER), array('first' => 'Bill', 'last' => 'Lumbergh', 'username' => '*****@*****.**', 'password' => inflector::generatePassword(), 'user_type' => User::TYPE_NORMAL_USER), array('first' => 'Milton', 'last' => 'Waddams', 'username' => '*****@*****.**', 'password' => inflector::generatePassword(), 'user_type' => User::TYPE_NORMAL_USER)); foreach ($sampleUsers as $sampleUser) { $userId = Bluebox_Tenant::initializeUser($created['accountId'], $created['locationId'], $sampleUser); Bluebox_Tenant::createUserExtension($userId); } } if ($this->session->get('installer.tel_driver') == 'freeswitch') { Event::run('freeswitch.reload.xml'); Event::run('freeswitch.reload.acl'); Event::run('freeswitch.reload.sofia'); } self::_resetWizard(); $this->session->delete('Bluebox_message'); // Disable the installer after a successful installtion self::updateConfig(array('installer_enabled' => 'FALSE'), 'config'); Kohana::log('info', 'Installer wizard terminated'); return $subview; }
public static function masqueradeUser($user_id, $retain_type = TRUE) { Doctrine::getTable('User')->getRecordListener()->get('MultiTenant')->setOption('disabled', TRUE); $user = Doctrine::getTable('User')->find($user_id, Doctrine::HYDRATE_ARRAY); Doctrine::getTable('User')->getRecordListener()->get('MultiTenant')->setOption('disabled', FALSE); if (!$user) { return FALSE; } if ($retain_type) { unset($user['user_type']); } $session = Session::instance(); $masquerades = $session->get('bluebox.user.masquerades', array()); $masquerades = arr::merge($user, $masquerades); $session->set('bluebox.user.masquerades', $masquerades); users::isUserAuthentic(); return TRUE; }