]> wagnertech.de Git - timetracker.git/blobdiff - WEB-INF/lib/ttGroupExportHelper.class.php
A bit more progress on new export.
[timetracker.git] / WEB-INF / lib / ttGroupExportHelper.class.php
index 9ac4464aa37d6c0f718cdaa0142c5ecbe3c9c7e2..59a19be29e514e1934c4dda6a70c79870a20896c 100644 (file)
 // When done, it should handle export of organizations containing multiple groups.
 class ttGroupExportHelper {
 
-  var $group_id = null;    // Group we are exporting.
-  var $file     = null;    // File to write to.
-  var $indentation = null; // A string consisting of a number of spaces.
+  var $group_id = null;     // Group we are exporting.
+  var $file     = null;     // File to write to.
+  var $indentation = null;  // A string consisting of a number of spaces.
+  var $subgroups = array(); // Immediate subgroups.
 
   // Constructor.
   function __construct($group_id, $file, $indentation) {
+    global $user;
 
     $this->group_id = $group_id;
     $this->file = $file;
     $this->indentation = $indentation;
 
-    // TODO: Build a list of subgroups here.
+    // Build a list of subgroups.
+    $mdb2 = getConnection();
+    $sql =  "select id from tt_groups".
+            " where status = 1 and parent_id = $this->group_id and org_id = $user->org_id order by id desc";
+    $res = $mdb2->query($sql);
+    if (!is_a($res, 'PEAR_Error')) {
+      while ($val = $res->fetchRow()) {
+        $this->subgroups[] = $val;
+      }
+    }
   }
 
   // writeData writes group data into file.
   function writeData() {
     // TODO: write code here.
-    //
+
+    // Write group info. Something dummy for now to test...
+    fwrite($this->file, $this->indentation."<group>\n");
+
     // Call itself recursively for all subgroups.
+    foreach ($this->subgroups as $subgroup) {
+      $subgroup_helper = new ttGroupExportHelper($subgroup['id'], $this->file, $this->indentation.'  ');
+      $subgroup_helper->writeData();
+    }
+
+    fwrite($this->file, $this->indentation."</group>\n");
   }
 }