check_install reads now further checks from the setup.inc.php file of the apps

This commit is contained in:
Ralf Becker 2006-06-20 23:00:55 +00:00
parent 28e9219017
commit 772d883290
3 changed files with 85 additions and 31 deletions

View File

@ -56,9 +56,9 @@
$checks = array( $checks = array(
'phpversion' => array( 'phpversion' => array(
'func' => 'php_version', 'func' => 'php_version',
'value' => 4.3, 'value' => $GLOBALS['egw_setup']->required_php_version,
'verbose_value' => '4.3+', 'verbose_value' => $GLOBALS['egw_setup']->required_php_version.'+',
'recommended' => '5.0', 'recommended' => $GLOBALS['egw_setup']->recommended_php_version,
), ),
'safe_mode' => array( 'safe_mode' => array(
'func' => 'php_ini_check', 'func' => 'php_ini_check',
@ -109,28 +109,28 @@
), ),
'mysql' => array( 'mysql' => array(
'func' => 'extension_check', 'func' => 'extension_check',
'warning' => "<div class='setup_info'>" . lang('The %1 extension is needed, if you plan to use a %2 database.','mysql','MySQL').'</div>' 'warning' => lang('The %1 extension is needed, if you plan to use a %2 database.','mysql','MySQL')
), ),
'pgsql' => array( 'pgsql' => array(
'func' => 'extension_check', 'func' => 'extension_check',
'warning' => '<div class="setup_info">' . lang('The %1 extension is needed, if you plan to use a %2 database.','pgsql','pgSQL').'</div>' 'warning' => lang('The %1 extension is needed, if you plan to use a %2 database.','pgsql','pgSQL')
), ),
'mssql' => array( 'mssql' => array(
'func' => 'extension_check', 'func' => 'extension_check',
'warning' => '<div class="setup_info">' . lang('The %1 extension is needed, if you plan to use a %2 database.','mssql','MsSQL') . '</div>', 'warning' => lang('The %1 extension is needed, if you plan to use a %2 database.','mssql','MsSQL'),
'win_only' => True 'win_only' => True
), ),
'odbc' => array( 'odbc' => array(
'func' => 'extension_check', 'func' => 'extension_check',
'warning' => '<div class="setup_info">' . lang('The %1 extension is needed, if you plan to use a %2 database.','odbc','MaxDB, MsSQL or Oracle') . '</div>', 'warning' => lang('The %1 extension is needed, if you plan to use a %2 database.','odbc','MaxDB, MsSQL or Oracle'),
), ),
'oci8' => array( 'oci8' => array(
'func' => 'extension_check', 'func' => 'extension_check',
'warning' => '<div class="setup_info">' . lang('The %1 extension is needed, if you plan to use a %2 database.','oci','Oracle') . '</div>', 'warning' => lang('The %1 extension is needed, if you plan to use a %2 database.','oci','Oracle'),
), ),
'mbstring' => array( 'mbstring' => array(
'func' => 'extension_check', 'func' => 'extension_check',
'warning' => '<div class="setup_info">' . lang('The mbstring extension is needed to fully support unicode (utf-8) or other multibyte-charsets.') . "</div>" 'warning' => lang('The mbstring extension is needed to fully support unicode (utf-8) or other multibyte-charsets.')
), ),
'mbstring.func_overload' => array( 'mbstring.func_overload' => array(
'func' => 'php_ini_check', 'func' => 'php_ini_check',
@ -138,21 +138,18 @@
'warning' => '<div class="setup_info">' . lang('The mbstring.func_overload = 7 is needed to fully support unicode (utf-8) or other multibyte-charsets.') . "</div>", 'warning' => '<div class="setup_info">' . lang('The mbstring.func_overload = 7 is needed to fully support unicode (utf-8) or other multibyte-charsets.') . "</div>",
'change' => extension_loaded('mbstring') || function_exists('dl') && @dl(PHP_SHLIB_PREFIX.'mbstring.'.PHP_SHLIB_SUFFIX) ? 'mbstring.func_overload = 7' : '', 'change' => extension_loaded('mbstring') || function_exists('dl') && @dl(PHP_SHLIB_PREFIX.'mbstring.'.PHP_SHLIB_SUFFIX) ? 'mbstring.func_overload = 7' : '',
), ),
'imap' => array(
'func' => 'extension_check',
'warning' => '<div class="setup_info">' . lang('The imap extension is needed by the two email apps (even if you use email with pop3 as protocoll).') . '</div>'
),
'session' => array( 'session' => array(
'func' => 'extension_check', 'func' => 'extension_check',
'warning' => '<div class="setup_info">' . lang('The session extension is needed to use php sessions (db-sessions work without).') . "</div>" 'warning' => lang('The session extension is needed to use php sessions (db-sessions work without).')
), ),
// leave SyncML checks here for now, as it is no app atm.
'' => array( '' => array(
'func' => 'pear_check', 'func' => 'pear_check',
'warning' => '<div class="setup_info">' . lang('PEAR is needed by SyncML or the iCal import+export of calendar.') . "</div>" 'from' => 'SyncML',
), ),
'Log' => array( 'Log' => array(
'func' => 'pear_check', 'func' => 'pear_check',
'warning' => '<div class="setup_info">' . lang('PEAR::Log is needed by SyncML.').' '.lang('You can install it by running:').' pear install Log' . "</div>" 'from' => 'SyncML',
), ),
'gd' => array( 'gd' => array(
'func' => 'gd_check', 'func' => 'gd_check',
@ -167,12 +164,52 @@
'is_world_readable' => False, 'is_world_readable' => False,
'only_if_exists' => @$GLOBALS['egw_info']['setup']['stage']['header'] != 10 'only_if_exists' => @$GLOBALS['egw_info']['setup']['stage']['header'] != 10
), ),
'fudforum' => array(
'func' => 'permission_check',
'is_writable' => True,
'only_if_exists' => True
),
); );
$setup_info = $GLOBALS['egw_setup']->detection->get_versions();
foreach($setup_info as $app => $app_data)
{
if (!isset($app_data['check_install'])) continue;
foreach ($app_data['check_install'] as $name => $data)
{
if (isset($checks[$name]))
{
if ($checks[$name] == $data) continue; // identical check --> ignore it
if ($data['func'] == 'pear_check' || $data['func'] == 'extension_check' && !isset($args['warning']))
{
if ($checks[$name]['from'] && !is_array($checks[$name]['from']))
{
$checks[$name]['from'] = array($checks[$name]['from']);
}
$checks[$name]['from'][] = $data['from'] ? $data['from'] : $app;
}
else
{
$checks[$app.'_'.$name] = $data;
}
}
else
{
$checks[$name] = $data;
}
//echo "added check $data[func]($name) for $app"; _debug_array($data);
}
}
$sorted_checks = array();
foreach(array('php_version','php_ini_check','extension_check','pear_check','gd_check','permission_check') as $func)
{
foreach($checks as $name => $data)
{
if ($data['func'] == $func)
{
$sorted_checks[$name] = $data;
unset($checks[$name]);
}
}
}
if ($checks) $sorted_checks += $checks;
$checks =& $sorted_checks;
// some constants for pre php4.3 // some constants for pre php4.3
if (!defined('PHP_SHLIB_SUFFIX')) if (!defined('PHP_SHLIB_SUFFIX'))
@ -211,7 +248,8 @@
} }
if ($pear_available && $package) if ($pear_available && $package)
{ {
$available = @include($package.'.php'); $file = str_replace('_','/',$package).'.php';
$available = @include($file);
if (!class_exists($package)) $available = false; if (!class_exists($package)) $available = false;
@ -222,7 +260,18 @@
if (!$available) if (!$available)
{ {
echo $args['warning']; echo '<div class="setup_info">' . lang('PEAR%1 is needed by: %2.',$package ? '::'.$package : '',
is_array($args['from']) ? implode(', ',$args['from']) : $args['from']);
if ($package)
{
echo ' '.lang('You can install it by running:').' pear install '.$package;
}
else
{
echo ' '.lang('PEAR (%1) is a PHP repository and is usually in a package called %2.',
'<a href="http://pear.php.net" target="_blank">pear.php.net</a>','php-pear');
}
echo "</div>";
} }
echo "\n"; echo "\n";
@ -244,7 +293,12 @@
if (!$available) if (!$available)
{ {
echo $args['warning']; if (!isset($args['warning']))
{
$args['warning'] = lang('The %1 extension is needed from: %2.',$name,
is_array($args['from'] ? implode(', ',$args['from']) : $args['from']));
}
echo "<div class='setup_info'>".$args['warning'].'</div>';
} }
echo "\n"; echo "\n";

View File

@ -389,8 +389,8 @@ path information setup de Pfadinformationen
path of egroupware install directory (default auto-detected) setup de Pfad des eGroupWare Installationsverzeichnis (Vorgabe wird automatisch erkannt) path of egroupware install directory (default auto-detected) setup de Pfad des eGroupWare Installationsverzeichnis (Vorgabe wird automatisch erkannt)
path to user and group files has to be outside of the webservers document-root!!! setup de Pfad zu Benutzer und Gruppen Dateien MUSS AUSSERHALB des Wurzelverzeichnisses (document root) des Webservers sein!!! path to user and group files has to be outside of the webservers document-root!!! setup de Pfad zu Benutzer und Gruppen Dateien MUSS AUSSERHALB des Wurzelverzeichnisses (document root) des Webservers sein!!!
path to various directories: have to exist and be writeable by the webserver setup de Pfade zu verschiedenen Verzeichnissen: Diese müssen vorhanden sein und vom Webserver beschreibbar path to various directories: have to exist and be writeable by the webserver setup de Pfade zu verschiedenen Verzeichnissen: Diese müssen vorhanden sein und vom Webserver beschreibbar
pear is needed by syncml or the ical import+export of calendar. setup de PEAR wird von SyncML oder dem iCal Import+Export des Kalenders benötigt. pear (%1) is a php repository and is usually in a package called %2. setup de PEAR (%1) ist eine PHP Sammlung und ist überlicherweise in einem Packet namens %2.
pear::log is needed by syncml. setup de PEAR::Log wird von SyncML benötigt. pear%1 is needed by: %2. setup de PEAR%1 wird benötigt von: %2.
persistent connections setup de Permanente Verbindungen persistent connections setup de Permanente Verbindungen
php plus restore setup de PHP plus Wiederherstellen php plus restore setup de PHP plus Wiederherstellen
php plus restore gives by far the best performance, as it stores the egw enviroment completly in the session. setup de PHP plus Wiederherstellen gibt bei weitem die beste Performanze. Es speichert die eGW Umgebung komplett in der Session. php plus restore gives by far the best performance, as it stores the egw enviroment completly in the session. setup de PHP plus Wiederherstellen gibt bei weitem die beste Performanze. Es speichert die eGW Umgebung komplett in der Session.
@ -502,12 +502,12 @@ tables upgraded setup de Tabellen wurden aktualisiert
target version setup de Ziel Version target version setup de Ziel Version
tcp port number of database server setup de TCP-Port des Datenbank-Servers tcp port number of database server setup de TCP-Port des Datenbank-Servers
text entry setup de Texteingabe text entry setup de Texteingabe
the %1 extension is needed from: %2. setup de Die %1 Erweiterung (php-extension) wird benötigt von: %2.
the %1 extension is needed, if you plan to use a %2 database. setup de Die %1 Erweiterung (php extension) wird benötigt, wenn Sie die %2 Datenbank einsetzen wollen. the %1 extension is needed, if you plan to use a %2 database. setup de Die %1 Erweiterung (php extension) wird benötigt, wenn Sie die %2 Datenbank einsetzen wollen.
the db_type in defaults (%1) is not supported on this server. using first supported type. setup de Der Datenbanktyp in den Vorgaben (%1) wird von diesem Server nicht unterstützt, verwende ersten unterstützten Typ. the db_type in defaults (%1) is not supported on this server. using first supported type. setup de Der Datenbanktyp in den Vorgaben (%1) wird von diesem Server nicht unterstützt, verwende ersten unterstützten Typ.
the file setup de der Datei the file setup de der Datei
the first step in installing egroupware is to ensure your environment has the necessary settings to correctly run the application. setup de Der erste Schritt bei Installation von eGroupWare ist sicherzustellen, dass Ihre Umgebung die notwendigen Einstellungen hat, um die Anwendung korrekt auszuführen. the first step in installing egroupware is to ensure your environment has the necessary settings to correctly run the application. setup de Der erste Schritt bei Installation von eGroupWare ist sicherzustellen, dass Ihre Umgebung die notwendigen Einstellungen hat, um die Anwendung korrekt auszuführen.
the following applications need to be upgraded: setup de Die folgenden Anwendungen müssen aktualisiert werden: the following applications need to be upgraded: setup de Die folgenden Anwendungen müssen aktualisiert werden:
the imap extension is needed by the two email apps (even if you use email with pop3 as protocoll). setup de Die imap Erweiterung (php extension) wird von den beiden Email Applikationen benötigt (auch wenn Sie das POP3-Protokoll verwenden).
the mbstring extension is needed to fully support unicode (utf-8) or other multibyte-charsets. setup de Die mbstring Erweiterung (php extension) ist notwendig um Unicode (utf-8) oder andere mehr-byte (multibyte) Zeichensätze vollständig zu unterstützen. the mbstring extension is needed to fully support unicode (utf-8) or other multibyte-charsets. setup de Die mbstring Erweiterung (php extension) ist notwendig um Unicode (utf-8) oder andere mehr-byte (multibyte) Zeichensätze vollständig zu unterstützen.
the mbstring.func_overload = 7 is needed to fully support unicode (utf-8) or other multibyte-charsets. setup de Die Einstellung mbstring.func_overload = 7 ist notwendig um Unicode (utf-8) oder andere mehr-byte (multibyte) Zeichensätze vollständig zu unterstützen. the mbstring.func_overload = 7 is needed to fully support unicode (utf-8) or other multibyte-charsets. setup de Die Einstellung mbstring.func_overload = 7 ist notwendig um Unicode (utf-8) oder andere mehr-byte (multibyte) Zeichensätze vollständig zu unterstützen.
the session extension is needed to use php sessions (db-sessions work without). setup de Die session Erweiterung (php extension) ist notwendig für PHP Sessions (Datenbank Sessions arbeiten ohne diese). the session extension is needed to use php sessions (db-sessions work without). setup de Die session Erweiterung (php extension) ist notwendig für PHP Sessions (Datenbank Sessions arbeiten ohne diese).

View File

@ -387,8 +387,8 @@ path information setup en Path information
path of egroupware install directory (default auto-detected) setup en path of eGroupWare install directory (default auto-detected) path of egroupware install directory (default auto-detected) setup en path of eGroupWare install directory (default auto-detected)
path to user and group files has to be outside of the webservers document-root!!! setup en Path to user and group files HAS TO BE OUTSIDE of the webservers document-root!!! path to user and group files has to be outside of the webservers document-root!!! setup en Path to user and group files HAS TO BE OUTSIDE of the webservers document-root!!!
path to various directories: have to exist and be writeable by the webserver setup en path to various directories: have to exist and be writeable by the webserver path to various directories: have to exist and be writeable by the webserver setup en path to various directories: have to exist and be writeable by the webserver
pear is needed by syncml or the ical import+export of calendar. setup en PEAR is needed by SyncML or the iCal import+export of calendar. pear (%1) is a php repository and is usually in a package called %2. setup en PEAR (%1) is a PHP repository and is usually in a package called %2.
pear::log is needed by syncml. setup en PEAR::Log is needed by SyncML. pear%1 is needed by: %2. setup en PEAR%1 is needed by: %2.
persistent connections setup en Persistent connections persistent connections setup en Persistent connections
php plus restore setup en PHP plus restore php plus restore setup en PHP plus restore
php plus restore gives by far the best performance, as it stores the egw enviroment completly in the session. setup en PHP plus restore gives by far the best performance, as it stores the eGW enviroment completly in the session. php plus restore gives by far the best performance, as it stores the egw enviroment completly in the session. setup en PHP plus restore gives by far the best performance, as it stores the eGW enviroment completly in the session.
@ -500,12 +500,12 @@ tables upgraded setup en tables upgraded
target version setup en Target Version target version setup en Target Version
tcp port number of database server setup en TCP port number of database server tcp port number of database server setup en TCP port number of database server
text entry setup en Text Entry text entry setup en Text Entry
the %1 extension is needed from: %2. setup en The %1 extension is needed from: %2.
the %1 extension is needed, if you plan to use a %2 database. setup en The %1 extension is needed, if you plan to use a %2 database. the %1 extension is needed, if you plan to use a %2 database. setup en The %1 extension is needed, if you plan to use a %2 database.
the db_type in defaults (%1) is not supported on this server. using first supported type. setup en The db_type in defaults (%1) is not supported on this server. using first supported type. the db_type in defaults (%1) is not supported on this server. using first supported type. setup en The db_type in defaults (%1) is not supported on this server. using first supported type.
the file setup en the file the file setup en the file
the first step in installing egroupware is to ensure your environment has the necessary settings to correctly run the application. setup en The first step in installing eGroupWare is to ensure your environment has the necessary settings to correctly run the application. the first step in installing egroupware is to ensure your environment has the necessary settings to correctly run the application. setup en The first step in installing eGroupWare is to ensure your environment has the necessary settings to correctly run the application.
the following applications need to be upgraded: setup en The following applications need to be upgraded: the following applications need to be upgraded: setup en The following applications need to be upgraded:
the imap extension is needed by the two email apps (even if you use email with pop3 as protocoll). setup en The imap extension is needed by the two email apps (even if you use email with pop3 as protocoll).
the mbstring extension is needed to fully support unicode (utf-8) or other multibyte-charsets. setup en The mbstring extension is needed to fully support unicode (utf-8) or other multibyte-charsets. the mbstring extension is needed to fully support unicode (utf-8) or other multibyte-charsets. setup en The mbstring extension is needed to fully support unicode (utf-8) or other multibyte-charsets.
the mbstring.func_overload = 7 is needed to fully support unicode (utf-8) or other multibyte-charsets. setup en The mbstring.func_overload = 7 is needed to fully support unicode (utf-8) or other multibyte-charsets. the mbstring.func_overload = 7 is needed to fully support unicode (utf-8) or other multibyte-charsets. setup en The mbstring.func_overload = 7 is needed to fully support unicode (utf-8) or other multibyte-charsets.
the session extension is needed to use php sessions (db-sessions work without). setup en The session extension is needed to use php sessions (db-sessions work without). the session extension is needed to use php sessions (db-sessions work without). setup en The session extension is needed to use php sessions (db-sessions work without).