0 && ($_SESSION['customer_id'] != '' and $_SESSION['customers_authorization'] != '0')) { $check_customer_query = "select customers_id, customers_authorization from " . TABLE_CUSTOMERS . " where customers_id = '" . $_SESSION['customer_id'] . "'"; $check_customer = $db->Execute($check_customer_query); $_SESSION['customers_authorization'] = $check_customer->fields['customers_authorization']; } /** * customer login status * 0 = normal shopping * 1 = Login to shop * 2 = Can browse but no prices * * customer authorization status * 0 = normal shopping * 1 = customer authorization to shop * 2 = customer authorization pending can browse but no prices */ switch (true) { case ($down_for_maint_flag && DOWN_FOR_MAINTENANCE_TYPE == 'strict'): // if DFM is in strict mode, then block access to all pages: zen_redirect(zen_href_link(DOWN_FOR_MAINTENANCE_FILENAME)); break; case ((DOWN_FOR_MAINTENANCE == 'true') && !in_array($_GET['main_page'], array(FILENAME_LOGOFF, FILENAME_PRIVACY, FILENAME_CONTACT_US, FILENAME_CONDITIONS, FILENAME_SHIPPING))): // on special pages, if DFM mode is "relaxed", allow access to these pages if ($down_for_maint_flag && DOWN_FOR_MAINTENANCE_TYPE == 'relaxed') { zen_redirect(zen_href_link(DOWN_FOR_MAINTENANCE_FILENAME)); } break; case (in_array($_GET['main_page'], array(FILENAME_LOGOFF, FILENAME_PRIVACY, FILENAME_PASSWORD_FORGOTTEN, FILENAME_CONTACT_US, FILENAME_CONDITIONS, FILENAME_SHIPPING, FILENAME_UNSUBSCRIBE))): // on special pages, allow customers to access regardless of store mode or cust auth mode break; /** * check store status before authorizations */ case (STORE_STATUS != 0): break; /** * if not down for maintenance check login status */ case (CUSTOMERS_APPROVAL == '1' and $_SESSION['customer_id'] == ''): /** * customer must be logged in to browse */ if (!in_array($_GET['main_page'], array(FILENAME_LOGIN, FILENAME_CREATE_ACCOUNT))) { if (!isset($_GET['set_session_login'])) { $_GET['set_session_login'] = 'true'; $_SESSION['navigation']->set_snapshot(); } zen_redirect(zen_href_link(FILENAME_LOGIN, '', 'SSL')); } break; case (CUSTOMERS_APPROVAL == '2' and $_SESSION['customer_id'] == ''): /** * customer may browse but no prices */ break; default: /** * proceed normally */ break; } switch (true) { /** * check store status before authorizations */ case (STORE_STATUS != 0): break; case (CUSTOMERS_APPROVAL_AUTHORIZATION == '1' and $_SESSION['customer_id'] == ''): /** * customer must be logged in to browse */ // if (!in_array($_GET['main_page'], array(FILENAME_LOGIN, FILENAME_CREATE_ACCOUNT))) { if (!in_array($_GET['main_page'], array(FILENAME_LOGIN, FILENAME_LOGOFF, FILENAME_CREATE_ACCOUNT, FILENAME_PASSWORD_FORGOTTEN, FILENAME_CONTACT_US, FILENAME_PRIVACY))) { if (!isset($_GET['set_session_login'])) { $_GET['set_session_login'] = 'true'; $_SESSION['navigation']->set_snapshot(); } zen_redirect(zen_href_link(FILENAME_LOGIN, '', 'SSL')); } break; case (CUSTOMERS_APPROVAL_AUTHORIZATION == '2' and $_SESSION['customer_id'] == ''): /** * customer may browse but no prices unless Authorized */ /* if (!in_array($_GET['main_page'], array(FILENAME_LOGIN, FILENAME_CREATE_ACCOUNT))) { if (!isset($_GET['set_session_login'])) { $_GET['set_session_login'] = 'true'; $_SESSION['navigation']->set_snapshot(); } zen_redirect(zen_href_link(FILENAME_LOGIN, '', 'SSL')); } */ break; case (CUSTOMERS_APPROVAL_AUTHORIZATION == '1' and $_SESSION['customers_authorization'] != '0'): /** * customer is pending approval * customer must be logged in to browse */ if (!in_array($_GET['main_page'], array(FILENAME_LOGIN, FILENAME_LOGOFF, FILENAME_CONTACT_US, FILENAME_PRIVACY))) { if ($_GET['main_page'] != CUSTOMERS_AUTHORIZATION_FILENAME) { zen_redirect(zen_href_link(CUSTOMERS_AUTHORIZATION_FILENAME)); } } break; case (CUSTOMERS_APPROVAL_AUTHORIZATION == '2' and $_SESSION['customers_authorization'] != '0'): /** * customer may browse but no prices */ break; default: /** * proceed normally */ break; } ?>