浏览代码

Add files via upload

Daniele Bonini (皮夕) | 5mode.com | WebDev | Translator 3 年之前
父节点
当前提交
3a896736f7
共有 1 个文件被更改,包括 28 次插入25 次删除
  1. 28 25
      functions/func.casp-datetime-polyfills.inc

+ 28 - 25
functions/func.casp-datetime-polyfills.inc

@@ -337,14 +337,9 @@ if (!function_exists("now")) {
 if (!function_exists("date_add1")) {
   function date_add1(string $intervalType, int $interval, $date = null)
   {
-     $retval = false;
-     
+
      if (!isset($intervalType) || !isset($interval)) {
-       return $retval;
-     }
-     
-     if ($interval === 0) {
-       return $retval;
+       return false;
      }
      
      // Parsing $date
@@ -356,37 +351,45 @@ if (!function_exists("date_add1")) {
        $d = new DateTime();
      } else {
        // any other case than..
-       return $retval;      
+       return false;      
      }   
+
+     if ($interval === 0) {
+       if (isset($d)) {
+         return $d;
+       } else {
+         return false;
+       }  
+     }
      
      if ($interval > 0) {
      
        switch($intervalType)
        {
          case "Y":
-           date_add($date, date_interval_create_from_date_string($interval . ' years'));
+           date_add($d, date_interval_create_from_date_string($interval . ' years'));
            break;
          case "m":
-           date_add($date, date_interval_create_from_date_string($interval . ' months'));
+           date_add($d, date_interval_create_from_date_string($interval . ' months'));
            break;
          case "W":
            $days = $interval * 7;
-           date_add($date, date_interval_create_from_date_string($interval . ' days'));
+           date_add($d, date_interval_create_from_date_string($interval . ' days'));
            break;
          case "d":
-           date_add($date, date_interval_create_from_date_string($interval . ' days'));
+           date_add($d, date_interval_create_from_date_string($interval . ' days'));
            break;
          case "H":
-           date_add($date, date_interval_create_from_date_string($interval . ' hours'));
+           date_add($d, date_interval_create_from_date_string($interval . ' hours'));
            break;
          case "i":
-           date_add($date, date_interval_create_from_date_string($interval . ' minutes'));
+           date_add($d, date_interval_create_from_date_string($interval . ' minutes'));
            break;
          case "s":
-           date_add($date, date_interval_create_from_date_string($interval . ' seconds'));
+           date_add($d, date_interval_create_from_date_string($interval . ' seconds'));
            break;
          default:
-           return $retval;  
+           return false;  
        }
 
      } else { 
@@ -394,33 +397,33 @@ if (!function_exists("date_add1")) {
        switch($intervalType)
        {
          case "Y":
-           date_sub($date, date_interval_create_from_date_string(abs($interval) . ' years'));
+           date_sub($d, date_interval_create_from_date_string(abs($interval) . ' years'));
            break;
          case "m":
-           date_sub($date, date_interval_create_from_date_string(abs($interval) . ' months'));
+           date_sub($d, date_interval_create_from_date_string(abs($interval) . ' months'));
            break;
          case "W":
            $days = $interval * 7;
-           date_sub($date, date_interval_create_from_date_string(abs($interval) . ' days'));
+           date_sub($d, date_interval_create_from_date_string(abs($interval) . ' days'));
            break;
          case "d":
-           date_sub($date, date_interval_create_from_date_string(abs($interval) . ' days'));
+           date_sub($d, date_interval_create_from_date_string(abs($interval) . ' days'));
            break;
          case "H":
-           date_sub($date, date_interval_create_from_date_string(abs($interval) . ' hours'));
+           date_sub($d, date_interval_create_from_date_string(abs($interval) . ' hours'));
            break;
          case "i":
-           date_sub($date, date_interval_create_from_date_string(abs($interval) . ' minutes'));
+           date_sub($d, date_interval_create_from_date_string(abs($interval) . ' minutes'));
            break;
          case "s":
-           date_sub($date, date_interval_create_from_date_string(abs($interval) . ' seconds'));
+           date_sub($d, date_interval_create_from_date_string(abs($interval) . ' seconds'));
            break;
          default:
-           return $retval;  
+           return false;  
        }
 
      }
      
-     return $date;
+     return $d;
   }
 }