Exemple #1
0
function smarty_block_url($params, $content, $smarty, $repeat) {
	$tpl_vars = $smarty->_tpl_vars;
    // only output on the closing tag
    if (!$repeat) {
        if (isset($content)) {
			$urlparams = array();
			$locale_code = $tpl_vars['locale_code'];
			$request_locale = $tpl_vars['request_locale'];
			if($request_locale && $locale_code != $request_locale) {
				$urlparams['locale_code'] = strtolower($request_locale);
			} elseif (!is_null($locale_code) && RivetyCore_Translate::validateLocaleCode($locale_code)) {
				$urlparams['locale_code'] = strtolower($locale_code);
			}
			$url_filter = new RivetyCore_Url_Filter();
			return $url_filter->filter($content, $urlparams);
		}
	}
}
Exemple #2
0
	protected function _getConfirmationUrl($email, $url = "/default/user/resetpassword/email/")
	{
		$salt = RivetyCore_Registry::get('salt');
		$url_filter = new RivetyCore_Url_Filter();
		$outstr = RivetyCore_Registry::get('site_url') . $url_filter->filter($url, array('locale_code' => $this->locale_code)) . urlencode($email);
		$outstr .= "/code/".md5($email . $salt);
		return $outstr;
	}
	function setcookieAction() {
		// TODO maybe? - prevent people from viewing this page if localization is not enabled
		$request = new RivetyCore_Request($this->getRequest());
		if ($request->has("code") && $request->code != "") {
			$locale_code = $request->code;
			$time = RivetyCore_Registry::get('locale_cache_lifetime');
			if (RivetyCore_Translate::validateLocaleCode($locale_code)) {
				setcookie("locale_code", $locale_code, time() + $time , "/");
				if ($request->has("return_url")) {
					$url_filter = new RivetyCore_Url_Filter();
					header("Location: ".$url_filter->filter($request->return_url, array('locale_code' => $locale_code)));
				} else {
					header("Location: /".$locale_code);
				}
			}
		} else {
			$this->_redirect("/default/locale/choose/");
		}
	}