Update UFC_SchoolId arguments
[platal.git] / modules / axletter / axletter.inc.php
index 18818c7..8c28586 100644 (file)
@@ -117,10 +117,10 @@ class AXLetter extends MassMailer
         if (is_null($uid) && $hash) {
             return false;
         }
-        $res = XDB::query("SELECT *
+        $res = XDB::query("SELECT uid
                              FROM axletter_ins
                             WHERE $field={?}", $user);
-        if (!$res->numRows()) {
+        if ($res->numRows() != 1) {
             return false;
         }
         XDB::execute("DELETE FROM  axletter_ins
@@ -131,8 +131,8 @@ class AXLetter extends MassMailer
     static public function subscribe($uid = null)
     {
         $user = is_null($uid) ? S::v('uid') : $uid;
-        XDB::execute("REPLACE INTO  axletter_ins (uid,last)
-                            VALUES  ({?}, 0)", $user);
+        XDB::execute('INSERT IGNORE INTO  axletter_ins (uid, last)
+                                  VALUES  ({?}, 0)', $user);
     }
 
     static public function hasPerms()
@@ -175,12 +175,13 @@ class AXLetter extends MassMailer
         if (!$this->_promo_min && !$this->_promo_max && !$this->_subset) {
             return '1';
         }
+        /* TODO: refines this filter on promotions by using userfilter. */
         $where = array();
         if ($this->_promo_min) {
-            $where[] = "((ni.uid = 0 AND ni.promo >= {$this->_promo_min}) OR (ni.uid != 0 AND u.promo >= {$this->_promo_min}))";
+            $where[] = "((ni.uid = 0 AND ni.promo >= {$this->_promo_min}) OR (ni.uid != 0 AND pd.promo >= 'X{$this->_promo_min}'))";
         }
         if ($this->_promo_max) {
-            $where[] = "((ni.uid = 0 AND ni.promo <= {$this->_promo_max}) OR (ni.uid != 0 AND u.promo <= {$this->_promo_max}))";
+            $where[] = "((ni.uid = 0 AND ni.promo <= {$this->_promo_max}) OR (ni.uid != 0 AND pd.promo <= 'X{$this->_promo_max}'))";
         }
         if ($this->_subset) {
             require_once("emails.inc.php");