- Removed all the duplicate posts
- Removed all the non-bugs
- Removed all the upgrade confusions
- Removed all the off topic commentary
All confirmed bugs are listed in the first post of this thread.
All confirmed bugs are fixed in the latest patch linked in the first post of this thread.
PLEASE DO NOT POST ANY BUGS UNTIL YOU HAVE READ THE FIRST POST!
i get an Warning error at admin page when i make a copy of product.
1. FIX:
Open to edit: /admin/controller/catalog/product.php
2. FIND:
Code: Select all
if (isset($this->request->get['filter_name'])) {
$url .= '&filter_name=' . urlencode(html_entity_decode($this->request->get['filter_name']), ENT_QUOTES, 'UTF-8');
}
if (isset($this->request->get['filter_model'])) {
$url .= '&filter_model=' . urlencode(html_entity_decode($this->request->get['filter_model']), ENT_QUOTES, 'UTF-8');
}
Code: Select all
if (isset($this->request->get['filter_name'])) {
$url .= '&filter_name=' . urlencode(html_entity_decode($this->request->get['filter_name'], ENT_QUOTES, 'UTF-8'));
}
if (isset($this->request->get['filter_model'])) {
$url .= '&filter_model=' . urlencode(html_entity_decode($this->request->get['filter_model'], ENT_QUOTES, 'UTF-8'));
}
Fixed. Thankskpeu3u wrote:Hello,
i get an Warning error at admin page when i make a copy of product.
1. FIX:
Open to edit: /admin/controller/catalog/product.php
2. FIND:3. REPLACE WITH:Code: Select all
if (isset($this->request->get['filter_name'])) { $url .= '&filter_name=' . urlencode(html_entity_decode($this->request->get['filter_name']), ENT_QUOTES, 'UTF-8'); } if (isset($this->request->get['filter_model'])) { $url .= '&filter_model=' . urlencode(html_entity_decode($this->request->get['filter_model']), ENT_QUOTES, 'UTF-8'); }
Code: Select all
if (isset($this->request->get['filter_name'])) { $url .= '&filter_name=' . urlencode(html_entity_decode($this->request->get['filter_name'], ENT_QUOTES, 'UTF-8')); } if (isset($this->request->get['filter_model'])) { $url .= '&filter_model=' . urlencode(html_entity_decode($this->request->get['filter_model'], ENT_QUOTES, 'UTF-8')); }
When manually adding an affiliate to an order, when you click on add commission, it says it has added it but the value remains at 0.
When deleting a category in the admin panel, it doesn't delete any data in the product_to_category table, which means functions like getProductCategories() return values that no longer exist. If you're using this data to determine something based on the categories to which the product belongs, it can mess up the results.
The fix should just be a one-line database query added to the /admin/model/catalog/category.php file in the deleteCategory() function.
Also, just so I don't lose it, the database query I worked out to fix this issue for someone is as follows:
Code: Select all
DELETE FROM product_to_category WHERE NOT EXISTS (SELECT * FROM category WHERE category_id = product_to_category.category_id)
ThanksJohnathan wrote:Just found a bug that has apparently existed since at least 1.4.1:
When deleting a category in the admin panel, it doesn't delete any data in the product_to_category table, which means functions like getProductCategories() return values that no longer exist. If you're using this data to determine something based on the categories to which the product belongs, it can mess up the results.
The fix should just be a one-line database query added to the /admin/model/catalog/category.php file in the deleteCategory() function.
Also, just so I don't lose it, the database query I worked out to fix this issue for someone is as follows:
Use at your own risk.Code: Select all
DELETE FROM product_to_category WHERE NOT EXISTS (SELECT * FROM category WHERE category_id = product_to_category.category_id)
Fixed. r991
Code: Select all
$this->data['amount'] = '25.00';
Code: Select all
$this->data['amount'] = $this->currency->format(25);
ccM wrote:Has anyone tested their gift voucher purchase since r973? The update changed thistoCode: Select all
$this->data['amount'] = '25.00';
On a clean install of 1.5.2.1 plus latest patch I am getting $25.00 entered in to the amount field (including the dollar sign) which it won't accept when submitting the form.Code: Select all
$this->data['amount'] = $this->currency->format(25);
Confirmed..
Fix:
1. EDIT: catalog/controller/account/voucher.php
2. FIND:
Code: Select all
$this->currency->format(25);
Code: Select all
$this->currency->format(25, $this->config->get('config_currency'), false, false);
Definitely the right move! It finally fixed my issue too!!!moneycarlo wrote:I just upgraded to 1.5.2.2 and noticed when I went into the Admin to edit an order, I received an error:
Use of undefined constant HTTPS_CATALOG - assumed 'HTTPS_CATALOG' in /admin/controller/sale/order.php on line 756
I then went into the admin/config.php and added the HTTPS_CATALOG entry into the HTTPS section and it got rid of the error.
Here's to hoping that was the right moveCode: Select all
define('HTTPS_CATALOG', 'https://www.domain.com/');
Thank you thank you thank you!!!
Running Opencart v3.0.3.2 with multi-stores and the default template from https://www.labeshops.com which has links to all my stores.
The admin backend and the frontend use product query caching which can cause clashes between the two:
admin/model/catalog/product.php:
Code: Select all
$product_data = $this->cache->get('product.' . (int)$this->config->get('config_language_id'));
if (!$product_data) {
$product_data = ......;
$this->cache->set('product.' . (int)$this->config->get('config_language_id'), $product_data);
}
Code: Select all
$product_data = $this->cache->get('product.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' . (int)$customer_group_id . '.' . $cache);
if (!$product_data) {
$product_data = .......;
$this->cache->set('product.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' . (int)$customer_group_id . '.' . $cache, $product_data);
}
I suggest this bugfix:
admin/model/catalog/product.php:
Code: Select all
$product_data = $this->cache->get('admin_product.' . (int)$this->config->get('config_language_id'));
if (!$product_data) {
$product_data = ......;
$this->cache->set('admin_product.' . (int)$this->config->get('config_language_id'), $product_data);
}
Export/Import Tool * SpamBot Buster * Unused Images Manager * Instant Option Price Calculator * Number Option * Google Tag Manager * Survey Plus * OpenTwig
Code: Select all
foreach ($option['option_value'] as $option_value) {
if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) {
.....
Code: Select all
foreach ($option['option_value'] as $option_value) {
if (!$option_value['subtract'] || ($option_value['quantity'] > 0) || ($this->config->get('config_stock_checkout'))) {
.....
Export/Import Tool * SpamBot Buster * Unused Images Manager * Instant Option Price Calculator * Number Option * Google Tag Manager * Survey Plus * OpenTwig
Code: Select all
if (!is_null($data['filter_order_status_id'])) {
Code: Select all
if (!empty($data['filter_order_status_id'])) {
The same bug exists in the functions getShipping and getTotalShipping.
The same bug also exists in the file admin/model/report/customer.php, for the functions getOrders and getTotalOrders.
The $data['filter_order_status_id'] is never null, but it can have the value '0', meaning to include all order statuses into the resulting list.
Export/Import Tool * SpamBot Buster * Unused Images Manager * Instant Option Price Calculator * Number Option * Google Tag Manager * Survey Plus * OpenTwig
ok addedJNeuhoff wrote:I think the following code in catalog/controller/product/product.php should be chnged from
toCode: Select all
foreach ($option['option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { .....
because we still want to see out of stock options on the product page when the 'Stock Checkout' in the store settings is set to 'Yes', that is, allow customers to still checkout if the products they are ordering are not in stock.Code: Select all
foreach ($option['option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0) || ($this->config->get('config_stock_checkout'))) { .....
OpenCart®
Project Owner & Developer.
JNeuhoff wrote:In file admin/model/report/sale.php, in function getTotalTaxes, the following line
should be replaced withCode: Select all
if (!is_null($data['filter_order_status_id'])) {
as is the case in function getTaxes.Code: Select all
if (!empty($data['filter_order_status_id'])) {
The same bug exists in the functions getShipping and getTotalShipping.
The same bug also exists in the file admin/model/report/customer.php, for the functions getOrders and getTotalOrders.
has been done for a while on the svn.
The $data['filter_order_status_id'] is never null, but it can have the value '0', meaning to include all order statuses into the resulting list.
OpenCart®
Project Owner & Developer.
I'm a newbie. A few days ago I opened a new store with the wonderful OpenCart.
I think the following code in catalog/model/product/account/return.php should be changed from
Code: Select all
$query = $this->db->query("SELECT r.return_id, r.order_id, r.firstname, r.lastname, r.email, r.telephone, r.product, r.model, r.quantity, r.opened, rr.name as reason, ra.name as action, rs.name as status, r.comment, r.date_ordered, r.date_added, r.date_modified FROM `" . DB_PREFIX . "return` r LEFT JOIN " . DB_PREFIX . "return_reason rr ON (r.return_reason_id = rr.return_reason_id) LEFT JOIN " . DB_PREFIX . "return_action ra ON (r.return_action_id = ra.return_action_id) LEFT JOIN " . DB_PREFIX . "return_status rs ON (r.return_status_id = rs.return_status_id) WHERE return_id = '" . (int)$return_id . "' AND customer_id = '" . $this->customer->getId() . "'");
Code: Select all
$query = $this->db->query("SELECT r.return_id, r.order_id, r.firstname, r.lastname, r.email, r.telephone, r.product, r.model, r.quantity, r.opened, rr.name as reason, ra.name as action, rs.name as status, r.comment, r.date_ordered, r.date_added, r.date_modified FROM `" . DB_PREFIX . "return` r LEFT JOIN " . DB_PREFIX . "return_reason rr ON (r.return_reason_id = rr.return_reason_id) LEFT JOIN " . DB_PREFIX . "return_action ra ON (r.return_action_id = ra.return_action_id) LEFT JOIN " . DB_PREFIX . "return_status rs ON (r.return_status_id = rs.return_status_id) WHERE return_id = '" . (int)$return_id . "' AND customer_id = '" . $this->customer->getId() .
"' AND rr.language_id = '" . (int)$this->config->get('config_language_id') .
"' AND ra.language_id = '" . (int)$this->config->get('config_language_id') .
"' AND rs.language_id = '" . (int)$this->config->get('config_language_id') . "'");
Users browsing this forum: No registered users and 136 guests