X-Git-Url: https://git.p6c8.net/jirafeau_mojo42.git/blobdiff_plain/420be1d8b35ee5cd319662619365e091ef17e9f0..507be5f97be283db761fdf28f0e403e582fa1186:/lib/functions.php diff --git a/lib/functions.php b/lib/functions.php index 53733ca..6e5c886 100644 --- a/lib/functions.php +++ b/lib/functions.php @@ -28,7 +28,7 @@ function s2p($s) $block_size = 8; $p = ''; for ($i = 0; $i < strlen($s); $i++) { - $p .= $s{$i}; + $p .= $s[$i]; if (($i + 1) % $block_size == 0) { $p .= '/'; } @@ -68,16 +68,16 @@ function base_16_to_64($num) # Convert long hex string to bin. $size = strlen($num); for ($i = 0; $i < $size; $i++) { - $b .= $hex2bin{hexdec($num{$i})}; + $b .= $hex2bin[hexdec($num[$i])]; } # Convert long bin to base 64. $size *= 4; for ($i = $size - 6; $i >= 0; $i -= 6) { - $o = $m{bindec(substr($b, $i, 6))} . $o; + $o = $m[bindec(substr($b, $i, 6))] . $o; } # Some few bits remaining ? if ($i < 0 && $i > -6) { - $o = $m{bindec(substr($b, 0, $i + 6))} . $o; + $o = $m[bindec(substr($b, 0, $i + 6))] . $o; } return $o; } @@ -509,10 +509,15 @@ function jirafeau_upload($file, $one_time_download, $key, $time, $ip, $crypt, $l function jirafeau_is_viewable($mime) { if (!empty($mime)) { - /* Actually, verify if mime-type is an image or a text. */ - $viewable = array('image', 'text', 'video', 'audio'); + $viewable = array('image', 'video', 'audio'); $decomposed = explode('/', $mime); - return in_array($decomposed[0], $viewable); + if (in_array($decomposed[0], $viewable) && strpos($mime, 'image/svg+xml') === false) { + return true; + } + $viewable = array('text/plain'); + if (in_array($mime, $viewable)) { + return true; + } } return false; } @@ -843,12 +848,16 @@ function jirafeau_admin_bug_report($cfg) $out .= "- mcrypt version: " . phpversion('mcrypt') . "
"; $php_options = [ 'post_max_size', - 'upload_max_filesize' + 'upload_max_filesize', + 'safe_mode', + 'max_execution_time', + 'max_input_time' ]; foreach ($php_options as &$o) { $v = ini_get($o); $out .= "- $o: " . jirafeau_strval($v) . " (" . gettype($v). ")
"; } + $out .= "- can set_time_limit: " . (set_time_limit(0) ? "yes" : "no") . "
"; $out .= "
"; $out .= "# File permissions
"; @@ -869,10 +878,15 @@ function jirafeau_admin_bug_report($cfg) $out .= "# Browser details
"; $out .= ""; + $out .= "
"; + + $out .= "# Memory
"; + $out .= "- memory_get_peak_usage: " . jirafeau_human_size(memory_get_peak_usage()) . "
"; + $out .= ""; return $out; }