]> dev.renevier.net Git - syp.git/blobdiff - inc/utils.php
images stored on ftp server
[syp.git] / inc / utils.php
index b093b0bae870837ed9d7f64262e27870218d8842..84cbeb535ea5018048098a74262367a565d8dfe4 100644 (file)
@@ -2,7 +2,9 @@
 /* Copyright (c) 2009 Arnaud Renevier, Inc, published under the modified BSD
    license. */
 
-require_once ("inc/settings.php");
+// using include because that file may be sourced even if config file has not
+// been created.
+@include_once ("inc/settings.php");
 
 function getthumbsdir () {
     if (THUMBSDIR) {
@@ -181,38 +183,33 @@ function create_thumbnail ($filename, $destfile) {
     return true;
 }
 
-function safe_create_dir ($dirname) {
-    if (is_dir ($dirname)) {
-        return;
+function delete_from_ftp ($file) {
+    $ftp_conn = ftp_connect (FTPSERVER);
+    $login = ftp_login ($ftp_conn, FTPUSER, FTPPASS);
+    if ((!$ftp_conn) || (!$login)) {
+        server_error ();
     }
-    if (file_exists ($dirname)) {
-        par_error ($dirname . ": " . trans ('exist but is not a directory'));
-    }
-    if (!mkdir ($dirname)) {
-        par_error ($dirname . ": " . trans ('could not create directory'));
-    } else {
-        par_success ($dirname . ": " . trans ('directory created'));
+    $target = sprintf ("%s/%s", FTPROOTDIR, $file);
+    $deleted = ftp_delete ($ftp_conn, $target);
+
+    if (!$deleted) {
+        server_error ();
     }
+    ftp_close ($ftp_conn);
 }
 
-function safe_create_writable_dir ($dirname) {
-    safe_create_dir ($dirname);
-    if (!is_writeable ($dirname) || !is_executable ($dirname)) {
-        par_error ($dirname . ": " . trans ('could not write in directory'));
+function send_to_ftp ($file) {
+    $ftp_conn = ftp_connect (FTPSERVER);
+    $login = ftp_login ($ftp_conn, FTPUSER, FTPPASS);
+    if ((!$ftp_conn) || (!$login)) {
+        server_error ();
     }
-}
+    $dest = sprintf ("%s/%s", FTPROOTDIR, $file);
+    $upload = ftp_put ($ftp_conn, $dest, $file, FTP_BINARY);
 
-function leave () {
-    exit ("\n</body></html>");
-}
-function par_success ($message) {
-    printf ("<p class=\"success center\">%s</p>", $message);
-}
-function par_error ($message) {
-    printf ("<p class=\"error center\">%s</p>", $message);
-    leave ();
-}
-function par_warn ($message) {
-    printf ("<p class=\"warn center\">%s</p>", $message);
+    if (!$upload) {
+        server_error ();
+    }
+    ftp_close ($ftp_conn);
 }
 ?>