RomanL 8 年之前
父節點
當前提交
a4fe72cdd5

+ 5 - 4
modules/boonex/massmailer/classes/BxMassMailerDb.php

@@ -235,10 +235,11 @@ class BxMassMailerDb extends BxBaseModGeneralDb
         $aBindings = array(
             'time_from' => (time() - $iDayBefore * 86400)
         );
-        $this->query("DELETE FROM `" . $CNF['TABLE_LETTERS'] . "` WHERE `" . $CNF['FIELD_CAMPAIGN_ID'] . "` IN (SELECT `" . $CNF['FIELD_ID'] . "` FROM `" . $CNF['TABLE_CAMPAIGNS'] . "` WHERE `" . $CNF['FIELD_DATE_SENT'] . "` < :time_from AND `" . $CNF['FIELD_DATE_SENT'] . "` > 0)", $aBindings);
-        $this->query("DELETE FROM `" . $CNF['TABLE_LINKS'] . "` WHERE `" . $CNF['FIELD_CAMPAIGN_ID'] . "` IN (SELECT `" . $CNF['FIELD_ID'] . "` FROM `" . $CNF['TABLE_CAMPAIGNS'] . "` WHERE `" . $CNF['FIELD_DATE_SENT'] . "` < :time_from AND `" . $CNF['FIELD_DATE_SENT'] . "` > 0)", $aBindings);
-        $this->query("DELETE FROM `" . $CNF['TABLE_UNSUBSCRIBE'] . "` WHERE `" . $CNF['FIELD_CAMPAIGN_ID'] . "` IN (SELECT `" . $CNF['FIELD_ID'] . "` FROM `" . $CNF['TABLE_CAMPAIGNS'] . "` WHERE `" . $CNF['FIELD_DATE_SENT'] . "` < :time_from AND `" . $CNF['FIELD_DATE_SENT'] . "` > 0)", $aBindings);
-        $this->query("DELETE FROM `" . $CNF['TABLE_CAMPAIGNS'] . "` WHERE `" . $CNF['FIELD_DATE_SENT'] . "` < :time_from AND `" . $CNF['FIELD_DATE_SENT'] . "` > 0", $aBindings);
+        $sIdList = $this->implode_escape($this->getColumn("SELECT `" . $CNF['FIELD_ID'] . "` FROM `" . $CNF['TABLE_CAMPAIGNS'] . "` WHERE `" . $CNF['FIELD_DATE_SENT'] . "` < :time_from AND `" . $CNF['FIELD_DATE_SENT'] . "` > 0", $aBindings));
+        $this->query("DELETE FROM `" . $CNF['TABLE_LETTERS'] . "` WHERE `" . $CNF['FIELD_CAMPAIGN_ID'] . "` IN (" . $sIdList . ")", $aBindings);
+        $this->query("DELETE FROM `" . $CNF['TABLE_LINKS'] . "` WHERE `" . $CNF['FIELD_CAMPAIGN_ID'] . "` IN (" . $sIdList . ")", $aBindings);
+        $this->query("DELETE FROM `" . $CNF['TABLE_UNSUBSCRIBE'] . "` WHERE `" . $CNF['FIELD_CAMPAIGN_ID'] . "` IN (" . $sIdList . ")", $aBindings);
+        $this->query("DELETE FROM `" . $CNF['TABLE_CAMPAIGNS'] . "` WHERE `" . $CNF['FIELD_ID'] . "` IN (" . $sIdList . ")", $aBindings);
     }
 }
 

+ 1 - 1
modules/boonex/massmailer/classes/BxMassMailerFormEntry.php

@@ -27,7 +27,7 @@ class BxMassMailerFormCheckerHelper extends BxDolFormCheckerHelper
         if (trim($s) == '')
             return false;
         
-        if (substr_count($s, '{unsubscribe_url}') == 0)
+        if (strpos($s, '{unsubscribe_url}') === false)
             return false;
         
         return true;

+ 3 - 3
modules/boonex/massmailer/classes/BxMassMailerModule.php

@@ -43,7 +43,7 @@ class BxMassMailerModule extends BxBaseModGeneralModule
             switch ($sActionName) {
                 case 'click':
                     $sLink = $this->_oDb->updateDateClickForLink($sHash);
-                    if (substr_count($sLink, '://') == 0)
+                    if (strpos($sLink, '://') === false)
                         $sLink = BX_DOL_URL_ROOT . $sLink;
                     header('Location: ' . $sLink);
                     break;
@@ -530,7 +530,7 @@ class BxMassMailerModule extends BxBaseModGeneralModule
     private function getSqlBySegment($sSegment)
     {
         $sRv = '';
-        if (substr_count($sSegment, 'lvl:') > 0){
+        if (strpos($sSegment, 'lvl:') !== false){
             $sLvl = str_replace('lvl:', '', $sSegment);
             switch ($sLvl) {
                 case 0:
@@ -552,7 +552,7 @@ class BxMassMailerModule extends BxBaseModGeneralModule
                     $sRv = $this->_oDb->prepareAsString(" AND `tp`.`id` IN (SELECT `IDMember` FROM `sys_acl_levels_members` WHERE IDLevel = ?) ", $sLvl);
                     break;
             }
-            $sRv .= " AND `tp`.`type` IN ('" . implode("','", $this->getProfileModules()) . "')";
+            $sRv .= " AND `tp`.`type` IN (" . $this->_oDb->implode_escape($this->getProfileModules()) . ")";
         }
         return $sRv;
     }