global $user;
$mdb2 = getConnection();
- $sql = "select name, currency, lang from tt_groups".
+ $sql = "select * from tt_groups".
" where status = 1 and id = $this->group_id and org_id = $user->org_id";
$res = $mdb2->query($sql);
if (!is_a($res, 'PEAR_Error')) {
return false;
}
+ // getClients - obtains all clients defined for group.
+ function getClients() {
+ global $user;
+ $mdb2 = getConnection();
+
+ $result = array();
+ $sql = "select * from tt_clients where group_id = $this->group_id and org_id = $user->org_id";
+ $res = $mdb2->query($sql);
+ $result = array();
+ if (!is_a($res, 'PEAR_Error')) {
+ while ($val = $res->fetchRow()) {
+ $result[] = $val;
+ }
+ return $result;
+ }
+ return false;
+ }
+
// writeData writes group data into file.
function writeData() {
$group = $this->getGroupData();
$group_part = "<group name=\"".htmlentities($group['name'])."\"";
$group_part .= " currency=\"".htmlentities($group['currency'])."\"";
+ $group_part .= " decimal_mark=\"".$group['decimal_mark']."\"";
$group_part .= " lang=\"".$group['lang']."\"";
- // TODO: add other group attributes here.
+ $group_part .= " date_format=\"".$group['date_format']."\"";
+ $group_part .= " time_format=\"".$group['time_format']."\"";
+ $group_part .= " week_start=\"".$group['week_start']."\"";
+ $group_part .= " tracking_mode=\"".$group['tracking_mode']."\"";
+ $group_part .= " project_required=\"".$group['project_required']."\"";
+ $group_part .= " task_required=\"".$group['task_required']."\"";
+ $group_part .= " record_type=\"".$group['record_type']."\"";
+ $group_part .= " bcc_email=\"".$group['bcc_email']."\"";
+ $group_part .= " allow_ip=\"".$group['allow_ip']."\"";
+ $group_part .= " password_complexity=\"".$group['password_complexity']."\"";
+ $group_part .= " plugins=\"".$group['plugins']."\"";
+ $group_part .= " lock_spec=\"".$group['lock_spec']."\"";
+ $group_part .= " workday_minutes=\"".$group['workday_minutes']."\"";
+ $group_part .= " custom_logo=\"".$group['custom_logo']."\"";
+ $group_part .= " config=\"".$group['config']."\"";
$group_part .= ">\n";
// Write group info.
$this->projectMap[$project_item['id']] = $key + 1;
// Prepare client map.
- $clients = ttTeamHelper::getAllClients($this->group_id, true);
+ $clients = $this->getClients();
foreach ($clients as $key=>$client_item)
$this->clientMap[$client_item['id']] = $key + 1;
}
fwrite($this->file, $this->indentation." </projects>\n");
+ // Write clients.
+ fwrite($this->file, $this->indentation." <clients>\n");
+ foreach ($clients as $client_item) {
+ if($client_item['projects']){
+ $projects_db = explode(',', $client_item['projects']);
+ $projects_mapped = array();
+ foreach ($projects_db as $item)
+ $projects_mapped[] = $this->projectMap[$item];
+ $projects_str = implode(',', $projects_mapped);
+ }
+ $client_part = $this->indentation.' '."<client id=\"".$this->clientMap[$client_item['id']]."\"";
+ $client_part .= " name=\"".htmlentities($client_item['name'])."\"";
+ $client_part .= " address=\"".htmlentities($client_item['address'])."\"";
+ $client_part .= " tax=\"".$client_item['tax']."\"";
+ $client_part .= " projects=\"".$projects_str."\"";
+ $client_part .= " status=\"".$client_item['status']."\"";
+ $client_part .= "></client>\n";
+ fwrite($this->file, $client_part);
+ }
+ fwrite($this->file, $this->indentation." </clients>\n");
+
// Write users.
fwrite($this->file, $this->indentation." <users>\n");
foreach ($users as $user_item) {