/** * @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(); } }
/** * @param PDF $pdf * @param $type_string * @param $version_id * @param $version_spec_bug_ids * @return PDF */ function generate_document_head(PDF $pdf, $type_string, $version_id, $version_spec_bug_ids) { $specmanagement_database_api = new specmanagement_database_api(); $specmanagement_editor_api = new specmanagement_editor_api(); $project_id = helper_get_current_project(); $parent_project_id = $specmanagement_database_api->get_main_project_by_hierarchy($project_id); $head_project_id = $project_id; if ($parent_project_id == 0) { $parent_project_id = version_get_field($version_id, 'project_id'); $head_project_id = version_get_field($version_id, 'project_id'); } $table_column_widths = array(95, 95); $pdf->Cell(array_sum($table_column_widths), 0, '', 'T'); $pdf->Ln(); generate_document_head_row($pdf, 'head_version', version_get_field($version_id, 'version')); generate_document_head_row($pdf, 'manversions_thdoctype', $type_string); generate_document_head_row($pdf, 'head_customer', project_get_name($parent_project_id)); generate_document_head_row($pdf, 'head_project', project_get_name($head_project_id)); generate_document_head_row($pdf, 'head_date', date('d\\.m\\.Y')); generate_document_head_row($pdf, 'head_person_in_charge', $specmanagement_editor_api->calculate_person_in_charge($version_id)); if (!is_null($version_spec_bug_ids)) { $process = $specmanagement_editor_api->get_process($version_spec_bug_ids); if (is_array($process)) { $sum_pt_all = $process[0]; $sum_pt_bug = $process[1]; $pt_process = 0; if ($sum_pt_all != 0) { $pt_process = round($sum_pt_bug * 100 / $sum_pt_all, 2); } $process_string = $sum_pt_bug . '/' . $sum_pt_all . ' ' . plugin_lang_get('editor_duration_unit') . ' (' . $pt_process . ' %)'; } else { $process_string = $process . ' %'; } generate_document_head_row($pdf, 'head_process', $process_string); } return $pdf; }