X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fsurvey%2Fsurvey.inc.php;h=6f8ad08c1d60c23e6e3bdd96457074900702d416;hb=517ecea1229f166ce51fe443f428381ad5912f83;hp=497a7f86db54ed9224e826136903659615b3e1b3;hpb=45ea6160465aeba0aa780e49c12272819dedffd1;p=platal.git diff --git a/modules/survey/survey.inc.php b/modules/survey/survey.inc.php index 497a7f8..6f8ad08 100644 --- a/modules/survey/survey.inc.php +++ b/modules/survey/survey.inc.php @@ -1,6 +1,6 @@ isMode(self::MODE_XIDENT)) { // if the mode is non anonymous - $users = User::getBulkUsersWithUIDs(XDB::fetchAllAssoc('vid', 'SELECT v.id AS vid, v.uid - FROM survey_votes AS v - WHERE v.survey_id = {?} - ORDER BY vid ASC', - $this->id)); + $users = XDB::fetchAllAssoc('vid', 'SELECT v.id AS vid, v.uid + FROM survey_votes AS v + WHERE v.survey_id = {?} + ORDER BY vid ASC', + $this->id); } $sql = 'SELECT v.id AS vid, a.question_id AS qid, a.answer AS answer FROM survey_votes AS v @@ -221,9 +221,10 @@ class Survey $line[0] = $vid_; // the first field is a 'clean' vote id (not the one stored in database) if ($this->isMode(self::MODE_XIDENT)) { // if the mode is non anonymous if (array_key_exists($vid, $users)) { // and if the user data can be found - $line[1] = $users[$vid]->lastName(); // adds the user data (in the first fields of the line) - $line[2] = $users[$vid]->firstName();; - $line[3] = $users[$vid]->promo(); + $user=PlUser::getWithUID($users[$vid]); + $line[1] = $user->lastName(); // adds the user data (in the first fields of the line) + $line[2] = $user->firstName(); + $line[3] = $user->promo(); } } $vid_++; @@ -348,7 +349,10 @@ class Survey default: return null; } - $sql = 'SELECT id, title, end, mode + if (!S::user()->checkPerms(PERMS_USER)) { + $where .= XDB::format(' AND mode = {?}', self::MODE_ALL); + } + $sql = 'SELECT id, title, uid, end, mode FROM surveys WHERE '.$where.' ORDER BY end DESC;';