$report = PrepReport($result->fields['id']); if (!($params = import_text_params($report))) { $messageStack->add(sprintf(PB_CONVERT_ERROR, $result->fields['description']), 'error'); $skip_report = true; } // fix some fields $params->standard_report = $result->fields['standard_report'] ? 's' : 'c'; // error check $duplicate = $db->Execute("select id from " . TABLE_PHREEFORM . " \n\t where doc_title = '" . addslashes($params->title) . "' and doc_type <> '0'"); if ($duplicate->RecordCount() > 0) { // the report name already exists, error $messageStack->add(sprintf(PHREEFORM_REPDUP, $params->title), 'error'); $skip_report = true; } if (!$skip_report) { if (!($success = save_report($params))) { $messageStack->add(sprintf(PB_CONVERT_SAVE_ERROR, $params->title), 'error'); } $count++; } $result->MoveNext(); } // Copy the PhreeBooks images $dir_source = DIR_FS_MY_FILES . $_SESSION['company'] . '/images'; $dir_dest = PF_DIR_MY_REPORTS . 'images'; $d = dir($dir_source); while (FALSE !== ($filename = $d->read())) { if ($filename == '.' || $entry == '..') { continue; } @copy($dir_source . '/' . $filename, $dir_dest . '/' . $filename);
} } $report->sortlist = array(); if ($_POST['sort_fld']) { foreach ($_POST['sort_fld'] as $key => $value) { $report->sortlist[] = new objectInfo(array('fieldname' => db_prepare_input($_POST['sort_fld'][$key]), 'description' => db_prepare_input($_POST['sort_desc'][$key]), 'default' => db_prepare_input($_POST['srt_def'][$key]))); } } $report->filterlist = array(); if ($_POST['crit_fld']) { foreach ($_POST['crit_fld'] as $key => $value) { $report->filterlist[] = new objectInfo(array('fieldname' => db_prepare_input($_POST['crit_fld'][$key]), 'description' => db_prepare_input($_POST['crit_desc'][$key]), 'visible' => db_prepare_input($_POST['crit_vis'][$key]), 'type' => db_prepare_input($_POST['crit_def'][$key]), 'min_val' => db_prepare_input($_POST['crit_min'][$key]), 'max_val' => db_prepare_input($_POST['crit_max'][$key]))); } } if (!$error) { $success = save_report($report, $rID); if ($_REQUEST['action'] == 'save' && $success) { $self_close = true; } } break; case 'save_dir': $doc_title = db_prepare_input($_POST['doc_title']); $doc_ext = db_prepare_input($_POST['doc_ext']); $doc_group = db_prepare_input($_POST['doc_group']); // check for valid folder name if (!$doc_title) { $messageStack->add(PHREEFORM_FOLDER_BLANK_ERROR, 'error'); break; } // check to see if the directory is being moved below itself
//$chartData[$decodeKey . ', filtered'] = filter_pass(array('serialize', 'igbinary'), filter_pass(array('raw', 'snappy', 'gzip-1'), $decodeSpeed)); $chartData[$encodeKey . ', raw'] = filter_pass('raw', $encodeSpeed); $chartData[$decodeKey . ', raw'] = filter_pass('raw', $decodeSpeed); $chartData[$encodeKey . ', compression'] = filter_pass(array('gzip-1', 'gzip-9', 'snappy'), filter_pass('serialize', $encodeSpeed)); $chartData[$decodeKey . ', compression'] = filter_pass(array('gzip-1', 'gzip-9', 'snappy'), filter_pass('serialize', $decodeSpeed)); $chartData[$encodeKey . ', gzip'] = filter_pass(array('gzip'), filter_pass('serialize', $encodeSpeed)); $chartData[$decodeKey . ', gzip'] = filter_pass(array('gzip'), filter_pass('serialize', $decodeSpeed)); $chartData[$encodeKey . ', gzip-1'] = filter_pass(array('gzip-1'), filter_pass('serialize', $encodeSpeed)); $chartData[$decodeKey . ', gzip-1'] = filter_pass(array('gzip-1'), filter_pass('serialize', $decodeSpeed)); $chartData[$keys[6]] = filter_pass('php54', $data[$keys[6]]); // Length, % of raw/serialize $chartData[$encodeKey] = $encodeSpeed; // encode speed, % of php54:raw/serialize $chartData[$decodeKey] = $decodeSpeed; // decode speed, % of php54:raw/serialize save_report($chartData); function filter_pass($keywords, $data) { if (!is_array($keywords)) { $keywords = array($keywords); } foreach ($data as $key => $tmp) { $pass = false; foreach ($keywords as $keyword) { if (strpos($key, $keyword) !== false) { $pass = true; break; } } if (!$pass) { unset($data[$key]);
$norm = $normResult[$direction][$normTest]; $l = $length[$test]; $normLen = $normResult['length'][$normTest]; $charts[$direction . ' speed, b/s'][$workerName . ':' . $test][] = array($normLen, $iterationsCount * $l / $time); $charts[$direction . ' speed, elements/s'][$workerName . ':' . $test][] = array($normLen, $iterationsCount * $samplesCount / $time); $charts[$direction . ' speed, % of ' . $mainWorker . ':' . $normTest][$workerName . ':' . $test][] = array($normLen, 100 * $norm / $time); } } foreach ($length as $test => $l) { //$charts['Length, b'][$workerName . ':' . $test] [] = array($samplesCount, $l); $charts['Length, % of ' . $normTest][$workerName . ':' . $test][] = array($samplesCount, 100 * $l / $length[$normTest]); } } save_report($charts); } save_report($charts); function render_report($charts) { $html = <<<HTML <html> <head> <title>Report</title> <script src="https://code.jquery.com/jquery-1.11.2.min.js"></script> <script src="http://code.highcharts.com/stock/highstock.js"></script> <script src="http://code.highcharts.com/highcharts.js"></script> <script src="http://code.highcharts.com/highcharts-more.js"></script> </head> <body> HTML; $i = 0; foreach ($charts as $chartName => $series) {
function ImportReport($RptName = '', $RptFileName = '', $import_path = PF_DIR_DEF_REPORTS, $save_path = PF_DIR_MY_REPORTS) { global $db, $messageStack; $rID = ''; if ($RptFileName != '') { // then a locally stored report was chosen $path = $import_path . $RptFileName; } else { if (validate_upload('reportfile')) { $path = $_FILES['reportfile']['tmp_name']; } else { $messageStack->add(PHREEFORM_IMPORT_ERROR, 'error'); return false; } } $handle = fopen($path, "r"); $contents = fread($handle, filesize($path)); fclose($handle); if (strpos($contents, 'Report Builder Export Tool')) { // it's an old style report require_once DIR_FS_MODULES . 'phreeform/functions/reportwriter.php'; if (!($report = import_text_params(file($path)))) { return false; } } else { // assume it's a new xml type if (!($report = xml_to_object($contents))) { return false; } if (is_object($report->PhreeformReport)) { $report = $report->PhreeformReport; } // remove container tag } if ($RptName != '') { $report->title = $RptName; } // replace the title if provided // error check $result = $db->Execute("select id from " . TABLE_PHREEFORM . "\n\t where doc_title = '" . addslashes($report->title) . "' and doc_type <> '0'"); if ($result->RecordCount() > 0) { // the report name already exists, if file exists error, else write $rID = $result->fields['id']; if (file_exists($save_path . 'pf_' . $rID)) { // file exists - error and return $messageStack->add(sprintf(PHREEFORM_REPDUP, $report->title), 'error'); return false; } } if (!($result = save_report($report, $rID, $save_path))) { return false; } return true; }