/** * Load the theme a user wants to use * * @param sfWebRequest $request * @return <type> */ public function executeLoadUserTheme(sfWebRequest $request) { $tm = new ThemeManagement(); $defaultTheme = UserSettingTable::instance()->getUserSettingById($request->getParameter('id'))->toArray(); $tm->setContext($this->getContext()); $data = $tm->getThemes(); $data = $tm->checkDefault($data, $defaultTheme[0]['theme']); $this->renderText('({"result":'.json_encode($data).'})'); return sfView::NONE; }
public function setData() { $userSettings = UserSettingTable::instance()->getUserSettingById($this->user_id)->toArray(); $replayAdress = EmailConfigurationTable::instance()->getEmailConfiguration()->toArray(); $userLogin = UserLoginTable::instance()->findActiveUserById($this->user_id); $userData = UserDataTable::instance()->getUserDataByUserId($this->user_id)->toArray(); $this->userSettings = $userSettings[0]; $this->userSettings['systemreplyaddress'] = $replayAdress[0]['systemreplyaddress']; $this->userData['username'] = $userLogin[0]->getUsername(); $this->userData['user_id'] = $userLogin[0]->getId(); $this->userData['email'] = $userLogin[0]->getEmail(); $this->userData['firstname'] = $userData[0]['firstname']; $this->userData['lastname'] = $userData[0]['lastname']; }
/** * Add the useragents for the user in the process to the array */ public function addUserAgentsAndUserSettingsAndTime() { for($a=0;$a<count($this->openProcesses);$a++) { $user = UserAgentTable::instance()->getAllUserAgents($this->openProcesses[$a]['user_id'])->toArray(); // get useraegnts for the user if(empty($user) == true) { $this->openProcesses[$a]['hasUserAgent'] = 0; } else { $this->openProcesses[$a]['hasUserAgent'] = 1; $this->openProcesses[$a]['useragents'] = $user; $userSettings = UserSettingTable::instance()->getUserSettingById($this->openProcesses[$a]['user_id'])->toArray(); $this->openProcesses[$a]['usersettings'] = $userSettings[0]; $this->openProcesses[$a]['useragenttime'] = $this->calculateUserAgentTime($userSettings[0]['durationtype'],$userSettings[0]['durationlength']); } } }
/** * Get first login flag of an user * * @return boolean */ public static function getFirstLogin() { $result = UserSettingTable::instance()->getFirstLogin(sfContext::getInstance()->getUser()->getAttribute('id'))->toArray(); return $result[0]['firstlogin']; }
/** * Create new user * @param sfWebRequest $request * @return <type> */ public function executeSaveUser(sfWebRequest $request) { $store = new UserCRUD(); $result = UserConfigurationTable::instance()->getUserConfiguration()->toArray(); $data = $request->getPostParameters(); $data = $store->prepareCreateData($data, $result[0]); $user_id = $store->saveLoginDataTab($data); UserSettingTable::instance()->updateUserSettingDurationtypeAndDurationlength($data, $user_id); UserDataTable::instance()->updateUserAdditinalData($data,$user_id); UserSettingTable::instance()->updateUserSetting($data,$user_id); $store->addUserAgent($data, $user_id); $store->saveWorklfowSettings($data['worklfow'], $user_id, 1); $this->renderText('{success:true}'); return sfView::NONE; }
/** * Function allows LinkLogin by an email and redirects to the needed actions * the redirect depends on systemsettings. it allows direct linklogin without authentication using loginmask * other possibility is, if no session is set using emaillogin, loginmask is shown and user needs to login * to fill the workflow * * @param sfWebRequest $request * @return <type> */ public function executeLinklogin(sfWebRequest $request) { $settings = AuthenticationConfigurationTable::instance()->getAuthenticationConfiguration()->toArray(); $user_id = $request->getParameter('userid'); if($settings[0]['allowdirectlogin'] == 1) { // allow direct login, without using login form $userLogin = UserLoginTable::instance()->findUserById($user_id); $arr = $userLogin->toArray(); // load User Data if($this->getUser()->isAuthenticated() == false) { // check if user is already logged in if(empty($arr) == false) { // a user has been found, -> user is not deleted $settings = UserSettingTable::instance()->getUserSettingById($user_id); // user is not logged in, set the settings $this->getUser()->setAuthenticated(true); $this->getUser()->setAttribute('id',$user_id); $this->getUser()->setAttribute('userrole',$userLogin[0]->getRoleId()); $this->getUser()->setCulture($settings[0]->getLanguage()); $this->getUser()->setAttribute('env', str_replace('/', '', $request->getScriptName())); $this->redirect($this->generateUrl('default', array('module' => 'layout', 'action' => 'index', 'versionid' => $request->getParameter('versionid'), 'workflow' => $request->getParameter('workflowid'), 'window' => $request->getParameter('window')))); } else { // user is not found or is deleted $this->redirect('login/index'); } } else { // user is already logged in $this->redirect($this->generateUrl('default', array('module' => 'layout', 'action' => 'index', 'versionid' => $request->getParameter('versionid'), 'workflow' => $request->getParameter('workflowid'), 'window' => $request->getParameter('window')))); } } else { // allow direct login is denied if($this->getUser()->isAuthenticated() == true) { // user is already logged in $this->redirect($this->generateUrl('default', array('module' => 'layout', 'action' => 'index', 'versionid' => $request->getParameter('versionid'), 'workflow' => $request->getParameter('workflowid'), 'window' => $request->getParameter('window')))); } else { // move to login page $this->redirect($this->generateUrl('default', array('module' => 'login', 'action' => 'index', 'versionid' => $request->getParameter('versionid'), 'workflow' => $request->getParameter('workflowid'), 'window' => $request->getParameter('window')))); } } return sfView::NONE; }