|
|
|
|
@@ -31,6 +31,7 @@
|
|
|
|
|
|
|
|
|
|
define('ALLOWED_IF_UPGRADE_UNLOCK_FOUND', 1);
|
|
|
|
|
include_once 'inc.php';
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @var Conf $conf already created in inc.php
|
|
|
|
|
* @var Translate $langs
|
|
|
|
|
@@ -80,7 +81,7 @@ pHeader('', ''); // No next step for navigation buttons. Next step is defined by
|
|
|
|
|
//print $langs->trans("InstallEasy")."<br><br>\n";
|
|
|
|
|
|
|
|
|
|
print '<h3><img class="valignmiddle inline-block paddingright" src="../theme/common/octicons/build/svg/gear.svg" width="20" alt="Database"> ';
|
|
|
|
|
print '<span class="inline-block">'.$langs->trans("MiscellaneousChecks")."</span></h3>\n";
|
|
|
|
|
print '<span class="inline-block valignmiddle">'.$langs->trans("MiscellaneousChecks")."</span></h3>\n";
|
|
|
|
|
|
|
|
|
|
// Check browser
|
|
|
|
|
$useragent = $_SERVER['HTTP_USER_AGENT'];
|
|
|
|
|
@@ -89,7 +90,7 @@ if (!empty($useragent)) {
|
|
|
|
|
$browserversion = $tmp['browserversion'];
|
|
|
|
|
$browsername = $tmp['browsername'];
|
|
|
|
|
if ($browsername == 'ie' && $browserversion < 7) {
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle"> '.$langs->trans("WarningBrowserTooOld")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle paddingright"> '.$langs->trans("WarningBrowserTooOld")."<br>\n";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -101,10 +102,10 @@ if (versioncompare(versionphparray(), $arrayphpminversionerror) < 0) { //
|
|
|
|
|
print '<img src="../theme/eldy/img/error.png" alt="Error" class="valignmiddle"> '.$langs->trans("ErrorPHPVersionTooLow", versiontostring($arrayphpminversionerror));
|
|
|
|
|
$checksok = 0; // 0=error, 1=warning
|
|
|
|
|
} elseif (versioncompare(versionphparray(), $arrayphpminversionwarning) < 0) { // Minimum supported (warning if lower)
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle"> '.$langs->trans("ErrorPHPVersionTooLow", versiontostring($arrayphpminversionwarning));
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle paddingright"> '.$langs->trans("ErrorPHPVersionTooLow", versiontostring($arrayphpminversionwarning));
|
|
|
|
|
$checksok = 1; // 0=error, 1=warning
|
|
|
|
|
} else {
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle"> '.$langs->trans("PHPVersion")." ".versiontostring(versionphparray());
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle paddingright"> '.$langs->trans("PHPVersion")." ".versiontostring(versionphparray());
|
|
|
|
|
}
|
|
|
|
|
if (empty($force_install_nophpinfo)) {
|
|
|
|
|
print ' (<a href="phpinfo.php" target="_blank" rel="noopener noreferrer">'.$langs->trans("MoreInformation").'</a>)';
|
|
|
|
|
@@ -127,7 +128,7 @@ if (!isset($_GET["testget"]) && !isset($_POST["testpost"])) { // We must keep $_
|
|
|
|
|
print "<br>\n";
|
|
|
|
|
$checksok = 0;
|
|
|
|
|
} else {
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle"> '.$langs->trans("PHPSupportPOSTGETOk")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle paddingright"> '.$langs->trans("PHPSupportPOSTGETOk")."<br>\n";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -136,79 +137,79 @@ if (!function_exists("session_id")) {
|
|
|
|
|
print '<img src="../theme/eldy/img/error.png" alt="Error" class="valignmiddle"> '.$langs->trans("ErrorPHPDoesNotSupportSessions")."<br>\n";
|
|
|
|
|
$checksok = 0;
|
|
|
|
|
} else {
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle"> '.$langs->trans("PHPSupportSessions")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle paddingright"> '.$langs->trans("PHPSupportSessions")."<br>\n";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Check for mbstring extension
|
|
|
|
|
if (!extension_loaded("mbstring")) {
|
|
|
|
|
$langs->load("errors");
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle"> '.$langs->trans("ErrorPHPDoesNotSupport", "MBString")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle paddingright"> '.$langs->trans("ErrorPHPDoesNotSupport", "MBString")."<br>\n";
|
|
|
|
|
// $checksok = 0; // If ko, just warning. So check must still be 1 (otherwise no way to install)
|
|
|
|
|
} else {
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle"> '.$langs->trans("PHPSupport", "MBString")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle paddingright"> '.$langs->trans("PHPSupport", "MBString")."<br>\n";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Check for json extension
|
|
|
|
|
if (!extension_loaded("json")) {
|
|
|
|
|
$langs->load("errors");
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle"> '.$langs->trans("ErrorPHPDoesNotSupport", "JSON")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle paddingright"> '.$langs->trans("ErrorPHPDoesNotSupport", "JSON")."<br>\n";
|
|
|
|
|
// $checksok = 0; // If ko, just warning. So check must still be 1 (otherwise no way to install)
|
|
|
|
|
} else {
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle"> '.$langs->trans("PHPSupport", "JSON")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle paddingright"> '.$langs->trans("PHPSupport", "JSON")."<br>\n";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Check if GD is supported (we need GD for image conversion)
|
|
|
|
|
if (!function_exists("imagecreate")) {
|
|
|
|
|
$langs->load("errors");
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle"> '.$langs->trans("ErrorPHPDoesNotSupport", "GD")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle paddingright"> '.$langs->trans("ErrorPHPDoesNotSupport", "GD")."<br>\n";
|
|
|
|
|
// $checksok = 0; // If ko, just warning. So check must still be 1 (otherwise no way to install)
|
|
|
|
|
} else {
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle"> '.$langs->trans("PHPSupport", "GD")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle paddingright"> '.$langs->trans("PHPSupport", "GD")."<br>\n";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Check if Curl is supported
|
|
|
|
|
if (!function_exists("curl_init")) {
|
|
|
|
|
$langs->load("errors");
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle"> '.$langs->trans("ErrorPHPDoesNotSupport", "Curl")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle paddingright"> '.$langs->trans("ErrorPHPDoesNotSupport", "Curl")."<br>\n";
|
|
|
|
|
// $checksok = 0; // If ko, just warning. So check must still be 1 (otherwise no way to install)
|
|
|
|
|
} else {
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle"> '.$langs->trans("PHPSupport", "Curl")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle paddingright"> '.$langs->trans("PHPSupport", "Curl")."<br>\n";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Check if PHP calendar extension is available
|
|
|
|
|
if (!function_exists("easter_date")) {
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle"> '.$langs->trans("ErrorPHPDoesNotSupport", "Calendar")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle paddingright"> '.$langs->trans("ErrorPHPDoesNotSupport", "Calendar")."<br>\n";
|
|
|
|
|
} else {
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle"> '.$langs->trans("PHPSupport", "Calendar")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle paddingright"> '.$langs->trans("PHPSupport", "Calendar")."<br>\n";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Check if Xml is supported
|
|
|
|
|
if (!function_exists("simplexml_load_string")) {
|
|
|
|
|
$langs->load("errors");
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle"> '.$langs->trans("ErrorPHPDoesNotSupport", "Xml")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle paddingright"> '.$langs->trans("ErrorPHPDoesNotSupport", "Xml")."<br>\n";
|
|
|
|
|
// $checksok = 0; // If ko, just warning. So check must still be 1 (otherwise no way to install)
|
|
|
|
|
} else {
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle"> '.$langs->trans("PHPSupport", "Xml")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle paddingright"> '.$langs->trans("PHPSupport", "Xml")."<br>\n";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Check if UTF8 is supported
|
|
|
|
|
if (!function_exists("utf8_encode")) {
|
|
|
|
|
$langs->load("errors");
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle"> '.$langs->trans("ErrorPHPDoesNotSupport", "UTF8")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle paddingright"> '.$langs->trans("ErrorPHPDoesNotSupport", "UTF8")."<br>\n";
|
|
|
|
|
// $checksok = 0; // If ko, just warning. So check must still be 1 (otherwise no way to install)
|
|
|
|
|
} else {
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle"> '.$langs->trans("PHPSupport", "UTF8")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle paddingright"> '.$langs->trans("PHPSupport", "UTF8")."<br>\n";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Check if intl methods are supported if install is not from DoliWamp. TODO Why ?
|
|
|
|
|
if (empty($_SERVER["SERVER_ADMIN"]) || $_SERVER["SERVER_ADMIN"] != 'doliwamp@localhost') {
|
|
|
|
|
if (!function_exists("locale_get_primary_language") || !function_exists("locale_get_region")) {
|
|
|
|
|
$langs->load("errors");
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle"> '.$langs->trans("ErrorPHPDoesNotSupport", "Intl")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle paddingright"> '.$langs->trans("ErrorPHPDoesNotSupport", "Intl")."<br>\n";
|
|
|
|
|
// $checksok = 0; // If ko, just warning. So check must still be 1 (otherwise no way to install)
|
|
|
|
|
} else {
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle"> '.$langs->trans("PHPSupport", "Intl")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle paddingright"> '.$langs->trans("PHPSupport", "Intl")."<br>\n";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -216,20 +217,20 @@ if (empty($_SERVER["SERVER_ADMIN"]) || $_SERVER["SERVER_ADMIN"] != 'doliwamp@loc
|
|
|
|
|
if (PHP_VERSION_ID <= 80300) {
|
|
|
|
|
if (!function_exists("imap_open")) {
|
|
|
|
|
$langs->load("errors");
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle"> '.$langs->trans("ErrorPHPDoesNotSupport", "IMAP")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle paddingright"> '.$langs->trans("ErrorPHPDoesNotSupport", "IMAP")."<br>\n";
|
|
|
|
|
// $checksok = 0; // If ko, just warning. So check must still be 1 (otherwise no way to install)
|
|
|
|
|
} else {
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle"> '.$langs->trans("PHPSupport", "IMAP")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle paddingright"> '.$langs->trans("PHPSupport", "IMAP")."<br>\n";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Check if Zip is supported
|
|
|
|
|
if (!class_exists('ZipArchive')) {
|
|
|
|
|
$langs->load("errors");
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle"> '.$langs->trans("ErrorPHPDoesNotSupport", "ZIP")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Error" class="valignmiddle paddingright"> '.$langs->trans("ErrorPHPDoesNotSupport", "ZIP")."<br>\n";
|
|
|
|
|
// $checksok = 0; // If ko, just warning. So check must still be 1 (otherwise no way to install)
|
|
|
|
|
} else {
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle"> '.$langs->trans("PHPSupport", "ZIP")."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle paddingright"> '.$langs->trans("PHPSupport", "ZIP")."<br>\n";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Check memory
|
|
|
|
|
@@ -251,9 +252,9 @@ if ($memmaxorig != '') {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if ($memmax >= $memrequired || $memmax == -1) {
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle"> '.$langs->trans("PHPMemoryOK", $memmaxorig, $memrequiredorig)."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle paddingright"> '.$langs->trans("PHPMemoryOK", $memmaxorig, $memrequiredorig)."<br>\n";
|
|
|
|
|
} else {
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Warning" class="valignmiddle"> '.$langs->trans("PHPMemoryTooLow", $memmaxorig, $memrequiredorig)."<br>\n";
|
|
|
|
|
print '<img src="../theme/eldy/img/warning.png" alt="Warning" class="valignmiddle paddingright"> '.$langs->trans("PHPMemoryTooLow", $memmaxorig, $memrequiredorig)."<br>\n";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -303,7 +304,7 @@ if (is_readable($conffile) && filesize($conffile) > 8) {
|
|
|
|
|
|
|
|
|
|
// File is missing and cannot be created
|
|
|
|
|
if (!file_exists($conffile)) {
|
|
|
|
|
print '<img src="../theme/eldy/img/error.png" alt="Error" class="valignmiddle"> '.$langs->trans("ConfFileDoesNotExistsAndCouldNotBeCreated", $conffiletoshow);
|
|
|
|
|
print '<img src="../theme/eldy/img/error.png" alt="Error" class="valignmiddle paddingright"> '.$langs->trans("ConfFileDoesNotExistsAndCouldNotBeCreated", $conffiletoshow);
|
|
|
|
|
print '<br><br><div class="error">';
|
|
|
|
|
print $langs->trans("YouMustCreateWithPermission", $conffiletoshow);
|
|
|
|
|
print '</div><br><br>'."\n";
|
|
|
|
|
@@ -318,24 +319,24 @@ if (!file_exists($conffile)) {
|
|
|
|
|
} elseif (!is_writable($conffile)) {
|
|
|
|
|
// File exists but cannot be modified
|
|
|
|
|
if ($confexists) {
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("ConfFileExists", $conffiletoshow);
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle paddingright"> '.$langs->trans("ConfFileExists", $conffiletoshow);
|
|
|
|
|
} else {
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("ConfFileCouldBeCreated", $conffiletoshow);
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle paddingright"> '.$langs->trans("ConfFileCouldBeCreated", $conffiletoshow);
|
|
|
|
|
}
|
|
|
|
|
print "<br>";
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Warning"> '.$langs->trans("ConfFileIsNotWritable", $conffiletoshow);
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Warning" class="valignmiddle paddingright"> '.$langs->trans("ConfFileIsNotWritable", $conffiletoshow);
|
|
|
|
|
print "<br>\n";
|
|
|
|
|
|
|
|
|
|
$allowinstall = 0;
|
|
|
|
|
} else {
|
|
|
|
|
// File exists and can be modified
|
|
|
|
|
if ($confexists) {
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("ConfFileExists", $conffiletoshow);
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle paddingright"> '.$langs->trans("ConfFileExists", $conffiletoshow);
|
|
|
|
|
} else {
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("ConfFileCouldBeCreated", $conffiletoshow);
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle paddingright"> '.$langs->trans("ConfFileCouldBeCreated", $conffiletoshow);
|
|
|
|
|
}
|
|
|
|
|
print "<br>";
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok"> '.$langs->trans("ConfFileIsWritable", $conffiletoshow);
|
|
|
|
|
print '<img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle paddingright"> '.$langs->trans("ConfFileIsWritable", $conffiletoshow);
|
|
|
|
|
print "<br>\n";
|
|
|
|
|
|
|
|
|
|
$allowinstall = 1;
|
|
|
|
|
@@ -440,7 +441,7 @@ if (!file_exists($conffile)) {
|
|
|
|
|
$choice .= '<br>';
|
|
|
|
|
//print $langs->trans("InstallChoiceRecommanded",DOL_VERSION,$conf->global->MAIN_VERSION_LAST_UPGRADE);
|
|
|
|
|
$choice .= '<div class="center"><div class="ok suggestedchoice">'.$langs->trans("InstallChoiceSuggested").'</div></div>';
|
|
|
|
|
// <img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle"> ';
|
|
|
|
|
// <img src="../theme/eldy/img/tick.png" alt="Ok" class="valignmiddle paddingright"> ';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$choice .= '</td>';
|
|
|
|
|
|