if ($sBaseUrl) { $sBaseDir = parse_url($sBaseUrl, PHP_URL_PATH); if ($sBaseDir) { session_set_cookie_params(COOKIE_LIFETIME, $sBaseDir); } else { session_set_cookie_params(COOKIE_LIFETIME); } unset($sBaseDir); } unset($sBaseUrl); session_start(); // Neue Sitzung erstellen if (!$_SESSION['rpc_sid']) { // Am RP-System mit Gast-Token anmelden if (bbRpc::auth() === NULL) { if (Renderer::DEBUG) { Status::injectRPCMsgs(); Renderer::assign('_msgs', Status::getMessages()); } Renderer::renderFatal('Verbindung zum Shop-System konnte nicht hergestellt werden.'); } // Vom RP verwendete Sitzungs-ID für nächste Seitenaufrufe speichern $_SESSION['rpc_sid'] = bbRpc::getSid(); // Bestehende Sitzung wiederherstellen } else { // RP-Sitzung wiederverwenden bbRpc::setSid($_SESSION['rpc_sid']); } // Werte der Sitzung speichern // Nach diesem Aufruf steht das $_SESSION-Array dem Skript nicht mehr bereit session_write_close();
/** * Daten fuer Produktbereiche aufbereiten * * @param array $hParams Parameter für shopProduct::readEntry und Assigns * @return array */ protected static function includeProductCompare($hParams = array()) { if (array_key_exists('settings_file', $hParams)) { $sSettingsFile = $hParams['settings_file'] ? $hParams['settings_file'] : 'products'; unset($hParams['settings_file']); $hParams['shop_settings'] = Settings::get($sSettingsFile); } // Einstellungen dem Renderer zuweisen $sSettingsAssignName = null; if (array_key_exists('assign_settings', $hParams)) { $sSettingsAssignName = $hParams['assign_settings']; Renderer::assign($sSettingsAssignName, $hParams['shop_settings']); unset($hParams['assign_settings']); } // Produkt-IDs setzen if (!array_key_exists('peid', $hParams)) { $hParams['peid'] = $hParams['shop_settings']['products']['peid']; } // Daten für Vergleiche formatieren $hParams['return_shopformat'] = 1; // Daten auslesen und zurückgeben return shopProduct::readEntry($hParams); }