private function handleForm(Zend_Form $form, Staff $staff) { if ($this->_request->isPost() && $form->isValid($this->_request->getPost())) { try { $this->repository->save($staff, $form->getValues()); $this->_helper->entity->getManager()->flush(); // TODO bad design, redirect should not be here. } catch (\PDOException $e) { $this->_helper->flashMessenger(array('error', getGS("Could not save user '\$1'. Please make sure it doesn't already exist", $this->_request->getPost('username')))); $this->_helper->redirector->gotoSimple('add', 'staff', 'admin'); } catch (\InvalidArgumentException $e) { if ($e->getMessage() == 'email') { $this->_helper->flashMessenger(array('error', getGS("Could not save user with e-mail address '\$1'. Please make sure it doesn't already exist", $this->_request->getPost('email')))); } $this->_helper->redirector->gotoSimple('add', 'staff', 'admin'); } catch (\Exception $e) { $this->_helper->flashMessenger(array('error', getGS("Changing user type would prevent you to manage users. Aborted."))); $this->_helper->redirector->gotoSimple('edit', 'staff', 'admin', array('user' => $staff->getId())); } // add default widgets for new staff if ($this->_getParam('action') == 'add') { WidgetManager::SetDefaultWidgets($staff->getId()); } $this->_helper->flashMessenger(getGS('Staff member saved.')); $this->_helper->redirector->gotoSimple('edit', 'staff', 'admin', array('user' => $staff->getId())); } }
/** * Creates a new user. * * @param array * $p_values The user data * * @param bool * TRUE on success, FALSE on failure */ public function create($p_values = null) { global $LiveUserAdmin; if (is_array($p_values)) { $p_values['time_created'] = strftime("%Y-%m-%d %H:%M:%S", time()); } foreach ($p_values as $key => $value) { if ($key == 'UName') { $key = 'handle'; } $values[$key] = $value; } $values['perm_type'] = 1; if ($permUserId = $LiveUserAdmin->addUser($values)) { $filter = array('container' => 'perm', 'filters' => array('perm_user_id' => $permUserId)); $user = $LiveUserAdmin->getUsers($filter); $p_values['Id'] = $user[0]['auth_user_id']; $p_values['Password'] = $user[0]['passwd']; $this->fetch($p_values); if (function_exists("camp_load_translation_strings")) { camp_load_translation_strings("api"); } $logtext = getGS('User account "$1" ($2) created', $this->m_data['Name'], $this->m_data['UName']); Log::Message($logtext, null, 51); if ($user['0']['reader'] == 'N') { // add default widgets require_once dirname(__FILE__) . '/Extension/WidgetManager.php'; WidgetManager::SetDefaultWidgets($p_values['Id']); } return true; } return false; } // fn create
/** * Set default widgets for all existing users (called after install/upgrade) * @return void */ public static function SetDefaultWidgetsAll() { require_once dirname(__FILE__) . '/../User.php'; // do only once if (SystemPref::Get(self::SETTING) != NULL) { return; } SystemPref::Set(self::SETTING, time()); // set widgets per user $users = (array) User::GetUsers(); foreach ($users as $user) { WidgetManager::SetDefaultWidgets($user->getUserId()); } }
/** * Set default widgets for all existing users (called after install/upgrade) * @return void */ public static function SetDefaultWidgetsAll() { // do only once if (SystemPref::Get(self::SETTING) != NULL) { return; } SystemPref::Set(self::SETTING, time()); // set widgets per user $users = (array) $GLOBALS['controller']->getHelper('service')->getService('user')->findBy(array('is_admin' => 1)); foreach ($users as $user) { WidgetManager::SetDefaultWidgets($user->getUserId()); } }
/** * Set default widgets for all existing users (called after install/upgrade) * @return void */ public static function SetDefaultWidgetsAll() { $preferencesService = \Zend_Registry::get('container')->getService('system_preferences_service'); // do only once if ($preferencesService->get(self::SETTING) != NULL) { return; } $preferencesService->set(self::SETTING, time()); // set widgets per user $users = (array) $GLOBALS['controller']->getHelper('service')->getService('user')->findBy(array('is_admin' => 1)); foreach ($users as $user) { WidgetManager::SetDefaultWidgets($user->getUserId()); } }