]> wagnertech.de Git - timetracker.git/blobdiff - WEB-INF/lib/ttExportHelper.class.php
Some refactoring.
[timetracker.git] / WEB-INF / lib / ttExportHelper.class.php
index 67224c8efef5259ee3d87a03e82ae48a1b30d1f3..fa35842024d5a1356c7fd736f8ca4e4fef877343 100644 (file)
@@ -73,12 +73,12 @@ class ttExportHelper {
     fwrite($file, "</team>\n");
 
     // Prepare role map.
-    $roles = ttExportHelper::getAllRoles();
+    $roles = $this->getRoles();
     foreach ($roles as $key=>$role_item)
       $this->roleMap[$role_item['id']] = $key + 1;
 
     // Prepare user map.
-    $users = ttExportHelper::getAllUsers();
+    $users = $this->getUsers();
     foreach ($users as $key=>$user_item)
       $this->userMap[$user_item['id']] = $key + 1;
 
@@ -116,7 +116,7 @@ class ttExportHelper {
     fwrite($file, "<roles>\n");
     foreach ($roles as $role) {
       fwrite($file, "  <role id=\"".$this->roleMap[$role['id']]."\" rank=\"".$role['rank']."\"".
-        " rights=\"".$role['rights']."\">\n");
+        " rights=\"".$role['rights']."\" status=\"".$role['status']."\">\n");
       fwrite($file, "    <name><![CDATA[".$role['name']."]]></name>\n");
       fwrite($file, "  </role>\n");
     }
@@ -356,8 +356,24 @@ class ttExportHelper {
     return true;
   }
 
-  // getAllRoles - obtains all roles defined for team.
-  static function getAllRoles() {
+  /*
+   * Note about the utility functions below.
+   * We have roughly 3 groups of operations:
+   *   1) Regular system usage for tracking time, etc.
+   *   2) Admin usage - used infrequently.
+   *   3) Export - used infrequently.
+   *
+   * It is tempting to have a generic function to get things done for
+   * all situations. However, as export and admin access are one-off
+   * operations, while regular system usage is daily and must be efficient,
+   * the current approach is to have SEPARATE functions for each mode.
+   *
+   * This is because each mode requires a slightly different approach,
+   * and we don't want to over-complicate things.
+   */
+
+  // getRoles - obtains all roles defined for team.
+  function getRoles() {
     global $user;
     $mdb2 = getConnection();
 
@@ -374,8 +390,8 @@ class ttExportHelper {
     return false;
   }
 
-  // The getAllUsers obtains all users in team for the purpose of export.
-  static function getAllUsers() {
+  // The getUsers obtains all users in team for the purpose of export.
+  function getUsers() {
     global $user;
     $mdb2 = getConnection();