diff --git a/classes/db/DbPDO.php b/classes/db/DbPDO.php index ac8709c75..cc1709801 100644 --- a/classes/db/DbPDO.php +++ b/classes/db/DbPDO.php @@ -54,12 +54,12 @@ class DbPDOCore extends Db try { $this->link = $this->_getPDO($this->server, $this->user, $this->password, $this->database, 5); } catch (PDOException $e) { - throw new PrestaShopDatabaseException(sprintf(Tools::displayError('Link to database cannot be established: %s'), $e->getMessage())); + die(sprintf(Tools::displayError('Link to database cannot be established: %s'), utf8_encode($e->getMessage()))); } // UTF-8 support if ($this->link->exec('SET NAMES \'utf8\'') === false) - throw new PrestaShopDatabaseException(Tools::displayError('PrestaShop Fatal error: no utf-8 support. Please check your server configuration.')); + die(Tools::displayError('PrestaShop Fatal error: no utf-8 support. Please check your server configuration.')); return $this->link; } diff --git a/modules/blockbestsellers/blockbestsellers.php b/modules/blockbestsellers/blockbestsellers.php index 9e1251c0a..c93e557c9 100644 --- a/modules/blockbestsellers/blockbestsellers.php +++ b/modules/blockbestsellers/blockbestsellers.php @@ -68,7 +68,7 @@ class BlockBestSellers extends Module $output = '

'.$this->displayName.'

'; if (Tools::isSubmit('submitBestSellers')) { - Configuration::updateValue('PS_BLOCK_BESTSELLERS_DISPLAY', (int)(Tools::getValue('always_display'))); + Configuration::updateValue('PS_BLOCK_BESTSELLERS_DISPLAY', (int)Tools::getValue('always_display')); $output .= '
'.$this->l('Settings updated').'
'; } return $output.$this->displayForm(); @@ -92,31 +92,31 @@ class BlockBestSellers extends Module '; } - - public function hookRightColumn($params) + + public function hookHeader($params) { if (Configuration::get('PS_CATALOG_MODE')) return; + $this->context->controller->addCSS($this->_path.'blockbestsellers.css', 'all'); + } - $currency = new Currency($params['cookie']->id_currency); - - if (Product::getTaxCalculationMethod((int)$this->context->customer->id) == PS_TAX_EXC) - $usetax = false; - else - $usetax = true; - - $bestsellers = ProductSale::getBestSalesLight((int)($params['cookie']->id_lang), 0, 5); - - if (!$bestsellers && !Configuration::get('PS_BLOCK_BESTSELLERS_DISPLAY')) + public function hookHome($params) + { + $best_sellers = $this->getBestSellers($params); + if ($best_sellers === false) return; - $best_sellers = array(); - if ($bestsellers) - foreach ($bestsellers as $bestseller) - { - $bestseller['price'] = Tools::displayPrice(Product::getPriceStatic((int)($bestseller['id_product']), $usetax), $currency); - $best_sellers[] = $bestseller; - } + $this->smarty->assign(array( + 'best_sellers' => $best_sellers, + 'homeSize' => Image::getSize(ImageType::getFormatedName('home')))); + return $this->display(__FILE__, 'blockbestsellers-home.tpl'); + } + + public function hookRightColumn($params) + { + $best_sellers = $this->getBestSellers($params); + if ($best_sellers === false) + return; $this->smarty->assign(array( 'best_sellers' => $best_sellers, @@ -130,35 +130,20 @@ class BlockBestSellers extends Module { return $this->hookRightColumn($params); } - - public function hookHeader($params) - { - if (Configuration::get('PS_CATALOG_MODE')) - return; - $this->context->controller->addCSS(($this->_path).'blockbestsellers.css', 'all'); - } - public function hookHome($params) + protected function getBestSellers($params) { if (Configuration::get('PS_CATALOG_MODE')) - return; + return false; + if (!($result = ProductSale::getBestSalesLight((int)($params['cookie']->id_lang), 0, 5))) + return (Configuration::get('PS_BLOCK_BESTSELLERS_DISPLAY') ? array() : false); + + $bestsellers = array(); $currency = new Currency($params['cookie']->id_currency); - $bestsellers = ProductSale::getBestSalesLight((int)$params['cookie']->id_lang, 0, 4); - if (!$bestsellers && !Configuration::get('PS_BLOCK_BESTSELLERS_DISPLAY')) - return; - $best_sellers = array(); - - if ($bestsellers) - foreach ($bestsellers as $bestseller) - { - $bestseller['price'] = Tools::displayPrice(Product::getPriceStatic((int)($bestseller['id_product'])), $currency); - $best_sellers[] = $bestseller; -} - - $this->smarty->assign(array( - 'best_sellers' => $best_sellers, - 'homeSize' => Image::getSize(ImageType::getFormatedName('home')))); - return $this->display(__FILE__, 'blockbestsellers-home.tpl'); + $usetax = (Product::getTaxCalculationMethod((int)$this->context->customer->id) != PS_TAX_EXC); + foreach ($result as &$row) + $row['price'] = Tools::displayPrice(Product::getPriceStatic((int)$row['id_product'], $usetax), $currency); + return $result; } } \ No newline at end of file