From 2941f4f4285ae3cbab23c744855aa3f73913a005 Mon Sep 17 00:00:00 2001 From: Mitsukarenai Date: Fri, 29 Mar 2013 20:09:13 +0100 Subject: [PATCH] /!\ LOCAL_URL and relative paths (read below) -SHOULD- fix issue #2: * LOCAL_URL is now absolute URL based on: protocol-HTTP_HOST-REQUEST_URI * media export reference url change * media is now stored as RELATIVE: "media/blablabla.jpg" * escape_content ENFORCES RELATIVE: "./media/blablabla.jpg" This commit MAY AFFECT DATABASE VALIDITY. In case of doubt, export-remove-import autoblogs or use SQLite editor to ensure all media links are relative like "media/somestuff.jpg" --- 0.3/autoblog.php | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) mode change 100755 => 100644 0.3/autoblog.php diff --git a/0.3/autoblog.php b/0.3/autoblog.php old mode 100755 new mode 100644 index 791b47a..b4ba9f1 --- a/0.3/autoblog.php +++ b/0.3/autoblog.php @@ -41,10 +41,7 @@ if (!defined('MEDIA_DIR')) define('MEDIA_DIR', ROOT_DIR . '/media'); if (!defined('LOCAL_URL')) { // Automagic URL discover - $path = substr(ROOT_DIR, strlen($_SERVER['DOCUMENT_ROOT'])); - $path = (!empty($path[0]) && $path[0] != '/') ? '/' . $path : $path; - $path = (substr($path, -1) != '/') ? $path . '/' : $path; - define('LOCAL_URL', 'http' . (!empty($_SERVER['HTTPS']) ? 's' : '') . '://' . $_SERVER['HTTP_HOST'] . $path); + define('LOCAL_URL', 'http' . (!empty($_SERVER['HTTPS']) ? 's' : '')."://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"); } if (!defined('LOCAL_URI')) @@ -535,7 +532,7 @@ class VroumVroum_Blog // Ignore copy errors } } - $content = str_replace($m[0], $m[1] . '="'. LOCAL_URL .'media/'.$filename.'" data-original-source="'.$url.'"', $content); + $content = str_replace($m[0], $m[1] . '="'.'media/'.$filename.'" data-original-source="'.$url.'"', $content); } return $content; } @@ -619,10 +616,11 @@ if (isset($_GET['media'])) // MEDIA header('Content-Type: application/json'); if(is_dir(MEDIA_DIR)) { + $url = str_replace('?media', 'media/', LOCAL_URL); $files = scandir(MEDIA_DIR); unset($files[0]); // . unset($files[1]); // .. - echo json_encode(array("url"=> LOCAL_URL.substr(MEDIA_DIR, strlen(ROOT_DIR)+1).'/', "files" => $files)); + echo json_encode(array("url"=> $url, "files" => $files)); } exit; } @@ -829,9 +827,9 @@ else echo ' '; if ($vvb->mustUpdate()) @@ -885,7 +883,7 @@ echo ' function escape_content($str) { $str = preg_replace('!<\s*(style|script|link)!', '<\\1', $str); - $str = str_replace('="media/', '="'.LOCAL_URL.'media/', $str); + $str = str_replace('="media/', '="./media/', $str); return $str; }