示例#1
0
 public static function getLanguage()
 {
     $uri = new Digitalus_Uri();
     $params = $uri->getParams();
     if (isset($params['language']) && !empty($params['language'])) {
         $currentLang = $params['language'];
     } else {
         $session = self::getSession();
         $key = self::LANGUAGE_KEY;
         $currentLang = $session->{$key};
         if (empty($currentLang)) {
             $siteSettings = new Model_SiteSettings();
             $currentLang = $siteSettings->get('default_language');
             if (empty($currentLang)) {
                 $config = Zend_Registry::get('config');
                 $currentLang = $config->language->defaultLocale;
             }
             if (empty($currentLang)) {
                 $locale = new Zend_Locale();
                 $currentLang = $locale->getLanguage();
             }
         }
     }
     self::setLanguage($currentLang);
     return $currentLang;
 }
示例#2
0
 public function appendUriParams()
 {
     $uri = new Digitalus_Uri();
     $params = $uri->getParams();
     if (is_array($params)) {
         $this->_page->setParams($params);
     }
 }
示例#3
0
 protected function _getAction($moduleParts)
 {
     // Check whether uri params are given and set the action respectively
     $uri = new Digitalus_Uri();
     $uriParams = $uri->getParams();
     $name = strtolower($moduleParts[0]);
     if (isset($uriParams['a']) && !empty($uriParams['a'])) {
         $action = $uriParams['a'];
     }
     if (isset($action) && !empty($action) && '' != $action && $this->_actionExists($name, $action)) {
         return $action;
     }
     return $moduleParts[1];
 }
 /**
  * The public challenge action for getting a new password
  *
  * @return void
  */
 public function changepasswordAction()
 {
     $uri = new Digitalus_Uri();
     $uriParams = $uri->getParams();
     if (!isset($uriParams['u']) || !isset($uriParams['c'])) {
         $this->_error;
     } else {
         $userName = $uriParams['u'];
         $challengeId = $uriParams['c'];
         $mdlChallenge = new Login_Challenge();
         if (!$mdlChallenge->isValid($challengeId, $userName)) {
             $this->_error = $this->view->getTranslation('Error: No valid challenge was found. Please try again!');
         } else {
             $changePasswordForm = new User_Form();
             $uri = $this->baseUrl . '/' . Digitalus_Toolbox_Page::getCurrentPageName() . '/p/a/changepassword/u/' . $userName . '/c/' . $challengeId;
             $changePasswordForm->setAction($uri);
             $changePasswordForm->getElement('name')->addValidators(array(array('UsernameExists', true)));
             $changePasswordForm->onlyChangepasswordActionElements(array('legend' => 'Change Password'));
             if ($this->_request->isPost() && $changePasswordForm->isValid($_POST)) {
                 $password = Digitalus_Filter_Post::get('password');
                 $passwordConfirm = Digitalus_Filter_Post::get('password_confirm');
                 $mdlUser = new Model_User();
                 if (!$mdlUser->updatePassword($userName, $password, true, $passwordConfirm)) {
                     $this->_error = $this->view->getTranslation("Error: Your password hasn't been updated!");
                 } else {
                     $mdlChallenge->invalidate($challengeId);
                     $this->_message = $this->view->getTranslation('Your password has been updated successfully!');
                 }
             } else {
                 $this->_message = $this->view->getTranslation('Please type in Your user name and Your new password.');
                 $this->view->form = $changePasswordForm;
             }
         }
     }
     $this->view->error = $this->_error;
     $this->view->message = $this->_message;
 }
示例#5
0
 public static function get($relative = true, $stripParams = true, $addParams = null)
 {
     $uri = new Digitalus_Uri();
     if ($relative) {
         $uriString = $uri->getRelative();
     } else {
         $uriString = $uri->getAbsolute();
     }
     $params = array();
     if ($stripParams == false) {
         $params = $uri->getParams();
     }
     if (is_array($addParams)) {
         foreach ($addParams as $k => $v) {
             $params[$k] = $v;
         }
     }
     $paramsString = null;
     if (is_array($params)) {
         foreach ($params as $k => $v) {
             $paramsString .= '/' . $k . '/' . $v;
         }
     }
     if ($paramsString != null) {
         $uriString .= '/p' . $paramsString;
     }
     return $uriString;
 }