Layout - added class label for branch link
[fa-stable.git] / includes / date_functions.inc
index 182e09c86be43b1a8563ed5293e94c432cf1b1d0..8fc1447a4c74cba52bed6e8ba8f81071569b43e4 100644 (file)
@@ -148,7 +148,7 @@ function Now()
 //
 function new_doc_date($date=null)
 {
-       if (isset($date))
+       if (isset($date) && $date != '')
                $_SESSION['_default_date'] = $date;
 
        if (!isset($_SESSION['_default_date']) || !sticky_doc_date())
@@ -318,52 +318,15 @@ and converts to a yyyy/mm/dd format */
                return "";
 
        $date_ = trim($date_);
-       $date_ = str_replace($sep, "", $date_);
+    $year = $month = $day = 0;
 
-       if (strlen($date_) == 6)
-       {
-               if ($how == 0)
-               {
-                       $day = substr($date_,2,2);
-                       $month = substr($date_,0,2);
-                       $year = substr($date_,4,2);
-               } 
-               elseif ($how == 1)
-               {
-                       $day = substr($date_,0,2);
-                       $month = substr($date_,2,2);
-                       $year = substr($date_,4,2);
-               } 
-               else
-               {
-                       $day = substr($date_,4,2);
-                       $month = substr($date_,2,2);
-                       $year = substr($date_,0,2);
-               }
-       }
-       elseif (strlen($date_) == 8)
-       {
-               if ($how == 0)
-               {
-                       $day = substr($date_,2,2);
-                       $month = substr($date_,0,2);
-                       $year = substr($date_,4,4);
-               } 
-               elseif ($how == 1)
-               {
-                       $day = substr($date_,0,2);
-                       $month = substr($date_,2,2);
-                       $year = substr($date_,4,4);
-               } 
-               else
-               {
-                       $day = substr($date_,6,2);
-                       $month = substr($date_,4,2);
-                       $year = substr($date_,0,4);
-               }
-       }
-       else
-               $year = $month = $day = 0;
+    // Split up the date by the separator based on "how" to split it
+    if ($how == 0) // MMDDYYYY
+        list($month, $day, $year) = explode($sep, $date_);
+    elseif ($how == 1) // DDMMYYYY
+        list($day, $month, $year) = explode($sep, $date_);
+    else // $how == 2, YYYYMMDD
+        list($year, $month, $day) = explode($sep, $date_);
 
 //to modify assumption in 2030
        if ($date_system == 0 || $date_system == 3)
@@ -385,6 +348,13 @@ and converts to a yyyy/mm/dd format */
                list($year, $month, $day) = jalali_to_gregorian($year, $month, $day); 
        else if ($date_system == 2)
                list($year, $month, $day) = islamic_to_gregorian($year, $month, $day); 
+
+       // Pad with 0s if needed
+       if (strlen($month) == 1)
+               $month = "0$month";
+       if (strlen($day) == 1)
+               $day = "0$day";
+
        return $year."-".$month."-".$day;
 }// end of function
 
@@ -395,8 +365,9 @@ function date1_greater_date2 ($date1, $date2)
 
        $date1 = date2sql($date1);
        $date2 = date2sql($date2);
-       list($year1, $month1, $day1) = explode("-", $date1);
-       list($year2, $month2, $day2) = explode("-", $date2);
+
+       @list($year1, $month1, $day1) = explode("-", $date1);
+       @list($year2, $month2, $day2) = explode("-", $date2);
 
        if ($year1 > $year2)
        {
@@ -460,9 +431,7 @@ function explode_date_to_dmy($date_)
        $date = date2sql($date_);
        if ($date == "") 
        {
-               $disp = user_date_display();
-               echo "<br>Dates must be entered in the format $disp. Sent was $date_<br>";
-               exit;
+               return array(0,0,0);
        }
        list($year, $month, $day) = explode("-", $date);
        return array($day, $month, $year);