require 'components/query_string_standard.php';
    require 'subclasses/document.php';
    $dbh_document = new document();
    $object_name = 'dbh_document';
    require 'components/create_form_data.php';
    extract($arr_form_data);
    if ($_POST['btn_cancel']) {
        log_action('Pressed cancel button');
        redirect("listview_document.php?{$query_string}");
    }
    if ($_POST['btn_submit']) {
        log_action('Pressed submit button');
        $message .= $dbh_document->sanitize($arr_form_data)->lst_error;
        extract($arr_form_data);
        if ($dbh_document->check_uniqueness($arr_form_data)->is_unique) {
            //Good, no duplicate in database
        } else {
            $message = "Record already exists with the same primary identifiers!";
        }
        if ($message == "") {
            $dbh_document->add($arr_form_data);
            redirect("listview_document.php?{$query_string}");
        }
    }
}
require 'subclasses/document_html.php';
$html = new document_html();
$html->draw_header('Add Document', $message, $message_type);
$html->draw_listview_referrer_info($filter_field_used, $filter_used, $page_from, $filter_sort_asc, $filter_sort_desc);
$html->draw_controls('add');
$html->draw_footer();
require 'path.php';
init_cobalt('Delete document');
if (isset($_GET['document_id'])) {
    $document_id = urldecode($_GET['document_id']);
    require_once 'form_data_document.php';
}
if (xsrf_guard()) {
    init_var($_POST['btn_cancel']);
    init_var($_POST['btn_delete']);
    require 'components/query_string_standard.php';
    if ($_POST['btn_cancel']) {
        log_action('Pressed cancel button');
        redirect("listview_document.php?{$query_string}");
    } elseif ($_POST['btn_delete']) {
        log_action('Pressed delete button');
        require_once 'subclasses/document.php';
        $dbh_document = new document();
        $object_name = 'dbh_document';
        require 'components/create_form_data.php';
        $dbh_document->delete($arr_form_data);
        redirect("listview_document.php?{$query_string}");
    }
}
require 'subclasses/document_html.php';
$html = new document_html();
$html->draw_header('Delete Document', $message, $message_type);
$html->draw_listview_referrer_info($filter_field_used, $filter_used, $page_from, $filter_sort_asc, $filter_sort_desc);
$html->draw_hidden('document_id');
$html->detail_view = TRUE;
$html->draw_controls('delete');
$html->draw_footer();
            $token = generate_token(0, 'fs');
            $csv_name = $token . $_SESSION['user'] . '_document_' . $timestamp . '.csv';
            $filename = TMP_DIRECTORY . '/' . $csv_name;
            $csv_contents = $dbh_document->export_to_csv();
            $csv_file = fopen($filename, "wb");
            fwrite($csv_file, $csv_contents);
            fclose($csv_file);
            chmod($filename, 0755);
            $csv_name = urlencode($csv_name);
            $message = 'CSV file successfully generated: <a href="/' . BASE_DIRECTORY . '/download_generic.php?filename=' . $csv_name . '">Download the CSV file.</a>';
            $message_type = 'system';
        }
    }
}
require 'subclasses/document_html.php';
$html = new document_html();
$html->draw_header('CSV Exporter: Document', $message, $message_type);
echo '<div class="container">';
echo '<fieldset class="container_invisible">';
$html->draw_fieldset_header('Table Data to CSV Export');
$html->draw_fieldset_body_start();
echo '<tr><td>';
$html->display_info('Exporting data to CSV will let you have an offline backup of this module.');
$html->display_tip('Your system admin can use this CSV file to restore data for this module in case of catastrophic data loss on the server.');
echo '</td></tr>';
$html->draw_fieldset_body_end();
$html->draw_fieldset_footer_start();
$html->draw_submit_cancel();
$html->draw_fieldset_footer_end();
echo '</fieldset>';
echo '</div>';