v1.7-v8x Rock POS - The Best Point of Sale System

wjweb007

Active member
Elite
XNullUser
Joined
Jun 16, 2022
Messages
13
Reaction score
190
Points
28
NullCash
690
Rock POS is the best Prestashop Point of Sale module that has significantly helped thousands of brick-and-mortar stores increase revenues from faster sales, bigger carts/orders, cost reduction, data synchronization, and customers’ loyalty enhancement

https://addons.prestashop.com/en/point-of-sale-pos/13654-rock-pos-the-best-point-of-sale-system.html

1. SELL FAST! SELL MORE!
Enjoying an amazing stream of revenues to your store with a simple yet speedy check-out process for every cart/order.

2. FOCUS ON WHAT MATTERS!
Reducing your management time, costs, and risks thanks to a systematic point-of-sale (POS) report on the most important factors (sales, orders, cart size, employee’s performance).

3. KEEP YOUR CUSTOMERS COMING BACK!
Developing great relationships with your customers by smooth integration with top customer loyalty modules.

4. EASILY GROW YOUR BUSINESS!
Managing the business of your current physical store and developing new brick-and-mortar stores through Rock POS with no complexity, no time-consuming study but just a few clicks. (And YES, our point of sale (POS) module does support multiple stores).

5. YOU ARE NOT ALONE!
Optimizing the benefits of Rock POS to your store by having our Superhero support team as your in-need companion.
 

FloverLion

Active member
Elite
XNullUser
Joined
Sep 30, 2022
Messages
858
Reaction score
248
Points
43
NullCash
595
If you are not going to install the module, please open the issue in the questions and requests section.
 

wjweb007

Active member
Elite
XNullUser
Joined
Jun 16, 2022
Messages
13
Reaction score
190
Points
28
NullCash
690
i wish I could upload it but it kept failing to upload and kept saying "Contact system admin". I now can't edit the original post...
"The upload failed because the file could not be written to the server. the admin will need to resolve this before any files can be uploaded"
 

d-shilko

Well-known member
☆☆ Special ☆☆
☆ Pro ☆
Joined
Jun 10, 2021
Messages
2,538
Reaction score
1,528
Points
113
NullCash
4,551
i wish I could upload it but it kept failing to upload and kept saying "Contact system admin". I now can't edit the original post...
"The upload failed because the file could not be written to the server. the admin will need to resolve this before any files can be uploaded"
Hello. Yes, first think first read the forum rules.

You can alter posts only within the first 10 minutes.

Sometimes you can't upload files bigger than 25Mb
You can upload your contribution on file-sharing services like meganz.com or google disk e.t.c. Don't forget to use ❤️ to hide content.
Also, you can divide your contribution by archiver to parts.

Have a good one!
 

wjweb007

Active member
Elite
XNullUser
Joined
Jun 16, 2022
Messages
13
Reaction score
190
Points
28
NullCash
690
It's not 25mb though... It's 2mb...
 

ohyeah

Member
XNullUser
Joined
Dec 13, 2021
Messages
108
Reaction score
0
Points
16
NullCash
59
This one is just soo amazing.. A good share,, Thanks
 

chibi

Active member
Elite
XNullUser
Joined
Aug 12, 2021
Messages
132
Reaction score
241
Points
43
NullCash
231
The module code is crappy, too.

This is how should looks like an example of standard override cart.php code, proper :


PHP:
<?php
if (!defined('_PS_VERSION_')) { exit; }
class Cart extends CartCore
{
    /*
    * module: ets_onepagecheckout
    * date: 2024-08-15 01:52:11
    * version: 2.7.8
    */
    public function getPackageList($flush = false)
    {
        if(($address_type =  Tools::getValue('address_type')) && $address_type=='shipping_address')
            $this->id_address_delivery = (int)Tools::getValue('id_address',$this->id_address_delivery);
        return parent::getPackageList($flush);
    }
    /*
    * module: ets_onepagecheckout
    * date: 2024-08-15 01:52:11
    * version: 2.7.8
    */
    public function getPackageShippingCost($id_carrier = null, $use_tax = true, Country $default_country = null, $product_list = null, $id_zone = null, bool $keepOrderPrices = false)
    {
        if($IDzone = (int)Hook::exec('actionGetIDZoneByAddressID'))
        {
            $id_zone = $IDzone;
        }
       
        return parent::getPackageShippingCost($id_carrier,$use_tax,$default_country,$product_list,$id_zone, $keepOrderPrices);
    }
}


Now, this is the crappy code generated by Rock POS module wich erasing any old code after resetting himself (necessary for working), and this crappy code don't let you install many others modules :

PHP:
<?php
/**
* RockPOS - Point of Sale for PrestaShop.
*
* @author    Hamsa Technologies
* @copyright Hamsa Technologies
* @license   http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*/
if (!defined('_PS_VERSION_')) {
    exit;
}
use PrestaShop\PrestaShop\Adapter\ServiceLocator;

class Cart extends CartCore
{
    public function getProducts($refresh = false, $id_product = false, $id_country = null, $fullInfo = true, bool $keepOrderPrices = false)
    {
        if (Tools::version_compare(_PS_VERSION_, '1.7', '<')) {
            if (!$this->id) {
                return array();
            }
            // Product cache must be strictly compared to NULL, or else an empty cart will add dozens of queries
            if ($this->_products !== null && !$refresh) {
                // Return product row with specified ID if it exists
                if (is_int($id_product)) {
                    foreach ($this->_products as $product) {
                        if ($product['id_product'] == $id_product) {
                            return array($product);
                        }
                    }
                    return array();
                }
                return $this->_products;
            }

            // Build query
            $sql = new DbQuery();

            // Build SELECT
            $sql->select('cp.`id_product_attribute`, cp.`id_product`, cp.`quantity` AS cart_quantity, cp.id_shop, pl.`name`, p.`is_virtual`,
                             pl.`description_short`, pl.`available_now`, pl.`available_later`, product_shop.`id_category_default`, p.`id_supplier`,
                             p.`id_manufacturer`, product_shop.`on_sale`, product_shop.`ecotax`, product_shop.`additional_shipping_cost`,
                             product_shop.`available_for_order`, product_shop.`price`, product_shop.`active`, product_shop.`unity`, product_shop.`unit_price_ratio`,
                             stock.`quantity` AS quantity_available, p.`width`, p.`height`, p.`depth`, stock.`out_of_stock`, p.`weight`,
                             p.`date_add`, p.`date_upd`, IFNULL(stock.quantity, 0) as quantity, pl.`link_rewrite`, cl.`link_rewrite` AS category,
                             CONCAT(LPAD(cp.`id_product`, 10, 0), LPAD(IFNULL(cp.`id_product_attribute`, 0), 10, 0), IFNULL(cp.`id_address_delivery`, 0)) AS unique_id, cp.id_address_delivery,
                             product_shop.advanced_stock_management, ps.product_supplier_reference supplier_reference');
[...]
}

Full bad code is in file :
 

Attachments

  • bad ROCK POS cart.php.txt
    35.3 KB · Views: 0

antho2305

New member
XNullUser
Joined
May 15, 2022
Messages
2
Reaction score
0
Points
1
NullCash
1
The module code is crappy, too.

This is how should looks like an example of standard override cart.php code, proper :


PHP:
<?php
if (!defined('_PS_VERSION_')) { exit; }
class Cart extends CartCore
{
    /*
    * module: ets_onepagecheckout
    * date: 2024-08-15 01:52:11
    * version: 2.7.8
    */
    public function getPackageList($flush = false)
    {
        if(($address_type =  Tools::getValue('address_type')) && $address_type=='shipping_address')
            $this->id_address_delivery = (int)Tools::getValue('id_address',$this->id_address_delivery);
        return parent::getPackageList($flush);
    }
    /*
    * module: ets_onepagecheckout
    * date: 2024-08-15 01:52:11
    * version: 2.7.8
    */
    public function getPackageShippingCost($id_carrier = null, $use_tax = true, Country $default_country = null, $product_list = null, $id_zone = null, bool $keepOrderPrices = false)
    {
        if($IDzone = (int)Hook::exec('actionGetIDZoneByAddressID'))
        {
            $id_zone = $IDzone;
        }
      
        return parent::getPackageShippingCost($id_carrier,$use_tax,$default_country,$product_list,$id_zone, $keepOrderPrices);
    }
}


Now, this is the crappy code generated by Rock POS module wich erasing any old code after resetting himself (necessary for working), and this crappy code don't let you install many others modules :

PHP:
<?php
/**
* RockPOS - Point of Sale for PrestaShop.
*
* @author    Hamsa Technologies
* @copyright Hamsa Technologies
* @license   http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*/
if (!defined('_PS_VERSION_')) {
    exit;
}
use PrestaShop\PrestaShop\Adapter\ServiceLocator;

class Cart extends CartCore
{
    public function getProducts($refresh = false, $id_product = false, $id_country = null, $fullInfo = true, bool $keepOrderPrices = false)
    {
        if (Tools::version_compare(_PS_VERSION_, '1.7', '<')) {
            if (!$this->id) {
                return array();
            }
            // Product cache must be strictly compared to NULL, or else an empty cart will add dozens of queries
            if ($this->_products !== null && !$refresh) {
                // Return product row with specified ID if it exists
                if (is_int($id_product)) {
                    foreach ($this->_products as $product) {
                        if ($product['id_product'] == $id_product) {
                            return array($product);
                        }
                    }
                    return array();
                }
                return $this->_products;
            }

            // Build query
            $sql = new DbQuery();

            // Build SELECT
            $sql->select('cp.`id_product_attribute`, cp.`id_product`, cp.`quantity` AS cart_quantity, cp.id_shop, pl.`name`, p.`is_virtual`,
                             pl.`description_short`, pl.`available_now`, pl.`available_later`, product_shop.`id_category_default`, p.`id_supplier`,
                             p.`id_manufacturer`, product_shop.`on_sale`, product_shop.`ecotax`, product_shop.`additional_shipping_cost`,
                             product_shop.`available_for_order`, product_shop.`price`, product_shop.`active`, product_shop.`unity`, product_shop.`unit_price_ratio`,
                             stock.`quantity` AS quantity_available, p.`width`, p.`height`, p.`depth`, stock.`out_of_stock`, p.`weight`,
                             p.`date_add`, p.`date_upd`, IFNULL(stock.quantity, 0) as quantity, pl.`link_rewrite`, cl.`link_rewrite` AS category,
                             CONCAT(LPAD(cp.`id_product`, 10, 0), LPAD(IFNULL(cp.`id_product_attribute`, 0), 10, 0), IFNULL(cp.`id_address_delivery`, 0)) AS unique_id, cp.id_address_delivery,
                             product_shop.advanced_stock_management, ps.product_supplier_reference supplier_reference');
[...]
}

Full bad code is in file :
I don't understand what is going in the code ? can you give more explanation ?
 
Top