Browse Source

Fix too long cache filename

$_SERVER['REQUEST_URI'] is always url-encoded so we decoded it back before save it as a cache file.
pull/663/head
danpros 2 years ago
parent
commit
eb495f2525
2 changed files with 2 additions and 2 deletions
  1. +1
    -1
      system/includes/dispatch.php
  2. +1
    -1
      system/includes/functions.php

+ 1
- 1
system/includes/dispatch.php View File

@ -333,7 +333,7 @@ function render($view, $locals = null, $layout = null)
{
$login = login();
if (!$login) {
$c = str_replace('/', '#', str_replace('?', '~', $_SERVER['REQUEST_URI']));
$c = str_replace('/', '#', str_replace('?', '~', rawurldecode($_SERVER['REQUEST_URI'])));
$dir = 'cache/page';
$cachefile = $dir . '/' . $c . '.cache';
if (is_dir($dir) === false) {


+ 1
- 1
system/includes/functions.php View File

@ -3040,7 +3040,7 @@ function file_cache($request)
$now = time();
$c = str_replace('/', '#', str_replace('?', '~', $request));
$c = str_replace('/', '#', str_replace('?', '~', rawurldecode($request)));
$cachefile = 'cache/page/' . $c . '.cache';
if (file_exists($cachefile)) {
if ($now - filemtime($cachefile) >= 60 * 60 * $hour) {


Loading…
Cancel
Save