/** * Executes index action * * @param sfRequest $request A request object */ public function executeLogin(sfWebRequest $request) { $this->redirectIf($this->getUser()->isAuthenticated(), '@homepage'); $this->form = new LoginForm(); if ($request->hasParameter('l_err') && $request->getParameter('l_err', '0') == '1') { $error = new sfValidatorError(new savedValidator(), 'Bad login or password'); $this->form->getErrorSchema()->addError($error); } if ($request->isMethod('post')) { $this->form->bind($request->getParameter('login')); if ($this->form->isValid()) { $this->getUser()->setAuthenticated(true); sfContext::getInstance()->getLogger()->debug('LOGIN: '******'username') . ' ' . $this->form->user->getId()); $this->getUser()->setAttribute('db_user_id', $this->form->user->getId()); $this->getUser()->setAttribute('db_user_type', $this->form->user->getDbUserType()); if (in_array($this->form->user->getSelectedLang(), array('en', 'fr', 'nl'))) { $this->getUser()->setCulture($this->form->user->getSelectedLang()); } $this->getUser()->setHelpIcon(Doctrine::getTable("Preferences")->getPreference($this->form->user->getId(), 'help_message_activated', true)); if ($request->getReferer()) { $this->redirect($request->getReferer()); } else { $this->redirect('@homepage'); } } else { sfContext::getInstance()->getLogger()->notice('Bad username or password'); } } }
public function executeSelect(sfWebRequest $request) { $scm_id = $request->getParameter('scm_id'); $this->forward404Unless($scm_id); $this->getUser()->setSelectedScmId($scm_id); // redirect back to the referrer or if not set; the homepage $this->redirect($request->getReferer() ? $request->getReferer() : '@homepage'); }
/** * Executes index action * * @param sfRequest $request A request object */ public function executeSwitch(sfWebRequest $request) { $this->getUser()->setCulture($request->getParameter('langage')); if ($request->isMethod('POST') && $request->getReferer()) { $this->redirect($request->getReferer()); } else { $this->redirect('@homepage'); } }
/** * Renders a form that makes it possible for the user to login * @param sfWebRequest $request */ public function executeLogin(sfWebRequest $request) { //set the referrer used when loggin in. $this->getUser()->setReferer($this->getContext()->getActionStack()->getSize() > 1 ? $request->getUri() : $request->getReferer()); $this->form = new sfAuthSigninForm(); if ($request->isMethod('post')) { $this->form->bind($request->getParameter('sf_auth_signin')); if ($this->form->isValid()) { $this->getUser()->setFlash('success', $this->getContext()->getI18N()->__('Welcome back :)')); $referer = $this->getUser()->getReferer($request->getReferer()); $this->redirectUnless(empty($referer), $referer); $this->redirect('@homepage'); } } }
public function executeLogin(sfWebRequest $request) { global $CFG, $SESSION; if ($CFG->current_app->isMoodle()) { // Check to see if the logged out user has a cookie showing what institution they are from $institution = $CFG->current_app->getInstitutionFromCookie(); $url = $CFG->current_app->getInstitutionJumpUrl($SESSION->wantsurl, $institution); if (!$url) { $url = $CFG->current_app->getInstitutionJumpUrl($SESSION->wantsurl); } // If a unauthenicated user clicks on a course instance link from the course category page // in Moodle, we can assume that they are probably a new user on the system. Therefore, // we set up a registration type gcr_wants_url record to bring them back to the course // after registration is complete. if (strpos($request->getReferer(), $CFG->current_app->getAppUrl() . '/course/category.php') === 0 && strpos($SESSION->wantsurl, $CFG->current_app->getAppUrl() . '/course/view.php') === 0) { if (!$institution) { $institution = $CFG->current_app->getInstitution(); } $wants_url = GcrWantsUrlTable::createWantsUrl('simple', $institution, $url); $this->redirect($institution->getUrl() . '/eschool/registration?url=' . $wants_url); } else { $this->redirect($url); } } else { $this->redirect($CFG->current_app->getAppUrl()); } }
/** * Saves new or update role. Echoes error/success message */ public function executeSave(sfWebRequest $request) { if (!$this->getUser()->hasCredential(array('Administrator'), false)) { $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer()); $this->redirect('dashboard/index'); } $id = $request->getParameter('id'); if ($id) { $role = RolePeer::retrieveByPK($id); if (!$role instanceof Role) { return $this->renderText('<span style="color:red;">Role not found or is removed!</span>'); } $form = new RoleForm($role); } else { $form = new RoleForm(); } unset($form['_csrf_token']); $form->bind($request->getPostParameters()); if ($form->isValid()) { $form->save(); return $this->renderText('Role has been successfully saved!'); } else { # FIXME display other field errors echo 'e1'; # has error echo '<span style="color:red;">' . $form['title']->getError()->getMessage() . '</span>'; } return sfView::NONE; }
public function executeSwitch(sfWebRequest $request) { $referer = $request->getReferer(); if ($request->hasParameter("lang")) { $lang = $request->getParameter('lang'); } else { $lang = $request->getPreferredCulture(array('en', 'hu')); } if ($lang != 'en' && $lang != 'hu') { $lang = $request->getPreferredCulture(array('en', 'hu')); } $this->getUser()->setCulture($lang); $pos = strpos($referer, '/hu/'); if ($pos === false) { $pos = strpos($referer, '/en/'); if ($pos === false) { $whereto = false; } else { $eleje = substr($referer, 0, $pos); $whereto = substr($referer, $pos + 4); } } else { $eleje = substr($referer, 0, $pos); $whereto = substr($referer, $pos + 4); } if (!$whereto) { $this->redirect('localized_homepage'); } else { $this->redirect($eleje . "/" . $lang . "/" . $whereto); } }
public function executeDelete(sfWebRequest $request) { $vars = Doctrine::getTable('TransUnit')->createQuery()->from('TransUnit tu')->where('tu.source = ?', $this->getRoute()->getObject()->getSource())->andWhere('tu.variable_id IS NULL')->execute(); $this->getUser()->setFlash('notice', 'Translation deleted.'); $vars->delete(); $this->redirect($request->getReferer()); }
public function executeAdd(sfWebRequest $r) { if ($r->isMethod('post')) { // Loading form $f = new PmMessagesForm(); // Binding fields $f->bind($r->getParameter($f->getName())); // If form is valid if ($f->isValid()) { // We can save it. $m = $f->save(); // Update topic with last message Doctrine_Query::create()->update("PmTopics")->set("updated_at", '"' . $m->getCreatedAt() . '"')->where('id = ?', $m->getPmid())->execute(); // Set every people in this MP to unreaded Doctrine_Query::create()->update('PmParticipants')->set('readed', 0)->where('mpid = ?', $m->getPmid())->andWhere('mpmid != ?', $this->getUser()->getAttribute("id"))->execute(); // Send notif $users = Doctrine::getTable('PmParticipants')->findByMpid($m->getPmid()); $pmTopic = $m->PmTopics; foreach ($users as $user) { Doctrine::getTable('Notifications')->setNotification("sent a new private message.", "email_add.png", '<strong>' . $pmTopic->getTitle() . '</strong>', '@pm?slug=' . $pmTopic->getSlug())->setOwner($user->getMpmid())->save(); } // Redirect to topic $this->redirect($r->getReferer()); } } else { $this->forward404(); } }
/** * Fonction de redirection au changement de profils dans le menu latéral gauche. * @param sfWebRequest $request * @return type */ public function executeForwardTo(sfWebRequest $request) { //récupération et parsing de l'URL référente. $referer = $request->getReferer(); $url = parse_url($referer); $path = trim($url['path'], '/'); if (!sfConfig::get('sf_no_script_name') && ($pos = strpos($path, '/'))) { $path = substr($path, $pos + 1); } //récupération et setting des paramètres du profils $params = sfContext::getInstance()->getRouting()->findRoute('/' . $path); $params['parameters']['profile_id'] = $request->getParameter('profile_id'); $params['parameters']['profile_ref'] = $request->getParameter('profile_ref'); $params['parameters']['profile_name'] = Doctrine_Core::getTable('EiProfil')->findOneByProfileRefAndProfileId($request->getParameter('profile_ref'), $request->getParameter('profile_id'))->getName(); $URLParams = array('project_id' => $request->getParameter('project_id'), 'project_ref' => $request->getParameter('project_ref'), 'profile_id' => $params['parameters']['profile_id'], 'profile_ref' => $params['parameters']['profile_ref'], 'profile_name' => $params['parameters']['profile_name'], 'ei_scenario_id' => $request->getParameter('ei_scenario_id'), 'action' => $params['parameters']['action']); // Ajout des paramètres obligatoires manquants. $paramsOmis = array_diff_key($params['parameters'], $URLParams, array("module" => "", "sf_culture" => "")); foreach ($paramsOmis as $ind => $p) { $URLParams[$ind] = $p; } //Avant la redirection , on change les données du profil en session utilisateur $this->getUser()->setAttribute("current_profile_name", $params['parameters']['profile_name']); $this->getUser()->setAttribute("current_profile_id", $params['parameters']['profile_id']); $this->getUser()->setAttribute("current_profile_ref", $params['parameters']['profile_ref']); return $this->redirect($params['name'], $params['parameters']); }
public function executeShowby(sfWebRequest $request) { if (in_array($this->getRequestParameter('val'), categoryPageActions::$showByAr)) { $this->getUser()->setAttribute('showby', $this->getRequestParameter('val')); } // remove "page=" parameter to prevent last page error when increasing "showby" $link = preg_replace('/(&?)page=(\\d+)/', '', $request->getReferer()); $this->redirect($link); }
/** * Executes index action * * @param sfRequest $request A request object */ public function executeCreate(sfWebRequest $request) { $form = new NoteForm(); if ($form->bindAndSave($request->getParameter('note'))) { $this->redirectFromCreate($form); } else { $this->redirect($request->getReferer()); } }
public function executeFilter(sfWebRequest $request) { $this->filters = $this->configuration->getFilterForm(); $this->filters->bind($request->getParameter($this->filters->getName())); if ($this->filters->isValid()) { $this->configuration->setFilters($this->filters->getValues()); } $this->redirect($request->getReferer()); }
public function executeCardLogin(sfWebRequest $request) { if ($this->getUser()->isAuthenticated()) { $this->redirect('home/index'); $request->setAttribute('referer', $request->getReferer()); } $this->form = new CardLoginForm(); $this->cardLoginError = $this->getUser()->hasFlash('cardLoginError'); }
public function executeSwitch(sfWebRequest $request) { $user = $this->getUser(); $available_cultures = $user->getAvailableCultures(); if (!array_key_exists($request->getParameter('lang'), $available_cultures)) { $this->forward($this->getModuleName(), 'oops'); } $user->setCulture($request->getParameter('lang')); $this->redirect($request->getReferer()); }
public function executeResend(sfWebRequest $request) { $this->forward404Unless( $ds_class_letter = $this->getRoute()->getObject() ); $count = $ds_class_letter->addFromEnrolments(); $this->getUser()->setFlash('notice', sprintf('Diese Email wird jetzt an %s neue Empfänger geschickt.', $count ) ); $this->redirect( $request->getReferer() ); }
public function executeReport(sfWebRequest $request) { $this->form = new CommentReportForm(null, array('id_comment' => $request->getParameter('id'), 'referer' => $request->getReferer() . "#" . $request->getParameter('num'))); if ($request->isMethod('post')) { $this->form->bind($request->getParameter($this->form->getName())); if ($this->form->isValid()) { $this->form->save(); $this->redirect("@commentReportSent"); } } }
public function executeDelete(sfWebRequest $request) { $request->checkCSRFProtection(); $accountentry = $this->getRoute()->getObject(); $account = $accountentry->getAccount(); $this->dispatcher->notify(new sfEvent($this, 'admin.delete_object', array('object' => $this->getRoute()->getObject()))); if ($accountentry->delete()) { $this->getUser()->setFlash('notice', 'The item was deleted successfully.'); } $this->redirect($request->getReferer()); }
/** * Сменить валюту */ public function executeChange(sfWebRequest $request) { $currency = myCurrencyTable::getInstance()->findOneById((int) $request->getParameter('currency')); $this->forward404Unless($currency); $this->getUser()->setAttribute('id', $currency->getId(), 'currency'); $this->getUser()->setAttribute('format', $currency->getFormat(), 'currency'); if ($referer = $request->getReferer()) { return $this->redirect($referer); } else { return $this->redirect('homepage'); } }
public function executePriority(sfWebRequest $request) { switch ($request->getParameter('order')) { case 'up': Doctrine::getTable('ProductFile')->increasePriority($request->getParameter('id')); break; case 'down': Doctrine::getTable('ProductFile')->decreasePriority($request->getParameter('id')); break; } $this->redirect($request->getReferer()); }
public function executeDelete(sfWebRequest $request) { #security if (!$this->getUser()->hasCredential(array('Administrator', 'Staff', 'Volunteer'), false)) { $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer()); $this->redirect('dashboard/index'); } $request->checkCSRFProtection(); $this->forward404Unless($event_reservation = EventReservationPeer::retrieveByPk($request->getParameter('id')), sprintf('Object event_reservation does not exist (%s).', $request->getParameter('id'))); $event_reservation->delete(); $this->redirect('eventReservation/index'); }
public function executeDelete(sfWebRequest $request) { if (!$this->getUser()->hasCredential(array('Administrator'), false)) { $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer()); $this->redirect('dashboard/index'); } $request->checkCSRFProtection(); $this->forward404Unless($wing_leader = WingLeaderPeer::retrieveByPk($request->getParameter('id')), sprintf('Object wing_leader does not exist (%s).', $request->getParameter('id'))); $wing_leader->delete(); $this->getUser()->setFlash("success", "Wing Leader Deleted Successfully"); $this->redirect("person/view?id=" . $request->getParameter("person_id")); }
public function executeSend(sfWebRequest $request) { $this->forward404Unless($request->isMethod('post')); if ($this->getUser()->getApiUserId()) { sfConfig::set('app_recaptcha_active', false); } $this->form = new FeedbackForm(); if ($this->getUser()->getApiUserId()) { unset($this->form['name']); unset($this->form['email']); } $requestData = $request->getParameter($this->form->getName()); if (sfConfig::get('app_recaptcha_active', false)) { $requestData['challenge'] = $this->getRequestParameter('recaptcha_challenge_field'); $requestData['response'] = $this->getRequestParameter('recaptcha_response_field'); } $this->form->bind($requestData); if ($this->form->isValid()) { if ($this->getUser()->getApiUserId()) { $user_data = Api::getInstance()->get('user/' . $this->getUser()->getApiUserId(), true); $user = ApiDoctrine::createQuickObject($user_data['body']); } else { $user = null; } $values = $this->form->getValues(); $name = $this->getUser()->getApiUserId() ? $user->getPreferredName() ? $user->getPreferredName() : $user->getFullName() : $this->form->getValue('name'); $email = $this->getUser()->getApiUserId() ? $user->getEmailAddress() : $this->form->getValue('email'); $signinUrl = $this->getUser()->getReferer($request->getReferer()); $message = $name . ' ' . $email . "\n" . $values['message'] . "\nReferer:" . $signinUrl; $to = ProjectConfiguration::getApplicationFeedbackAddress(); $subjects = sfConfig::get('app_feedback_subjects', array()); $subject = ProjectConfiguration::getApplicationName() . ': ' . (array_key_exists($values['subject'], $subjects) ? $subjects[$values['subject']] : $values['subject']); $from_address = $this->getUser()->getApiUserId() ? "{$name} <{$email}>" : ProjectConfiguration::getApplicationEmailAddress(); AppMail::sendMail($to, $from_address, $subject, $message); $this->getUser()->setFlash('notice', 'Your message has been sent to ' . ProjectConfiguration::getApplicationName() . '.'); return $this->redirect('' != $signinUrl ? $signinUrl : '@homepage'); } $this->getUser()->setReferer($this->getContext()->getActionStack()->getSize() > 1 ? $request->getUri() : $request->getReferer()); $this->setTemplate('feedback'); }
public function executeLogin(sfWebRequest $request) { $this->form = new uapvLoginForm(); if ($request->isMethod('post')) { $form_info = $request->getParameter('login'); $this->form->bind($form_info); if ($this->form->isValid()) { // Quel type d'authentification a été choisit lors de l'installation? $auth_type = sfConfig::get('app_authentication_type'); if ($auth_type == 'bdd') { $bd = new uapvDB(); $resp = $bd->checkPassword($form_info['username'], $form_info['password']); if ($resp) { $this->getContext()->getUser()->signIn($form_info['username']); $this->getContext()->getUser()->addCredentials('member'); $this->redirect($request->getReferer()); } else { $this->getContext()->getUser()->setFlash('error', 'Identifiant ou mot de passe erroné.'); } } else { if ($auth_type == 'ldap') { $ldap = new uapvLdap(); $this->getContext()->set('ldap', $ldap); // "uid=..." à changer, pour utiliser les paramètres de configuration // pour que ça marche avec un LDAP qui n'a pas des uid mais des trululuid. $resp = $ldap->checkPassword(sfConfig::get('app_profile_var_translation_uid', 'uid') . "=" . $form_info['username'], $form_info['password']); if ($resp) { // Si l'utilisateur a entré le bon login et le bon mdp, on l'autorise // à accéder à l'appli. $this->getContext()->getUser()->signIn($form_info['username']); $this->getContext()->getUser()->addCredentials('member'); $this->redirect($request->getReferer()); } else { $this->getContext()->getUser()->setFlash('error', 'Identifiant ou mot de passe erroné.'); } } } } } }
public function executePluginRemove(sfWebRequest $request) { $pluginAuthor = $this->getRoute()->getObject(); if ($this->getUser()->isUser($pluginAuthor['Author'])) { $plugin = $pluginAuthor['Plugin']; $pluginAuthor->delete(); $this->getUser()->setFlash('notice', sprintf('You have removed "%s" from your plugins', $plugin)); } else { $this->getUser()->setFlash('error', 'You do not have the permission to perform this function'); } $referer = $request->getReferer(); $this->redirect($referer ? $referer : '@homepage'); }
/** * Execute Login action * * @param sfWebRequest $request A request object */ public function executeLogin(sfWebRequest $request) { $user = $this->getUser(); if ($user->isAuthenticated()) { return $this->redirect('@homepage'); } $this->form = new LoginForm(); if ($request->isMethod('post')) { $this->form->bind($request->getParameter($this->form->getName())); if ($this->form->isValid()) { $values = $this->form->getValues(); $this->getUser()->signin($values['user'], array_key_exists('remember', $values) ? $values['remember'] : false); $signinUrl = $user->getReferer($request->getReferer()); return $this->redirect('' != $signinUrl ? $signinUrl : '@homepage'); } } else { $user->setReferer($this->getContext()->getActionStack()->getSize() > 1 ? $request->getUri() : $request->getReferer()); if ($this->getModuleName() != 'auth') { return $this->redirect('@login'); } $this->getResponse()->setStatusCode(401); } }
public function executeSignin(sfWebRequest $request) { $login = $request->getParameter('login'); $pwd = $request->getParameter('pwd'); if ($login != null && $pwd != null) { try { $result_connect = MyFunction::connexionDistante($login, $pwd); //Si le fichier est vide if ($result_connect == null) { throw new Exception('Empty File . Contact administrator'); } } catch (Exception $e) { $this->getUser()->setFlash('error_connexion', $e->getMessage()); $this->redirect('@homepage'); } if (is_array($result_connect)) { $guard_tab = $result_connect['guard_tab']; //On vérifie que l'utilisateur n'est pas désactivé coté script if ($guard_tab['is_active'] != 1) { $this->getUser()->setFlash('error_connexion', sprintf('Inactive user . Contact administrator to no more about')); $this->redirect('@homepage'); } $ei_user_tab = $result_connect['ei_user_tab']; $guard_user = Doctrine_Core::getTable("sfGuardUser")->findOneBy('username', $guard_tab['username']); /* * Si l'utilisateur se connecte pour la premiere fois * ou s'il n'est pas enregistré , on le crée */ if (!$guard_user || $guard_user == null) { $guard_user = Doctrine_Core::getTable('sfGuardUser')->createUser($guard_tab, $ei_user_tab); } $this->getUser()->setAttribute('user_id', $guard_user->getId(), 'sfGuardSecurityUser'); $this->getUser()->setAuthenticated(true); $this->getUser()->setFlash('valid_connexion', sprintf('connexion accepted')); //$this->redirect('@recharger_projet'); $signinUrl = $request->getReferer(); return $this->redirect('' != $signinUrl ? $signinUrl : '@homepage'); } else { if ($result_connect == null) { $this->getUser()->setFlash('error_connexion', sprintf('Connexion error , unexpected raison ... Contact administrator')); } else { $this->getUser()->setFlash('error_connexion', sprintf($result_connect)); } $this->redirect('@homepage'); } } else { $this->getUser()->setFlash('error_connexion', sprintf('Empty fields.')); } return $this->redirect('@homepage'); }
public function executeChange(sfWebRequest $request) { $languages = sfConfig::get('app_languages'); //array('fr','en') ; // it would be nice if this variable // could be global to the application... $lang = $request->getParameter('lang'); if (array_key_exists($lang, $languages)) { $user = Doctrine::getTable('user')->find($this->getUser()->getProfileVar(sfConfig::get('app_user_id'))); $user->setLanguage($lang); $user->save(); $this->getUser()->setCulture($lang); } $this->redirect($request->getReferer()); }
/** * * @param sfWebRequest $request * @return type */ public function executeSignin($request) { $user = $this->getUser(); if ($user->isAuthenticated()) { return $this->redirect('@homepage'); } $class = sfConfig::get('app_sf_guard_plugin_signin_form', 'sfGuardFormSignin'); $this->form = new $class(); if ($request->isMethod('post')) { $this->form->bind($request->getParameter('signin')); if ($this->form->isValid()) { $values = $this->form->getValues(); $this->getUser()->signin($values['user'], array_key_exists('remember', $values) ? $values['remember'] : false); // always redirect to a URL set in app.yml // or to the referer // or to the homepage $signinUrl = sfConfig::get('app_sf_guard_plugin_success_signin_url', $user->getReferer($request->getReferer())); if (!$request->isXmlHttpRequest()) { return $this->redirect('' != $signinUrl ? $signinUrl : '@homepage'); } } } else { if ($request->isXmlHttpRequest()) { $this->getResponse()->setHeaderOnly(true); $this->getResponse()->setStatusCode(401); return sfView::NONE; } // if we have been forwarded, then the referer is the current URL // if not, this is the referer of the current request $user->setReferer($this->getContext()->getActionStack()->getSize() > 1 ? $request->getUri() : $request->getReferer()); $module = sfConfig::get('sf_login_module'); if ($this->getModuleName() != $module) { return $this->redirect($module . '/' . sfConfig::get('sf_login_action')); } $this->getResponse()->setStatusCode(401); } }
public function executeToggleComment(sfWebRequest $request) { $post = $this->getRoute()->getObject(); $post->setAllowComments(!$post->getAllowComments()); $post->save(); if($referer = $request->getReferer()) { $this->redirect($referer); } else { $this->redirect('@sf_simple_blog_post'); } }