Fixes to import/export for timesheets and approval status.
[timetracker.git] / WEB-INF / lib / ttTimeHelper.class.php
index 5eeed1f..a66652b 100644 (file)
@@ -549,33 +549,47 @@ class ttTimeHelper {
   }
 
   // getTimeForWeek - gets total time for a user for a given week.
-  static function getTimeForWeek($user_id, $date) {
+  static function getTimeForWeek($date) {
+    global $user;
     import('Period');
     $mdb2 = getConnection();
 
+    $user_id = $user->getUser();
+    $group_id = $user->getGroup();
+    $org_id = $user->org_id;
+
     $period = new Period(INTERVAL_THIS_WEEK, $date);
-    $sql = "select sum(time_to_sec(duration)) as sm from tt_log where user_id = $user_id and date >= '".$period->getStartDate(DB_DATEFORMAT)."' and date <= '".$period->getEndDate(DB_DATEFORMAT)."' and status = 1";
+    $sql = "select sum(time_to_sec(duration)) as sm from tt_log".
+      " where user_id = $user_id and group_id = $group_id and org_id = $org_id".
+      " and date >= '".$period->getStartDate(DB_DATEFORMAT)."' and date <= '".$period->getEndDate(DB_DATEFORMAT)."' and status = 1";
     $res = $mdb2->query($sql);
     if (!is_a($res, 'PEAR_Error')) {
       $val = $res->fetchRow();
       return sec_to_time_fmt_hm($val['sm']);
     }
-    return 0;
+    return false;
   }
 
   // getTimeForMonth - gets total time for a user for a given month.
-  static function getTimeForMonth($user_id, $date){
+  static function getTimeForMonth($date) {
+    global $user;
     import('Period');
     $mdb2 = getConnection();
 
+    $user_id = $user->getUser();
+    $group_id = $user->getGroup();
+    $org_id = $user->org_id;
+
     $period = new Period(INTERVAL_THIS_MONTH, $date);
-    $sql = "select sum(time_to_sec(duration)) as sm from tt_log where user_id = $user_id and date >= '".$period->getStartDate(DB_DATEFORMAT)."' and date <= '".$period->getEndDate(DB_DATEFORMAT)."' and status = 1";
+    $sql = "select sum(time_to_sec(duration)) as sm from tt_log".
+      " where user_id = $user_id and group_id = $group_id and org_id = $org_id".
+      " and date >= '".$period->getStartDate(DB_DATEFORMAT)."' and date <= '".$period->getEndDate(DB_DATEFORMAT)."' and status = 1";
     $res = $mdb2->query($sql);
     if (!is_a($res, 'PEAR_Error')) {
       $val = $res->fetchRow();
       return sec_to_time_fmt_hm($val['sm']);
     }
-    return 0;
+    return false;
   }
 
   // getUncompleted - retrieves an uncompleted record for user, if one exists.
@@ -734,4 +748,18 @@ class ttTimeHelper {
 
     return $result;
   }
+
+  // canAdd determines if we can add a record in case there is a limit.
+  static function canAdd() {
+    $mdb2 = getConnection();
+    $sql = "select param_value from tt_site_config where param_name = 'exp_date'";
+    $res = $mdb2->query($sql);
+    $val = $res->fetchRow();
+    if (!$val) return true; // No expiration date.
+
+    if (strtotime($val['param_value']) > time())
+      return true; // Expiration date exists but not reached.
+
+    return false;
+  }
 }