コード例 #1
0
/**
 * @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 $amount_stat_columns
 * @param $print_flag
 * @param $show_zero_issues
 * @param $versions
 */
function print_tablebody($amount_stat_columns, $print_flag, $show_zero_issues, $versions)
{
    $specmanagement_database_api = new specmanagement_database_api();
    $specmanagement_print_api = new specmanagement_print_api();
    echo '<tbody>';
    for ($version_index = 0; $version_index < count($versions); $version_index++) {
        $version = $versions[$version_index];
        $version_spec_bug_ids = $specmanagement_database_api->get_version_spec_bugs($version['version']);
        if (is_null($version_spec_bug_ids) && !$show_zero_issues) {
            continue;
        }
        $version_deadline = date_is_null($version['date_order']) ? '' : string_attribute(date(config_get('calendar_date_format'), $version['date_order']));
        $timeleft = time() - $version['date_order'];
        $unsolved_bug_duration = null;
        $add_rel_duration = 0;
        $status_process = null;
        $uncertainty_bug_ids = array();
        $add_rel_uncertainty_bug_ids = array();
        $sum_duration = 0;
        $uncertainty_status_process = null;
        $unsolved_bug_finished_date = null;
        $null_issues_flag = true;
        if (!is_null($version_spec_bug_ids)) {
            $unsolveld_bug_ids = get_unsolved_issues($version_spec_bug_ids);
            $unsolved_bug_duration = $specmanagement_database_api->get_bug_array_duration($unsolveld_bug_ids);
            $rel_based_data = calculate_rel_based_data($unsolveld_bug_ids);
            $add_rel_duration = $rel_based_data[0];
            $add_rel_uncertainty_bug_ids = $rel_based_data[1];
            $sum_duration = $unsolved_bug_duration + $add_rel_duration;
            $status_process = 100 * round(1 - count($unsolveld_bug_ids) / count($version_spec_bug_ids), 2);
            $uncertainty_bug_ids = get_uncertainty_issues($unsolveld_bug_ids);
            $uncertainty_status_process = 100 * round(count($uncertainty_bug_ids) / count($version_spec_bug_ids), 2);
            $null_issues_flag = false;
        }
        $time_delay = calc_time_delay($timeleft, $sum_duration);
        $specmanagement_print_api->printRow();
        print_version($version);
        print_date($version_deadline, $time_delay[0]);
        print_issue_amount($amount_stat_columns, $print_flag, $version, $version_spec_bug_ids, $null_issues_flag);
        print_process($status_process, $null_issues_flag);
        print_duration($sum_duration, $add_rel_duration, $null_issues_flag);
        print_uncertainty($uncertainty_bug_ids, $add_rel_uncertainty_bug_ids, $uncertainty_status_process, $null_issues_flag);
        //print_information( $version, $null_issues_flag, $time_delay[1] );
        echo '</tr>';
    }
    echo '</tbody>';
}
コード例 #3
0
     * Title Element
     * @param $label
     */
    function Title($label)
    {
        $this->SetFont('Arial', 'B', 12);
        $this->SetFillColor(192, 192, 192);
        $this->Cell(0, 6, "{$label}", 0, 1, 'L', 1);
        $this->SetFont('Arial', '', 12);
        $this->Ln(3);
    }
}
$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, '');
        }
    }