X-Git-Url: https://git.p6c8.net/jirafeau_mojo42.git/blobdiff_plain/ba6f06965a4d9846e23d99a0e9f74b1361c18c40..2ebe59f816a0521116ae2faf79e3cd084dae59c0:/install.php
diff --git a/install.php b/install.php
index dfe094c..451ebe3 100644
--- a/install.php
+++ b/install.php
@@ -16,46 +16,60 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
+define ('JIRAFEAU_ROOT', dirname (__FILE__) . '/');
+define ('NL', "\n");
+define ('QUOTE', "'");
-define('JIRAFEAU_ROOT', dirname(__FILE__) . '/');
-define('NL', "\n");
-define('QUOTE', "'");
+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/functions.php');
+require (JIRAFEAU_ROOT . 'lib/lang.php');
+require (JIRAFEAU_ROOT . 'lib/config.original.php');
-require(JIRAFEAU_ROOT . 'lib/config.php');
-
-function jirafeau_quoted($str) {
- return QUOTE . str_replace(QUOTE, "\'", $str) . QUOTE;
+function
+jirafeau_quoted ($str)
+{
+ return QUOTE . str_replace (QUOTE, "\'", $str) . QUOTE;
}
-function jirafeau_export_cfg($cfg) {
- $handle = fopen(JIRAFEAU_CFG, 'w');
- fwrite($handle, ' $item) {
- fwrite($handle, '$cfg[' . jirafeau_quoted($key) . '] = ');
- if(is_bool($item)) {
- fwrite($handle, ($item ? 'true' : 'false'));
- } else if(is_string($item)) {
- fwrite($handle, jirafeau_quoted($item));
- } else {
- fwrite($handle, 'null');
+function
+jirafeau_export_cfg ($cfg)
+{
+ $handle = fopen (JIRAFEAU_CFG, 'w');
+ fwrite ($handle, ' $item)
+ {
+ fwrite ($handle, '$cfg[' . jirafeau_quoted ($key) . '] = ');
+ if (is_bool ($item))
+ fwrite ($handle, ($item ? 'true' : 'false'));
+ else if (is_string ($item))
+ fwrite ($handle, jirafeau_quoted ($item));
+ else if (is_int ($item))
+ fwrite ($handle, $item);
+ else if (is_array ($item))
+ fwrite ($handle, str_replace(array("\n", "\r"), "",
+ var_export ($item, true)));
+ else
+ fwrite ($handle, 'null');
+ fwrite ($handle, ';'.NL);
}
- fwrite($handle, ';' . NL);
- }
- fwrite($handle, '?>'); // no newline at the end of the file to be able to send headers
- fclose($handle);
+ /* No newline at the end of the file to be able to send headers. */
+ fwrite ($handle, '?>');
+ fclose ($handle);
}
-function jirafeau_mkdir($path) {
- if(!file_exists($path)) {
- if(!@mkdir($path, 0755)) {
- return false;
- }
- }
- return true;
+function
+jirafeau_mkdir ($path)
+{
+ if (!file_exists ($path) && !@mkdir ($path, 0755))
+ return false;
+ return true;
}
/**
@@ -64,253 +78,296 @@ function jirafeau_mkdir($path) {
* @param $path is the file or directory to be tested.
* @return true if $path is writable.
*/
-function jirafeau_is_writable($path) {
- return is_writable($path) || @chmod($path, 0777); // "@" gets rid of error messages.
+function
+jirafeau_is_writable ($path)
+{
+ /* "@" gets rid of error messages. */
+ return is_writable ($path) || @chmod ($path, 0777);
}
-function jirafeau_check_var_dir($path) {
- $mkdir_str1 = _('The following directory could not be created:');
- $mkdir_str2 = _('You should create this directory by hand.');
- $write_str1 = _('The following directory is not writable:');
- $write_str2 = _('You should give the write right to the web server on this directory.');
- $solution_str = _('Here is a solution:');
-
- if(!jirafeau_mkdir($path)) {
- return array(
- 'has_error' => true,
- 'why' => $mkdir_str1 . ' ' . $path . ' ' . $solution_str . ' ' . $mkdir_str2
- );
- }
-
- if(!jirafeau_is_writable($path)) {
- return array(
- 'has_error' => true,
- 'why' => $write_str1 . ' ' . $path . ' ' . $solution_str . ' ' . $write_str2
- );
- }
-
- foreach(array('files', 'links', 'trash') as $subdir) {
- $subpath = $path . $subdir;
-
- if(!jirafeau_mkdir($subpath)) {
- return array(
- 'has_error' => true,
- 'why' => $mkdir_str1 . ' ' . $subpath . ' ' . $solution_str . ' ' . $mkdir_str2
- );
+function
+jirafeau_check_var_dir ($path)
+{
+ $mkdir_str1 = t('The following directory could not be created') . ':';
+ $mkdir_str2 = t('You should create this directory manually.');
+ $write_str1 = t('The following directory is not writable') . ':';
+ $write_str2 = t('You should give the write permission to the web server on ' .
+ 'this directory.');
+ $solution_str = t('Here is a solution') . ':';
+
+ if (!jirafeau_mkdir ($path) || !jirafeau_is_writable ($path))
+ return array ('has_error' => true,
+ 'why' => $mkdir_str1 . ' ' .
+ $path . ' ' . $solution_str .
+ ' ' . $mkdir_str2);
+
+ foreach (array ('files', 'links', 'async') as $subdir)
+ {
+ $subpath = $path.$subdir;
+
+ if (!jirafeau_mkdir ($subpath) || !jirafeau_is_writable ($subpath))
+ return array ('has_error' => true,
+ 'why' => $mkdir_str1 . ' ' .
+ $subpath . ' ' . $solution_str .
+ ' ' . $mkdir_str2);
}
- if(!jirafeau_is_writable($subpath)) {
- return array(
- 'has_error' => true,
- 'why' => $write_str1 . ' ' . $subpath . ' ' . $solution_str . ' ' . $write_str2
- );
- }
-
- }
-
- return array('has_error' => false, 'why' => '');
+ return array ('has_error' => false, 'why' => '');
}
-function jirafeau_add_ending_slash($path) {
- return $path . ((substr($path, -1) == '/') ? '' : '/');
+function
+jirafeau_add_ending_slash ($path)
+{
+ return $path . ((substr ($path, -1) == '/') ? '' : '/');
}
-if(!file_exists(JIRAFEAU_CFG)) {
- // we try to create an empty one
- if(!@touch(JIRAFEAU_CFG)) {
- require(JIRAFEAU_ROOT . 'lib/template/header.php');
- echo '
' . _('The local configuration file could not be created. Create a lib/config.local.php file and give the write right to the web server (preferred solution), or give the write right to the web server on the lib directory.') . '
' . _('The local configuration is not writable by the web server. Give the write right to the web server on the lib/config.local.php file.') . '
';
- require(JIRAFEAU_ROOT . 'lib/template/footer.php');
- exit;
+if (!file_exists (JIRAFEAU_CFG))
+{
+ /* We try to create an empty one. */
+ if (!@touch (JIRAFEAU_CFG))
+ {
+ require (JIRAFEAU_ROOT . 'lib/template/header.php');
+ echo '
' .
+ t('The local configuration file could not be created. Create a ' .
+ 'lib/config.local.php file and give the write ' .
+ 'permission to the web server (preferred solution), or give the ' .
+ 'write permission to the web server on the lib ' .
+ 'directory.') .
+ '
' .
+ t('The local configuration is not writable by the web server. ' .
+ 'Give the write permission to the web server on the ' .
+ 'lib/config.local.php file.') .
+ '
';
+ }
+break;
}
-
-require(JIRAFEAU_ROOT . 'lib/template/footer.php');
-
-
-/**
-
- step 3:
- var dir
- verify if they are present and if the are writable
- create them
-
- remove install.php
-
-*/
-
+require (JIRAFEAU_ROOT . 'lib/template/footer.php');
?>