Back to PhocacartZone class

Method storeZones

public static
storeZones
(mixed $zonesArray, mixed $id, mixed $table = 'shipping')

Method storeZones - Source code

/*
 * used for shipping method rules
 * used for payment method rules
 */
public static function storeZones($zonesArray, $id, $table = 'shipping')
{
    if ($table == 'shipping') {
        $t = '#__phocacart_shipping_method_zones';
        $c = 'shipping_id';
    } else {
        if ($table == 'payment') {
            $t = '#__phocacart_payment_method_zones';
            $c = 'payment_id';
        }
    }
    if ((int) $id > 0) {
        $db = Factory::getDBO();
        $query = ' DELETE ' . ' FROM ' . $t . ' WHERE ' . $c . ' = ' . (int) $id;
        $db->setQuery($query);
        $db->execute();
        if (!empty($zonesArray)) {
            $values = array();
            $valuesString = '';
            foreach ($zonesArray as $k => $v) {
                //$values[] = ' ('.(int)$id.', '.(int)$v[0].')';
                // No multidimensional in J4
                $values[] = ' (' . (int) $id . ', ' . (int) $v . ')';
            }
            if (!empty($values)) {
                $valuesString = implode(',', $values);
                $query = ' INSERT INTO ' . $t . ' (' . $c . ', zone_id)' . ' VALUES ' . (string) $valuesString;
                $db->setQuery($query);
                $db->execute();
            }
        }
    }
}