]> git.p6c8.net - jirafeau.git/blobdiff - lib/functions.php
Closes #6 can use several upload passwords in options
[jirafeau.git] / lib / functions.php
old mode 100755 (executable)
new mode 100644 (file)
index bc119a3..1e5b083
@@ -90,6 +90,18 @@ jirafeau_gen_random ($l)
     return $code;
 }
 
     return $code;
 }
 
+function is_ssl() {
+    if ( isset($_SERVER['HTTPS']) ) {
+        if ( 'on' == strtolower($_SERVER['HTTPS']) )
+            return true;
+        if ( '1' == $_SERVER['HTTPS'] )
+            return true;
+    } elseif ( isset($_SERVER['SERVER_PORT']) && ( '443' == $_SERVER['SERVER_PORT'] ) ) {
+        return true;
+    }
+    return false;
+}
+
 function
 jirafeau_human_size ($octets)
 {
 function
 jirafeau_human_size ($octets)
 {
@@ -491,10 +503,10 @@ show_errors ()
     }
 }
 
     }
 }
 
-function check_errors ()
+function check_errors ($cfg)
 {
     if (file_exists (JIRAFEAU_ROOT . 'install.php')
 {
     if (file_exists (JIRAFEAU_ROOT . 'install.php')
-        && !file_exists (JIRAFEAU_ROOT . 'lib/config.local.php'))
+        && !($cfg['installation_done'] === true))
     {
         header('Location: install.php'); 
         exit;
     {
         header('Location: install.php'); 
         exit;
@@ -543,6 +555,8 @@ jirafeau_get_link ($hash)
     $out['link_code'] = trim ($c[9]);
     if (trim ($c[10]) == 'C')
            $out['crypted'] = true;
     $out['link_code'] = trim ($c[9]);
     if (trim ($c[10]) == 'C')
            $out['crypted'] = true;
+    else
+           $out['crypted'] = false;
     
     return $out;
 }
     
     return $out;
 }
@@ -1371,4 +1385,28 @@ jirafeau_decrypt_file ($fp_src, $fp_dst, $k)
     return true;
 }
 
     return true;
 }
 
-?>
+/**
+ * Check if Jirafeau is password protected for visitors.
+ * @return true if Jirafeau is password protected, false otherwise.
+ */
+function jirafeau_has_upload_password ($cfg)
+{
+    return count ($cfg['upload_password']) > 0;
+}
+
+/**
+ * Challenge password for a visitor.
+ * @param $password password to be challenged
+ * @return true if password is valid, false otherwise.
+ */
+function jirafeau_challenge_upload_password ($cfg, $password)
+{
+    if (!jirafeau_has_upload_password($cfg))
+        return false;
+    forEach ($cfg['upload_password'] as $p)
+        if ($password == $p)
+            return true;
+    error_log("password not found $password");
+    return false;
+}
+

patrick-canterino.de