/**
 * @param bool $edit_page
 * @param $obsolete_flag
 */
function print_table($edit_page = false, $obsolete_flag)
{
    $specmanagement_print_api = new specmanagement_print_api();
    if ($edit_page) {
        echo '<form action="' . plugin_page('manage_versions_update') . '" method="post">';
    }
    $specmanagement_print_api->printTableTop('100');
    print_tablehead($edit_page, $obsolete_flag);
    print_tablebody($edit_page, $obsolete_flag);
    $specmanagement_print_api->printTableFoot();
    echo '</form>';
}
/**
 * Calculate page content
 */
function calculate_changes()
{
    $specmanagement_print_api = new specmanagement_print_api();
    $other_version = version_get($_POST['version_other']);
    $my_version = version_get($_POST['version_my']);
    $specified_versions = specify_version($my_version, $other_version);
    $old_version = $specified_versions[0];
    $new_version = $specified_versions[1];
    $specmanagement_print_api->print_page_head(plugin_lang_get('changes_title') . ': ' . $old_version->version . ' / ' . $new_version->version);
    echo '<table class="editor">';
    print_changes_table_head($old_version, $new_version);
    print_changes_table_body($old_version, $new_version);
    $specmanagement_print_api->printTableFoot();
    html_page_bottom1();
}
/**
 * @param $obsolete_flag
 * @param $show_zero_issues
 * @param $print_flag
 */
function print_table($obsolete_flag, $show_zero_issues, $print_flag)
{
    $specmanagement_print_api = new specmanagement_print_api();
    $obsolote = false;
    if ($obsolete_flag) {
        $obsolote = null;
    }
    $versions = version_get_all_rows_with_subs(helper_get_current_project(), null, $obsolote);
    $amount_stat_columns = plugin_config_get('CAmount');
    if ($amount_stat_columns > PLUGINS_SPECMANAGEMENT_MAX_COLUMNS) {
        $amount_stat_columns = PLUGINS_SPECMANAGEMENT_MAX_COLUMNS;
    }
    $specmanagement_print_api->printTableTop('90');
    print_tablehead($amount_stat_columns, $obsolete_flag, $show_zero_issues, $print_flag);
    print_tablebody($amount_stat_columns, $print_flag, $show_zero_issues, $versions);
    $specmanagement_print_api->printTableFoot();
}
/**
 * @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();
    }
}
function calculate_page_content()
{
    $specmanagement_database_api = new specmanagement_database_api();
    $specmanagement_print_api = new specmanagement_print_api();
    $types = array();
    $types_rows = $specmanagement_database_api->get_full_types();
    foreach ($types_rows as $types_row) {
        $types[] = $types_row[1];
    }
    html_page_top1(plugin_lang_get('select_doc_title'));
    echo '<link rel="stylesheet" href="' . SPECMANAGEMENT_PLUGIN_URL . 'files/specmanagement.css">';
    html_page_top2();
    //   if ( plugin_is_installed( 'WhiteboardMenu' ) && file_exists ( config_get_global ( 'plugin_path' ) . 'WhiteboardMenu' ) )
    //   {
    //      require_once WHITEBOARDMENU_CORE_URI . 'whiteboard_print_api.php';
    //      $whiteboard_print_api = new whiteboard_print_api();
    //      $whiteboard_print_api->printWhiteboardMenu();
    //   }
    if (project_includes_user(helper_get_current_project(), auth_get_current_user_id()) || helper_get_current_project() == 0 || user_is_administrator(auth_get_current_user_id())) {
        echo '<div align="center">';
        echo '<hr size="1" width="50%" />';
        $specmanagement_print_api->printTableTop('50');
        $specmanagement_print_api->printFormTitle(2, 'menu_title');
        $specmanagement_print_api->printCategoryField(1, 1, 'select_type');
        echo '<td>';
        echo '<form method="post" name="form_set_source" action="' . plugin_page('editor') . '">';
        print_document_selection($types);
        $specmanagement_print_api->printRow();
        echo '<td class="center" colspan="2">';
        echo '<input type="submit" name="formSubmit" class="button" value="' . plugin_lang_get('select_confirm') . '"/>';
        echo '</td>';
        echo '</tr>';
        echo '</form>';
        echo '</td>';
        $specmanagement_print_api->printTableFoot();
    } else {
        echo '<table class="width60"><tr><td class="center">' . lang_get('access_denied') . '</td></tr></table>';
    }
    html_page_bottom1();
}
    ?>
" min="1"
                 max="<?php 
    echo PLUGINS_SPECMANAGEMENT_MAX_COLUMNS;
    ?>
"/></label>
   <?php 
    echo '</td>';
    echo '</tr>';
    for ($columnIndex = 1; $columnIndex <= plugin_config_get('CAmount'); $columnIndex++) {
        $specmanagement_print_api->printRow();
        echo '<td class="category" colspan="1" rowspan="1">';
        echo plugin_lang_get('config_statuscol') . ' ' . $columnIndex . ':';
        echo '</td>';
        echo '<td valign="top" width="100px" colspan="1" rowspan="1">';
        echo '<select name="CStatSelect' . $columnIndex . '">';
        print_enum_string_option_list('status', plugin_config_get('CStatSelect' . $columnIndex));
        echo '</select>';
        echo '</tr>';
    }
}
echo '<tr>';
echo '<td class="center" colspan="2">';
echo '<input type="submit" name="manage_doc_types" class="button" value="' . plugin_lang_get('menu_mantypes') . '"/>&nbsp';
echo '<input type="submit" name="change" class="button" value="' . lang_get('update_prefs_button') . '"/>&nbsp';
echo '<input type="submit" name="reset" class="button" value="' . lang_get('reset_prefs_button') . '"/>';
echo '</td>';
echo '</tr>';
$specmanagement_print_api->printTableFoot();
echo '</form>';
html_page_bottom1();