/** * @param $print_flag */ function calculate_page_content($print_flag) { $specmanagement_database_api = new specmanagement_database_api(); $specmanagement_print_api = new specmanagement_print_api(); $specmanagement_editor_api = new specmanagement_editor_api(); $version_id = $_POST['version_id']; $version_spec_bug_ids = $specmanagement_database_api->get_version_spec_bugs(version_get_field($version_id, 'version')); if (!is_null($version_spec_bug_ids)) { /** get bug and work package data */ $plugin_version_obj = $specmanagement_database_api->get_plugin_version_row_by_version_id($version_id); $p_version_id = $plugin_version_obj[0]; foreach ($version_spec_bug_ids as $version_spec_bug_id) { $p_source_row = $specmanagement_database_api->get_source_row($version_spec_bug_id); if (is_null($p_source_row[2])) { $specmanagement_database_api->update_source_row($version_spec_bug_id, $p_version_id, ''); } } $work_packages = $specmanagement_database_api->get_document_spec_workpackages($p_version_id); asort($work_packages); $no_work_package_bug_ids = $specmanagement_database_api->get_workpackage_spec_bugs($p_version_id, ''); /** get type options */ $type_string = $specmanagement_database_api->get_type_string($specmanagement_database_api->get_type_by_version($version_id)); $type_id = $specmanagement_database_api->get_type_id($type_string); $type_row = $specmanagement_database_api->get_type_row($type_id); $type_options = explode(';', $type_row[2]); /** generate and print page content */ $specmanagement_editor_api->print_document_head($type_string, $version_id, $version_spec_bug_ids, $print_flag); if ($type_options[2] == '1') { $specmanagement_editor_api->print_directory($p_version_id, $work_packages, $no_work_package_bug_ids, $type_options[0], $print_flag); } $specmanagement_editor_api->print_editor_table_head($print_flag); $specmanagement_editor_api->generate_content($p_version_id, $work_packages, $no_work_package_bug_ids, $type_options[0], true, $print_flag); echo '</table>'; if ($type_options[1] == '1') { $specmanagement_editor_api->print_expenses_overview($work_packages, $p_version_id, $print_flag, $no_work_package_bug_ids); } } else { echo '<br/>'; $specmanagement_editor_api->print_editor_table_head($print_flag); echo '<tr><td class="center">'; echo plugin_lang_get('editor_no_issues'); echo '</td></tr>'; $specmanagement_print_api->printTableFoot(); } }
/** * Add custom plugin fields to bug-specific sites (bug_report, bug_update, bug_view) * * @param $event * @return null */ function bugViewFields($event) { require_once SPECMANAGEMENT_CORE_URI . 'specmanagement_database_api.php'; require_once SPECMANAGEMENT_CORE_URI . 'specmanagement_print_api.php'; $specmanagement_database_api = new specmanagement_database_api(); $specmanagement_print_api = new specmanagement_print_api(); $bug_id = null; $type = null; $work_package = null; $ptime = null; switch ($event) { case 'EVENT_UPDATE_BUG_FORM': $bug_id = gpc_get_int('bug_id'); break; case 'EVENT_VIEW_BUG_DETAILS': $bug_id = gpc_get_int('id'); break; } if ($bug_id != null) { $source_obj = $specmanagement_database_api->get_source_row($bug_id); $work_package = $source_obj[3]; $ptime_obj = $specmanagement_database_api->get_ptime_row($bug_id); $ptime = $ptime_obj[2]; if (0 == strlen(bug_get_field($bug_id, 'target_version'))) { $specmanagement_database_api->update_source_version($bug_id, null); } $p_version_id = $source_obj[2]; if (!is_null($p_version_id)) { $version_obj = $specmanagement_database_api->get_version_row_by_primary($p_version_id); $type_id = $version_obj[3]; $type = $specmanagement_database_api->get_type_string($type_id); } } if (plugin_config_get('ShowFields')) { switch ($event) { case 'EVENT_VIEW_BUG_DETAILS': if ($this->getReadLevel() || $this->getWriteLevel() || $this->getUserHasLevel()) { $specmanagement_print_api->printBugViewFields($type, $work_package, $ptime); } break; case 'EVENT_REPORT_BUG_FORM': if ($this->getWriteLevel() || $this->getUserHasLevel()) { $specmanagement_print_api->printBugReportFields(); } break; case 'EVENT_UPDATE_BUG_FORM': if ($this->getWriteLevel() || $this->getUserHasLevel()) { $specmanagement_print_api->printBugUpdateFields($type, $work_package, $ptime); } break; } } return null; }
} $specmanagement_database_api = new specmanagement_database_api(); $specmanagement_print_api = new specmanagement_print_api(); $version_id = $_POST['version_id']; $version_spec_bug_ids = $specmanagement_database_api->get_version_spec_bugs(version_get_field($version_id, 'version')); if (!is_null($version_spec_bug_ids)) { /** generate and print page content */ $pdf = new PDF(); $pdf->AliasNbPages(); $pdf->AddPage(); $pdf->SetFont('Arial', '', 12); /** get bug and work package data */ $plugin_version_obj = $specmanagement_database_api->get_plugin_version_row_by_version_id($version_id); $p_version_id = $plugin_version_obj[0]; foreach ($version_spec_bug_ids as $version_spec_bug_id) { $p_source_row = $specmanagement_database_api->get_source_row($version_spec_bug_id); if (is_null($p_source_row[2])) { $specmanagement_database_api->update_source_row($version_spec_bug_id, $p_version_id, ''); } } $work_packages = $specmanagement_database_api->get_document_spec_workpackages($p_version_id); asort($work_packages); $no_work_package_bug_ids = $specmanagement_database_api->get_workpackage_spec_bugs($p_version_id, ''); /** get type options */ $type_string = $specmanagement_database_api->get_type_string($specmanagement_database_api->get_type_by_version($version_id)); $type_id = $specmanagement_database_api->get_type_id($type_string); $type_row = $specmanagement_database_api->get_type_row($type_id); $type_options = explode(';', $type_row[2]); /** print document head */ $pdf = generate_document_head($pdf, $type_string, $version_id, $version_spec_bug_ids); $pdf->Ln(10);