]> git.p6c8.net - jirafeau.git/blobdiff - lib/functions.php
[FEATURE] allow admin to not log users IP in Jirafeau
[jirafeau.git] / lib / functions.php
index 3c432b6f2e6ca7771d4c0665c41f0b495b299c83..546decc0806fb2fdf96098be4db0cd05df8c2628 100644 (file)
@@ -680,7 +680,9 @@ function jirafeau_admin_list($name, $file_hash, $link_hash)
                 echo t('EXPIRE') . ': ' . ($l['time'] == -1 ? '∞' : jirafeau_get_datetimefield($l['time'])) . '<br/>';
                 echo t('ONETIME') . ': ' . ($l['onetime'] == 'O' ? 'Yes' : 'No') . '<br/>';
                 echo t('UPLOAD_DATE') . ': ' . jirafeau_get_datetimefield($l['upload_date']) . '<br/>';
-                echo t('ORIGIN') . ': ' . $l['ip'] . '<br/>';
+                if (strlen($l['ip']) > 0) {
+                    echo t('ORIGIN') . ': ' . $l['ip'] . '<br/>';
+                }
                 echo '</td><td>';
                 echo '<form method="post">' .
                 '<input type = "hidden" name = "action" value = "download"/>' .
@@ -1359,3 +1361,70 @@ function jirafeau_dir_size($dir)
     }
     return $size;
 }
+
+function jirafeau_export_cfg($cfg)
+{
+    $content = '<?php' . NL;
+    $content .= '/* This file was generated by the install process. ' .
+               'You can edit it. Please see config.original.php to understand the ' .
+               'configuration items. */' . NL;
+    $content .= '$cfg = ' . var_export($cfg, true) . ';';
+
+    $fileWrite = file_put_contents(JIRAFEAU_CFG, $content);
+
+    if (false === $fileWrite) {
+        jirafeau_fatal_error(t('Can not write local configuration file'));
+    }
+}
+
+function jirafeau_mkdir($path)
+{
+    return !(!file_exists($path) && !@mkdir($path, 0755));
+}
+
+/**
+ * Returns true whether the path is writable or we manage to make it
+ * so, which essentially is the same thing.
+ * @param $path is the file or directory to be tested.
+ * @return true if $path is writable.
+ */
+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 = t('CANNOT_CREATE_DIR') . ':';
+    $mkdir_str2 = t('MANUAL_CREATE');
+    $write_str1 = t('DIR_NOT_W') . ':';
+    $write_str2 = t('You should give the write permission to the web server on ' .
+                    'this directory.');
+    $solution_str = t('HERE_SOLUTION') . ':';
+
+    if (!jirafeau_mkdir($path) || !jirafeau_is_writable($path)) {
+        return array('has_error' => true,
+                      'why' => $mkdir_str1 . '<br /><code>' .
+                               $path . '</code><br />' . $solution_str .
+                               '<br />' . $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 . '<br /><code>' .
+                                   $subpath . '</code><br />' . $solution_str .
+                                   '<br />' . $mkdir_str2);
+        }
+    }
+
+    return array('has_error' => false, 'why' => '');
+}
+
+function jirafeau_add_ending_slash($path)
+{
+    return $path . ((substr($path, -1) == '/') ? '' : '/');
+}

patrick-canterino.de