// GetList function : Add the possibility to not use LIMIT in the SQL request

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@9433 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
dSevere
2011-10-18 17:42:11 +00:00
parent c65af0c1f3
commit d2e9af38eb
3 changed files with 114 additions and 104 deletions
+102 -99
View File
@@ -1,10 +1,10 @@
<?php return array (
'AbstractLoggerCore' => 'classes/AbstractLogger.php',
'AbstractLogger' => 'override/classes/AbstractLogger.php',
'AddressFormatCore' => 'classes/AddressFormat.php',
'AddressFormat' => 'override/classes/AddressFormat.php',
'AddressCore' => 'classes/Address.php',
'Address' => 'override/classes/Address.php',
'AddressFormatCore' => 'classes/AddressFormat.php',
'AddressFormat' => 'override/classes/AddressFormat.php',
'AdminControllerCore' => 'classes/AdminController.php',
'AdminController' => 'override/classes/AdminController.php',
'AdminTabCore' => 'classes/AdminTab.php',
@@ -13,39 +13,29 @@
'Alias' => 'override/classes/Alias.php',
'AttachmentCore' => 'classes/Attachment.php',
'Attachment' => 'override/classes/Attachment.php',
'AttributeGroupCore' => 'classes/AttributeGroup.php',
'AttributeGroup' => 'override/classes/AttributeGroup.php',
'AttributeCore' => 'classes/Attribute.php',
'Attribute' => 'override/classes/Attribute.php',
'AttributeGroupCore' => 'classes/AttributeGroup.php',
'AttributeGroup' => 'override/classes/AttributeGroup.php',
'Autoload' => 'classes/Autoload.php',
'BackupCore' => 'classes/Backup.php',
'Backup' => 'override/classes/Backup.php',
'BlowfishCore' => 'classes/Blowfish.php',
'Blowfish' => 'override/classes/Blowfish.php',
'CacheApcCore' => 'classes/cache/CacheApc.php',
'CacheApc' => 'override/classes/cache/CacheApc.php',
'CacheFsCore' => 'classes/cache/CacheFs.php',
'CacheFs' => 'override/classes/cache/CacheFs.php',
'CacheMemcacheCore' => 'classes/cache/CacheMemcache.php',
'CacheMemcache' => 'override/classes/cache/CacheMemcache.php',
'CacheCore' => 'classes/cache/Cache.php',
'Cache' => 'override/classes/cache/Cache.php',
'CacheXcacheCore' => 'classes/cache/CacheXcache.php',
'CacheXcache' => 'override/classes/cache/CacheXcache.php',
'CarrierModuleCore' => 'classes/CarrierModule.php',
'CarrierModule' => 'override/classes/CarrierModule.php',
'CMSCore' => 'classes/CMS.php',
'CMS' => 'override/classes/CMS.php',
'CMSCategoryCore' => 'classes/CMSCategory.php',
'CMSCategory' => 'override/classes/CMSCategory.php',
'CarrierCore' => 'classes/Carrier.php',
'Carrier' => 'override/classes/Carrier.php',
'CarrierModuleCore' => 'classes/CarrierModule.php',
'CarrierModule' => 'override/classes/CarrierModule.php',
'CartCore' => 'classes/Cart.php',
'Cart' => 'override/classes/Cart.php',
'CategoryCore' => 'classes/Category.php',
'Category' => 'override/classes/Category.php',
'ChartCore' => 'classes/Chart.php',
'Chart' => 'override/classes/Chart.php',
'CMSCategoryCore' => 'classes/CMSCategory.php',
'CMSCategory' => 'override/classes/CMSCategory.php',
'CMSCore' => 'classes/CMS.php',
'CMS' => 'override/classes/CMS.php',
'CombinationCore' => 'classes/Combination.php',
'Combination' => 'override/classes/Combination.php',
'CompareProductCore' => 'classes/CompareProduct.php',
@@ -62,10 +52,10 @@
'Contact' => 'override/classes/Contact.php',
'ContextCore' => 'classes/Context.php',
'Context' => 'override/classes/Context.php',
'ControllerFactoryCore' => 'classes/ControllerFactory.php',
'ControllerFactory' => 'override/classes/ControllerFactory.php',
'ControllerCore' => 'classes/Controller.php',
'Controller' => 'override/classes/Controller.php',
'ControllerFactoryCore' => 'classes/ControllerFactory.php',
'ControllerFactory' => 'override/classes/ControllerFactory.php',
'CookieCore' => 'classes/Cookie.php',
'Cookie' => 'override/classes/Cookie.php',
'CountryCore' => 'classes/Country.php',
@@ -74,26 +64,16 @@
'County' => 'override/classes/County.php',
'CurrencyCore' => 'classes/Currency.php',
'Currency' => 'override/classes/Currency.php',
'CustomerMessageCore' => 'classes/CustomerMessage.php',
'CustomerMessage' => 'override/classes/CustomerMessage.php',
'CustomerCore' => 'classes/Customer.php',
'Customer' => 'override/classes/Customer.php',
'CustomerMessageCore' => 'classes/CustomerMessage.php',
'CustomerMessage' => 'override/classes/CustomerMessage.php',
'CustomerThreadCore' => 'classes/CustomerThread.php',
'CustomerThread' => 'override/classes/CustomerThread.php',
'CustomizationCore' => 'classes/Customization.php',
'Customization' => 'override/classes/Customization.php',
'DateRangeCore' => 'classes/DateRange.php',
'DateRange' => 'override/classes/DateRange.php',
'DbMySQLiCore' => 'classes/db/DbMySQLi.php',
'DbMySQLi' => 'override/classes/db/DbMySQLi.php',
'DbPDOCore' => 'classes/db/DbPDO.php',
'DbPDO' => 'override/classes/db/DbPDO.php',
'DbCore' => 'classes/db/Db.php',
'Db' => 'override/classes/db/Db.php',
'DbQueryCore' => 'classes/db/DbQuery.php',
'DbQuery' => 'override/classes/db/DbQuery.php',
'MySQLCore' => 'classes/db/MySQL.php',
'MySQL' => 'override/classes/db/MySQL.php',
'DeliveryCore' => 'classes/Delivery.php',
'Delivery' => 'override/classes/Delivery.php',
'DiscountCore' => 'classes/Discount.php',
@@ -102,14 +82,6 @@
'Dispatcher' => 'override/classes/Dispatcher.php',
'EmployeeCore' => 'classes/Employee.php',
'Employee' => 'override/classes/Employee.php',
'PrestashopDatabaseExceptionCore' => 'classes/exception/PrestashopDatabaseException.php',
'PrestashopDatabaseException' => 'override/classes/exception/PrestashopDatabaseException.php',
'PrestashopExceptionCore' => 'classes/exception/PrestashopException.php',
'PrestashopException' => 'override/classes/exception/PrestashopException.php',
'PrestashopModuleExceptionCore' => 'classes/exception/PrestashopModuleException.php',
'PrestashopModuleException' => 'override/classes/exception/PrestashopModuleException.php',
'PrestashopPaymentExceptionCore' => 'classes/exception/PrestashopPaymentException.php',
'PrestashopPaymentException' => 'override/classes/exception/PrestashopPaymentException.php',
'FeatureCore' => 'classes/Feature.php',
'Feature' => 'override/classes/Feature.php',
'FeatureValueCore' => 'classes/FeatureValue.php',
@@ -130,14 +102,14 @@
'Guest' => 'override/classes/Guest.php',
'HelpAccessCore' => 'classes/HelpAccess.php',
'HelpAccess' => 'override/classes/HelpAccess.php',
'HelperCore' => 'classes/Helper.php',
'Helper' => 'override/classes/Helper.php',
'HelperFormCore' => 'classes/HelperForm.php',
'HelperForm' => '',
'HelperListCore' => 'classes/HelperList.php',
'HelperList' => '',
'HelperOptionsCore' => 'classes/HelperOptions.php',
'HelperOptions' => '',
'HelperCore' => 'classes/Helper.php',
'Helper' => 'override/classes/Helper.php',
'HookCore' => 'classes/Hook.php',
'Hook' => 'override/classes/Hook.php',
'ImageCore' => 'classes/Image.php',
@@ -164,20 +136,22 @@
'Message' => 'override/classes/Message.php',
'MetaCore' => 'classes/Meta.php',
'Meta' => 'override/classes/Meta.php',
'ModuleGraphEngineCore' => 'classes/ModuleGraphEngine.php',
'ModuleGraphEngine' => 'override/classes/ModuleGraphEngine.php',
'ModuleGraphCore' => 'classes/ModuleGraph.php',
'ModuleGraph' => 'override/classes/ModuleGraph.php',
'ModuleGridEngineCore' => 'classes/ModuleGridEngine.php',
'ModuleGridEngine' => 'override/classes/ModuleGridEngine.php',
'ModuleGridCore' => 'classes/ModuleGrid.php',
'ModuleGrid' => 'override/classes/ModuleGrid.php',
'ModuleCore' => 'classes/Module.php',
'Module' => 'override/classes/Module.php',
'ModuleGraphCore' => 'classes/ModuleGraph.php',
'ModuleGraph' => 'override/classes/ModuleGraph.php',
'ModuleGraphEngineCore' => 'classes/ModuleGraphEngine.php',
'ModuleGraphEngine' => 'override/classes/ModuleGraphEngine.php',
'ModuleGridCore' => 'classes/ModuleGrid.php',
'ModuleGrid' => 'override/classes/ModuleGrid.php',
'ModuleGridEngineCore' => 'classes/ModuleGridEngine.php',
'ModuleGridEngine' => 'override/classes/ModuleGridEngine.php',
'NotificationCore' => 'classes/Notification.php',
'Notification' => 'override/classes/Notification.php',
'ObjectModelCore' => 'classes/ObjectModel.php',
'ObjectModel' => 'override/classes/ObjectModel.php',
'OrderCore' => 'classes/Order.php',
'Order' => 'override/classes/Order.php',
'OrderDetailCore' => 'classes/OrderDetail.php',
'OrderDetail' => 'override/classes/OrderDetail.php',
'OrderDiscountCore' => 'classes/OrderDiscount.php',
@@ -186,8 +160,6 @@
'OrderHistory' => 'override/classes/OrderHistory.php',
'OrderMessageCore' => 'classes/OrderMessage.php',
'OrderMessage' => 'override/classes/OrderMessage.php',
'OrderCore' => 'classes/Order.php',
'Order' => 'override/classes/Order.php',
'OrderReturnCore' => 'classes/OrderReturn.php',
'OrderReturn' => 'override/classes/OrderReturn.php',
'OrderReturnStateCore' => 'classes/OrderReturnState.php',
@@ -196,6 +168,8 @@
'OrderSlip' => 'override/classes/OrderSlip.php',
'OrderStateCore' => 'classes/OrderState.php',
'OrderState' => 'override/classes/OrderState.php',
'PDFCore' => 'classes/PDF.php',
'PDF' => 'override/classes/PDF.php',
'PackCore' => 'classes/Pack.php',
'Pack' => 'override/classes/Pack.php',
'PageCore' => 'classes/Page.php',
@@ -204,12 +178,10 @@
'PaymentCC' => 'override/classes/PaymentCC.php',
'PaymentModuleCore' => 'classes/PaymentModule.php',
'PaymentModule' => 'override/classes/PaymentModule.php',
'PDFCore' => 'classes/PDF.php',
'PDF' => 'override/classes/PDF.php',
'ProductDownloadCore' => 'classes/ProductDownload.php',
'ProductDownload' => 'override/classes/ProductDownload.php',
'ProductCore' => 'classes/Product.php',
'Product' => 'override/classes/Product.php',
'ProductDownloadCore' => 'classes/ProductDownload.php',
'ProductDownload' => 'override/classes/ProductDownload.php',
'ProductSaleCore' => 'classes/ProductSale.php',
'ProductSale' => 'override/classes/ProductSale.php',
'ProfileCore' => 'classes/Profile.php',
@@ -228,36 +200,14 @@
'Rijndael' => 'override/classes/Rijndael.php',
'SceneCore' => 'classes/Scene.php',
'Scene' => 'override/classes/Scene.php',
'SearchEngineCore' => 'classes/SearchEngine.php',
'SearchEngine' => 'override/classes/SearchEngine.php',
'SearchCore' => 'classes/Search.php',
'Search' => 'override/classes/Search.php',
'GroupShopCore' => 'classes/shop/GroupShop.php',
'GroupShop' => 'override/classes/shop/GroupShop.php',
'ShopCore' => 'classes/shop/Shop.php',
'Shop' => 'override/classes/shop/Shop.php',
'ShopUrlCore' => 'classes/shop/ShopUrl.php',
'ShopUrl' => 'override/classes/shop/ShopUrl.php',
'SearchEngineCore' => 'classes/SearchEngine.php',
'SearchEngine' => 'override/classes/SearchEngine.php',
'SpecificPriceCore' => 'classes/SpecificPrice.php',
'SpecificPrice' => 'override/classes/SpecificPrice.php',
'StateCore' => 'classes/State.php',
'State' => 'override/classes/State.php',
'StockAvailableCore' => 'classes/stock/StockAvailable.php',
'StockAvailable' => '',
'StockManagerFactoryCore' => 'classes/stock/StockManagerFactory.php',
'StockManagerFactory' => '',
'StockManagerInterface' => 'classes/stock/StockManagerInterface.php',
'StockManagerModule' => 'classes/stock/StockManagerModule.php',
'StockManagerCore' => 'classes/stock/StockManager.php',
'StockManager' => '',
'StockMvtCore' => 'classes/stock/StockMvt.php',
'StockMvt' => 'override/classes/StockMvt.php',
'StockMvtReasonCore' => 'classes/stock/StockMvtReason.php',
'StockMvtReason' => 'override/classes/StockMvtReason.php',
'StockCore' => 'classes/stock/Stock.php',
'Stock' => 'override/classes/Stock.php',
'WarehouseCore' => 'classes/stock/Warehouse.php',
'Warehouse' => '',
'StoreCore' => 'classes/Store.php',
'Store' => 'override/classes/Store.php',
'SubDomainCore' => 'classes/SubDomain.php',
@@ -268,21 +218,6 @@
'Tab' => 'override/classes/Tab.php',
'TagCore' => 'classes/Tag.php',
'Tag' => 'override/classes/Tag.php',
'TaxCalculatorCore' => 'classes/tax/TaxCalculator.php',
'TaxCalculator' => 'override/classes/tax/TaxCalculator.php',
'TaxManagerFactoryCore' => 'classes/tax/TaxManagerFactory.php',
'TaxManagerFactory' => 'override/classes/tax/TaxManagerFactory.php',
'TaxManagerInterface' => 'classes/tax/TaxManagerInterface.php',
'TaxManagerModuleCore' => 'classes/tax/TaxManagerModule.php',
'TaxManagerModule' => 'override/classes/tax/TaxManagerModule.php',
'TaxCore' => 'classes/tax/Tax.php',
'Tax' => 'override/classes/tax/Tax.php',
'TaxRuleCore' => 'classes/tax/TaxRule.php',
'TaxRule' => 'override/classes/tax/TaxRule.php',
'TaxRulesGroupCore' => 'classes/tax/TaxRulesGroup.php',
'TaxRulesGroup' => 'override/classes/tax/TaxRulesGroup.php',
'TaxRulesTaxManagerCore' => 'classes/tax/TaxRulesTaxManager.php',
'TaxRulesTaxManager' => 'override/classes/tax/TaxRulesTaxManager.php',
'ThemeCore' => 'classes/Theme.php',
'Theme' => 'override/classes/Theme.php',
'ToolsCore' => 'classes/Tools.php',
@@ -293,6 +228,73 @@
'Upgrader' => 'override/classes/Upgrader.php',
'ValidateCore' => 'classes/Validate.php',
'Validate' => 'override/classes/Validate.php',
'ZoneCore' => 'classes/Zone.php',
'Zone' => 'override/classes/Zone.php',
'CacheCore' => 'classes/cache/Cache.php',
'Cache' => 'override/classes/cache/Cache.php',
'CacheApcCore' => 'classes/cache/CacheApc.php',
'CacheApc' => 'override/classes/cache/CacheApc.php',
'CacheFsCore' => 'classes/cache/CacheFs.php',
'CacheFs' => 'override/classes/cache/CacheFs.php',
'CacheMemcacheCore' => 'classes/cache/CacheMemcache.php',
'CacheMemcache' => 'override/classes/cache/CacheMemcache.php',
'CacheXcacheCore' => 'classes/cache/CacheXcache.php',
'CacheXcache' => 'override/classes/cache/CacheXcache.php',
'DbCore' => 'classes/db/Db.php',
'Db' => 'override/classes/db/Db.php',
'DbMySQLiCore' => 'classes/db/DbMySQLi.php',
'DbMySQLi' => 'override/classes/db/DbMySQLi.php',
'DbPDOCore' => 'classes/db/DbPDO.php',
'DbPDO' => 'override/classes/db/DbPDO.php',
'DbQueryCore' => 'classes/db/DbQuery.php',
'DbQuery' => 'override/classes/db/DbQuery.php',
'MySQLCore' => 'classes/db/MySQL.php',
'MySQL' => 'override/classes/db/MySQL.php',
'PrestashopDatabaseExceptionCore' => 'classes/exception/PrestashopDatabaseException.php',
'PrestashopDatabaseException' => 'override/classes/exception/PrestashopDatabaseException.php',
'PrestashopExceptionCore' => 'classes/exception/PrestashopException.php',
'PrestashopException' => 'override/classes/exception/PrestashopException.php',
'PrestashopModuleExceptionCore' => 'classes/exception/PrestashopModuleException.php',
'PrestashopModuleException' => 'override/classes/exception/PrestashopModuleException.php',
'PrestashopPaymentExceptionCore' => 'classes/exception/PrestashopPaymentException.php',
'PrestashopPaymentException' => 'override/classes/exception/PrestashopPaymentException.php',
'GroupShopCore' => 'classes/shop/GroupShop.php',
'GroupShop' => 'override/classes/shop/GroupShop.php',
'ShopCore' => 'classes/shop/Shop.php',
'Shop' => 'override/classes/shop/Shop.php',
'ShopUrlCore' => 'classes/shop/ShopUrl.php',
'ShopUrl' => 'override/classes/shop/ShopUrl.php',
'StockCore' => 'classes/stock/Stock.php',
'Stock' => 'override/classes/Stock.php',
'StockAvailableCore' => 'classes/stock/StockAvailable.php',
'StockAvailable' => '',
'StockManagerCore' => 'classes/stock/StockManager.php',
'StockManager' => '',
'StockManagerFactoryCore' => 'classes/stock/StockManagerFactory.php',
'StockManagerFactory' => '',
'StockManagerInterface' => 'classes/stock/StockManagerInterface.php',
'StockManagerModule' => 'classes/stock/StockManagerModule.php',
'StockMvtCore' => 'classes/stock/StockMvt.php',
'StockMvt' => 'override/classes/StockMvt.php',
'StockMvtReasonCore' => 'classes/stock/StockMvtReason.php',
'StockMvtReason' => 'override/classes/StockMvtReason.php',
'WarehouseCore' => 'classes/stock/Warehouse.php',
'Warehouse' => '',
'TaxCore' => 'classes/tax/Tax.php',
'Tax' => 'override/classes/tax/Tax.php',
'TaxCalculatorCore' => 'classes/tax/TaxCalculator.php',
'TaxCalculator' => 'override/classes/tax/TaxCalculator.php',
'TaxManagerFactoryCore' => 'classes/tax/TaxManagerFactory.php',
'TaxManagerFactory' => 'override/classes/tax/TaxManagerFactory.php',
'TaxManagerInterface' => 'classes/tax/TaxManagerInterface.php',
'TaxManagerModuleCore' => 'classes/tax/TaxManagerModule.php',
'TaxManagerModule' => 'override/classes/tax/TaxManagerModule.php',
'TaxRuleCore' => 'classes/tax/TaxRule.php',
'TaxRule' => 'override/classes/tax/TaxRule.php',
'TaxRulesGroupCore' => 'classes/tax/TaxRulesGroup.php',
'TaxRulesGroup' => 'override/classes/tax/TaxRulesGroup.php',
'TaxRulesTaxManagerCore' => 'classes/tax/TaxRulesTaxManager.php',
'TaxRulesTaxManager' => 'override/classes/tax/TaxRulesTaxManager.php',
'WebserviceExceptionCore' => 'classes/webservice/WebserviceException.php',
'WebserviceException' => 'override/classes/webservice/WebserviceException.php',
'WebserviceKeyCore' => 'classes/webservice/WebserviceKey.php',
@@ -309,8 +311,6 @@
'WebserviceSpecificManagementInterface' => 'classes/webservice/WebserviceSpecificManagementInterface.php',
'WebserviceSpecificManagementSearchCore' => 'classes/webservice/WebserviceSpecificManagementSearch.php',
'WebserviceSpecificManagementSearch' => 'override/classes/webservice/WebserviceSpecificManagementSearch.php',
'ZoneCore' => 'classes/Zone.php',
'Zone' => 'override/classes/Zone.php',
'FB' => 'override/classes/fb.php',
'AdminAddressesControllerCore' => 'controllers/admin/AdminAddressesController.php',
'AdminAddressesController' => '',
@@ -318,6 +318,8 @@
'AdminAliasesController' => '',
'AdminBackupControllerCore' => 'controllers/admin/AdminBackupController.php',
'AdminBackupController' => '',
'AdminContactsControllerCore' => 'controllers/admin/AdminContactsController.php',
'AdminContactsController' => '',
'AdminGendersController' => 'controllers/admin/AdminGendersController.php',
'AdminGroupShopControllerCore' => 'controllers/admin/AdminGroupShopController.php',
'AdminGroupShopController' => '',
@@ -338,6 +340,7 @@
'AdminStockController' => '',
'AdminStockInstantStateControllerCore' => 'controllers/admin/AdminStockInstantStateController.php',
'AdminStockInstantStateController' => '',
'AdminStockManagementController' => 'controllers/admin/AdminStockManagementController.php',
'AdminStoresControllerCore' => 'controllers/admin/AdminStoresController.php',
'AdminStoresController' => '',
'AdminToolsControllerCore' => 'controllers/admin/AdminToolsController.php',
+10 -3
View File
@@ -1371,7 +1371,10 @@ class AdminControllerCore extends Controller
public function getList($id_lang, $orderBy = null, $orderWay = null, $start = 0, $limit = null, $id_lang_shop = false)
{
/* Manage default params values */
if (empty($limit))
$use_limit = true;
if ($limit === false)
$use_limit = false;
elseif (empty($limit))
if (!isset($this->context->cookie->{$this->table.'_pagination'}))
$limit = $this->_pagination[1];
else
@@ -1472,6 +1475,10 @@ class AdminControllerCore extends Controller
$having_clause .= $this->_having.' ';
}
if($use_limit === true) {
}
$sql = 'SELECT SQL_CALC_FOUND_ROWS
'.($this->_tmpTableFilter ? ' * FROM (SELECT ' : '').'
'.($this->lang ? 'b.*, ' : '').'a.*'.(isset($this->_select) ? ', '.$this->_select.' ' : '').$select_shop.'
@@ -1485,8 +1492,8 @@ class AdminControllerCore extends Controller
'.(isset($this->_group) ? $this->_group.' ' : '').'
'.$having_clause.'
ORDER BY '.(($orderBy == $this->identifier) ? 'a.' : '').'`'.pSQL($orderBy).'` '.pSQL($orderWay).
($this->_tmpTableFilter ? ') tmpTable WHERE 1'.$this->_tmpTableFilter : '').'
LIMIT '.(int)$start.','.(int)$limit;
($this->_tmpTableFilter ? ') tmpTable WHERE 1'.$this->_tmpTableFilter : '').
(($use_limit === true) ? ' LIMIT '.(int)$start.','.(int)$limit : '');
$this->_list = Db::getInstance()->executeS($sql);
$this->_listTotal = Db::getInstance()->getValue('SELECT FOUND_ROWS() AS `'._DB_PREFIX_.$this->table.'`');
@@ -93,8 +93,8 @@ class AdminStockManagementController extends AdminController
$this->identifier = 'id_product_attribute';
$this->display = 'list';
// get list
$this->getList($this->context->language->id);
// get list and force no limit clause in the request
$this->getList($this->context->language->id, null, null, 0, false);
// Render list
$helper = new HelperList();