Merge remote branch 'origin/platal-0.10.2'
[platal.git] / modules / survey / survey.inc.php
index 5d5087a..6d8a410 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2009 Polytechnique.org                              *
+ *  Copyright (C) 2003-2010 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -83,6 +83,7 @@ class Survey
         if ($this->mode == self::MODE_ALL) {
             $args['promos'] = '';
         }
+        $args['promos'] = str_replace(' ', '', $args['promos']);
         $this->promos  = ($args['promos'] == '' || preg_match('#^(\d{4}-?|(\d{4})?-\d{4})(,(\d{4}-?|(\d{4})?-\d{4}))*$#', $args['promos']))? $args['promos'] : '#';
     }
     // }}}
@@ -189,7 +190,7 @@ class Survey
         $nbf = count($line);
         $users = array();
         if ($this->isMode(self::MODE_XIDENT)) { // if the mode is non anonymous
-            $users = User::getBulkUsersWithUIDs(XDB::fetchAllAssoc('vid', 'SELECT  v.id AS vid, v.user_id
+            $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',
@@ -340,7 +341,7 @@ class Survey
             return null;
         }
         $sql = 'SELECT id, title, end, mode
-                  FROM survey_surveys
+                  FROM surveys
                  WHERE '.$where.'
               ORDER BY end DESC;';
         if ($tpl) {
@@ -355,7 +356,7 @@ class Survey
     public static function retrieveSurvey($sid)
     {
         $sql = 'SELECT questions, title, description, end, mode, promos
-                  FROM survey_surveys
+                  FROM surveys
                  WHERE id={?}';
         $res = XDB::query($sql, $sid);
         $data = $res->fetchOneAssoc();
@@ -371,7 +372,7 @@ class Survey
     public static function retrieveSurveyInfo($sid)
     {
         $sql = 'SELECT title, description, end, mode, promos
-                  FROM survey_surveys
+                  FROM surveys
                  WHERE id={?}';
         $res = XDB::query($sql, $sid);
         return $res->fetchOneAssoc();
@@ -409,7 +410,7 @@ class Survey
     public function updateSurvey()
     {
         if ($this->valid) {
-            $sql = 'UPDATE survey_surveys
+            $sql = 'UPDATE surveys
                        SET questions={?},
                            title={?},
                            description={?},
@@ -432,8 +433,8 @@ class Survey
     // {{{ functions vote() and hasVoted() : handles vote to a survey
     public function vote($uid, $args)
     {
-        XDB::execute('INSERT INTO survey_votes
-                              SET survey_id={?}, user_id={?};', $this->id, $uid); // notes the user as having voted
+        XDB::execute('INSERT INTO  survey_votes
+                              SET  survey_id = {?}, uid = {?};', $this->id, $uid); // notes the user as having voted
         $vid = XDB::insertId();
         for ($i = 0; $i < count($this->questions); $i++) {
             $ans = $this->questions[$i]->checkAnswer($args[$i]);
@@ -450,9 +451,9 @@ class Survey
 
     public function hasVoted($uid)
     {
-        $res = XDB::query('SELECT id
-                             FROM survey_votes
-                            WHERE survey_id={?} AND user_id={?};', $this->id, $uid); // checks whether the user has already voted
+        $res = XDB::query('SELECT  id
+                             FROM  survey_votes
+                            WHERE  survey_id = {?} AND uid = {?};', $this->id, $uid); // checks whether the user has already voted
         return ($res->numRows() != 0);
     }
     // }}}
@@ -461,7 +462,7 @@ class Survey
     public static function deleteSurvey($sid)
     {
         $sql = 'DELETE s.*, v.*, a.*
-                  FROM survey_surveys AS s
+                  FROM surveys AS s
              LEFT JOIN survey_votes AS v
                     ON v.survey_id=s.id
              LEFT JOIN survey_answers AS a