diff --git a/src/configs/Config.php b/src/configs/Config.php
index 0f2d31f9d..0b9499baf 100755
--- a/src/configs/Config.php
+++ b/src/configs/Config.php
@@ -398,8 +398,8 @@ if (file_exists(WORK_DIRECTORY . PROFILE_FILE_NAME)) {
nsdefine('PROFILE', true);
nsdefine('CRAWL_DIR', WORK_DIRECTORY);
if (is_dir(APP_DIR."/locale")) {
- nsdefine('LOCALE_DIR', WORK_DIRECTORY."/app/locale");
- } else if (is_dir(WORK_DIRECTORY."/locale")) {
+ nsdefine('LOCALE_DIR', WORK_DIRECTORY . "/app/locale");
+ } else if (is_dir(WORK_DIRECTORY . "/locale")) {
//old work directory location
nsdefine('LOCALE_DIR', WORK_DIRECTORY."/locale");
} else {
@@ -513,6 +513,7 @@ nsconddefine('TIMEZONE', 'America/Los_Angeles');
*/
nsconddefine('SESSION_NAME', "yioopbiscuit");
nsconddefine('CSRF_TOKEN', "YIOOP_TOKEN");
+nsconddefine('RESOURCE_CACHE_TIME', "" . ONE_HOUR);
nsconddefine('AUTOLOGOUT', "" . ONE_HOUR);
nsconddefine('COOKIE_LIFETIME', "" . ONE_YEAR);
nsconddefine('SECURE_COOKIE', ((BASE_URL == NAME_SERVER) &&
diff --git a/src/controllers/RegisterController.php b/src/controllers/RegisterController.php
index cf9c742c3..62449fd8b 100755
--- a/src/controllers/RegisterController.php
+++ b/src/controllers/RegisterController.php
@@ -653,13 +653,12 @@ class RegisterController extends Controller implements CrawlConstants
$visitor_model = $this->model("visitor");
$crawl_model = $this->model("crawl");
$clear = false;
- if (C\CAPTCHA_MODE != C\IMAGE_CAPTCHA) {
+ if (C\CAPTCHA_MODE != C\IMAGE_CAPTCHA && isset($_SESSION)) {
unset($_SESSION["captcha_text"]);
}
- if (C\CAPTCHA_MODE != C\HASH_CAPTCHA) {
- unset($_SESSION["request_time"]);
- unset($_SESSION["level"] );
- unset($_SESSION["random_string"] );
+ if (C\CAPTCHA_MODE != C\HASH_CAPTCHA && isset($_SESSION)) {
+ unset($_SESSION["request_time"], $_SESSION["level"],
+ $_SESSION["random_string"] );
} else {
$data['INCLUDE_SCRIPTS'] = ["sha1", "hash_captcha"];
}
@@ -833,6 +832,9 @@ class RegisterController extends Controller implements CrawlConstants
*/
public function setupGraphicalCaptchaViewData(&$data)
{
+ if (empty($_SESSION)) {
+ $_SESSION = [];
+ }
unset($_SESSION["captcha_text"]);
// defines captcha text
$characters_for_captcha = '123456789'.
diff --git a/src/controllers/ResourceController.php b/src/controllers/ResourceController.php
index e5286fc32..62a16e6ee 100644
--- a/src/controllers/ResourceController.php
+++ b/src/controllers/ResourceController.php
@@ -80,6 +80,13 @@ class ResourceController extends Controller implements CrawlConstants
}
$name = $this->clean($_REQUEST['n'], "file_name");
if (in_array($_REQUEST['f'], ["css", "scripts", "resources"])) {
+ $type = UrlParser::getDocumentType($name);
+ if (isset($_REQUEST['feed']) ||
+ (!empty($_REQUEST['t']) && $_REQUEST['t'] == 'feed')) {
+ $_REQUEST['t'] = 'feed';
+ $type = "";
+ unset($_REQUEST['p']);
+ }
/* notice in this case we didn't check if request come from a
legitimate source but we do try to restrict it to being
a file (not a folder) in the above array. If the request
@@ -91,10 +98,6 @@ class ResourceController extends Controller implements CrawlConstants
if (!$base_dir) {
$this->requestError();
}
- $type = UrlParser::getDocumentType($name);
- if (!empty($_REQUEST['t']) && $_REQUEST['t'] == 'feed') {
- $type = "";
- }
$name = urlencode($name);
$name = UrlParser::getDocumentFilename($name);
$name = urldecode($name);
@@ -368,9 +371,16 @@ class ResourceController extends Controller implements CrawlConstants
/**
* Checks if a request is for a file that was cached and not size modified.
* If so, processes and output 304 headers
+ *
+ * @param string $path file system path to file resource
+ * @param int $size size of file
+ * @return bool whether resource hasn't changed (true) or has (false)
*/
public function checkUnmodifiedAndProcess($path, $size)
{
+ $expires = gmdate( "D, d M Y H:i:s", time() +
+ C\RESOURCE_CACHE_TIME)." GMT";
+ $this->web_site->header("Expires: $expires");
$last_modified = filemtime($path);
$this->web_site->header("Last-Modified: " .
gmdate( "D, d M Y H:i:s", $last_modified )." GMT" );
diff --git a/src/library/media_jobs/FeedsUpdateJob.php b/src/library/media_jobs/FeedsUpdateJob.php
index 9f993eef7..ba7b64e17 100644
--- a/src/library/media_jobs/FeedsUpdateJob.php
+++ b/src/library/media_jobs/FeedsUpdateJob.php
@@ -260,8 +260,7 @@ class FeedsUpdateJob extends MediaJob
chmod($base_dir, 0777);
}
}
- $image_url = C\NAME_SERVER . "?c=resource&a=get&f=resources".
- "&g=" . C\PUBLIC_GROUP_ID . "&t=feed&sf=$date";
+ $image_url = "feed://$date/";
// now get feed items
$feeds = FetchUrl::getPages($feeds, false, 0, null, "SOURCE_URL",
CrawlConstants::PAGE, true, null, true);
@@ -532,8 +531,7 @@ class FeedsUpdateJob extends MediaJob
$item['image_link']);
}
if (!$test_mode) {
- $item['image_link'] = $image_url .
- "&n=" . $image_hash;
+ $item['image_link'] = $image_url . $image_hash;
}
}
}
diff --git a/src/views/helpers/FeedsHelper.php b/src/views/helpers/FeedsHelper.php
index 46ee2a4e5..a2b17b1aa 100644
--- a/src/views/helpers/FeedsHelper.php
+++ b/src/views/helpers/FeedsHelper.php
@@ -151,10 +151,35 @@ class FeedsHelper extends Helper implements CrawlConstants
$subtitle = "";
}
$image_string = "";
- if (isset($page[self::IMAGE_LINK]) &&
- $page[self::IMAGE_LINK]!= "") {
- $image_string = "<img class='float-same' ".
- "src='{$page[self::IMAGE_LINK]}' alt='' />";
+ $sf = "";
+ $image_hash = "";
+ if (isset($page[self::IMAGE_LINK]) && $page[self::IMAGE_LINK] != "") {
+ if (substr($page[self::IMAGE_LINK], 0, 7) == "feed://") {
+ $image_link_parts = explode("/", $page[self::IMAGE_LINK]);
+ if (!empty($image_link_parts[3])) {
+ list(, , $sf, $image_hash) = $image_link_parts;
+ }
+ } else { //old style image link
+ if(preg_match("/sf\=([^\&]+)/", $page[self::IMAGE_LINK],
+ $sf_match) && preg_match("/n\=([^\&]+)/",
+ $page[self::IMAGE_LINK], $n_match)) {
+ $sf = $sf_match[1];
+ $image_hash = $n_match[1];
+ }
+ }
+ if (!empty($sf) && !empty($image_hash)) {
+ if (C\nsdefined("REDIRECTS_ON") && C\REDIRECTS_ON) {
+ $image_url = C\NAME_SERVER . "wd/resources/feed/".
+ C\PUBLIC_GROUP_ID . "/1/$sf/$image_hash";
+ } else {
+ $image_url = C\NAME_SERVER .
+ "?c=resource&a=get&f=resources".
+ "&g=" . C\PUBLIC_GROUP_ID .
+ "&t=feed&sf=$sf" . "&n=$image_hash";
+ }
+ $image_string = "<img class='float-same' ".
+ "src='$image_url' alt='' />";
+ }
}
?>
<div class="news-result">