Prepares database for job terms.
[platal.git] / modules / survey / survey.inc.php
index 91f0505..0c0c645 100644 (file)
@@ -104,7 +104,9 @@ class Survey
             if ((preg_match('#^\d{4}$#', $p) && $p == $promo) ||
                 (preg_match('#^\d{4}-$#', $p) && intval(substr($p, 0, 4)) <= $promo) ||
                 (preg_match('#^-\d{4}$#', $p) && intval(substr($p, 1)) >= $promo) ||
-                (preg_match('#^\d{4}-\d{4}$#', $p) && intval(substr($p, 0, 4)) <= $promo && intval(substr($p, 5)) >= $promo)) {
+                (preg_match('#^\d{4}-\d{4}$#', $p) &&
+                    (intval(substr($p, 0, 4)) <= $promo && intval(substr($p, 5)) >= $promo ||
+                     intval(substr($p, 0, 4)) >= $promo && intval(substr($p, 5)) <= $promo ))) {
                     return true;
             }
         }
@@ -198,10 +200,9 @@ class Survey
         }
         $sql = 'SELECT v.id AS vid, a.question_id AS qid, a.answer AS answer
                   FROM survey_votes AS v
-             LEFT JOIN survey_answers AS a
-                    ON a.vote_id=v.id
+            INNER JOIN survey_answers AS a ON a.vote_id=v.id
                  WHERE v.survey_id={?}
-              ORDER BY vid ASC, qid ASC, answer ASC;';
+              ORDER BY vid ASC, qid ASC, answer ASC';
         $res = XDB::iterator($sql, $this->id); // retrieves all answers from database
         $vid = -1;
         $vid_ = 0;
@@ -341,7 +342,7 @@ class Survey
             return null;
         }
         $sql = 'SELECT id, title, end, mode
-                  FROM survey_surveys
+                  FROM surveys
                  WHERE '.$where.'
               ORDER BY end DESC;';
         if ($tpl) {
@@ -356,7 +357,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();
@@ -372,7 +373,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();
@@ -410,7 +411,7 @@ class Survey
     public function updateSurvey()
     {
         if ($this->valid) {
-            $sql = 'UPDATE survey_surveys
+            $sql = 'UPDATE surveys
                        SET questions={?},
                            title={?},
                            description={?},
@@ -433,8 +434,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 = {?}, user_id = {?};', $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]);
@@ -451,9 +452,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 user_id = {?};', $this->id, $uid); // checks whether the user has already voted
         return ($res->numRows() != 0);
     }
     // }}}
@@ -462,7 +463,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