As titles states - loading main page as not logged in can be very slow - depending how fast GitHub answers 404 ;')
index.php includes header.php that includes functions.php that includes cache_handler.php and that one tries to load pokemonNames/itemNames. Only problem is both local and remote uses $locale as part of path and because $locale is empty it's testing non-existing files and then trying to download non-existed files (fe. fopen(https://raw.githubusercontent.com/WatWowMap/pogo-translations/master/static/englishRef/pokemon_.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found)
$locale is get via session $locale = @$_SESSION['locale']; and set in set_locale()
|
function set_locale() { |
|
global $conn; |
|
if (isset($_SESSION['id'])) { |
|
include_once "./config.php"; |
|
include_once "./include/db_connect.php"; |
|
$sql = "select language FROM humans WHERE id = '" . $_SESSION['id'] . "'"; |
|
$result = $conn->query($sql) or die(mysqli_error($conn)); |
|
while ($row = $result->fetch_assoc()) { |
|
if ( $row['language'] <> "" ) { |
|
$_SESSION['locale'] = $row['language']; |
|
} else { |
|
$_SESSION['locale'] = $_SESSION['server_locale']; |
|
} |
|
} |
|
} |
|
} |
but only if
$_SESSION['id'] exists - so not logged in users will have no locales at all.
Possible solutions:
Set $_SESSION['locale'] for not logged in users as default (?) one?
Force $locale as "en" if empty in cache_handler.php?
Don't include cache_handler.php at all if user not logged in - is there anything need to render main login page?
Are there other parts of code depending on not set at all $_SESSION['locale']?
As titles states - loading main page as not logged in can be very slow - depending how fast GitHub answers 404 ;')
index.phpincludesheader.phpthat includesfunctions.phpthat includescache_handler.phpand that one tries to load pokemonNames/itemNames. Only problem is both local and remote uses$localeas part of path and because$localeis empty it's testing non-existing files and then trying to download non-existed files (fe.fopen(https://raw.githubusercontent.com/WatWowMap/pogo-translations/master/static/englishRef/pokemon_.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found)$localeis get via session$locale = @$_SESSION['locale'];and set in set_locale()PoracleWeb/include/functions.php
Lines 316 to 331 in ed58d43
$_SESSION['id']exists - so not logged in users will have no locales at all.Possible solutions:
Set
$_SESSION['locale']for not logged in users as default (?) one?Force
$localeas "en" if empty incache_handler.php?Don't include
cache_handler.phpat all if user not logged in - is there anything need to render main login page?Are there other parts of code depending on not set at all
$_SESSION['locale']?