Added new access levels
[fa-stable.git] / includes / date_functions.inc
index 484d5a8e1fc4072f59aab117c23b6f1cb50f1ac0..089eeb7e3fbc3c730ff0906ee53b677f1caa4920 100644 (file)
@@ -1,5 +1,14 @@
 <?php
-
+/**********************************************************************
+    Copyright (C) FrontAccounting, LLC.
+       Released under the terms of the GNU General Public License, GPL, 
+       as published by the Free Software Foundation, either version 3 
+       of the License, or (at your option) any later version.
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
+    See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
+***********************************************************************/
 /*
 date validation and parsing functions
 
@@ -83,7 +92,7 @@ function is_date($date_)
                        $year = substr($date_,0,4);
                }
        }
-       if ((int)$year > 9999) 
+       if (!isset($year)|| (int)$year > 9999) 
        {
                return 0;
        }
@@ -132,6 +141,19 @@ function Now()
        else
                return date("H:i");
 }
+//
+//     Retrieve and optionaly set default date for new document.
+//
+function new_doc_date($date=null)
+{
+       if (isset($date))
+               $_SESSION['_default_date'] = $date;
+
+       if (!isset($_SESSION['_default_date']) || !sticky_doc_date())
+               $_SESSION['_default_date'] = Today();
+
+       return $_SESSION['_default_date'];
+}
 
 function is_date_in_fiscalyear($date, $convert=false)
 {
@@ -338,6 +360,8 @@ and converts to a yyyy/mm/dd format */
                        $year = substr($date_,0,4);
                }
        }
+       else
+               $year = $month = $day = 0;
 
 //to modify assumption in 2030
        if ($date_system == 0)
@@ -359,7 +383,7 @@ 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); 
-       return $year."/".$month."/".$day;
+       return $year."-".$month."-".$day;
 }// end of function
 
 function date1_greater_date2 ($date1, $date2) 
@@ -369,8 +393,8 @@ 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)
        {
@@ -403,8 +427,8 @@ provided that both dates are after 1970. Also only works for dates up to the yea
 
        $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);
 
        $stamp1 = mktime(0,0,0, (int)$month1, (int)$day1, (int)$year1);
        $stamp2 = mktime(0,0,0, (int)$month2, (int)$day2, (int)$year2);
@@ -438,7 +462,7 @@ function explode_date_to_dmy($date_)
                echo "<br>Dates must be entered in the format $disp. Sent was $date_<br>";
                exit;
        }
-       list($year, $month, $day) = explode("/", $date);
+       list($year, $month, $day) = explode("-", $date);
        return array($day, $month, $year);
 }