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;
}
}
}
$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;
// {{{ 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]);
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);
}
// }}}