Skip to content
Snippets Groups Projects
Commit 0ff567a0 authored by Jared Hancock's avatar Jared Hancock
Browse files

Silently disable Phar usage if unsupported

parent bbc9382c
Branches
Tags
No related merge requests found
...@@ -277,7 +277,8 @@ class DataTemplate { ...@@ -277,7 +277,8 @@ class DataTemplate {
$this->filepath = Misc::realpath("{$this->base}/$l/$path"); $this->filepath = Misc::realpath("{$this->base}/$l/$path");
break; break;
} }
elseif (Phar::isValidPharFilename("{$this->base}/$l.phar") elseif (class_exists('Phar')
&& Phar::isValidPharFilename("{$this->base}/$l.phar")
&& file_exists("phar://{$this->base}/$l.phar/$path")) { && file_exists("phar://{$this->base}/$l.phar/$path")) {
$this->lang = $l; $this->lang = $l;
$this->filepath = "phar://{$this->base}/$l.phar/$path"; $this->filepath = "phar://{$this->base}/$l.phar/$path";
......
...@@ -180,6 +180,7 @@ class PluginManager { ...@@ -180,6 +180,7 @@ class PluginManager {
GLOB_NOSORT|GLOB_BRACE) as $p) { GLOB_NOSORT|GLOB_BRACE) as $p) {
$is_phar = false; $is_phar = false;
if (substr($p, strlen($p) - 5) == '.phar' if (substr($p, strlen($p) - 5) == '.phar'
&& class_exists('Phar')
&& Phar::isValidPharFilename($p)) { && Phar::isValidPharFilename($p)) {
try { try {
// When public key is invalid, openssl throws a // When public key is invalid, openssl throws a
......
...@@ -48,6 +48,21 @@ if(!defined('OSTADMININC') || !$thisstaff || !$thisstaff->isAdmin()) die('Access ...@@ -48,6 +48,21 @@ if(!defined('OSTADMININC') || !$thisstaff || !$thisstaff->isAdmin()) die('Access
echo extension_loaded('mbstring')?'check':'warning-sign'; ?>"></i></td> echo extension_loaded('mbstring')?'check':'warning-sign'; ?>"></i></td>
<td>mbstring</td> <td>mbstring</td>
<td>Highly recommended for non western european language content</td></tr> <td>Highly recommended for non western european language content</td></tr>
<tr><td><i class="icon icon-<?php
echo extension_loaded('phar')?'check':'warning-sign'; ?>"></i></td>
<td>phar</td>
<td>Highly recommended for plugins and language packs</td></tr>
</tbody></table></td></tr>
<tr><td>PHP Settings</td>
<td><table><tbody>
<tr><td><i class="icon icon-<?php
echo extension_loaded('mbstring')?'check':'warning-sign'; ?>"></i>
</td><td>
<code>cgi.fix_pathinfo</code> =
<?php echo ini_get('cgi.fix_pathinfo'); ?>
</td><td>
<span class="faded">"1" is recommended if AJAX is not working</span>
</td></tr>
</tbody></table></td></tr> </tbody></table></td></tr>
</tbody> </tbody>
<thead> <thead>
......
...@@ -29,6 +29,7 @@ if(!defined('SETUPINC')) die('Kwaheri!'); ...@@ -29,6 +29,7 @@ if(!defined('SETUPINC')) die('Kwaheri!');
<li class="<?php echo extension_loaded('json')?'yes':'no'; ?>">PHP JSON extension (faster performance)</li> <li class="<?php echo extension_loaded('json')?'yes':'no'; ?>">PHP JSON extension (faster performance)</li>
<li class="<?php echo extension_loaded('gettext')?'yes':'no'; ?>">Gettext is used for translations (faster performance)</li> <li class="<?php echo extension_loaded('gettext')?'yes':'no'; ?>">Gettext is used for translations (faster performance)</li>
<li class="<?php echo extension_loaded('mbstring')?'yes':'no'; ?>">Mbstring is <b>strongly</b> recommended for all installations</li> <li class="<?php echo extension_loaded('mbstring')?'yes':'no'; ?>">Mbstring is <b>strongly</b> recommended for all installations</li>
<li class="<?php echo extension_loaded('phar')?'yes':'no'; ?>">Phar is <b>strongly</b> recommended for plugins and language packs</li>
</ul> </ul>
<div id="bar"> <div id="bar">
<form method="post" action="install.php"> <form method="post" action="install.php">
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment