Ejemplo n.º 1
0
 public function index($id = 0, $params = array())
 {
     $lang_code = $this->safeGet($params, 'lang_code', DEFAULT_LANGUAGE);
     if (!empty($id)) {
         $data = fn_get_tax($id, $lang_code);
         if (empty($data)) {
             $status = Response::STATUS_NOT_FOUND;
         } else {
             $status = Response::STATUS_OK;
         }
     } else {
         $items_per_page = $this->safeGet($params, 'items_per_page', Registry::get('settings.Appearance.admin_elements_per_page'));
         $page = $this->safeGet($params, 'page', 1);
         $data = fn_get_taxes($lang_code);
         $data = array_values($data);
         if ($items_per_page) {
             $data = array_slice($data, ($page - 1) * $items_per_page, $items_per_page);
         }
         $data = array('taxes' => $data, 'params' => array('items_per_page' => $items_per_page, 'page' => $page, 'total_items' => count($data)));
         $status = Response::STATUS_OK;
     }
     return array('status' => $status, 'data' => $data);
 }
Ejemplo n.º 2
0
    $tabs = array('general' => array('title' => __('general'), 'js' => true), 'configure' => array('title' => __('configure'), 'ajax' => true), 'shipping_charges' => array('title' => __('shipping_charges'), 'js' => true));
    $services = fn_get_shipping_services();
    if (!empty($shipping['rate_calculation']) && $shipping['rate_calculation'] == 'R' && !empty($services[$shipping['service_id']]['module'])) {
        $tabs['configure']['href'] = 'shippings.configure?shipping_id=' . $shipping['shipping_id'] . '&module=' . $services[$shipping['service_id']]['module'] . '&code=' . urlencode($services[$shipping['service_id']]['code']);
        $tabs['configure']['hidden'] = 'N';
    } else {
        $tabs['configure']['hidden'] = 'Y';
    }
    if (Registry::get('runtime.company_id') && Registry::get('runtime.company_id') != $shipping['company_id']) {
        unset($tabs['configure']);
        Tygh::$app['view']->assign('hide_for_vendor', true);
    }
    Registry::set('navigation.tabs', $tabs);
    Tygh::$app['view']->assign('services', $services);
    Tygh::$app['view']->assign('carriers', fn_get_carriers_from_services($services));
    Tygh::$app['view']->assign('taxes', fn_get_taxes());
    Tygh::$app['view']->assign('usergroups', fn_get_usergroups(array('type' => 'C', 'status' => array('A', 'H')), DESCR_SL));
    // Show all shipping methods
} elseif ($mode == 'manage') {
    $company_id = Registry::ifGet('runtime.company_id', null);
    Tygh::$app['view']->assign('shippings', fn_get_available_shippings($company_id));
    Tygh::$app['view']->assign('usergroups', fn_get_usergroups(array('type' => 'C', 'status' => array('A', 'H')), DESCR_SL));
}
function fn_delete_rate_values($delete_rate_data, $shipping_id, $destination_id)
{
    $rate_values = db_get_field("SELECT rate_value FROM ?:shipping_rates WHERE shipping_id = ?i AND destination_id = ?i", $shipping_id, $destination_id);
    if (!empty($rate_values)) {
        $rate_values = unserialize($rate_values);
    }
    foreach ((array) $rate_values as $rate_type => $rd) {
        foreach ((array) $rd as $amount => $data) {
Ejemplo n.º 3
0
        }
        Tygh::$app['view']->assign('list_price_1c', trim($list_price_1c, ','));
        Tygh::$app['view']->assign('base_price_1c', trim($base_price_1c, ','));
        Tygh::$app['view']->assign('prices_data', $prices);
        if ($s_commerceml['exim_1c_check_prices'] == 'Y') {
            list($path_commerceml, $url_commerceml, $url_images) = RusEximCommerceml::getDirCommerceML();
            $result = array();
            $file_offers = glob($path_commerceml . "offers*");
            if (!empty($file_offers)) {
                $filename = fn_basename(reset($file_offers));
                $xml = RusEximCommerceml::getFileCommerceml($filename);
                if (isset($xml->{$cml}['packages']->{$cml}['offers']->{$cml}['offer'])) {
                    $result = RusEximCommerceml::checkPricesOffers($xml->{$cml}['packages']);
                }
            } else {
                fn_set_notification('W', __('warning'), __('offers_not_found'));
            }
            Tygh::$app['view']->assign('resul_test', $result);
        }
    }
    if ($s_commerceml['exim_1c_add_tax'] == 'Y') {
        $taxes = fn_get_taxes();
        $taxes_data = db_get_array("SELECT * FROM ?:rus_exim_1c_taxes");
        Tygh::$app['view']->assign('taxes_data', $taxes_data);
        Tygh::$app['view']->assign('taxes', $taxes);
    }
    $data_currencies = Registry::get('currencies');
    $commerceml_currencies = db_get_array("SELECT * FROM ?:rus_commerceml_currencies");
    Tygh::$app['view']->assign('commerceml_currencies', $commerceml_currencies);
    Tygh::$app['view']->assign('data_currencies', $data_currencies);
}
Ejemplo n.º 4
0
    $tabs = array('general' => array('title' => __('general'), 'js' => true), 'configure' => array('title' => __('configure'), 'ajax' => true), 'shipping_charges' => array('title' => __('shipping_charges'), 'js' => true));
    $services = fn_get_shipping_services();
    if (!empty($shipping['rate_calculation']) && $shipping['rate_calculation'] == 'R' && !empty($services[$shipping['service_id']]['module'])) {
        $tabs['configure']['href'] = 'shippings.configure?shipping_id=' . $shipping['shipping_id'] . '&module=' . $services[$shipping['service_id']]['module'] . '&code=' . urlencode($services[$shipping['service_id']]['code']);
        $tabs['configure']['hidden'] = 'N';
    } else {
        $tabs['configure']['hidden'] = 'Y';
    }
    if (Registry::get('runtime.company_id') && Registry::get('runtime.company_id') != $shipping['company_id']) {
        unset($tabs['configure']);
        Registry::get('view')->assign('hide_for_vendor', true);
    }
    Registry::set('navigation.tabs', $tabs);
    Registry::get('view')->assign('services', $services);
    Registry::get('view')->assign('carriers', fn_get_carriers_from_services($services));
    Registry::get('view')->assign('taxes', fn_get_taxes());
    Registry::get('view')->assign('usergroups', fn_get_usergroups(array('type' => 'C', 'status' => array('A', 'H')), DESCR_SL));
    // Show all shipping methods
} elseif ($mode == 'manage') {
    $company_id = Registry::ifGet('runtime.company_id', null);
    Registry::get('view')->assign('shippings', fn_get_available_shippings($company_id));
    Registry::get('view')->assign('usergroups', fn_get_usergroups(array('type' => 'C', 'status' => array('A', 'H')), DESCR_SL));
}
function fn_delete_rate_values($delete_rate_data, $shipping_id, $destination_id)
{
    $rate_values = db_get_field("SELECT rate_value FROM ?:shipping_rates WHERE shipping_id = ?i AND destination_id = ?i", $shipping_id, $destination_id);
    if (!empty($rate_values)) {
        $rate_values = unserialize($rate_values);
    }
    foreach ((array) $rate_values as $rate_type => $rd) {
        foreach ((array) $rd as $amount => $data) {
Ejemplo n.º 5
0
        }
        $suffix = '.manage';
    }
    if ($mode == 'delete') {
        if (!empty($_REQUEST['tax_id'])) {
            fn_delete_taxes($_REQUEST['tax_id']);
        }
        $suffix = '.manage';
    }
    return array(CONTROLLER_STATUS_OK, 'taxes' . $suffix);
}
// ---------------------- GET routines ---------------------------------------
// Edit tax rates
if ($mode == 'update') {
    $tax = fn_get_tax($_REQUEST['tax_id'], DESCR_SL);
    if (empty($tax)) {
        return array(CONTROLLER_STATUS_NO_PAGE);
    }
    $destinations = fn_get_destinations();
    Registry::set('navigation.tabs', array('general' => array('title' => __('general'), 'js' => true), 'tax_rates' => array('title' => __('tax_rates'), 'js' => true)));
    Tygh::$app['view']->assign('tax', $tax);
    Tygh::$app['view']->assign('rates', db_get_hash_array("SELECT * FROM ?:tax_rates WHERE tax_id = ?i", 'destination_id', $_REQUEST['tax_id']));
    Tygh::$app['view']->assign('destinations', $destinations);
    // Add tax
} elseif ($mode == 'add') {
    Registry::set('navigation.tabs', array('general' => array('title' => __('general'), 'js' => true), 'tax_rates' => array('title' => __('tax_rates'), 'js' => true)));
    Tygh::$app['view']->assign('destinations', fn_get_destinations());
    // Edit taxes
} elseif ($mode == 'manage') {
    Tygh::$app['view']->assign('taxes', fn_get_taxes(DESCR_SL));
}
Ejemplo n.º 6
0
            }
        }
        $suffix = '.manage';
    }
    return array(CONTROLLER_STATUS_OK, "taxes{$suffix}");
}
// ---------------------- GET routines ---------------------------------------
// Edit tax rates
if ($mode == 'update') {
    $tax = fn_get_tax($_REQUEST['tax_id'], DESCR_SL);
    if (empty($tax)) {
        return array(CONTROLLER_STATUS_NO_PAGE);
    }
    $destinations = fn_get_destinations();
    Registry::set('navigation.tabs', array('general' => array('title' => __('general'), 'js' => true), 'tax_rates' => array('title' => __('tax_rates'), 'js' => true)));
    Registry::get('view')->assign('tax', $tax);
    Registry::get('view')->assign('rates', db_get_hash_array("SELECT * FROM ?:tax_rates WHERE tax_id = ?i", 'destination_id', $_REQUEST['tax_id']));
    Registry::get('view')->assign('destinations', $destinations);
    // Add tax
} elseif ($mode == 'add') {
    Registry::set('navigation.tabs', array('general' => array('title' => __('general'), 'js' => true), 'tax_rates' => array('title' => __('tax_rates'), 'js' => true)));
    Registry::get('view')->assign('destinations', fn_get_destinations());
    // Edit taxes
} elseif ($mode == 'manage') {
    Registry::get('view')->assign('taxes', fn_get_taxes(DESCR_SL));
} elseif ($mode == 'delete') {
    if (!empty($_REQUEST['tax_id'])) {
        fn_delete_taxes($_REQUEST['tax_id']);
    }
    return array(CONTROLLER_STATUS_REDIRECT, "taxes.manage");
}
Ejemplo n.º 7
0
    }
    if (empty($rate_data['rate_value']['C'][0])) {
        $rate_data['rate_value']['C'][0] = array();
    }
    if (empty($rate_data['rate_value']['W'][0])) {
        $rate_data['rate_value']['W'][0] = array();
    }
    if (empty($rate_data['rate_value']['I'][0])) {
        $rate_data['rate_value']['I'][0] = array();
    }
    $view->assign('rate_data', $rate_data);
    unset($rate_data);
    fn_add_breadcrumb(fn_get_lang_var('shipping_methods'), "shippings.manage");
    $view->assign('destinations', $destinations);
    $view->assign('destination_id', $destination_id);
    $view->assign('taxes', fn_get_taxes());
    $view->assign('usergroups', fn_get_usergroups('C', DESCR_SL));
    $view->assign('companies', fn_get_short_companies());
    // Show all shipping methods
} elseif ($mode == 'manage') {
    $view->assign('shippings', fn_get_all_shippings());
    $view->assign('usergroups', fn_get_usergroups('C', DESCR_SL));
    // Delete shipping method
} elseif ($mode == 'delete_shipping') {
    if (!empty($_REQUEST['shipping_id']) && fn_check_company_id('shippings', 'shipping_id', $_REQUEST['shipping_id'])) {
        fn_delete_shipping($_REQUEST['shipping_id']);
    }
    return array(CONTROLLER_STATUS_REDIRECT, "shippings.manage");
    // Delete selected rate
} elseif ($mode == 'delete_rate_value') {
    fn_delete_rate_values($_REQUEST['rate_id'], array($_REQUEST['rate_type'] => array($_REQUEST['amount'] => 'Y')), $_REQUEST['shipping_id'], $_REQUEST['destination_id']);
Ejemplo n.º 8
0
 for ($i = 0; $i < $total; $i++) {
     $address_id = $addresses[$i]->getAttribute('id');
     $cart['user_data'] = array('s_address' => '', 's_city' => $addresses[$i]->getValueByPath('/city'), 's_state' => $addresses[$i]->getValueByPath('/region'), 's_country' => $addresses[$i]->getValueByPath('/country-code'), 's_zipcode' => $addresses[$i]->getValueByPath('/postal-code'), 'b_address' => '', 'b_city' => $addresses[$i]->getValueByPath('/city'), 'b_state' => $addresses[$i]->getValueByPath('/region'), 'b_country' => $addresses[$i]->getValueByPath('/country-code'), 'b_zipcode' => $addresses[$i]->getValueByPath('/postal-code'), 'phone' => '', 'country' => '', 'firstname' => '', 'lastname' => '');
     $country_fields = array('s_country' => 's_state', 'b_country' => 'b_state');
     foreach ($country_fields as $_c => $_s) {
         // For UK google returns region description, instead of the code, so we need to get the state code manually
         if ($_c == 'UK') {
             $cart['user_data'][$_s] = db_get_field("SELECT a.code FROM ?:states as a LEFT JOIN ?:state_descriptions as b ON b.state_id = a.state_id AND lang_code = ?s WHERE a.country_code = ?s AND b.state = ?s", CART_LANGUAGE, $cart['user_data'][$_c], $cart['user_data'][$_s]);
         }
     }
     // Apply the codes entered on the Google side to the cart
     $_codes = fn_apply_google_codes($cart, $codes);
     // Find the shipping rates for each customer location
     list($cart_products, $shipping_rates) = fn_calculate_cart_content($cart, $_SESSION['auth'], 'A', true, 'I', true);
     $use_taxes = false;
     $_taxes_list = fn_get_taxes();
     foreach ($_taxes_list as $v) {
         if ($v['price_includes_tax'] != 'Y') {
             $use_taxes = true;
             break;
         }
     }
     // Go throught all shipping methods, passes to google checkout and get rates (if calculated)
     for ($k = 0; $k < $gc_methods_total; $k++) {
         $_id = $gc_methods[$k]->getAttribute('id');
         $response[] = '   <result shipping-name="' . trim($gc_methods[$k]->getAttribute('name')) . '" address-id="' . $address_id . '">';
         if ($this_shipping = fn_get_google_shipping_rate($_id, $shipping_rates)) {
             fn_recalculate_taxes($cart, $shipping_rates, $this_shipping);
             $response[] = '    <shipping-rate currency="' . $currency_code . '">' . $this_shipping['rate'] . '</shipping-rate>';
             $response[] = '    <shippable>true</shippable>';
         } elseif ($_id == 'FREESHIPPING' && $cart['shipping_required'] != true) {
Ejemplo n.º 9
0
        return array(CONTROLLER_STATUS_NO_PAGE);
    }
    $destinations = fn_get_destinations();
    Registry::set('navigation.tabs', array('general' => array('title' => fn_get_lang_var('general'), 'js' => true), 'tax_rates' => array('title' => fn_get_lang_var('tax_rates'), 'js' => true)));
    fn_add_breadcrumb(fn_get_lang_var('taxes'), "taxes.manage");
    $view->assign('tax', $tax);
    $view->assign('rates', db_get_hash_array("SELECT * FROM ?:tax_rates WHERE tax_id = ?i", 'destination_id', $_REQUEST['tax_id']));
    $view->assign('destinations', $destinations);
    // Add tax
} elseif ($mode == 'add') {
    fn_add_breadcrumb(fn_get_lang_var('taxes'), "taxes.manage");
    Registry::set('navigation.tabs', array('general' => array('title' => fn_get_lang_var('general'), 'js' => true), 'tax_rates' => array('title' => fn_get_lang_var('tax_rates'), 'js' => true)));
    $view->assign('destinations', fn_get_destinations());
    // Edit taxes
} elseif ($mode == 'manage') {
    $view->assign('taxes', fn_get_taxes(DESCR_SL));
} elseif ($mode == 'delete') {
    if (!empty($_REQUEST['tax_id'])) {
        fn_delete_taxes($_REQUEST['tax_id']);
    }
    return array(CONTROLLER_STATUS_REDIRECT, "taxes.manage");
}
function fn_delete_taxes($tax_ids)
{
    foreach ((array) $tax_ids as $v) {
        db_query("DELETE FROM ?:taxes WHERE tax_id = ?i", $v);
        db_query("DELETE FROM ?:tax_descriptions WHERE tax_id = ?i", $v);
        db_query("DELETE FROM ?:tax_rates WHERE tax_id = ?i", $v);
        db_query("UPDATE ?:products SET tax_ids = ?p", fn_remove_from_set('tax_ids', $v));
        db_query("UPDATE ?:shippings SET tax_ids = ?p", fn_remove_from_set('tax_ids', $v));
    }