Jump to content

Farid Zenon

Members
  • Posts

    16
  • Joined

  • Last visited

1 Follower

Profile Information

  • Location
    Kuala Lumpur
  • Activity
    Developer

Recent Profile Visitors

3,176,484 profile views

Farid Zenon's Achievements

Newbie

Newbie (1/14)

2

Reputation

  1. This problem/error consider as a bug, i just submit this issue
  2. How i fix this module PreataShop Cleaner 1.1.2 : i just uninstall the module replace new module in path: public_html/modules/pscleaner new module i get it from https://github.com/PrestaShop/PrestaShop/tree/1.5 download whole repository & pick this module manually log out from B/O & login again Login with new session tab in chrome Basically i'm not fix, i just downgrade back pscleaner version 1.0
  3. Problem Fix i just replace with this new patch : below the code & here the original source form github <?php /* * 2007-2013 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/afl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2013 PrestaShop SA * @version Release: $Revision: 7060 $ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA */ if (!defined('_CAN_LOAD_FILES_')) exit; class PSCleaner extends Module { public function __construct() { $this->name = 'pscleaner'; $this->tab = 'administration'; $this->version = '1.0'; $this->author = 'PrestaShop'; $this->need_instance = 0; parent::__construct(); $this->displayName = $this->l('PrestaShop Cleaner'); $this->description = $this->l('Check and fix functional integrity constraints and remove default data'); $this->secure_key = Tools::encrypt($this->name); } public function getContent() { $html = '<h2>'.$this->l('Be really careful with this tool - There is no possible rollback!').'</h2>'; if (Tools::isSubmit('submitCheckAndFix')) { $logs = self::checkAndFix(); if (count($logs)) { $conf = $this->l('The following queries successfuly fixed broken data:').'<br /><ul>'; foreach ($logs as $query => $entries) $conf .= '<li>'.Tools::htmlentitiesUTF8($query).'<br />'.sprintf($this->l('%d line(s)'), $entries).'</li>'; $conf .= '</ul>'; } else $conf = $this->l('Nothing that need to be cleaned'); $html .= $this->displayConfirmation($conf); } if (Tools::isSubmit('submitTruncateCatalog')) { self::truncate('catalog'); $html .= '<div class="conf">'.$this->l('Catalog truncated').'</div>'; } if (Tools::isSubmit('submitTruncateSales')) { self::truncate('sales'); $html .= '<div class="conf">'.$this->l('Orders and customers truncated').'</div>'; } $html .= ' <script type="text/javascript"> $(document).ready(function(){ $("#submitTruncateCatalog").submit(function(){ if (!$(\'#checkTruncateCatalog\').attr(\'checked\')) alert(\''.addslashes($this->l('Please tick the checkbox above')).'\'); else if (confirm(\''.addslashes($this->l('Are you sure that you want to delete all catalog data?')).'\')) return true; return false; }); $("#submitTruncateSales").submit(function(){ if (!$(\'#checkTruncateSales\').attr(\'checked\')) alert(\''.addslashes($this->l('Please tick the checkbox above')).'\'); else if (confirm(\''.addslashes($this->l('Are you sure that you want to delete all sales data?')).'\')) return true; return false; }); }); </script> <form id="submitTruncateCatalog" action="'.Tools::htmlentitiesUTF8($_SERVER['REQUEST_URI']).'" method="post"> <fieldset><legend>'.$this->l('Catalog').'</legend> <p> <label style="float:none;width:auto"> <input id="checkTruncateCatalog" type="checkbox" /> '.$this->l('I understand that all the catalog data will be removed without possible rollback:').' '.$this->l('products, features, categories, tags, images, prices, attachments, scenes, stocks, attribute groups and values, manufacturers, suppliers...').' </label> </p> <input type="submit" class="button" name="submitTruncateCatalog" value="'.$this->l('Delete catalog').'" /> </fieldset> </form> <br /><br /> <form id="submitTruncateSales" action="'.Tools::htmlentitiesUTF8($_SERVER['REQUEST_URI']).'" method="post"> <fieldset><legend>'.$this->l('Orders and customers').'</legend> <p> <label style="float:none;width:auto"> <input id="checkTruncateSales" type="checkbox" /> '.$this->l('I understand that all the orders and customers will be removed without possible rollback:').' '.$this->l('customers, carts, orders, connections, guests, messages, stats...').' </label> </p> <input type="submit" class="button" id="submitTruncateSales" name="submitTruncateSales" value="'.$this->l('Delete orders & customers').'"/> </fieldset> </form> <br /><br /> <form action="'.Tools::htmlentitiesUTF8($_SERVER['REQUEST_URI']).'" method="post"> <fieldset><legend>'.$this->l('Functional integrity constraints').'</legend> <input type="submit" class="button" name="submitCheckAndFix" value="'.$this->l('Check & fix').'" /> </fieldset> </form>'; return $html; } public static function checkAndFix() { $db = Db::getInstance(); $logs = array(); // Remove doubles in the configuration $filtered_configuration = array(); $result = $db->ExecuteS('SELECT * FROM '._DB_PREFIX_.'configuration'); foreach ($result as $row) { $key = $row['id_shop_group'].'-|-'.$row['id_shop'].'-|-'.$row['name']; if (in_array($key, $filtered_configuration)) { $query = 'DELETE FROM '._DB_PREFIX_.'configuration WHERE id_configuration = '.(int)$row['id_configuration']; $db->Execute($query); $logs[$query] = 1; } else $filtered_configuration[] = $key; } unset($filtered_configuration); // Remove inexisting or monolanguage configuration value from configuration_lang $query = 'DELETE FROM `'._DB_PREFIX_.'configuration_lang` WHERE `id_configuration` NOT IN (SELECT `id_configuration` FROM `'._DB_PREFIX_.'configuration`) OR `id_configuration` IN (SELECT `id_configuration` FROM `'._DB_PREFIX_.'configuration` WHERE name IS NULL OR name = "")'; if ($db->Execute($query)) if ($affected_rows = $db->Affected_Rows()) $logs[$query] = $affected_rows; // Simple Cascade Delete $queries = array( // 0 => DELETE FROM __table__, 1 => WHERE __id__ NOT IN, 2 => NOT IN __table__, 3 => __id__ used in the "NOT IN" table, 4 => module_name array('access', 'id_profile', 'profile', 'id_profile'), array('access', 'id_tab', 'tab', 'id_tab'), array('accessory', 'id_product_1', 'product', 'id_product'), array('accessory', 'id_product_2', 'product', 'id_product'), array('address_format', 'id_country', 'country', 'id_country'), array('attribute', 'id_attribute_group', 'attribute_group', 'id_attribute_group'), array('carrier_group', 'id_carrier', 'carrier', 'id_carrier'), array('carrier_group', 'id_group', 'group', 'id_group'), array('carrier_zone', 'id_carrier', 'carrier', 'id_carrier'), array('carrier_zone', 'id_zone', 'zone', 'id_zone'), array('cart_cart_rule', 'id_cart', 'cart', 'id_cart'), array('cart_product', 'id_cart', 'cart', 'id_cart'), array('cart_rule_carrier', 'id_cart_rule', 'cart_rule', 'id_cart_rule'), array('cart_rule_carrier', 'id_carrier', 'carrier', 'id_carrier'), array('cart_rule_combination', 'id_cart_rule_1', 'cart_rule', 'id_cart_rule'), array('cart_rule_combination', 'id_cart_rule_2', 'cart_rule', 'id_cart_rule'), array('cart_rule_country', 'id_cart_rule', 'cart_rule', 'id_cart_rule'), array('cart_rule_country', 'id_country', 'country', 'id_country'), array('cart_rule_group', 'id_cart_rule', 'cart_rule', 'id_cart_rule'), array('cart_rule_group', 'id_group', 'group', 'id_group'), array('cart_rule_product_rule_group', 'id_cart_rule', 'cart_rule', 'id_cart_rule'), array('cart_rule_product_rule', 'id_product_rule_group', 'cart_rule_product_rule_group', 'id_product_rule_group'), array('cart_rule_product_rule_value', 'id_product_rule', 'cart_rule_product_rule', 'id_product_rule'), array('category_group', 'id_category', 'category', 'id_category'), array('category_group', 'id_group', 'group', 'id_group'), array('category_product', 'id_category', 'category', 'id_category'), array('category_product', 'id_product', 'product', 'id_product'), array('cms', 'id_cms_category', 'cms_category', 'id_cms_category'), array('cms_block', 'id_cms_category', 'cms_category', 'id_cms_category'), array('cms_block_page', 'id_cms', 'cms', 'id_cms'), array('cms_block_page', 'id_cms_block', 'cms_block', 'id_cms_block'), array('compare', 'id_customer', 'customer', 'id_customer'), array('compare_product', 'id_compare', 'compare', 'id_compare'), array('compare_product', 'id_product', 'product', 'id_product'), array('connections', 'id_shop_group', 'shop_group', 'id_shop_group'), array('connections', 'id_shop', 'shop', 'id_shop'), array('connections_page', 'id_connections', 'connections', 'id_connections'), array('connections_page', 'id_page', 'page', 'id_page'), array('connections_source', 'id_connections', 'connections', 'id_connections'), array('customer', 'id_shop_group', 'shop_group', 'id_shop_group'), array('customer', 'id_shop', 'shop', 'id_shop'), array('customer_group', 'id_group', 'group', 'id_group'), array('customer_group', 'id_customer', 'customer', 'id_customer'), array('customer_message', 'id_customer_thread', 'customer_thread', 'id_customer_thread'), array('customer_thread', 'id_shop', 'shop', 'id_shop'), array('customization', 'id_cart', 'cart', 'id_cart'), array('customization_field', 'id_product', 'product', 'id_product'), array('customized_data', 'id_customization', 'customization', 'id_customization'), array('delivery', 'id_shop', 'shop', 'id_shop'), array('delivery', 'id_shop_group', 'shop_group', 'id_shop_group'), array('delivery', 'id_carrier', 'carrier', 'id_carrier'), array('delivery', 'id_zone', 'zone', 'id_zone'), array('editorial', 'id_shop', 'shop', 'id_shop', 'editorial'), array('favorite_product', 'id_product', 'product', 'id_product','favoriteproducts'), array('favorite_product', 'id_customer', 'customer', 'id_customer','favoriteproducts'), array('favorite_product', 'id_shop', 'shop', 'id_shop','favoriteproducts'), array('feature_product', 'id_feature', 'feature', 'id_feature'), array('feature_product', 'id_product', 'product', 'id_product'), array('feature_value', 'id_feature', 'feature', 'id_feature'), array('group_reduction', 'id_group', 'group', 'id_group'), array('group_reduction', 'id_category', 'category', 'id_category'), array('homeslider', 'id_shop', 'shop', 'id_shop'), array('homeslider', 'id_homeslider_slides', 'homeslider_slides', 'id_homeslider_slides'), array('hook_module', 'id_hook', 'hook', 'id_hook'), array('hook_module', 'id_module', 'module', 'id_module'), array('hook_module_exceptions', 'id_hook', 'hook', 'id_hook'), array('hook_module_exceptions', 'id_module', 'module', 'id_module'), array('hook_module_exceptions', 'id_shop', 'shop', 'id_shop'), array('image', 'id_product', 'product', 'id_product'), array('message', 'id_cart', 'cart', 'id_cart'), array('message_readed', 'id_message', 'message', 'id_message'), array('message_readed', 'id_employee', 'employee', 'id_employee'), array('module_access', 'id_profile', 'profile', 'id_profile'), array('module_access', 'id_module', 'module', 'id_module'), array('module_country', 'id_module', 'module', 'id_module'), array('module_country', 'id_country', 'country', 'id_country'), array('module_country', 'id_shop', 'shop', 'id_shop'), array('module_currency', 'id_module', 'module', 'id_module'), array('module_currency', 'id_currency', 'currency', 'id_currency'), array('module_currency', 'id_shop', 'shop', 'id_shop'), array('module_group', 'id_module', 'module', 'id_module'), array('module_group', 'id_group', 'group', 'id_group'), array('module_group', 'id_shop', 'shop', 'id_shop'), array('module_preference', 'id_employee', 'employee', 'id_employee'), array('orders', 'id_shop', 'shop', 'id_shop'), array('orders', 'id_shop_group', 'group_shop', 'id_shop_group'), array('order_carrier', 'id_order', 'orders', 'id_order'), array('order_cart_rule', 'id_order', 'orders', 'id_order'), array('order_detail', 'id_order', 'orders', 'id_order'), array('order_detail_tax', 'id_order_detail', 'order_detail', 'id_order_detail'), array('order_history', 'id_order', 'orders', 'id_order'), array('order_invoice', 'id_order', 'orders', 'id_order'), array('order_invoice_payment', 'id_order', 'orders', 'id_order'), array('order_invoice_tax', 'id_order_invoice', 'order_invoice', 'id_order_invoice'), array('order_return', 'id_order', 'orders', 'id_order'), array('order_return_detail', 'id_order_return', 'order_return', 'id_order_return'), array('order_slip', 'id_order', 'orders', 'id_order'), array('order_slip_detail', 'id_order_slip', 'order_slip', 'id_order_slip'), array('pack', 'id_product_pack', 'product', 'id_product'), array('pack', 'id_product_item', 'product', 'id_product'), array('page', 'id_page_type', 'page_type', 'id_page_type'), array('page_viewed', 'id_shop', 'shop', 'id_shop'), array('page_viewed', 'id_shop_group', 'shop_group', 'id_shop_group'), array('page_viewed', 'id_date_range', 'date_range', 'id_date_range'), array('product_attachment', 'id_attachment', 'attachment', 'id_attachment'), array('product_attachment', 'id_product', 'product', 'id_product'), array('product_attribute', 'id_product', 'product', 'id_product'), array('product_attribute_combination', 'id_product_attribute', 'product_attribute', 'id_product_attribute'), array('product_attribute_combination', 'id_attribute', 'attribute', 'id_attribute'), array('product_attribute_image', 'id_image', 'image', 'id_image'), array('product_attribute_image', 'id_product_attribute', 'product_attribute', 'id_product_attribute'), array('product_carrier', 'id_product', 'product', 'id_product'), array('product_carrier', 'id_shop', 'shop', 'id_shop'), array('product_carrier', 'id_carrier_reference', 'carrier', 'id_reference'), array('product_country_tax', 'id_product', 'product', 'id_product'), array('product_country_tax', 'id_country', 'country', 'id_country'), array('product_country_tax', 'id_tax', 'tax', 'id_tax'), array('product_download', 'id_product', 'product', 'id_product'), array('product_group_reduction_cache', 'id_product', 'product', 'id_product'), array('product_group_reduction_cache', 'id_group', 'group', 'id_group'), array('product_sale', 'id_product', 'product', 'id_product'), array('product_supplier', 'id_product', 'product', 'id_product'), array('product_supplier', 'id_supplier', 'supplier', 'id_supplier'), array('product_tag', 'id_product', 'product', 'id_product'), array('product_tag', 'id_tag', 'tag', 'id_tag'), array('range_price', 'id_carrier', 'carrier', 'id_carrier'), array('range_weight', 'id_carrier', 'carrier', 'id_carrier'), array('referrer_cache', 'id_referrer', 'referrer', 'id_referrer'), array('referrer_cache', 'id_connections_source', 'connections_source', 'id_connections_source'), array('scene_category', 'id_scene', 'scene', 'id_scene'), array('scene_category', 'id_category', 'category', 'id_category'), array('scene_products', 'id_scene', 'scene', 'id_scene'), array('scene_products', 'id_product', 'product', 'id_product'), array('search_index', 'id_product', 'product', 'id_product'), array('search_word', 'id_lang', 'lang', 'id_lang'), array('search_word', 'id_shop', 'shop', 'id_shop'), array('shop_url', 'id_shop', 'shop', 'id_shop'), array('specific_price_priority', 'id_product', 'product', 'id_product'), array('stock', 'id_warehouse', 'warehouse', 'id_warehouse'), array('stock', 'id_product', 'product', 'id_product'), array('stock_available', 'id_product', 'product', 'id_product'), array('stock_mvt', 'id_stock', 'stock', 'id_stock'), array('tab_module_preference', 'id_employee', 'employee', 'id_employee'), array('tab_module_preference', 'id_tab', 'tab', 'id_tab'), array('tax_rule', 'id_country', 'country', 'id_country'), array('theme_specific', 'id_theme', 'theme', 'id_theme'), array('theme_specific', 'id_shop', 'shop', 'id_shop'), array('warehouse_carrier', 'id_warehouse', 'warehouse', 'id_warehouse'), array('warehouse_carrier', 'id_carrier', 'carrier', 'id_carrier'), array('warehouse_product_location', 'id_product', 'product', 'id_product'), array('warehouse_product_location', 'id_warehouse', 'warehouse', 'id_warehouse'), ); $queries = self::bulle($queries); foreach ($queries as $query_array) { // If this is a module and the module is not installed, we continue if (isset($query_array[4]) && !Module::isInstalled($query_array[4])) continue; $query = 'DELETE FROM `'._DB_PREFIX_.$query_array[0].'` WHERE `'.$query_array[1].'` NOT IN (SELECT `'.$query_array[3].'` FROM `'._DB_PREFIX_.$query_array[2].'`)'; if ($db->Execute($query)) if ($affected_rows = $db->Affected_Rows()) $logs[$query] = $affected_rows; } // _lang table cleaning $tables = Db::getInstance()->executeS('SHOW TABLES LIKE "'.preg_replace('/([%_])/', '\\$1', _DB_PREFIX_).'%_\\_lang"'); foreach ($tables as $table) { $table_lang = current($table); $table = str_replace('_lang', '', $table_lang); $id_table = 'id_'.preg_replace('/^'._DB_PREFIX_.'/', '', $table); $query = 'DELETE FROM `'.bqSQL($table_lang).'` WHERE `'.bqSQL($id_table).'` NOT IN (SELECT `'.bqSQL($id_table).'` FROM `'.bqSQL($table).'`)'; if ($db->Execute($query)) if ($affected_rows = $db->Affected_Rows()) $logs[$query] = $affected_rows; $query = 'DELETE FROM `'.bqSQL($table_lang).'` WHERE `id_lang` NOT IN (SELECT `id_lang` FROM `'._DB_PREFIX_.'lang`)'; if ($db->Execute($query)) if ($affected_rows = $db->Affected_Rows()) $logs[$query] = $affected_rows; } // _shop table cleaning $tables = Db::getInstance()->executeS('SHOW TABLES LIKE "'.preg_replace('/([%_])/', '\\$1', _DB_PREFIX_).'%_\\_shop"'); foreach ($tables as $table) { $table_shop = current($table); $table = str_replace('_shop', '', $table_shop); $id_table = 'id_'.preg_replace('/^'._DB_PREFIX_.'/', '', $table); if (in_array($table_shop, array(_DB_PREFIX_.'carrier_tax_rules_group_shop'))) continue; $query = 'DELETE FROM `'.bqSQL($table_shop).'` WHERE `'.bqSQL($id_table).'` NOT IN (SELECT `'.bqSQL($id_table).'` FROM `'.bqSQL($table).'`)'; if ($db->Execute($query)) if ($affected_rows = $db->Affected_Rows()) $logs[$query] = $affected_rows; $query = 'DELETE FROM `'.bqSQL($table_shop).'` WHERE `id_shop` NOT IN (SELECT `id_shop` FROM `'._DB_PREFIX_.'shop`)'; if ($db->Execute($query)) if ($affected_rows = $db->Affected_Rows()) $logs[$query] = $affected_rows; } // stock_available $query = 'DELETE FROM `'._DB_PREFIX_.'stock_available` WHERE `id_shop` NOT IN (SELECT `id_shop` FROM `'._DB_PREFIX_.'shop`) AND `id_shop_group` NOT IN (SELECT `id_shop_group` FROM `'._DB_PREFIX_.'shop_group`)'; if ($db->Execute($query)) if ($affected_rows = $db->Affected_Rows()) $logs[$query] = $affected_rows; Category::regenerateEntireNtree(); // @Todo: Remove attachment files, images... Image::clearTmpDir(); self::clearAllCaches(); return $logs; } public function truncate($case) { $db = Db::getInstance(); switch ($case) { case 'catalog': $id_home = Configuration::get('PS_HOME_CATEGORY'); $id_root = Configuration::get('PS_ROOT_CATEGORY'); $db->execute('DELETE FROM `'._DB_PREFIX_.'category` WHERE id_category NOT IN ('.(int)$id_home.', '.(int)$id_root.')'); $db->execute('DELETE FROM `'._DB_PREFIX_.'category_lang` WHERE id_category NOT IN ('.(int)$id_home.', '.(int)$id_root.')'); $db->execute('DELETE FROM `'._DB_PREFIX_.'category_shop` WHERE id_category NOT IN ('.(int)$id_home.', '.(int)$id_root.')'); foreach (scandir(_PS_CAT_IMG_DIR_) as $dir) if (preg_match('/^[0-9]+(\-(.*))?\.jpg$/', $dir)) unlink(_PS_CAT_IMG_DIR_.$dir); $tables = array( 'product', 'product_shop', 'feature_product', 'product_lang', 'category_product', 'product_tag', 'image', 'image_lang', 'image_shop', 'specific_price', 'specific_price_priority', 'product_carrier', 'cart_product', 'compare_product', 'product_attachment', 'product_country_tax', 'product_download', 'product_group_reduction_cache', 'product_sale', 'product_supplier', 'scene_products', 'warehouse_product_location', 'stock', 'stock_available', 'stock_mvt', 'customization', 'customization_field', 'supply_order_detail', 'attribute_impact', 'product_attribute', 'product_attribute_shop', 'product_attribute_combination', 'product_attribute_image', 'attribute', 'attribute_impact', 'attribute_lang', 'attribute_group', 'attribute_group_lang', 'attribute_group_shop', 'attribute_shop', 'product_attribute', 'product_attribute_shop', 'product_attribute_combination', 'product_attribute_image', 'stock_available', 'manufacturer', 'manufacturer_lang', 'manufacturer_shop', 'supplier', 'supplier_lang', 'supplier_shop', 'customization', 'customization_field', 'customization_field_lang', 'customized_data', 'feature', 'feature_lang', 'feature_product', 'feature_shop', 'feature_value', 'feature_value_lang', 'pack', 'scene', 'scene_category', 'scene_lang', 'scene_products', 'scene_shop', 'search_index', 'search_word', 'specific_price', 'specific_price_priority', 'specific_price_rule', 'specific_price_rule_condition', 'specific_price_rule_condition_group', 'stock', 'stock_available', 'stock_mvt', 'tag', ); foreach ($tables as $table) $db->execute('TRUNCATE TABLE `'._DB_PREFIX_.bqSQL($table).'`'); $db->execute('DELETE FROM `'._DB_PREFIX_.'address` WHERE id_manufacturer > 0 OR id_supplier > 0 OR id_warehouse > 0'); Image::deleteAllImages(_PS_PROD_IMG_DIR_); if (!file_exists(_PS_PROD_IMG_DIR_)) mkdir(_PS_PROD_IMG_DIR_); foreach (scandir(_PS_MANU_IMG_DIR_) as $dir) if (preg_match('/^[0-9]+(\-(.*))?\.jpg$/', $dir)) unlink(_PS_MANU_IMG_DIR_.$dir); foreach (scandir(_PS_SUPP_IMG_DIR_) as $dir) if (preg_match('/^[0-9]+(\-(.*))?\.jpg$/', $dir)) unlink(_PS_SUPP_IMG_DIR_.$dir); break; case 'sales': $tables = array( 'customer', 'cart', 'cart_product', 'connections', 'connections_page', 'connections_source', 'customer_group', 'customer_message', 'customer_message_sync_imap', 'customer_thread', 'guest', 'message', 'message_readed', 'orders', 'order_carrier', 'order_cart_rule', 'order_detail', 'order_detail_tax', 'order_history', 'order_invoice', 'order_invoice_payment', 'order_invoice_tax', 'order_payment', 'order_return', 'order_return_detail', 'order_slip', 'order_slip_detail', 'page', 'pagenotfound', 'page_type', 'page_viewed', 'referrer_cache', 'sekeyword', ); foreach ($tables as $table) $db->execute('TRUNCATE TABLE `'._DB_PREFIX_.bqSQL($table).'`'); $db->execute('DELETE FROM `'._DB_PREFIX_.'address` WHERE id_customer > 0'); $db->execute('UPDATE `'._DB_PREFIX_.'employee` SET `id_last_order` = 0,`id_last_customer_message` = 0,`id_last_customer` = 0'); break; } self::clearAllCaches(); } // Not called yet public static function cleanAndOptimize() { Db::getInstance()->execute('DELETE FROM `'._DB_PREFIX_.'cart` WHERE id_cart NOT IN (SELECT id_cart FROM `'._DB_PREFIX_.'cart`) AND date_add < "'.pSQL(date('Y-m-d', strtotime('-1 month'))).'"'); } protected static function bulle($array) { $sorted = false; $size = count($array); while (!$sorted) { $sorted = true; for ($i = 0; $i < $size - 1; ++$i) for ($j = $i + 1; $j < $size; ++$j) if ($array[$i][2] == $array[$j][0]) { $tmp = $array[$i]; $array[$i] = $array[$j]; $array[$j] = $tmp; $sorted = false; } } return $array; } protected static function clearAllCaches() { $index = file_exists(_PS_TMP_IMG_DIR_.'index.php') ? file_get_contents(_PS_TMP_IMG_DIR_.'index.php') : ''; Tools::deleteDirectory(_PS_TMP_IMG_DIR_, false); file_put_contents(_PS_TMP_IMG_DIR_.'index.php', $index); Context::getContext()->smarty->clearAllCache(); } }
  4. Webcash v1.0 (Mar 2009) module for Prestashop v1.0 released on 2008 here the source code. i don't think this payment gateway module gonna be your first choice since this module last update on 2009 & actually the module not by webcash it self, but from merchant who provide this module back to community long time ago. Unless just fork from this module recreate working module for latest version Prestashop.
  5. "Houston, We've Got a Problem" Done:- Reset Uninstall Delete Clear Smarty & install back. But back to square one. (error). So how i can get small magic thick box back, this lil think play hide & seek ( but now hide only) Anyway thank for your respond.
  6. Sebenarnya abaikan lah, webcash ni ada masalah pengurusan dan kepakaran, jika ada SME yang menggunakan pelantar pembayaran mereka kelak bakal mengundang masalah. Pelangan sasaran mereka adalah user dan peniaga besar. Peniaga kecil ni dinasihatkan jangan lah, tidak mesra komuniti.. Aku faham kenapa ianya menjadi faktor utama? kerana getway ni tak mengenakan sebarang charge untuk setup bukan? biasa lah tu. Last plugin dikemaskini pada tahun 2009? agak-agak la kawan, kau tu payment gateway.
  7. Hi vekia. I'm using version 1.5.6.1 try to use the function "Delete order & customer / Delete catalog" not working. "yes" thick box not appear, please refer attachment. Any idea? p/s: to be honest @bojees respond sound funny to me.
  8. @bizplan, masalah utama bila return page tak ke halaman pengesahan pembayaran bukan?
  9. Salam, Sebenarnya kesian dekat user Malaysia terutama sekali yang berbahasa Melayu, ada sedikit kekangan didalam arena ini disebabkan bahasa Melayu bukanlah bahasa IT. Terpaksa guna bahasa Indonesia untuk buka topik ini.
  10. Thank for this free pretashop seo information! 2 hour try to fix this matter
  11. Just delete mysql data enquiry follow by Countries ID code on date base
  12. prestashop 404 error after backup on version 1.4.4.1 error after backup using Softaculous 3.6 how to fix please regenerate .htaccess go to Tools > Generators > Generate .htaccess file.
×
×
  • Create New...