Sfoglia il codice sorgente

Ticket #2100 - in Notifications.

AntonLV 7 anni fa
parent
commit
29b0bc68ed
1 ha cambiato i file con 10 aggiunte e 5 eliminazioni
  1. 10 5
      modules/boonex/notifications/classes/BxNtfsDb.php

+ 10 - 5
modules/boonex/notifications/classes/BxNtfsDb.php

@@ -54,27 +54,32 @@ class BxNtfsDb extends BxBaseModNotificationsDb
             return parent::getEvents($aParams, $bReturnCount);
 
         //--- Get query for 'Object Owner' notifications
+        $sLimitClause = isset($aParams['per_page']) ? "LIMIT 0, " . ($aParams['start'] + $aParams['per_page']) : "";
+
         $aParams['type'] = BX_BASE_MOD_NTFS_TYPE_OBJECT_OWNER;
-        list($sMethod, $sSelectClause, $sJoinClause, $sWhereClause, $sOrderClause, $sLimitClause) = $this->_getSqlPartsEvents($aParams);
+        list($sMethod, $sSelectClause, $sJoinClause, $sWhereClause, $sOrderClause) = $this->_getSqlPartsEvents($aParams);
 
         $sSqlOwner = "SELECT {select}
             FROM `{$this->_sTable}`
             LEFT JOIN `{$this->_sTableHandlers}` ON `{$this->_sTable}`.`type`=`{$this->_sTableHandlers}`.`alert_unit` AND `{$this->_sTable}`.`action`=`{$this->_sTableHandlers}`.`alert_action` " . $sJoinClause . "
-            WHERE 1 " . $sWhereClause;       
+            WHERE 1 " . $sWhereClause . " " . $sOrderClause . " " . $sLimitClause;       
 
         //--- Get query for 'Connections based' notifications
         $aParams['type'] = BX_BASE_MOD_NTFS_TYPE_CONNECTIONS;
-        list($sMethod, $sSelectClause, $sJoinClause, $sWhereClause, $sOrderClause, $sLimitClause) = $this->_getSqlPartsEvents($aParams);
+        list($sMethod, $sSelectClause, $sJoinClause, $sWhereClause, $sOrderClause) = $this->_getSqlPartsEvents($aParams);
 
         $sSqlConnections = "SELECT {select}
             FROM `{$this->_sTable}`
             LEFT JOIN `{$this->_sTableHandlers}` ON `{$this->_sTable}`.`type`=`{$this->_sTableHandlers}`.`alert_unit` AND `{$this->_sTable}`.`action`=`{$this->_sTableHandlers}`.`alert_action` " . $sJoinClause . "
-            WHERE 1 " . $sWhereClause;
+            WHERE 1 " . $sWhereClause . " " . $sOrderClause . " " . $sLimitClause;
 
         //--- Combine both queries in one
         $sOrderClause = "ORDER BY `date` DESC, `id` DESC";
-        if(!empty($aParams['count_only']))
+        $sLimitClause = isset($aParams['per_page']) ? "LIMIT " . $aParams['start'] . ", " . $aParams['per_page'] : "";
+        if(!empty($aParams['count_only'])) {
             $sOrderClause = "";
+            $sLimitClause = "";
+        }
 
         $sSql = "(" . $sSqlOwner . ") UNION (" . $sSqlConnections . ") {order} {limit}";
         $aEntries = $this->$sMethod(str_replace(array('{select}', '{order}', '{limit}'), array($sSelectClause, $sOrderClause, $sLimitClause), $sSql));