From ddfe898a058391250f9b73189926ee317f38ccab Mon Sep 17 00:00:00 2001 From: Artem Serbulenko Date: Mon, 9 Feb 2026 23:52:55 +0200 Subject: [PATCH 1/2] fix blog --- upload/admin/controller/blog/category.php | 1 - .../catalog/controller/account/recurring.php | 1 - upload/catalog/controller/blog/article.php | 25 ++-- upload/catalog/controller/blog/latest.php | 4 +- upload/catalog/model/blog/article.php | 4 +- upload/catalog/model/blog/category.php | 3 +- upload/catalog/model/blog/review.php | 8 +- .../theme/default/template/blog/article.twig | 130 +----------------- .../theme/default/template/blog/latest.twig | 4 +- 9 files changed, 21 insertions(+), 159 deletions(-) diff --git a/upload/admin/controller/blog/category.php b/upload/admin/controller/blog/category.php index 5b0210ff..faec2bbc 100644 --- a/upload/admin/controller/blog/category.php +++ b/upload/admin/controller/blog/category.php @@ -615,7 +615,6 @@ private function getCategories($parent_id, $parent_path = '', $indent = '') { $data['breadcrumbs'][] = array( 'text' => $result['name'], 'href' => $href, - 'separator' => ' :: ' ); $href = ''; } diff --git a/upload/catalog/controller/account/recurring.php b/upload/catalog/controller/account/recurring.php index c75513b9..1583ca2d 100644 --- a/upload/catalog/controller/account/recurring.php +++ b/upload/catalog/controller/account/recurring.php @@ -72,7 +72,6 @@ public function index() { $pagination->total = $recurring_total; $pagination->page = $page; $pagination->limit = 10; - $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('account/recurring', 'page={page}', true); $data['pagination'] = $pagination->render(); diff --git a/upload/catalog/controller/blog/article.php b/upload/catalog/controller/blog/article.php index 99dd9737..e588beae 100644 --- a/upload/catalog/controller/blog/article.php +++ b/upload/catalog/controller/blog/article.php @@ -12,8 +12,7 @@ public function index() { $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), - 'href' => $this->url->link('common/home'), - 'separator' => false + 'href' => $this->url->link('common/home'), ); $configblog_name = $this->config->get('configblog_name'); @@ -126,10 +125,6 @@ public function index() { $this->document->addLink($this->url->link('blog/article', 'article_id=' . $this->request->get['article_id']), 'canonical'); $this->document->addScript('catalog/view/javascript/jquery/magnific/jquery.magnific-popup.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/magnific/magnific-popup.css'); - $this->document->addScript('catalog/view/javascript/jquery/datetimepicker/moment/moment.min.js'); - $this->document->addScript('catalog/view/javascript/jquery/datetimepicker/moment/moment-with-locales.min.js'); - $this->document->addScript('catalog/view/javascript/jquery/datetimepicker/bootstrap-datetimepicker.min.js'); - $this->document->addStyle('catalog/view/javascript/jquery/datetimepicker/bootstrap-datetimepicker.min.css'); if ($article_info['meta_h1']) { $data['heading_title'] = $article_info['meta_h1']; @@ -382,7 +377,7 @@ public function index() { $url .= '&filter_news_id=' . $this->request->get['filter_news_id']; } - $data['breadcrumbs'][] = array( + $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_error'), 'href' => $this->url->link('product/product', $url . '&product_id=' . $article_id) ); @@ -428,8 +423,6 @@ public function download() { $download_info = $this->model_blog_article->getDownload($article_id, $download_id); - - if ($download_info) { $file = DIR_DOWNLOAD . $download_info['filename']; $mask = basename($download_info['mask']); @@ -455,7 +448,7 @@ public function download() { exit('Error: Headers already sent out!'); } } else { - $this->redirect(HTTP_SERVER . 'index.php?route=account/download'); + $this->response->redirect($this->url->link('account/download')); } } @@ -473,11 +466,13 @@ public function review() { $page = 1; } + $limit = 5; + $data['reviews'] = array(); $review_total = $this->model_blog_review->getTotalReviewsByArticleId($this->request->get['article_id']); - $results = $this->model_blog_review->getReviewsByArticleId($this->request->get['article_id'], ($page - 1) * 5, 5); + $results = $this->model_blog_review->getReviewsByArticleId($this->request->get['article_id'], ($page - 1) * $limit, $limit); foreach ($results as $result) { $data['reviews'][] = array( @@ -492,15 +487,14 @@ public function review() { $pagination = new Pagination(); $pagination->total = $review_total; $pagination->page = $page; - $pagination->limit = 5; + $pagination->limit = $limit; $pagination->url = $this->url->link('blog/article/review', 'article_id=' . $this->request->get['article_id'] . '&page={page}'); $data['pagination'] = $pagination->render(); - $data['results'] = sprintf($this->language->get('text_pagination'), ($review_total) ? (($page - 1) * 5) + 1 : 0, ((($page - 1) * 5) > ($review_total - 5)) ? $review_total : ((($page - 1) * 5) + 5), $review_total, ceil($review_total / 5)); + $data['results'] = sprintf($this->language->get('text_pagination'), ($review_total) ? (($page - 1) * $limit) + 1 : 0, ((($page - 1) * $limit) > ($review_total - $limit)) ? $review_total : ((($page - 1) * $limit) + $limit), $review_total, ceil($review_total / $limit)); $this->response->setOutput($this->load->view('blog/review', $data)); - } public function write() { @@ -552,5 +546,4 @@ public function write() { $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } -} -?> \ No newline at end of file +} \ No newline at end of file diff --git a/upload/catalog/controller/blog/latest.php b/upload/catalog/controller/blog/latest.php index 52c02a14..5ec61fcc 100644 --- a/upload/catalog/controller/blog/latest.php +++ b/upload/catalog/controller/blog/latest.php @@ -269,7 +269,6 @@ public function index() { $pagination->total = $article_total; $pagination->page = $page; $pagination->limit = $limit; - $pagination->text = $this->language->get('text_pagination'); $pagination->url = $this->url->link('blog/latest', $url . '&page={page}'); $data['pagination'] = $pagination->render(); @@ -291,5 +290,4 @@ public function index() { $this->response->setOutput($this->load->view('blog/latest', $data)); } -} -?> \ No newline at end of file +} \ No newline at end of file diff --git a/upload/catalog/model/blog/article.php b/upload/catalog/model/blog/article.php index 1e65888a..fcb3ccfe 100644 --- a/upload/catalog/model/blog/article.php +++ b/upload/catalog/model/blog/article.php @@ -431,7 +431,5 @@ public function getTotalArticles($data = array()) { } return $article_data; - } - + } } -?> diff --git a/upload/catalog/model/blog/category.php b/upload/catalog/model/blog/category.php index 11255dfe..338d8a31 100644 --- a/upload/catalog/model/blog/category.php +++ b/upload/catalog/model/blog/category.php @@ -55,5 +55,4 @@ public function getCategoryLayoutId($blog_category_id) { public function getTotalCategoriesByCategoryId($parent_id = 0) { return count($this->getCategories((int)$parent_id)); } -} -?> \ No newline at end of file +} \ No newline at end of file diff --git a/upload/catalog/model/blog/review.php b/upload/catalog/model/blog/review.php index 917db8c2..8256ee93 100644 --- a/upload/catalog/model/blog/review.php +++ b/upload/catalog/model/blog/review.php @@ -22,9 +22,8 @@ public function addReview($article_id, $data) { $message .= sprintf($this->language->get('text_rating'), $data['rating']) . "\n"; $message .= $this->language->get('text_review') . "\n"; $message .= html_entity_decode($data['text'], ENT_QUOTES, 'UTF-8') . "\n\n"; - - $mail = new Mail(); - $mail->protocol = $this->config->get('config_mail_protocol'); + + $mail = new Mail($this->config->get('config_mail_engine')); $mail->parameter = $this->config->get('config_mail_parameter'); $mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname'); $mail->smtp_username = $this->config->get('config_mail_smtp_username'); @@ -43,13 +42,12 @@ public function addReview($article_id, $data) { $emails = explode(',', $this->config->get('config_alert_email')); foreach ($emails as $email) { - if ($email && preg_match('/^[^\@]+@.*.[a-z]{2,15}$/i', $email)) { + if (utf8_strlen($email) > 0 && filter_var($email, FILTER_VALIDATE_EMAIL)) { $mail->setTo($email); $mail->send(); } } } - } public function getReviewsByArticleId($article_id, $start = 0, $limit = 20) { diff --git a/upload/catalog/view/theme/default/template/blog/article.twig b/upload/catalog/view/theme/default/template/blog/article.twig index 3cf37ca6..f2744cd7 100644 --- a/upload/catalog/view/theme/default/template/blog/article.twig +++ b/upload/catalog/view/theme/default/template/blog/article.twig @@ -92,8 +92,8 @@
- - + +
@@ -136,8 +136,8 @@
- - + +
@@ -217,128 +217,6 @@ - -