本文整理汇总了PHP中UserController::getPreferredLanguage方法的典型用法代码示例。如果您正苦于以下问题:PHP UserController::getPreferredLanguage方法的具体用法?PHP UserController::getPreferredLanguage怎么用?PHP UserController::getPreferredLanguage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UserController
的用法示例。
在下文中一共展示了UserController::getPreferredLanguage方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: validateDetails
/**
* Validate problem Details API
*
* @param Request $r
* @throws ApiException
* @throws InvalidDatabaseOperationException
* @throws NotFoundException
* @throws ForbiddenAccessException
*/
private static function validateDetails(Request $r)
{
Validators::isStringNonEmpty($r['contest_alias'], 'contest_alias', false);
Validators::isStringNonEmpty($r['problem_alias'], 'problem_alias');
// Lang is optional. Default is user's preferred.
if (!is_null($r['lang'])) {
Validators::isStringOfMaxLength($r['lang'], 'lang', 2);
} else {
$r['lang'] = UserController::getPreferredLanguage($r);
}
try {
$r['problem'] = ProblemsDAO::getByAlias($r['problem_alias']);
} catch (Exception $e) {
throw new InvalidDatabaseOperationException($e);
}
if (is_null($r['problem'])) {
throw new NotFoundException('problemNotFound');
}
if (isset($r['statement_type']) && !in_array($r['statement_type'], array('html', 'markdown'))) {
throw new NotFoundException('invalidStatementType');
}
// If we request a problem inside a contest
if (!is_null($r['contest_alias'])) {
// Is the combination contest_id and problem_id valid?
try {
$r['contest'] = ContestsDAO::getByAlias($r['contest_alias']);
if (is_null($r['contest'])) {
throw new NotFoundException('contestNotFound');
}
if (is_null(ContestProblemsDAO::getByPK($r['contest']->getContestId(), $r['problem']->getProblemId()))) {
throw new NotFoundException('problemNotFoundInContest');
}
} catch (ApiException $apiException) {
throw $apiException;
} catch (Exception $e) {
throw new InvalidDatabaseOperationException($e);
}
// If the contest is private, verify that our user is invited
$contest_admin = Authorization::IsContestAdmin($r['current_user_id'], $r['contest']);
if ($r['contest']->public != '1') {
if (is_null(ContestsUsersDAO::getByPK($r['current_user_id'], $r['contest']->contest_id)) && !$contest_admin) {
throw new ForbiddenAccessException();
}
}
// If the contest has not started, user should not see it, unless
// it is admin
if (!ContestsDAO::hasStarted($r['contest']) && !$contest_admin) {
throw new ForbiddenAccessException('contestNotStarted');
}
} else {
if (!Authorization::CanEditProblem($r['current_user_id'], $r['problem'])) {
// If the problem is requested outside a contest, we need to
// check that it is not private
if ($r['problem']->public != '1') {
throw new ForbiddenAccessException('problemIsPrivate');
}
}
}
}
示例2: Request
}
$userRequest = new Request($_REQUEST);
$session = SessionController::apiCurrentSession($userRequest);
if ($session['valid']) {
$smarty->assign("LOGGED_IN", "1");
UITools::$IsLoggedIn = true;
$smarty->assign("CURRENT_USER_USERNAME", $session["username"]);
$smarty->assign("CURRENT_USER_EMAIL", $session["email"]);
$smarty->assign("CURRENT_USER_IS_EMAIL_VERIFIED", $session["is_email_verified"]);
$smarty->assign("CURRENT_USER_IS_ADMIN", $session["is_admin"]);
$smarty->assign("CURRENT_USER_PRIVATE_CONTESTS_COUNT", $session["private_contests_count"]);
$smarty->assign("CURRENT_USER_PRIVATE_PROBLEMS_COUNT", $session["private_problems_count"]);
$smarty->assign("CURRENT_USER_AUTH_TOKEN", $session["auth_token"]);
$smarty->assign("CURRENT_USER_GRAVATAR_URL_128", '<img src="https://secure.gravatar.com/avatar/' . md5($session["email"]) . '?s=92">');
$smarty->assign("CURRENT_USER_GRAVATAR_URL_16", '<img src="https://secure.gravatar.com/avatar/' . md5($session["email"]) . '?s=16">');
$smarty->assign("CURRENT_USER_GRAVATAR_URL_32", '<img src="https://secure.gravatar.com/avatar/' . md5($session["email"]) . '?s=32">');
UITools::$isAdmin = $session["is_admin"];
$userRequest["username"] = $session["username"];
} else {
$smarty->assign("CURRENT_USER_GRAVATAR_URL_128", '<img src="/media/avatar_92.png">');
$smarty->assign("CURRENT_USER_GRAVATAR_URL_16", '<img src="/media/avatar_16.png">');
}
$lang = UserController::getPreferredLanguage($userRequest);
if (defined("OMEGAUP_DEVELOPMENT_MODE") && OMEGAUP_DEVELOPMENT_MODE) {
$smarty->force_compile = true;
$smarty->caching = 0;
}
$smarty->configLoad(__DIR__ . "/../templates/" . $lang . ".lang");
}
// Load pager class
require_once 'libs/Pager.php';
示例3: validateDetails
/**
* Validate problem Details API
*
* @param Request $r
* @throws ApiException
* @throws InvalidDatabaseOperationException
* @throws NotFoundException
* @throws ForbiddenAccessException
*/
private static function validateDetails(Request $r)
{
Validators::isStringNonEmpty($r["contest_alias"], "contest_alias", false);
Validators::isStringNonEmpty($r["problem_alias"], "problem_alias");
// Lang is optional. Default is user's preferred.
if (!is_null($r["lang"])) {
Validators::isStringOfMaxLength($r["lang"], "lang", 2);
} else {
$r['lang'] = UserController::getPreferredLanguage($r);
}
try {
$r["problem"] = ProblemsDAO::getByAlias($r["problem_alias"]);
} catch (Exception $e) {
throw new InvalidDatabaseOperationException($e);
}
if (is_null($r["problem"])) {
throw new NotFoundException("problemNotFound");
}
if (isset($r["statement_type"]) && !in_array($r["statement_type"], array("html", "markdown"))) {
throw new NotFoundException("invalidStatementType");
}
// If we request a problem inside a contest
if (!is_null($r["contest_alias"])) {
// Is the combination contest_id and problem_id valid?
try {
$r["contest"] = ContestsDAO::getByAlias($r["contest_alias"]);
if (is_null($r["contest"])) {
throw new NotFoundException("contestNotFound");
}
if (is_null(ContestProblemsDAO::getByPK($r["contest"]->getContestId(), $r["problem"]->getProblemId()))) {
throw new NotFoundException("problemNotFoundInContest");
}
} catch (ApiException $apiException) {
throw $apiException;
} catch (Exception $e) {
throw new InvalidDatabaseOperationException($e);
}
// If the contest is private, verify that our user is invited
if ($r["contest"]->getPublic() === 0) {
if (is_null(ContestsUsersDAO::getByPK($r["current_user_id"], $r["contest"]->getContestId())) && !Authorization::IsContestAdmin($r["current_user_id"], $r["contest"])) {
throw new ForbiddenAccessException();
}
}
// If the contest has not started, user should not see it, unless it is admin
if (!ContestsDAO::hasStarted($r["contest"]) && !Authorization::IsContestAdmin($r["current_user_id"], $r["contest"])) {
throw new ForbiddenAccessException("contestNotStarted");
}
} else {
if (!Authorization::CanEditProblem($r["current_user_id"], $r["problem"])) {
// If the problem is requested outside a contest, we need to check that it is not private
if ($r["problem"]->getPublic() == "0") {
throw new ForbiddenAccessException("problemIsPrivate");
}
}
}
}