function getOpenCartSetting($key, $store_id = 0) { $db = NitroDb::getInstance(); nitroEnableSession(); $store_id = $store_id == 0 && !empty($GLOBALS['nitro.store_id']) ? (int) $GLOBALS['nitro.store_id'] : $store_id; $query = $db->query("SELECT value FROM " . DB_PREFIX . "setting WHERE `key`='" . $key . "' AND store_id='" . $store_id . "' LIMIT 1"); if ($query->num_rows) { $result = $query->row; if (!empty($result['value'])) { return $result['value']; } } return null; }
function serveBrowserCacheHeadersIfNecessary($filemtime) { if (headers_sent()) { return; } nitroEnableSession(); if (!empty($_SESSION['NitroSwitchLanguage'])) { unset($_SESSION['NitroSwitchLanguage']); return; } header('Nitro-Cache: Enabled'); $userAgent = !empty($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'FOOBAR'; $isIE = stripos($userAgent, 'MSIE ') !== false; $code304 = false; if (getNitroPersistence('BrowserCache.Headers.Pages.CacheControl') && !$isIE) { header('Cache-Control:public, max-age=31536000'); } if (getNitroPersistence('BrowserCache.Headers.Pages.Expires')) { header('Expires: ' . gmdate('D, d M Y H:i:s \\G\\M\\T', time() + getPageCacheTime())); $code304 = true; } if (getNitroPersistence('BrowserCache.Headers.Pages.LastModified')) { header('Last-Modified: ' . gmdate('D, d M Y H:i:s \\G\\M\\T', $filemtime)); $code304 = true; } if ($code304 && !empty($_SERVER['HTTP_IF_MODIFIED_SINCE']) && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) >= $filemtime) { header('HTTP/1.1 304 Not Modified'); exit; } }