Add some comments to enhance the readabillity in the
installation script.
Reduce footer includes and send all fatal errors
to one function instead.
Remove includes of installation depenend variables
in the footer, if the installation script is not
done yet.
Move settings include to the top (this may help
for future configuration tests).
define ('JIRAFEAU_CFG', JIRAFEAU_ROOT.'lib/config.local.php');
define ('JIRAFEAU_VAR_RAND_LENGTH', 15);
define ('JIRAFEAU_CFG', JIRAFEAU_ROOT.'lib/config.local.php');
define ('JIRAFEAU_VAR_RAND_LENGTH', 15);
+require (JIRAFEAU_ROOT . 'lib/config.original.php');
+require (JIRAFEAU_ROOT . 'lib/settings.php');
require (JIRAFEAU_ROOT . 'lib/functions.php');
require (JIRAFEAU_ROOT . 'lib/lang.php');
require (JIRAFEAU_ROOT . 'lib/functions.php');
require (JIRAFEAU_ROOT . 'lib/lang.php');
-require (JIRAFEAU_ROOT . 'lib/config.original.php');
+
+/**
+ * Prepend used functions
+ **/
function
jirafeau_quoted ($str)
function
jirafeau_quoted ($str)
return $path . ((substr ($path, -1) == '/') ? '' : '/');
}
return $path . ((substr ($path, -1) == '/') ? '' : '/');
}
-if ($cfg['installation_done'] === true)
+function
+jirafeau_fatal_error($errorText)
- header('Location: index.php');
+ echo '<div class="error"><h2>Error</h2><p>' . $errorText . '</p></div>';
+ require (JIRAFEAU_ROOT . 'lib/template/footer.php');
+/**
+ * Check installation
+ **/
+
+// Is the installation process done already?
+// Then there is nothing to do here → redirect to the main page.
+if ($cfg['installation_done'] === true)
+{
+ header('Location: index.php');
+ exit;
+}
+
+/**
+ * Prepare installation process
+ **/
+
+require (JIRAFEAU_ROOT . 'lib/template/header.php');
+
+// does the local configuration file exist?
if (!file_exists (JIRAFEAU_CFG))
{
if (!file_exists (JIRAFEAU_CFG))
{
- /* We try to create an empty one. */
+ // show an error if it is not possible to create the file
if (!@touch (JIRAFEAU_CFG))
{
if (!@touch (JIRAFEAU_CFG))
{
- require (JIRAFEAU_ROOT . 'lib/template/header.php');
- echo '<div class="error"><p>' .
- t('The local configuration file could not be created. Create a ' .
+ jirafeau_fatal_error(
+ t('The local configuration file could not be created. Create a ' .
'<code>lib/config.local.php</code> file and give the write ' .
'permission to the web server (preferred solution), or give the ' .
'write permission to the web server on the <code>lib</code> ' .
'<code>lib/config.local.php</code> file and give the write ' .
'permission to the web server (preferred solution), or give the ' .
'write permission to the web server on the <code>lib</code> ' .
- 'directory.') .
- '</p></div>';
- require (JIRAFEAU_ROOT . 'lib/template/footer.php');
- exit;
+// is the local configuration writable?
if (!is_writable (JIRAFEAU_CFG) && !@chmod (JIRAFEAU_CFG, '0666'))
{
if (!is_writable (JIRAFEAU_CFG) && !@chmod (JIRAFEAU_CFG, '0666'))
{
- require (JIRAFEAU_ROOT . 'lib/template/header.php');
- echo '<div class="error"><p>' .
- t('The local configuration is not writable by the web server. ' .
- 'Give the write permission to the web server on the ' .
- '<code>lib/config.local.php</code> file.') .
- '</p></div>';
- require (JIRAFEAU_ROOT . 'lib/template/footer.php');
- exit;
+ jirafeau_fatal_error(
+ t('The local configuration is not writable by the web server. ' .
+ 'Give the write permission to the web server on the ' .
+ '<code>lib/config.local.php</code> file.')
+ );
+/**
+ * Run trough each installation step
+ **/
+
if (isset ($_POST['step']) && isset ($_POST['next']))
{
switch ($_POST['step'])
if (isset ($_POST['step']) && isset ($_POST['next']))
{
switch ($_POST['step'])
-require (JIRAFEAU_ROOT . 'lib/settings.php');
-require (JIRAFEAU_ROOT . 'lib/template/header.php');
-
$current = 1;
if (isset ($_POST['next']))
$current = $_POST['step'] + 1;
$current = 1;
if (isset ($_POST['next']))
$current = $_POST['step'] + 1;
}
require (JIRAFEAU_ROOT . 'lib/template/footer.php');
}
require (JIRAFEAU_ROOT . 'lib/template/footer.php');
<div id="copyright">
<p>
<br />
<div id="copyright">
<p>
<br />
<a href="https://www.gnu.org/licenses/agpl.html"><abbr title="Affero General Public License">AGPL</abbr>v3</a> |
<a href="https://www.gnu.org/licenses/agpl.html"><abbr title="Affero General Public License">AGPL</abbr>v3</a> |
- <a href="https://gitlab.com/mojo42/Jirafeau"><?php echo t('Jirafeau Project') ?></a> |
- <a href="<?php echo rtrim($cfg['web_root'], '/') . '/tos.php'; ?>"><?php echo t('Term Of Service') ?></a>
+ <a href="https://gitlab.com/mojo42/Jirafeau"><?php echo t('Jirafeau Project') ?></a>
+ <!-- Installation dependend links -->
+ <?php
+ if (false === empty($cfg['web_root']))
+ {
+ echo ' | ';
+ echo '<a href="' . $cfg['web_root'] . '/tos.php">' . t('Term Of Service') . '</a>';
+ }
+ ?>