/** * Constructor. * @param array $config */ public function __construct(array $config) { $logHelper = Mage::helper('ho_import/log'); $model = $config['model']; $query = $config['query']; unset($config['model']); unset($config['query']); /** @var Zend_Db_Adapter_Abstract $db */ $db = new $model($config); if (isset($config['limit']) || isset($config['offset'])) { $limit = (int) isset($config['limit']) ? $config['limit'] : 0; $offset = (int) isset($config['offset']) ? $config['offset'] : 0; $logHelper->log($logHelper->__('Setting limit to %s and offset to %s', $limit, $offset), Zend_Log::NOTICE); $query = $db->limit($query, $config['limit'], $offset); $logHelper->log($query, Zend_Log::DEBUG); } $logHelper->log('Fetching data...'); $result = $db->fetchAll($query); $logHelper->log('Done'); $config['data'] =& $result; return parent::__construct($config); }