summaryrefslogtreecommitdiff
path: root/http
diff options
context:
space:
mode:
Diffstat (limited to 'http')
-rw-r--r--http/index.php17
1 files changed, 11 insertions, 6 deletions
diff --git a/http/index.php b/http/index.php
index 42a2731..700951d 100644
--- a/http/index.php
+++ b/http/index.php
@@ -1,5 +1,6 @@
<?php
+define('BASE_PATH', '/');
define('CACHE_PATH', '../cache');
define('CEZAR_URL', 'http://msc.com.pl/cezar/');
@@ -26,7 +27,7 @@ function fetch_with_user_agent_spoof($targetFile, $sourceUrl) {
}
// parse requested path (after rewrite)
-$url = parse_url($_SERVER['REQUEST_URI']);
+$url = parse_url(preg_replace('/^' . preg_quote(BASE_PATH) . '/', $_SERVER['REQUEST_URI']));
$path = array_values(array_filter(explode('/', $url['path'])));
if ($path) {
@@ -34,13 +35,13 @@ if ($path) {
$cache = !(count($path) > 1 && $path[1] == 'refresh');
// build Cezar URL for requested path
- $path[0] = urldecode($path[0]);
+ $path[0] = urldecode($path[0]);
$searchUrl = new http\Url(CEZAR_URL,
['query' => http_build_query(
['pid_search' => $path[0],
'p' => '21']
)]);
-
+
$mscUrl = $searchUrl->toString();
$content = get_cache_content($path[0], $mscUrl, !$cache); // requested content
@@ -49,9 +50,13 @@ if ($path) {
// if the comment delimiters are present, we're possibly dealing with the content we want, slice it and wrap it
$delimiters = array_keys(preg_grep('/---- page content /', $contentLines));
if ($delimiters) {
- $content = '<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><base href="/" /><style>body {width: 580px; font-family: Tahoma, Geneva, Arial, Helvetica, "sans-serif";}</style></head><body>'
- . implode(PHP_EOL, array_slice($contentLines, $delimiters[0]+1, $delimiters[1]-$delimiters[0]-1))
- . '</body></html>';
+ $content = '<html><head>'
+ . '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'
+ . '<base href="' . BASE_PATH . '" />'
+ . '<style>body {width: 580px; font-family: Tahoma, Geneva, Arial, Helvetica, "sans-serif";}</style>'
+ . '</head><body>'
+ . implode(PHP_EOL, array_slice($contentLines, $delimiters[0]+1, $delimiters[1]-$delimiters[0]-1))
+ . '</body></html>';
}
else {
die('Malformed (even more than usually) content :(');