Merged latest changes from stable branch.
[fa-stable.git] / includes / date_functions.inc
index 59d8f4afafe7f5ee792a62de62db6a347f4976de..17a86ff7cf926101adaa8a6d0d69c21120f1fa14 100644 (file)
@@ -59,7 +59,33 @@ function is_date($date_)
 
        $date_ = trim($date_);
        $date = str_replace($sep, "", $date_);
-       if (strlen($date_) == 6)
+       
+       if ($how > 2)
+       {
+               global $tmonths;
+               $dd = explode($sep, $date_);
+               if ($how == 3)
+               {
+                       $day = $dd[1];
+                       $month = array_search($dd[0], $tmonths);
+                       $year = $dd[2];
+               } 
+               elseif ($how == 4)
+               {
+                       $day = $dd[0];
+                       $month = array_search($dd[1], $tmonths);
+                       $year = $dd[2];
+               } 
+               else
+               {
+                       $day = $dd[2];
+                       $month = array_search($dd[1], $tmonths);
+                       $year = $dd[0];
+               }
+               if ($year < 1000)
+                       return 0;
+       }
+       elseif (strlen($date) == 6)
        {
                if ($how == 0)
                {
@@ -80,7 +106,7 @@ function is_date($date_)
                        $year = substr($date,0,2);
                }
        }
-       elseif (strlen($date_) == 8)
+       elseif (strlen($date) == 8)
        {
                if ($how == 0)
                {
@@ -101,31 +127,6 @@ function is_date($date_)
                        $year = substr($date,0,4);
                }
        }
-       elseif ($how > 2)
-       {
-               global $tmonths;
-               $dd = explode($sep, $date_);
-               if ($how == 3)
-               {
-                       $day = $dd[1];
-                       $month = array_search($dd[0], $tmonths);
-                       $year = $dd[2];
-               } 
-               elseif ($how == 4)
-               {
-                       $day = $dd[0];
-                       $month = array_search($dd[1], $tmonths);
-                       $year = $dd[2];
-               } 
-               else
-               {
-                       $day = $dd[2];
-                       $month = array_search($dd[1], $tmonths);
-                       $year = $dd[0];
-               }
-               if ($year < 1000)
-                       return 0;
-       }
        if (!isset($year)|| (int)$year > 9999) 
        {
                return 0;
@@ -193,26 +194,29 @@ function is_date_in_fiscalyear($date, $convert=false)
        global $path_to_root;
        include_once($path_to_root . "/admin/db/fiscalyears_db.inc");
 
-    //Chaitanya
-    if ($convert)
-        $date2 = sql2date($date);
-    else
-        $date2 = $date;
-
-    if ($_SESSION["wa_current_user"]->can_access('SA_MULTIFISCALYEARS')) // allow all open years for this one
-        return is_date_in_fiscalyears($date2, false); 
-
-    $myrow = get_current_fiscalyear();
-    if ($myrow['closed'] == 1)
-        return 0;
-    
-    $begin = sql2date($myrow['begin']);
-    $end = sql2date($myrow['end']);
-    if (date1_greater_date2($begin, $date2) || date1_greater_date2($date2, $end))
-    {
-        return 0;
-    }
-    return 1;
+       if ($convert)
+               $date2 = sql2date($date);
+       else
+               $date2 = $date;
+
+       if (user_check_access('SA_MULTIFISCALYEARS')) // allow all open years for this one
+               return is_date_in_fiscalyears($date2, false);
+
+       if (is_date_closed($date2))
+               return 0;
+       $myrow = get_current_fiscalyear();
+       $begin = sql2date($myrow['begin']);
+       $end = sql2date($myrow['end']);
+       if (date1_greater_date2($begin, $date2) || date1_greater_date2($date2, $end))
+       {
+               return 0;
+       }
+       return 1;
+}
+
+function is_date_closed($date)
+{
+       return !date1_greater_date2($date, sql2date(get_company_pref('gl_closing_date')));
 }
 
 function begin_fiscalyear()