return array(CONTROLLER_STATUS_NO_PAGE);
    }
    // [Page sections]
    Registry::set('navigation.tabs', array('detailed' => array('title' => fn_get_lang_var('detailed_info'), 'js' => true), 'log' => array('title' => fn_get_lang_var('history'), 'js' => true)));
    // [/Page sections]
    list($log, $sort_order, $sort_by) = fn_get_gift_certificate_log($gift_cert_id, $_REQUEST);
    $view->assign('log', $log);
    $view->assign('sort_order', $sort_order);
    $view->assign('sort_by', $sort_by);
    if (false != ($last_item = reset($log))) {
        $gift_cert_data['amount'] = $last_item['debit'];
        $gift_cert_data['products'] = $last_item['debit_products'];
    }
    $view->assign('templates', fn_get_gift_certificate_templates());
    $view->assign('states', fn_get_all_states());
    $view->assign('countries', fn_get_countries(CART_LANGUAGE, true));
    $view->assign('amount_variants', fn_get_gift_certificate_amount_variants());
    $view->assign('gift_cert_data', $gift_cert_data);
} elseif ($mode == 'manage') {
    list($gift_certificates, $search) = fn_get_gift_certificates($_REQUEST);
    $view->assign('gift_certificates', $gift_certificates);
    $view->assign('search', $search);
    fn_gift_certificates_generate_sections('manage');
} elseif ($mode == 'delete') {
    if (!empty($_REQUEST['gift_cert_id'])) {
        $result = fn_delete_gift_certificate($_REQUEST['gift_cert_id'], @$_REQUEST['extra']);
        return array(CONTROLLER_STATUS_REDIRECT, !empty($_REQUEST['return_url']) ? $_REQUEST['return_url'] : "gift_certificates." . ($result ? "manage" : "update?gift_cert_id=" . $_REQUEST['gift_cert_id']));
    }
} elseif ($mode == 'update_status') {
    $old_status = db_get_field("SELECT status FROM ?:gift_certificates WHERE gift_cert_id = ?i", $_REQUEST['id']);
    if (fn_change_gift_certificate_status($_REQUEST['id'], $_REQUEST['status'], '', fn_get_notification_rules($_REQUEST))) {
示例#2
0
文件: func.php 项目: arpad9/bygmarket
/**
 * Prepare all settings, wich should be passed to js
 */
function fn_twg_get_all_settings()
{
    $settings = fn_twg_get_boot_settings();
    $addon_settings = TwigmoSettings::get();
    $settings['access_id'] = $addon_settings['access_id'];
    $settings['currency'] = Registry::get('currencies.' . CART_SECONDARY_CURRENCY);
    $settings['primaryCurrency'] = Registry::get('currencies.' . CART_PRIMARY_CURRENCY);
    $settings['url_for_facebook'] = isset($addon_settings['url_for_facebook']) ? fn_twg_get_external_info_url($addon_settings['url_for_facebook']) : '';
    $settings['url_for_twitter'] = isset($addon_settings['url_for_twitter']) ? fn_twg_get_external_info_url($addon_settings['url_for_twitter']) : '';
    $settings['lang'] = array_merge(fn_twg_get_default_customer_langvars(), Lang::getCustomerLangVars());
    // Countries/states
    list($countries) = fn_get_countries(array('only_avail' => true));
    $settings = array_merge($settings, Api::getAsList('countries', $countries));
    $settings['states'] = fn_twg_get_states();
    // Info pages
    $pages_location = $addon_settings['home_page_content'] == 'tw_home_page_blocks' ? 'twigmo.post' : 'index.index';
    $pages = TwigmoBlock::getBlocksForLocation($pages_location, array('pages'));
    $settings['info_pages'] = array();
    foreach ($pages as $page) {
        $settings['info_pages'] = array_merge($settings['info_pages'], $page['pages']['page']);
    }
    // If page link begin with # then interpret this link as twigmo page
    foreach ($settings['info_pages'] as $k => $page) {
        if (preg_match('/^\\#.*$/', $page['link'])) {
            $settings['info_pages'][$k]['twigmo_page'] = substr($page['link'], 1);
        }
    }
    // Only required profile fields
    $only_required = isset($addon_settings['only_req_profile_fields']) ? $addon_settings['only_req_profile_fields'] : 'N';
    $settings['profileFields'] = fn_twg_prepare_profile_fields(fn_get_profile_fields(), $only_required);
    $settings['profileFieldsCheckout'] = fn_twg_prepare_profile_fields(fn_get_profile_fields('O'), $only_required);
    $settings['show_product_code'] = isset($addon_settings['show_product_code']) ? $addon_settings['show_product_code'] : 'N';
    $settings['titles'] = array();
    $settings['profile'] = fn_twg_get_user_info($_SESSION['auth']['user_id']);
    $settings['cart'] = fn_twg_api_get_session_cart($_SESSION['cart']);
    $settings['sortings'] = fn_twg_get_sortings();
    $settings['security_hash'] = fn_generate_security_hash();
    $settings['productType'] = PRODUCT_EDITION;
    $settings['languages'] = array_values(Lang::getLanguages());
    $settings['cart_language'] = CART_LANGUAGE;
    $settings['cart_prices_w_taxes'] = Registry::get('settings.Appearance.cart_prices_w_taxes');
    $settings['show_prices_taxed_clean'] = Registry::get('settings.Appearance.show_prices_taxed_clean');
    $settings['no_image_path'] = Registry::get('config.no_image_path');
    // Suppliers
    $settings['suppliers_vendor'] = Registry::get('settings.Suppliers.apply_for_vendor');
    $settings['display_supplier'] = Registry::get('settings.Suppliers.display_supplier') === 'Y' || Registry::get('settings.Vendors.display_vendor') === 'Y';
    $settings['display_supplier'] = $settings['display_supplier'] ? 'Y' : 'N';
    // General section
    $fields = array('use_email_as_login', 'min_order_amount', 'min_order_amount_type', 'allow_negative_amount', 'inventory_tracking', 'allow_anonymous_shopping', 'tax_calculation');
    foreach ($fields as $field) {
        $settings[$field] = Registry::get('settings.General.' . $field);
    }
    $settings = array_merge($settings, fn_twg_get_checkout_settings());
    if (version_compare(PRODUCT_VERSION, '4.0.2', '>=')) {
        $anonymous_shopping_settings_map = array('allow_shopping' => 'Y', 'hide_price_and_add_to_cart' => 'P', 'hide_add_to_cart' => 'B');
        $settings['allow_anonymous_shopping'] = $anonymous_shopping_settings_map[$settings['allow_anonymous_shopping']];
    }
    $settings['default_location'] = array('country' => Registry::get('settings.General.default_country'), 'state' => Registry::get('settings.General.default_state'));
    $settings['show_modifiers'] = Registry::get('settings.General.display_options_modifiers');
    $settings['SEOEnabled'] = Registry::get('addons.seo.status') == 'A';
    $settings['GATrackEcommerce'] = Registry::get('addons.google_analytics.status') == 'A' && Registry::get('addons.google_analytics.track_ecommerce') == 'Y' && file_exists(Registry::get('config.dir.addons') . 'google_analytics/controllers/frontend/checkout.post.php');
    if (fn_allowed_for('MULTIVENDOR')) {
        $settings['company_data'] = !empty($_SESSION['auth']['company_id']) ? fn_get_company_data($_SESSION['auth']['company_id']) : array();
    } else {
        $settings['company_data'] = array();
    }
    $settings['checkout'] = Registry::get('settings.Checkout');
    fn_set_hook('twg_get_all_settings', $settings);
    $settings['lang'] = fn_twg_process_langvars($settings['lang']);
    return $settings;
}
示例#3
0
if (!defined('BOOTSTRAP')) {
    die('Access denied');
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    //
    // Updating existing countries
    //
    if ($mode == 'm_update') {
        foreach ($_REQUEST['country_data'] as $key => $value) {
            db_query("UPDATE ?:countries SET ?u WHERE code = ?s", $value, $key);
            db_query("UPDATE ?:country_descriptions SET ?u WHERE code = ?s AND lang_code = ?s", $value, $key, DESCR_SL);
        }
    }
    //
    // Delete selected countries
    //
    if ($mode == 'delete') {
        if (!empty($_REQUEST['delete'])) {
            foreach ($_REQUEST['delete'] as $k => $v) {
                db_query("DELETE FROM ?:countries WHERE code = ?s", $k);
                db_query("DELETE FROM ?:country_descriptions WHERE code = ?s", $k);
            }
        }
    }
    return array(CONTROLLER_STATUS_OK, "countries.manage");
}
if ($mode == 'manage') {
    list($countries, $search) = fn_get_countries($_REQUEST, Registry::get('settings.Appearance.admin_elements_per_page'), DESCR_SL);
    Registry::get('view')->assign('countries', $countries);
    Registry::get('view')->assign('search', $search);
}
示例#4
0
function fn_twg_get_admin_settings($auth)
{
    $settings = array();
    $needed_langvars = fn_twg_get_admin_langvars();
    $settings['lang'] = array();
    foreach ($needed_langvars as $needed_langvar) {
        $settings['lang'][$needed_langvar] = __($needed_langvar);
    }
    $settings['lang'] = array_merge($settings['lang'], Lang::getLangVarsByPrefix('twapp'));
    $settings['lang'] = fn_twg_process_langvars($settings['lang']);
    $settings['statuses'] = fn_twg_get_statuses();
    $settings['profileFields'] = fn_twg_prepare_profile_fields(fn_get_profile_fields('O'), false);
    list($settings['countries']) = fn_get_countries(array('only_avail' => true));
    $settings['states'] = fn_twg_get_states();
    $settings['titles'] = array();
    $settings['saved_searches'] = fn_twg_get_searches($auth);
    $settings = array_merge($settings, fn_twg_get_checkout_settings());
    $settings['currency'] = Registry::get('currencies.' . CART_PRIMARY_CURRENCY);
    $settings['use_email_as_login'] = Registry::get('settings.General.use_email_as_login');
    if (!$settings['use_email_as_login']) {
        // For 4.3+
        $settings['use_email_as_login'] = '******';
    }
    $settings['time_format'] = Registry::get('settings.Appearance.time_format');
    $settings['date_format'] = Registry::get('settings.Appearance.date_format');
    $settings['languages'] = fn_twg_get_languages();
    $settings['cart_language'] = CART_LANGUAGE;
    $settings['descr_sl'] = DESCR_SL;
    $settings['permissions'] = fn_twg_get_admin_permissions($auth);
    $settings['runtime_company_id'] = Registry::get('runtime.company_id');
    $settings['user_company_id'] = isset($auth['company_id']) ? $auth['company_id'] : 0;
    $settings_company_name = Registry::get('settings.Company.company_name');
    $runtime_company_name = Registry::get('runtime.company_data.company');
    $settings['company_name'] = $runtime_company_name ? $runtime_company_name : $settings_company_name;
    $settings['storefront_url'] = Registry::get('runtime.company_data.storefront');
    if (Registry::get('runtime.companies_available_count') > 1) {
        $settings['companies'] = fn_twg_get_admin_companies(PRODUCT_EDITION == 'ULTIMATE', 0);
    } else {
        $settings['companies'] = false;
    }
    return $settings;
}
示例#5
0
        if (is_array($_REQUEST['delete'])) {
            foreach ($_REQUEST['delete'] as $k => $v) {
                db_query("DELETE FROM ?:countries WHERE code = ?s", $k);
                db_query("DELETE FROM ?:country_descriptions WHERE code = ?s", $k);
            }
        }
    }
    //
    // Adding new countries
    //
    if ($mode == 'add') {
        foreach ($_REQUEST['country_data_add'] as $key => $value) {
            if (!empty($value['code']) && !empty($_REQUEST['country_description_add'][$key]['country'])) {
                if (db_get_field("SELECT COUNT(*) FROM ?:countries WHERE code = ?s", $value['code'])) {
                    continue;
                }
                $_data = fn_check_table_fields($value, 'countries');
                db_query('INSERT INTO ?:countries ?e', $_data);
                unset($_data);
                $_data = fn_check_table_fields($_REQUEST['country_description_add'][$key], 'country_descriptions');
                $_data['code'] = $value['code'];
                foreach ((array) Registry::get('languages') as $_data['lang_code'] => $v) {
                    db_query("INSERT INTO ?:country_descriptions ?e", $_data);
                }
            }
        }
    }
    return array(CONTROLLER_STATUS_OK, "countries.manage");
}
$view->assign('countries', fn_get_countries(DESCR_SL, false, true));
/** /Body **/
示例#6
0
        }
    }
    //
    // Adding new states
    //
    if ($mode == 'add') {
        foreach ($_REQUEST['state_data_add'] as $key => $value) {
            if (!empty($value['code']) && !empty($value['state'])) {
                $value['country_code'] = $_REQUEST['country_code'];
                $value['state_id'] = $state_id = db_query("REPLACE INTO ?:states ?e", $value);
                foreach ((array) Registry::get('languages') as $value['lang_code'] => $_v) {
                    db_query('REPLACE INTO ?:state_descriptions ?e', $value);
                }
            }
        }
    }
    return array(CONTROLLER_STATUS_OK, "states.manage?country_code={$_REQUEST['country_code']}");
}
if ($mode == 'manage') {
    $country_code = !empty($_REQUEST['country_code']) ? $_REQUEST['country_code'] : Registry::get('settings.General.default_country');
    $view->assign('states', fn_get_states($country_code, DESCR_SL, true));
    $view->assign('country_code', $country_code);
    $view->assign('countries', fn_get_countries());
} elseif ($mode == 'delete') {
    if (!empty($_REQUEST['state_id'])) {
        db_query("DELETE FROM ?:states WHERE state_id = ?i", $_REQUEST['state_id']);
        db_query("DELETE FROM ?:state_descriptions WHERE state_id = ?i", $_REQUEST['state_id']);
    }
    return array(CONTROLLER_STATUS_REDIRECT, "states.manage?country_code={$_REQUEST['country_code']}");
}
/** /Body **/