Registry::set('navigation.tabs.general', array('title' => __('general'), 'js' => true));
    foreach ($depend_items as $value) {
        Registry::set('navigation.tabs.' . $value['code'], array('title' => __('reports_parameter_' . $value['element_id']), 'js' => true));
    }
    Registry::get('view')->assign('search_condition', true);
    Registry::get('view')->assign('intervals', db_get_array("SELECT * FROM ?:sales_reports_intervals ORDER BY interval_id"));
    // Payments
    Registry::get('view')->assign('payment_processors', db_get_array("SELECT processor_id, processor FROM ?:payment_processors"));
    Registry::get('view')->assign('payments', db_get_array("SELECT ?:payments.*, ?:payment_descriptions.* FROM ?:payments LEFT JOIN ?:payment_descriptions ON ?:payment_descriptions.payment_id = ?:payments.payment_id AND ?:payment_descriptions.lang_code = ?s ORDER BY ?:payments.position", DESCR_SL));
    // Users Location
    Registry::get('view')->assign('usergroups', fn_get_usergroups('C', CART_LANGUAGE));
    Registry::get('view')->assign('countries', fn_get_simple_countries(true, CART_LANGUAGE));
    Registry::get('view')->assign('states', fn_get_all_states());
    Registry::get('view')->assign('destinations', fn_get_destinations(CART_LANGUAGE));
    // Locations
    Registry::get('view')->assign('destinations', fn_get_destinations(CART_LANGUAGE));
    if (!empty($_REQUEST['table_id'])) {
        $table_data = fn_get_report_data($_REQUEST['report_id'], $_REQUEST['table_id']);
        $conditions = fn_get_table_condition($_REQUEST['table_id']);
        if (empty($conditions)) {
            $conditions = array();
        }
        Registry::get('view')->assign('conditions', $conditions);
        Registry::get('view')->assign('table', $table_data);
    }
    // Delete report table
} elseif ($mode == 'delete_table') {
    if (!empty($_REQUEST['table_id'])) {
        fn_delete_report_data('table', $_REQUEST['table_id']);
    }
    return array(CONTROLLER_STATUS_REDIRECT, "sales_reports.update?report_id={$_REQUEST['report_id']}&selected_section=tables");
Example #2
0
    Registry::set('navigation.tabs.general', array('title' => __('general'), 'js' => true));
    foreach ($depend_items as $value) {
        Registry::set('navigation.tabs.' . $value['code'], array('title' => __('reports_parameter_' . $value['element_id']), 'js' => true));
    }
    Tygh::$app['view']->assign('search_condition', true);
    Tygh::$app['view']->assign('intervals', db_get_array("SELECT * FROM ?:sales_reports_intervals ORDER BY interval_id"));
    // Payments
    Tygh::$app['view']->assign('payment_processors', db_get_array("SELECT processor_id, processor FROM ?:payment_processors"));
    Tygh::$app['view']->assign('payments', db_get_array("SELECT ?:payments.*, ?:payment_descriptions.* FROM ?:payments LEFT JOIN ?:payment_descriptions ON ?:payment_descriptions.payment_id = ?:payments.payment_id AND ?:payment_descriptions.lang_code = ?s ORDER BY ?:payments.position", DESCR_SL));
    // Users Location
    Tygh::$app['view']->assign('usergroups', fn_get_usergroups(array('type' => 'C', 'status' => array('A', 'H')), CART_LANGUAGE));
    Tygh::$app['view']->assign('countries', fn_get_simple_countries(true, CART_LANGUAGE));
    Tygh::$app['view']->assign('states', fn_get_all_states());
    Tygh::$app['view']->assign('destinations', fn_get_destinations(CART_LANGUAGE));
    // Locations
    Tygh::$app['view']->assign('destinations', fn_get_destinations(CART_LANGUAGE));
    if (!empty($_REQUEST['table_id'])) {
        $table_data = fn_get_report_data($_REQUEST['report_id'], $_REQUEST['table_id']);
        $conditions = fn_get_table_condition($_REQUEST['table_id']);
        if (empty($conditions)) {
            $conditions = array();
        }
        Tygh::$app['view']->assign('conditions', $conditions);
        Tygh::$app['view']->assign('table', $table_data);
    }
    // View report
} elseif ($mode == 'view') {
    $report_id = empty($_REQUEST['report_id']) ? db_get_field("SELECT report_id FROM ?:sales_reports WHERE status = 'A' ORDER BY position ASC LIMIT 1") : $_REQUEST['report_id'];
    $table_id = empty($_REQUEST['table_id']) ? db_get_field("SELECT table_id FROM ?:sales_reports_tables WHERE report_id = ?i ORDER BY position ASC LIMIT 1", $report_id) : intval($_REQUEST['table_id']);
    $reports = fn_get_order_reports(true, $report_id);
    // If some reports defined calculate data for them
    $destination_data['zipcodes'] = implode("\n", $destination_data['zipcodes']);
    $destination_data['cities'] = db_get_hash_single_array("SELECT element_id, element FROM ?:destination_elements WHERE element_type = 'T' AND destination_id = ?i", array('element_id', 'element'), $_REQUEST['destination_id']);
    $destination_data['cities'] = implode("\n", $destination_data['cities']);
    $destination_data['addresses'] = db_get_hash_single_array("SELECT element_id, element FROM ?:destination_elements WHERE element_type = 'A' AND destination_id = ?i", array('element_id', 'element'), $_REQUEST['destination_id']);
    $destination_data['addresses'] = implode("\n", $destination_data['addresses']);
    Registry::get('view')->assign('destination_data', $destination_data);
    Registry::get('view')->assign('destination', $destination);
    Registry::get('view')->assign('states', fn_destination_get_states(CART_LANGUAGE));
    Registry::get('view')->assign('countries', fn_get_simple_countries(true, CART_LANGUAGE));
    // Add destination
} elseif ($mode == 'add') {
    Registry::get('view')->assign('states', fn_destination_get_states(CART_LANGUAGE));
    Registry::get('view')->assign('countries', fn_get_simple_countries(true, CART_LANGUAGE));
    // Destinations list
} elseif ($mode == 'manage') {
    $destinations = fn_get_destinations(DESCR_SL);
    Registry::get('view')->assign('destinations', $destinations);
} elseif ($mode == 'delete') {
    if (!empty($_REQUEST['destination_id'])) {
        fn_delete_destinations((array) $_REQUEST['destination_id']);
    }
    return array(CONTROLLER_STATUS_REDIRECT, "destinations.manage");
}
function fn_delete_destinations($destination_ids)
{
    foreach ($destination_ids as $dest_id) {
        if (!empty($dest_id) && $dest_id != 1) {
            db_query("DELETE FROM ?:destinations WHERE destination_id = ?i", $dest_id);
            db_query("DELETE FROM ?:destination_descriptions WHERE destination_id = ?i", $dest_id);
            db_query("DELETE FROM ?:destination_elements WHERE destination_id = ?i", $dest_id);
            db_query("DELETE FROM ?:shipping_rates WHERE destination_id = ?i", $dest_id);
Example #4
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));
}
Example #5
0
/**
 * Get shipping info
 *
 * @param int $shipping_id Shipping ID
 * @param string $lang_code Language code
 * @return array Shipping info
 */
function fn_get_shipping_info($shipping_id, $lang_code = CART_LANGUAGE)
{
    $fields = array('?:shippings.*', '?:shipping_descriptions.shipping', '?:shipping_descriptions.delivery_time');
    $join = db_quote(" LEFT JOIN ?:shipping_descriptions ON ?:shipping_descriptions.shipping_id = ?:shippings.shipping_id AND ?:shipping_descriptions.lang_code = ?s", $lang_code);
    $conditions = "";
    fn_set_hook('get_shipping_info', $shipping_id, $fields, $join, $conditions);
    $shipping = array();
    if (!empty($shipping_id)) {
        $shipping = db_get_row("SELECT ?p FROM ?:shippings ?p WHERE ?:shippings.shipping_id = ?i ?p", implode(', ', $fields), $join, $shipping_id, $conditions);
    }
    if (!empty($shipping)) {
        $shipping['tax_ids'] = empty($shipping['tax_ids']) ? array() : fn_explode(',', $shipping['tax_ids']);
        $shipping['icon'] = fn_get_image_pairs($shipping['shipping_id'], 'shipping', 'M', true, true, $lang_code);
        if (!empty($shipping['service_params'])) {
            $shipping['service_params'] = unserialize($shipping['service_params']);
        }
        $destinations = array();
        if ($shipping['rate_calculation'] == 'M') {
            $destinations = fn_get_destinations();
            foreach ($destinations as $k => $v) {
                if (!empty($shipping['localization'])) {
                    // check available destinations, but skip default destination
                    $_s = fn_explode(',', $shipping['localization']);
                    $_l = fn_explode(',', $v['localization']);
                    if (!array_intersect($_s, $_l)) {
                        continue;
                    }
                }
                $destinations[$k] = array_merge($destinations[$k], fn_get_shipping_rate($shipping_id, $v['destination_id']));
            }
        } else {
            $destinations[0] = db_get_row("SELECT rate_id, rate_value, destination_id FROM ?:shipping_rates WHERE shipping_id = ?i AND destination_id = 0", $shipping_id);
            $destinations[0] = array_merge($destinations[0], fn_get_shipping_rate($shipping_id, 0));
        }
        $shipping['rates'] = $destinations;
    }
    return $shipping;
}
Example #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");
}
Example #7
0
    $view->assign('taxes', fn_get_taxes());
    $view->assign('usergroups', fn_get_usergroups('C', DESCR_SL));
    $view->assign('companies', fn_get_short_companies());
    // Collect shipping methods data
} elseif ($mode == 'update') {
    $shipping = db_get_row("SELECT ?:shippings.*, ?:shipping_descriptions.shipping, ?:shipping_descriptions.delivery_time FROM ?:shippings LEFT JOIN ?:shipping_descriptions ON ?:shipping_descriptions.shipping_id = ?:shippings.shipping_id AND ?:shipping_descriptions.lang_code = ?s WHERE ?:shippings.shipping_id = ?i", DESCR_SL, $_REQUEST['shipping_id']);
    if (empty($shipping)) {
        return array(CONTROLLER_STATUS_NO_PAGE);
    }
    $shipping['tax_ids'] = empty($shipping['tax_ids']) ? array() : fn_explode(',', $shipping['tax_ids']);
    $shipping['icon'] = fn_get_image_pairs($shipping['shipping_id'], 'shipping', 'M', true, true, DESCR_SL);
    Registry::set('navigation.tabs', array('general' => array('title' => fn_get_lang_var('general'), 'js' => true), 'shipping_charges' => array('title' => fn_get_lang_var('shipping_charges'), 'js' => true)));
    $view->assign('shipping', $shipping);
    $destinations = array();
    if ($shipping['rate_calculation'] == 'M') {
        $destinations = fn_get_destinations();
        $destination_id = !isset($_REQUEST['destination_id']) ? $destinations[0]['destination_id'] : $_REQUEST['destination_id'];
        foreach ($destinations as $k => $v) {
            $destinations[$k]['rates_defined'] = db_get_field("SELECT IF(rate_value = '', 0, 1) FROM ?:shipping_rates WHERE shipping_id = ?i AND destination_id = ?i", $_REQUEST['shipping_id'], $v['destination_id']);
            if (!empty($shipping['localization'])) {
                // check available destinations, but skip default destination
                $_s = fn_explode(',', $shipping['localization']);
                $_l = fn_explode(',', $v['localization']);
                if (!array_intersect($_s, $_l)) {
                    unset($destinations[$k]);
                }
            }
        }
    } else {
        $destination_id = 0;
    }
Example #8
0
/**
 * Get shipping info
 *
 * @param int $shipping_id Shipping ID
 * @param string $lang_code Language code
 * @return array Shipping info
 */
function fn_get_shipping_info($shipping_id, $lang_code = CART_LANGUAGE)
{
    $fields = array('?:shippings.*', '?:shipping_descriptions.shipping', '?:shipping_descriptions.delivery_time');
    $join = db_quote(" LEFT JOIN ?:shipping_descriptions ON ?:shipping_descriptions.shipping_id = ?:shippings.shipping_id AND ?:shipping_descriptions.lang_code = ?s", $lang_code);
    $conditions = "";
    /**
     * Change SQL parameters for shipping info select
     *
     * @param int    $shipping_id Shipping ID
     * @param string $fields      List of fields for retrieving
     * @param string $join        String with the complete JOIN information (JOIN type, tables and fields) for an SQL-query
     * @param string $conditions  Condition for selecting product data
     * @param string $lang_code   Lang code
     */
    fn_set_hook('get_shipping_info', $shipping_id, $fields, $join, $conditions, $lang_code);
    $shipping = array();
    if (!empty($shipping_id)) {
        $shipping = db_get_row("SELECT ?p FROM ?:shippings ?p WHERE ?:shippings.shipping_id = ?i ?p", implode(', ', $fields), $join, $shipping_id, $conditions);
    }
    if (!empty($shipping)) {
        $shipping['tax_ids'] = empty($shipping['tax_ids']) ? array() : fn_explode(',', $shipping['tax_ids']);
        $shipping['icon'] = fn_get_image_pairs($shipping['shipping_id'], 'shipping', 'M', true, true, $lang_code);
        if (!empty($shipping['service_params'])) {
            $shipping['service_params'] = unserialize($shipping['service_params']);
        }
        $destinations = array();
        if ($shipping['rate_calculation'] == 'M') {
            $destinations = fn_get_destinations();
            foreach ($destinations as $k => $v) {
                if (!empty($shipping['localization'])) {
                    // check available destinations, but skip default destination
                    $_s = fn_explode(',', $shipping['localization']);
                    $_l = fn_explode(',', $v['localization']);
                    if (!array_intersect($_s, $_l)) {
                        continue;
                    }
                }
                $destinations[$k] = array_merge($destinations[$k], fn_get_shipping_rate($shipping_id, $v['destination_id']));
            }
        } else {
            $destinations[0] = db_get_row("SELECT rate_id, rate_value, destination_id FROM ?:shipping_rates WHERE shipping_id = ?i AND destination_id = 0", $shipping_id);
            $destinations[0] = array_merge($destinations[0], fn_get_shipping_rate($shipping_id, 0));
        }
        $shipping['rates'] = $destinations;
    }
    /**
     * Particularize shipping information
     *
     * @param int    $shipping_id Shipping ID
     * @param string $lang_code   Lang code
     * @param string $shipping    Shipping data
     */
    fn_set_hook('get_shipping_info_post', $shipping_id, $lang_code, $shipping);
    return $shipping;
}
Example #9
0
     // [/Page sections]
     $view->assign('search_condition', true);
     $view->assign('intervals', db_get_array("SELECT a.* FROM ?:sales_reports_intervals as a ORDER BY a.interval_id"));
 }
 // **************** Conditions properites *******************
 if ($action == 'edit' || $action == 'add' || $action == 'parameter_details') {
     // Payments
     $view->assign('payment_processors', db_get_array("SELECT processor_id, processor FROM ?:payment_processors"));
     $view->assign('payments', db_get_array("SELECT ?:payments.*, ?:payment_descriptions.* FROM ?:payments LEFT JOIN ?:payment_descriptions ON ?:payment_descriptions.payment_id = ?:payments.payment_id AND ?:payment_descriptions.lang_code = ?s ORDER BY ?:payments.position", DESCR_SL));
     // Users Location
     $view->assign('usergroups', fn_get_usergroups('C', CART_LANGUAGE));
     $view->assign('countries', fn_get_countries(CART_LANGUAGE, true));
     $view->assign('states', fn_get_all_states());
     $view->assign('destinations', fn_get_destinations(CART_LANGUAGE));
     // Locations
     $view->assign('destinations', fn_get_destinations(CART_LANGUAGE));
 }
 // ********************** Edit tables ***********************
 if ($action == 'edit') {
     $table_data = fn_get_report_data($_REQUEST['report_id'], $_REQUEST['table_id']);
     $conditions = fn_get_table_condition($_REQUEST['table_id']);
     if (empty($conditions)) {
         $conditions = array();
     }
     $view->assign('conditions', $conditions);
     // [Page sections]
     Registry::set('navigation.tabs.general', array('title' => fn_get_lang_var('general'), 'js' => true));
     foreach ($depend_items as $value) {
         Registry::set('navigation.tabs.' . $value['code'], array('title' => fn_get_lang_var('reports_parameter_' . $value['element_id']), 'js' => true));
     }
     // [/Page sections]
Example #10
0
if ($mode == 'update') {
    $tax = db_get_row("SELECT a.*, tax FROM ?:taxes as a LEFT JOIN ?:tax_descriptions as b ON b.tax_id = a.tax_id AND b.lang_code = ?s WHERE a.tax_id = ?i", DESCR_SL, $_REQUEST['tax_id']);
    if (empty($tax)) {
        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);