]> git.p6c8.net - jirafeau.git/blobdiff - lib/functions.js.php
[BUGFIX] Catch errors in upload form
[jirafeau.git] / lib / functions.js.php
index 24be13fe429bfd06e74cf29d2bcbb4a508b41642..989b7884afad87f33641fc63baf20ec48886ccc4 100644 (file)
  *  along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 
-define ('JIRAFEAU_ROOT', dirname (__FILE__) . '/../');
-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');
+header('Content-Type: text/javascript');
+
+define('JIRAFEAU_ROOT', dirname(__FILE__) . '/../');
+
+require(JIRAFEAU_ROOT . 'lib/settings.php');
+require(JIRAFEAU_ROOT . 'lib/functions.php');
+require(JIRAFEAU_ROOT . 'lib/lang.php');
 ?>
 
 function translate (expr)
 {
-    var lang_array = <?php echo json_lang_generator () ?>;
+    var lang_array = <?php echo json_lang_generator() ?>;
     if (lang_array.hasOwnProperty(expr))
         return lang_array[expr];
     return expr;
@@ -204,7 +206,7 @@ function add_time_string_to_date(d, time)
     {
         return false;
     }
-    
+
     if (time == 'minute')
     {
         d.setSeconds (d.getSeconds() + 60);
@@ -230,6 +232,11 @@ function add_time_string_to_date(d, time)
         d.setSeconds (d.getSeconds() + 2419200);
         return true;
     }
+    if (time == 'quarter')
+    {
+        d.setSeconds (d.getSeconds() + 7257600);
+        return true;
+    }
     if (time == 'year')
     {
         d.setSeconds (d.getSeconds() + 29030400);
@@ -252,11 +259,14 @@ function classic_upload (url, file, time, password, one_time, upload_password)
         if (req.readyState == 4 && req.status == 200)
         {
             var res = req.responseText;
-            if (res == "Error")
+
+            // if response starts with "Error" then show a failure
+            if (/^Error/.test(res))
             {
-                pop_failure ();
+                pop_failure (res);
                 return;
             }
+
             res = res.split ("\n");
             if (time != 'none')
             {
@@ -314,11 +324,13 @@ function async_upload_start (url, max_size, file, time, password, one_time, uplo
         if (req.readyState == 4 && req.status == 200)
         {
             var res = req.responseText;
-            if (res == "Error")
+
+            if (/^Error/.test(res))
             {
-                pop_failure ();
+                pop_failure (res);
                 return;
             }
+
             res = res.split ("\n");
             async_global_ref = res[0];
             var code = res[1];
@@ -383,11 +395,13 @@ function async_upload_push (code)
         if (req.readyState == 4 && req.status == 200)
         {
             var res = req.responseText;
-            if (res == "Error")
+
+            if (/^Error/.test(res))
             {
-                pop_failure ();
+                pop_failure (res);
                 return;
             }
+
             res = res.split ("\n");
             var code = res[0]
             async_global_transfered = async_global_transfering;
@@ -421,11 +435,13 @@ function async_upload_end (code)
         if (req.readyState == 4 && req.status == 200)
         {
             var res = req.responseText;
-            if (res == "Error")
+
+            if (/^Error/.test(res))
             {
-                pop_failure ();
+                pop_failure (res);
                 return;
             }
+
             res = res.split ("\n");
             if (async_global_time != 'none')
             {

patrick-canterino.de