예제 #1
0
파일: configure.php 프로젝트: swk/bluebox
 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();
 }
예제 #2
0
파일: installer.php 프로젝트: swk/bluebox
 /**
  * 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;
 }
예제 #3
0
파일: users.php 프로젝트: swk/bluebox
 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;
 }