if (count($pids)) {
                    $mapped_shipping_methods_product = mslib_fe::getProductMappedMethods($pids, 'shipping', $tmp_countries['cn_iso_nr']);
                }
            }
            break;
        case 'customers_groups':
            if (mslib_fe::loggedin() && $this->ms['MODULES']['GROUP_EDIT_METHOD_FILTER']) {
                $user_groups = array();
                $user_groups = explode(',', $GLOBALS['TSFE']->fe_user->user['usergroup']);
                if (count($user_groups)) {
                    $mapped_shipping_methods_group = mslib_fe::getCustomerGroupMappedMethods($user_groups, 'shipping', $tmp_countries['cn_iso_nr']);
                }
            }
            break;
        case 'customers':
            if (mslib_fe::loggedin() && $this->ms['MODULES']['CUSTOMER_EDIT_METHOD_FILTER']) {
                $user_id = array();
                $user_id = $GLOBALS['TSFE']->fe_user->user['uid'];
                if (is_numeric($user_id)) {
                    $mapped_shipping_methods_user = mslib_fe::getCustomerMappedMethods($user_id, 'shipping', $tmp_countries['cn_iso_nr']);
                }
            }
            break;
    }
}
if (count($mapped_shipping_methods_user)) {
    $mapped_shipping_methods = $mapped_shipping_methods_user;
} else {
    if (count($mapped_shipping_methods_group)) {
        $mapped_shipping_methods = $mapped_shipping_methods_group;
    } else {
Beispiel #2
0
<?php

if (!defined('TYPO3_MODE')) {
    die('Access denied.');
}
$GLOBALS['TSFE']->additionalHeaderData[] = '<meta name="robots" content="noindex">' . "\n";
if (!mslib_fe::loggedin() and $this->ms['MODULES']['DISABLE_CHECKOUT_FOR_GUESTS']) {
    // redirect to login page
    header('Location: ' . $this->FULL_HTTP_URL . mslib_fe::typolink($this->conf['login_pid']));
    exit;
}
// minimum order amount
require_once \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'pi1/classes/class.tx_mslib_cart.php';
$mslib_cart = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('tx_mslib_cart');
$mslib_cart->init($this);
$cart = $mslib_cart->getCart();
$cart_total_amount = $mslib_cart->countCartTotalPrice(0);
$count_products = count($cart['products']);
if (!empty($this->ms['MODULES']['MINIMUM_ORDER_AMOUNT']) && $this->ms['MODULES']['MINIMUM_ORDER_AMOUNT'] > 0) {
    if ($cart_total_amount < $this->ms['MODULES']['MINIMUM_ORDER_AMOUNT']) {
        // redirect to shopping cart page
        header('Location: ' . $this->FULL_HTTP_URL . mslib_fe::typolink($this->conf['shoppingcart_page_pid'], '&tx_multishop_pi1[page_section]=shopping_cart'));
        exit;
    }
}
// maximum order amount
if (!empty($this->ms['MODULES']['MAXIMUM_ORDER_AMOUNT']) && $this->ms['MODULES']['MAXIMUM_ORDER_AMOUNT'] > 0) {
    if ($cart_total_amount > $this->ms['MODULES']['MAXIMUM_ORDER_AMOUNT']) {
        // redirect to shopping cart page
        header('Location: ' . $this->FULL_HTTP_URL . mslib_fe::typolink($this->conf['shoppingcart_page_pid'], '&tx_multishop_pi1[page_section]=shopping_cart'));
        exit;
Beispiel #3
0
 public function taxRuleSet($tax_group_id, $current_price, $cn_iso_nr = 0, $zn_country_iso_nr = 0)
 {
     if (!$zn_country_iso_nr) {
         if (mslib_fe::loggedin()) {
             if (!$this->ADMIN_USER) {
                 if (!$this->tta_user_info) {
                     $row_shop_address = $this->tta_shop_info;
                 } else {
                     $row_shop_address = $this->tta_user_info['default'];
                 }
             } else {
                 $row_shop_address = $this->tta_shop_info;
             }
         } else {
             $row_shop_address = $this->tta_shop_info;
         }
         if (isset($row_shop_address['region']) && !empty($row_shop_address['region'])) {
             $zone_id = mslib_fe::getRegionByName($row_shop_address['region']);
             $zn_country_iso_nr = $zone_id['uid'];
         }
     }
     if ($tax_group_id) {
         $sql_local_tax_rate = $GLOBALS['TYPO3_DB']->SELECTquery('mt.rate as tax_rate,mt_c.rate as country_tax_rate,sc.cn_iso_nr as country_id,sc.cn_short_en as country_name,scz.uid as state_id,scz.zn_name_local as state_name,mtr.state_modus', 'tx_multishop_taxes mt LEFT JOIN tx_multishop_tax_rules mtr on mtr.tax_id = mt.tax_id LEFT JOIN tx_multishop_taxes mt_c on mtr.country_tax_id = mt_c.tax_id LEFT JOIN static_countries sc on sc.cn_iso_nr = mtr.cn_iso_nr LEFT JOIN static_country_zones scz on mtr.zn_country_iso_nr = scz.uid', 'mtr.status = 1 and mtr.cn_iso_nr = \'' . addslashes($cn_iso_nr) . '\' and mtr.zn_country_iso_nr = \'' . addslashes($zn_country_iso_nr) . '\' and mtr.rules_group_id = \'' . addslashes($tax_group_id) . '\'', '', '', '');
         $qry_local_tax_rate = $GLOBALS['TYPO3_DB']->sql_query($sql_local_tax_rate);
         // retry to get the tax ruleset only for the country
         if (!$GLOBALS['TYPO3_DB']->sql_num_rows($qry_local_tax_rate) && $zn_country_iso_nr > 0) {
             $sql_local_tax_rate = $GLOBALS['TYPO3_DB']->SELECTquery('mt.rate as tax_rate,mt_c.rate as country_tax_rate,sc.cn_iso_nr as country_id,sc.cn_short_en as country_name,scz.uid as state_id,scz.zn_name_local as state_name,mtr.state_modus', 'tx_multishop_taxes mt left join tx_multishop_tax_rules mtr on mtr.tax_id = mt.tax_id left join tx_multishop_taxes mt_c on mtr.country_tax_id = mt_c.tax_id left join static_countries sc on sc.cn_iso_nr = mtr.cn_iso_nr left join static_country_zones scz on mtr.zn_country_iso_nr = scz.uid', 'mtr.status = 1 and mtr.cn_iso_nr = \'' . addslashes($cn_iso_nr) . '\' and mtr.zn_country_iso_nr = 0 and mtr.rules_group_id = \'' . addslashes($tax_group_id) . '\'', '', '', '');
             $qry_local_tax_rate = $GLOBALS['TYPO3_DB']->sql_query($sql_local_tax_rate);
         }
         if (!$GLOBALS['TYPO3_DB']->sql_num_rows($qry_local_tax_rate)) {
             return false;
         }
         $tax_data = array();
         while ($row_local_tax_rate = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($qry_local_tax_rate)) {
             $tax_data['local'] = $row_local_tax_rate;
         }
         if ($tax_data['local']['state_modus'] == 2) {
             $state_tax_rate = $tax_data['local']['tax_rate'];
             $country_tax_rate = $tax_data['local']['country_tax_rate'];
             $total_tax_rate = $state_tax_rate + $country_tax_rate;
             $data['state_tax'] = $state_tax;
             $data['country_tax'] = $country_tax;
             $data['state_tax_rate'] = $state_tax_rate;
             $data['country_tax_rate'] = $country_tax_rate;
             $data['total_tax_rate'] = $total_tax_rate;
         } else {
             $tax_rate = $tax_data['local']['tax_rate'];
             $total_tax_rate = $tax_rate;
             $data['tax'] = $tax;
             $data['tax_rate'] = $tax_rate;
             $data['total_tax_rate'] = $total_tax_rate;
         }
         return $data;
     }
     return false;
 }
<?php

if (!defined('TYPO3_MODE')) {
    die('Access denied.');
}
//$cart=$GLOBALS['TSFE']->fe_user->getKey('ses', $this->cart_page_uid);
require_once \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'pi1/classes/class.tx_mslib_cart.php';
$mslib_cart = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('tx_mslib_cart');
$mslib_cart->init($this);
$cart = $mslib_cart->getCart();
if (count($cart['products']) < 1) {
    $content .= '<div class="noitems_message">' . $this->pi_getLL('there_are_no_products_in_your_cart') . '</div>';
} else {
    if (mslib_fe::loggedin()) {
        if (isset($cart['user']['first_name']) && isset($cart['user']['street_name'])) {
            $user = $cart['user'];
        } else {
            $billing_address = mslib_fe::getFeUserTTaddressDetails($GLOBALS['TSFE']->fe_user->user['uid']);
            if (is_array($billing_address)) {
                $user = array();
                $user['first_name'] = $billing_address['first_name'];
                $user['middle_name'] = $billing_address['middle_name'];
                $user['last_name'] = $billing_address['last_name'];
                $user['gender'] = $billing_address['gender'] == 0 ? "m" : "f";
                $user['company'] = $billing_address['company'];
                $user['tx_multishop_newsletter'] = $billing_address['tx_multishop_newsletter'];
                $user['address_ext'] = $billing_address['address_ext'];
                $user['building'] = $billing_address['building'];
                $user['street_name'] = $billing_address['street_name'];
                $user['address_number'] = $billing_address['address_number'];
                $user['address'] = $billing_address['building'] . ' ' . $billing_address['street_name'] . ' ' . $billing_address['address_number'] . ($billing_address['address_ext'] ? '-' . $billing_address['address_ext'] : '');
    function main($content, $conf)
    {
        self::construct($conf);
        if (!defined('MsApplicationTopOnceIsLoaded')) {
            define('MsApplicationTopOnceIsLoaded', 1);
            require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/application_top_once.php';
        }
        require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/application_top_always.php';
        switch ($this->method) {
            case 'custom_script':
                if ($this->custom_script_location) {
                    require $this->custom_script_location;
                }
                break;
            case 'meta_tags':
                require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/meta_tags.php';
                if (!$this->ajax_content) {
                    ksort($meta_tags);
                    $meta_tags_html = '';
                    foreach ($meta_tags as $item) {
                        $meta_tags_html .= $item;
                    }
                    // the reason why we have to return the header tags as content is because this section is already mapped to the head tag
                    // if we put it in additionalHeaderData the page.headerData order is ignored and it can give annoying conflicts
                    //$GLOBALS['TSFE']->additionalHeaderData[]= mslib_fe::processmeta($meta_tags_html);
                    //return mslib_fe::processmeta($meta_tags_html);
                    $GLOBALS['TSFE']->additionalHeaderData[] = mslib_fe::processmeta($meta_tags_html);
                    mslib_fe::logPageView();
                }
                if (is_array($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/multishop/pi1/class.tx_multishop_pi1.php']['meta_tagsPostProc'])) {
                    $params = array('content' => &$content);
                    foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/multishop/pi1/class.tx_multishop_pi1.php']['meta_tagsPostProc'] as $funcRef) {
                        \TYPO3\CMS\Core\Utility\GeneralUtility::callUserFunction($funcRef, $params, $this);
                    }
                }
                return $content;
                break;
            case 'basket':
                if (strstr($this->ms['MODULES']['BASKET_TYPE'], "/")) {
                    require $this->DOCUMENT_ROOT . $this->ms['MODULES']['BASKET_TYPE'] . '.php';
                } elseif ($this->ms['MODULES']['BASKET_TYPE']) {
                    if ($this->ms['MODULES']['BASKET_TYPE'] == 'default') {
                        $this->ms['MODULES']['BASKET_TYPE'] = 'basket_default';
                    }
                    require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/includes/content_elements/' . $this->ms['MODULES']['BASKET_TYPE'] . '.php';
                } else {
                    require_once \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/includes/content_elements/basket_default.php';
                }
                break;
            case 'manufacturers':
                if (!isset($this->ms['MODULES']['MANUFACTURERS_TYPE']) and isset($this->ms['MODULES']['MANUFACTURERS_LISTING_TYPE'])) {
                    $this->ms['MODULES']['MANUFACTURERS_TYPE'] = $this->ms['MODULES']['MANUFACTURERS_LISTING_TYPE'];
                }
                if (strstr($this->ms['MODULES']['MANUFACTURERS_TYPE'], "/")) {
                    require $this->DOCUMENT_ROOT . $this->ms['MODULES']['MANUFACTURERS_TYPE'] . '.php';
                } elseif ($this->ms['MODULES']['MANUFACTURERS_TYPE']) {
                    require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/includes/manufacturers_listing/' . $this->ms['MODULES']['MANUFACTURERS_TYPE'] . '.php';
                } else {
                    require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/includes/manufacturers_listing/default.php';
                }
                break;
            case 'categories':
                if (strstr($this->ms['MODULES']['CATEGORIES_TYPE'], "/")) {
                    require $this->DOCUMENT_ROOT . $this->ms['MODULES']['CATEGORIES_TYPE'] . '.php';
                } elseif ($this->ms['MODULES']['CATEGORIES_TYPE']) {
                    if ($this->ms['MODULES']['CATEGORIES_TYPE'] == 'default') {
                        $this->ms['MODULES']['CATEGORIES_TYPE'] = 'categories_default';
                    }
                    require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/includes/content_elements/' . $this->ms['MODULES']['CATEGORIES_TYPE'] . '.php';
                } else {
                    require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/includes/content_elements/categories_default.php';
                }
                break;
            case 'crumbar':
                if (strstr($this->ms['MODULES']['CRUMBAR_TYPE'], "/")) {
                    require $this->DOCUMENT_ROOT . $this->ms['MODULES']['CRUMBAR_TYPE'] . '.php';
                } elseif ($this->ms['MODULES']['CRUMBAR_TYPE']) {
                    require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/includes/crumbar/' . $this->ms['MODULES']['CRUMBAR_TYPE'] . '.php';
                } else {
                    require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/includes/crumbar/default.php';
                }
                $content = $crum;
                break;
            case 'search':
                // setting coming from typoscript or from flexform
                if ($this->conf['contentType']) {
                    $this->contentType = $this->conf['contentType'];
                } else {
                    $this->contentType = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'contentType', 's_search');
                }
                switch ($this->contentType) {
                    case 'searchform_with_keyword_and_category_dropdown_menu':
                        require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/includes/content_elements/searchform_with_keyword_and_category_dropdown_menu.php';
                        break;
                    case 'ultrasearch':
                        if (strstr($this->ms['MODULES']['ULTRASEARCH_TYPE'], "/")) {
                            require $this->DOCUMENT_ROOT . $this->ms['MODULES']['ULTRASEARCH_TYPE'] . '.php';
                        } else {
                            require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/includes/content_elements/ultrasearch.php';
                        }
                        break;
                    case 'price_filter_navigation_box':
                        require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/includes/content_elements/price_filter_navigation_box.php';
                        break;
                    case 'manufacturers_dropdown_menu':
                        require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/includes/content_elements/manufacturers_dropdown_menu.php';
                        break;
                    case 'searchform_with_manufacturers_dropdown_menu':
                        require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/includes/content_elements/searchform_with_manufacturers_dropdown_menu.php';
                        break;
                    case 'default':
                    default:
                        require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/includes/content_elements/searchform.php';
                        break;
                }
                break;
            case 'specials':
                if ($this->conf['section_code']) {
                    $this->section_code = $this->conf['section_code'];
                } else {
                    $this->section_code = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'section_code', 's_specials');
                }
                if ($this->conf['box_class']) {
                    $this->box_class = $this->conf['box_class'];
                } else {
                    $this->box_class = 'multishop_specials';
                }
                if ($this->conf['contentType']) {
                    $this->contentType = $this->conf['contentType'];
                } else {
                    $this->contentType = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'contentType', 's_specials');
                }
                if ($this->conf['limit']) {
                    $this->limit = $this->conf['limit'];
                } else {
                    $this->limit = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'speciallimit', 's_specials');
                }
                if (!$this->limit) {
                    $this->limit = $this->ms['MODULES']['PRODUCTS_LISTING_LIMIT'];
                }
                $content .= mslib_fe::SpecialsBox($this->contentType, $this->limit, $this->showCatalogFromPage, $this->cObj->data['uid']);
                break;
            case 'products':
                if ($this->conf['contentType']) {
                    $this->contentType = $this->conf['contentType'];
                } else {
                    $this->contentType = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'contentType', 's_products_listing');
                }
                switch ($this->contentType) {
                    case 'products_new':
                        require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/products_new.php';
                        break;
                    case 'products_modified':
                        require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/products_modified.php';
                        break;
                    case 'products_upcoming':
                        require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/products_upcoming.php';
                        break;
                    case 'products_hot':
                        require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/products_hot.php';
                        break;
                    case 'products_last_visited':
                        require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/products_last_visited.php';
                        break;
                    case 'products_detail':
                        if ($this->productsID and !$this->get['products_id']) {
                            $this->get['products_id'] = $this->productsID;
                        }
                        if (!$this->ms['MODULES']['DISABLE_CRUMBAR'] and $GLOBALS['TYPO3_CONF_VARS']["tx_multishop"]['crumbar_html']) {
                            $content .= $GLOBALS['TYPO3_CONF_VARS']["tx_multishop"]['crumbar_html'];
                        }
                        require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/products_detail.php';
                        $content = '<div id="tx_multishop_pi1_core">' . $content . '</div>';
                        break;
                    case 'products_listing':
                        if ($this->categoriesID and !$this->get['categories_id']) {
                            $this->get['categories_id'] = $this->categoriesID;
                        } elseif ($this->categoriesStartingPoint and !$this->get['categories_id']) {
                            $this->get['categories_id'] = $this->categoriesStartingPoint;
                        }
                        require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/products_listing.php';
                        break;
                }
                break;
            case 'misc':
                if ($this->conf['contentMisc']) {
                    $this->contentMisc = $this->conf['contentMisc'];
                } else {
                    $this->contentMisc = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'contentType', 's_misc');
                }
                switch ($this->contentMisc) {
                    case 'shopping_cart':
                        if (is_array($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/multishop/pi1/class.tx_multishop_pi1.php']['shopping_cartPreProc'])) {
                            $params = array();
                            foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/multishop/pi1/class.tx_multishop_pi1.php']['shopping_cartPreProc'] as $funcRef) {
                                \TYPO3\CMS\Core\Utility\GeneralUtility::callUserFunction($funcRef, $params, $this);
                            }
                        }
                        if (strstr($this->ms['MODULES']['SHOPPING_CART_TYPE'], "..")) {
                            die('error in SHOPPING_CART_TYPE value');
                        } else {
                            if (strstr($this->ms['MODULES']['SHOPPING_CART_TYPE'], "/")) {
                                // relative mode
                                require $this->DOCUMENT_ROOT . $this->ms['MODULES']['SHOPPING_CART_TYPE'] . '.php';
                            } else {
                                require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/includes/shopping_cart/default.php';
                            }
                        }
                        $content = '<div id="tx_multishop_pi1_core">' . $content . '</div>';
                        break;
                    case 'checkout':
                        if (is_array($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/multishop/pi1/class.tx_multishop_pi1.php']['checkoutPreProc'])) {
                            $params = array();
                            foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/multishop/pi1/class.tx_multishop_pi1.php']['checkoutPreProc'] as $funcRef) {
                                \TYPO3\CMS\Core\Utility\GeneralUtility::callUserFunction($funcRef, $params, $this);
                            }
                        }
                        if ($this->ms['MODULES']['FORCE_CHECKOUT_SHOW_PRICES_INCLUDING_VAT']) {
                            $this->ms['MODULES']['SHOW_PRICES_INCLUDING_VAT'] = 1;
                        }
                        $this->ms['page'] = 'checkout';
                        if (strstr($this->ms['MODULES']['CHECKOUT_TYPE'], "..")) {
                            die('error in CHECKOUT_TYPE value');
                        } else {
                            if (strstr($this->ms['MODULES']['CHECKOUT_TYPE'], "/")) {
                                // relative mode
                                require $this->DOCUMENT_ROOT . $this->ms['MODULES']['CHECKOUT_TYPE'] . '/checkout.php';
                            } else {
                                require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/includes/checkout/' . $this->ms['MODULES']['CHECKOUT_TYPE'] . '/checkout.php';
                            }
                        }
                        $content = '<div id="tx_multishop_pi1_core">' . $content . '</div>';
                        break;
                    case 'create_account':
                        require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/create_account.php';
                        break;
                    case 'edit_account':
                        require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/edit_account.php';
                        break;
                    case 'store_locator':
                        require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/store_locator.php';
                        break;
                    case 'order_history':
                        if (mslib_fe::loggedin()) {
                            if (is_array($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/multishop/pi1/class.tx_multishop_pi1.php']['order_historyPreProc'])) {
                                $params = array();
                                foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/multishop/pi1/class.tx_multishop_pi1.php']['order_historyPreProc'] as $funcRef) {
                                    \TYPO3\CMS\Core\Utility\GeneralUtility::callUserFunction($funcRef, $params, $this);
                                }
                            }
                            if (strstr($this->ms['MODULES']['ORDER_HISTORY_TYPE'], "..")) {
                                die('error in ORDER_HISTORY_TYPE value');
                            } else {
                                if (strstr($this->ms['MODULES']['ORDER_HISTORY_TYPE'], "/")) {
                                    // relative mode
                                    require $this->DOCUMENT_ROOT . $this->ms['MODULES']['ORDER_HISTORY_TYPE'] . '.php';
                                } else {
                                    require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/includes/order_history/default.php';
                                }
                            }
                        }
                        $content = '<div id="tx_multishop_pi1_core">' . $content . '</div>';
                        break;
                    case 'currency_selector':
                        require_once \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/front_pages/includes/content_elements/currency_selector.php';
                        break;
                    default:
                        // more items could be added through hook
                        $filePath = '';
                        if (is_array($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/multishop/pi1/class.tx_multishop_pi1.php']['contentMisc'])) {
                            $params = array('contentMisc' => &$this->contentMisc, 'filePath' => &$filePath);
                            foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/multishop/pi1/class.tx_multishop_pi1.php']['contentMisc'] as $funcRef) {
                                \TYPO3\CMS\Core\Utility\GeneralUtility::callUserFunction($funcRef, $params, $this);
                            }
                        }
                        if ($filePath) {
                            require $filePath;
                        }
                        break;
                }
                break;
            case 'coreshop':
                require \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('multishop') . 'scripts/core.php';
                if ($this->conf['show_powered_by_multishop']) {
                    $content .= '
				<div class="align_center" id="typo3multishop_logo">
					<a href="https://www.typo3multishop.com/?utm_source=Typo3Website&utm_medium=cpc&utm_term=Typo3Multishop&utm_content=Listing&utm_campaign=Typo3Multishop" title="Powered by TYPO3 Multishop" target="_blank"><img src="' . $this->FULL_HTTP_URL_MS . 'templates/images/powered_by_typo3multishop.png" border="0" alt="Powered by TYPO3 Multishop" title="Powered by TYPO3 Multishop"></a>
				</div>
				';
                }
                break;
        }
        if (is_array($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/multishop/pi1/class.tx_multishop_pi1.php']['contentPostProc'])) {
            $params = array('content' => &$content);
            foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/multishop/pi1/class.tx_multishop_pi1.php']['contentPostProc'] as $funcRef) {
                \TYPO3\CMS\Core\Utility\GeneralUtility::callUserFunction($funcRef, $params, $this);
            }
        }
        if ($this->skipWrapInBase) {
            return $content;
        }
        if ($this->hideIfNoResults and $this->no_database_results) {
            // when the content element in TYPO3 has been configured with hideIfNoResults = true then hide the content if there is no data fetched from the database
            $this->cObj->data['header'] = '';
            $this->hideHeader = 1;
            return '';
        }
        if ($this->showBoxless) {
            $this->hideHeader = 1;
            return $this->pi_wrapInBaseClass($content);
        } elseif ($this->addBox or $this->box_class) {
            if ($this->hideHeader) {
                $this->cObj->data['header'] = '';
            }
            $content = mslib_fe::TypoBox($this->cObj->data['header'], $content, $this->box_class);
        } elseif (!$this->hideHeader) {
            if (!$this->hideIfNoResults or $this->hideIfNoResults and !$this->no_database_results) {
                $content = $this->cObj->cObjGetSingle($GLOBALS['TSFE']->tmpl->setup['lib.']['stdheader'], $GLOBALS['TSFE']->tmpl->setup['lib.']['stdheader.']) . $content;
                //				$content = $this->cObj->cObjGetSingle('<tt_content','') . $content;
            }
        }
        return $this->pi_wrapInBaseClass($content);
    }