* Luke Stevens, Murdoch Childrens Research Institute https://www.mcri.edu.au
 * Version date 16-Nov-2015 
 */
require_once dirname(__FILE__) . '/config.php';
// Validate ids
if (!isset($_POST['report_ids'])) {
    exit('0');
}
// Remove comma on end
if (substr($_POST['report_ids'], -1) == ',') {
    $_POST['report_ids'] = substr($_POST['report_ids'], 0, -1);
}
// Create array of report_ids
$new_report_ids = explode(",", $_POST['report_ids']);
// Get existing list of reports to validate and compare number of items
$old_report_ids = array_keys(LongitudinalReports::getReportNames());
// Determine if any new report_ids were maliciously added
$extra_report_ids = array_diff($new_report_ids, $old_report_ids);
if (!empty($extra_report_ids)) {
    exit('0');
}
// Determine if any new reports were added by another user simultaneously and are not in this list
$append_report_ids = array_diff($old_report_ids, $new_report_ids);
/*// Set all report_orders to null
$sql = "update redcap_reports set report_order = null where project_id = $project_id";
db_query($sql);*/
// Loop through report_ids and set new report_order
$report_order = 1;
$import = array();
foreach ($new_report_ids as $this_report_id) {
    /*	$sql = "update redcap_reports set report_order = ".$report_order++." 
<?php

/* 
 * Longitudinal Reports Plugin
 * Luke Stevens, Murdoch Childrens Research Institute https://www.mcri.edu.au
 * Version date 16-Nov-2015 
 */
require_once dirname(__FILE__) . '/config.php';
// Get html report table
list($report_table, $num_results_returned) = LongitudinalReports::doReport($_POST['report_id'], 'report', 'html', false, false, false, false, false, false, false, false, false, false, false, isset($_GET['instruments']) ? explode(',', $_GET['instruments']) : array(), isset($_GET['events']) ? explode(',', $_GET['events']) : array());
// Display report and title and other text
print "<div id='report_div' style='margin:10px 0 20px;'>" . RCView::div(array('style' => ''), RCView::div(array('class' => 'hide_in_print', 'style' => 'float:left;width:350px;'), RCView::div(array('style' => 'font-weight:bold;'), $lang['custom_reports_02'] . RCView::span(array('style' => 'margin-left:5px;color:#800000;font-size:15px;'), User::number_format_user($num_results_returned))) . RCView::div(array('style' => ''), $lang['custom_reports_03'] . RCView::span(array('style' => 'margin-left:5px;'), User::number_format_user(LongitudinalRecords::getRecordCount())) . (!$longitudinal ? "" : RCView::div(array('style' => 'margin-top:3px;color:#888;font-size:11px;font-family:tahoma,arial;'), $lang['custom_reports_09'])))) . RCView::div(array('class' => 'hide_in_print', 'style' => 'float:left;'), ($user_rights['data_export_tool'] == '0' ? '' : RCView::button(array('class' => 'report_btn jqbuttonmed', 'onclick' => "showExportFormatDialog('{$_POST['report_id']}');", 'style' => 'font-size:11px;padding:1px 4px 0px !important;'), RCView::img(array('src' => 'go-down.png', 'style' => 'vertical-align:middle;')) . RCView::span(array('style' => 'vertical-align:middle;'), $lang['custom_reports_12']))) . RCView::SP . RCView::button(array('class' => 'report_btn jqbuttonmed', 'onclick' => "window.print();", 'style' => 'font-size:11px;padding:1px 4px 0px !important;'), RCView::img(array('src' => 'printer.png', 'style' => 'vertical-align:middle;')) . RCView::span(array('style' => 'vertical-align:middle;'), $lang['custom_reports_13'])) . RCView::SP . ($_POST['report_id'] == 'ALL' || $_POST['report_id'] == 'SELECTED' || !$user_rights['reports'] ? '' : RCView::button(array('class' => 'report_btn jqbuttonmed', 'onclick' => "window.location.href = '" . APP_PATH_WEBROOT . LR_PATH_FROM_WEBROOT . "index.php?pid=" . PROJECT_ID . "&report_id={$_POST['report_id']}&addedit=1';", 'style' => 'font-size:11px;padding:1px 4px 0px !important;'), RCView::img(array('src' => 'pencil_small.png', 'style' => 'vertical-align:middle;')) . RCView::span(array('style' => 'vertical-align:middle;'), $lang['custom_reports_14'])))) . RCView::div(array('class' => 'clear'), '')) . RCView::div(array('id' => 'this_report_title', 'style' => 'margin:40px 0 8px;padding:5px 3px;color:#800000;font-size:18px;font-weight:bold;'), LongitudinalReports::getReportNames($_POST['report_id'])) . $report_table . "</div>";
Ejemplo n.º 3
0
}
// Place all HTML here
$html = "";
## CREATE NEW REPORT
if (isset($_GET['addedit'])) {
    // Hidden dialog for help with filters and AND/OR logic
    $html .= LongitudinalReports::renderFilterHelpDialog();
    // Hidden dialog for error popup when field name entered is not valid
    $html .= RCView::div(array('id' => 'VarEnteredNoExist_dialog', 'class' => 'simpleDialog'), $lang['report_builder_72']);
    // Add the actual "create report" table's HTML at the very bottom since we're doing a direct print. So output the buffer and disable buffering.
    ob_end_flush();
} elseif (!isset($_GET['report_id'])) {
    $html .= RCView::p(array('style' => 'max-width:810px;margin:5px 0 15px;'), $lang['report_builder_117']) . RCView::div(array('id' => 'report_list_parent_div'), LongitudinalReports::renderReportList());
} elseif (isset($_GET['report_id']) && (is_numeric($_GET['report_id']) || in_array($_GET['report_id'], array('ALL', 'SELECTED')))) {
    // Get report name
    $report_name = LongitudinalReports::getReportNames($_GET['report_id'], !$user_rights['reports']);
    // If report name is NULL, then user doesn't have Report Builder rights AND doesn't have access to this report
    if ($report_name === null) {
        $html .= RCView::div(array('class' => 'red'), $lang['global_01'] . $lang['colon'] . " " . $lang['data_export_tool_180']);
    } else {
        // Display progress while report loads via ajax
        $html .= RCView::div(array('id' => 'report_load_progress', 'style' => 'display:none;margin:5px 0 25px 20px;color:#777;font-size:18px;'), RCView::img(array('src' => 'progress_circle.gif', 'class' => 'imgfix2')) . $lang['report_builder_60'] . " \"" . RCView::span(array('style' => 'color:#800000;font-size:18px;'), $report_name) . "\"" . RCView::span(array('id' => 'report_load_progress_pagenum_text', 'style' => 'display:none;margin-left:10px;color:#777;font-size:14px;'), "({$lang['global_14']} " . RCView::span(array('id' => 'report_load_progress_pagenum'), '1') . ")")) . RCView::div(array('id' => 'report_load_progress2', 'style' => 'display:none;margin:5px 0 0 20px;color:#999;font-size:18px;'), RCView::img(array('src' => 'hourglass.png', 'class' => 'imgfix2')) . $lang['report_builder_115']);
        // Div where report will go
        $html .= RCView::div(array('id' => 'report_parent_div', 'style' => ''), '');
    }
}
// Header
include APP_PATH_DOCROOT . 'ProjectGeneral/header.php';
print RCView::div(array('style' => 'max-width:750px;margin-bottom:10px;'), RCView::div(array('style' => 'color: #800000;font-size: 16px;font-weight: bold;float:left;'), "Longitudinal Reports") . RCView::div(array('class' => 'clear'), ''));
// JavaScript files
callJSfile('jquery_tablednd.js');