X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2FttOrgImportHelper.class.php;h=b5a28c8e85909423bbc274ed4b876efed0f5807c;hb=fd6aa4c43cecf1754280ae8abb9f58add8c6c977;hp=1bfa07c722ba6d7e4718fb14428ccb832907b0ec;hpb=f05a2db179417c20c7d841f0363bca4988c8a2ca;p=timetracker.git diff --git a/WEB-INF/lib/ttOrgImportHelper.class.php b/WEB-INF/lib/ttOrgImportHelper.class.php index 1bfa07c7..b5a28c8e 100644 --- a/WEB-INF/lib/ttOrgImportHelper.class.php +++ b/WEB-INF/lib/ttOrgImportHelper.class.php @@ -137,14 +137,19 @@ class ttOrgImportHelper { } // Add self to parent stack. array_push($this->parents, $this->current_group_id); - return; - } - if ($name == 'ROLES') { - // If we get here, we have to recycle $currentGroupRoleMap. - unset($this->currentGroupRoleMap); - $this->currentGroupRoleMap = array(); - // Role map is reconstructed after processing elements in XML. See below. + // Recycle all maps as we are starting to work on new group. + // Note that for this to work properly all nested groups must be last entries in xml for each group. + unset($this->currentGroupRoleMap); $this->currentGroupRoleMap = array(); + unset($this->currentGroupTaskMap); $this->currentGroupTaskMap = array(); + unset($this->currentGroupProjectMap); $this->currentGroupProjectMap = array(); + unset($this->currentGroupClientMap); $this->currentGroupClientMap = array(); + unset($this->currentGroupUserMap); $this->currentGroupUserMap = array(); + unset($this->currentGroupInvoiceMap); $this->currentGroupInvoiceMap = array(); + unset($this->currentGroupLogMap); $this->currentGroupLogMap = array(); + unset($this->currentGroupCustomFieldMap); $this->currentGroupCustomFieldMap = array(); + unset($this->currentGroupCustomFieldOptionMap); $this->currentGroupCustomFieldOptionMap = array(); + unset($this->currentGroupFavReportMap); $this->currentGroupCustomFavReportMap = array(); return; } @@ -165,14 +170,6 @@ class ttOrgImportHelper { return; } - if ($name == 'TASKS') { - // If we get here, we have to recycle $currentGroupTaskMap. - unset($this->currentGroupTaskMap); - $this->currentGroupTaskMap = array(); - // Task map is reconstructed after processing elements in XML. See below. - return; - } - if ($name == 'TASK') { // We get here when processing tags for the current group. $task_id = ttTaskHelper::insert(array( @@ -184,15 +181,9 @@ class ttOrgImportHelper { if ($task_id) { // Add a mapping. $this->currentGroupTaskMap[$attrs['ID']] = $task_id; - } else $this->errors->add($i18n->get('error.db')); - return; - } - - if ($name == 'PROJECTS') { - // If we get here, we have to recycle $currentGroupProjectMap. - unset($this->currentGroupProjectMap); - $this->currentGroupProjectMap = array(); - // Project map is reconstructed after processing elements in XML. See below. + } else { + $this->errors->add($i18n->get('error.db')); + } return; } @@ -216,15 +207,9 @@ class ttOrgImportHelper { if ($project_id) { // Add a mapping. $this->currentGroupProjectMap[$attrs['ID']] = $project_id; - } else $this->errors->add($i18n->get('error.db')); - return; - } - - if ($name == 'CLIENTS') { - // If we get here, we have to recycle $currentGroupClientMap. - unset($this->currentGroupClientMap); - $this->currentGroupClientMap = array(); - // Client map is reconstructed after processing elements in XML. See below. + } else { + $this->errors->add($i18n->get('error.db')); + } return; } @@ -253,14 +238,6 @@ class ttOrgImportHelper { return; } - if ($name == 'USERS') { - // If we get here, we have to recycle $currentGroupUserMap. - unset($this->currentGroupUserMap); - $this->currentGroupUserMap = array(); - // User map is reconstructed after processing elements in XML. See below. - return; - } - if ($name == 'USER') { // We get here when processing tags for the current group. @@ -297,14 +274,6 @@ class ttOrgImportHelper { return; } - if ($name == 'INVOICES') { - // If we get here, we have to recycle $currentGroupInvoiceMap. - unset($this->currentGroupInvoiceMap); - $this->currentGroupInvoiceMap = array(); - // Invoice map is reconstructed after processing elements in XML. See below. - return; - } - if ($name == 'INVOICE') { // We get here when processing tags for the current group. $invoice_id = ttInvoiceHelper::insert(array( @@ -321,14 +290,6 @@ class ttOrgImportHelper { return; } - if ($name == 'LOG') { - // If we get here, we have to recycle $currentGroupLogMap. - unset($this->currentGroupLogMap); - $this->currentGroupLogMap = array(); - // Log map is reconstructed after processing elements in XML. See below. - return; - } - if ($name == 'LOG_ITEM') { // We get here when processing tags for the current group. $log_item_id = $this->insertLogEntry(array( @@ -354,14 +315,6 @@ class ttOrgImportHelper { return; } - if ($name == 'CUSTOM_FIELDS') { - // If we get here, we have to recycle $currentGroupCustomFieldMap. - unset($this->currentGroupCustomFieldMap); - $this->currentGroupCustomFieldMap = array(); - // Custom field map is reconstructed after processing elements in XML. See below. - return; - } - if ($name == 'CUSTOM_FIELD') { // We get here when processing tags for the current group. $custom_field_id = $this->insertCustomField(array( @@ -378,14 +331,6 @@ class ttOrgImportHelper { return; } - if ($name == 'CUSTOM_FIELD_OPTIONS') { - // If we get here, we have to recycle $currentGroupCustomFieldOptionMap. - unset($this->currentGroupCustomFieldOptionMap); - $this->currentGroupCustomFieldOptionMap = array(); - // Custom field option map is reconstructed after processing elements in XML. See below. - return; - } - if ($name == 'CUSTOM_FIELD_OPTION') { // We get here when processing tags for the current group. $custom_field_option_id = $this->insertCustomFieldOption(array( @@ -456,14 +401,6 @@ class ttOrgImportHelper { return; } - if ($name == 'FAV_REPORTS') { - // If we get here, we have to recycle $currentGroupFavReportMap. - unset($this->currentGroupFavReportMap); - $this->currentGroupFavReportMap = array(); - // Favorite report map is reconstructed after processing elements in XML. See below. - return; - } - if ($name == 'FAV_REPORT') { $user_list = ''; if (strlen($attrs['USERS']) > 0) {