]> wagnertech.de Git - timetracker.git/blobdiff - WEB-INF/lib/ttOrgHelper.class.php
More progress with db maintenance code to support subgroups.
[timetracker.git] / WEB-INF / lib / ttOrgHelper.class.php
index 2cf045060e4926a10ece46a708ca65be90baf387..d93e2591649aa57480199dc6a74b37a9c314c8b0 100644 (file)
@@ -62,4 +62,24 @@ class ttOrgHelper {
     }
     return false;
   }
+
+  // The getInactiveOrgs is a maintenance function that returns an array of inactive organization ids (max 5 for now).
+  static function getInactiveOrgs() {
+    $inactive_orgs = array();
+    $mdb2 = getConnection();
+
+    // Determine inactive organizations by querying the database for max access timestamp for its users.
+    $cutoff_timestamp = $mdb2->quote(date('Y-m-d', strtotime('-1 year')));
+    $sql = "select org_id from".
+      " (select max(accessed) as last_access, org_id from tt_users group by org_id order by last_access, org_id) as t".
+      " where last_access is null or last_access < $cutoff_timestamp limit 5"; // Max 5 orgs at a time for now...
+    $res = $mdb2->query($sql);
+    if (!is_a($res, 'PEAR_Error')) {
+      while ($val = $res->fetchRow()) {
+        $inactive_orgs[] = $val['org_id'];
+      }
+      return $inactive_orgs;
+    }
+    return false;
+  }
 }