From: Pascal Corpet Date: Wed, 23 Jun 2010 22:18:36 +0000 (+0200) Subject: Lets chef_surveyPerms to be silet (no page kill) X-Git-Tag: xorg/1.0.0~65 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=12678e901f4d02dedfb7ffcd31f41d509fb68a8d;p=platal.git Lets chef_surveyPerms to be silet (no page kill) --- diff --git a/modules/survey.php b/modules/survey.php index 6fadc20..03829f0 100644 --- a/modules/survey.php +++ b/modules/survey.php @@ -396,30 +396,34 @@ class SurveyModule extends PLModule // }}} // {{{ function check_surveyPerms() : checks the particular surveys access permissions - function check_surveyPerms(&$page, $survey) + function check_surveyPerms(&$page, $survey, $silent = false) { $this->load('survey.inc.php'); - if (!$survey->isMode(Survey::MODE_ALL)) { // if the survey is reserved to alumni - if (!S::logged()) { - return false; - } - $profile = S::user()->profile(); - if (!$profile) { - return false; - } - // checks promotion - $allowed = false; - foreach ($profile->yearspromo() as $p) { - if ($survey->checkPromo($p)) { - $allowed = true; - break; - } - } - if (!$allowed) { - $page->kill("Tu n'as pas accès à ce sondage car il est réservé à d'autres promotions."); + if ($survey->isMode(Survey::MODE_ALL)) { // if the survey is not reserved to alumni + return true; + } + if (!S::logged()) { + return false; + } + $profile = S::user()->profile(); + if (!$profile) { + return false; + } + // checks promotion + $allowed = false; + foreach ($profile->yearspromo() as $p) { + if ($survey->checkPromo($p)) { + $allowed = true; + break; } } - return true; + if ($allowed) { + return true; + } + if (!$silent) { + $page->kill("Tu n'as pas accès à ce sondage car il est réservé à d'autres promotions."); + } + return false; } // }}}