function _forena_filter_process in Forena Reports 7.2
Same name and namespace in other branches
- 8 forena.module \_forena_filter_process()
- 6.2 forena.module \_forena_filter_process()
- 6 forena.module \_forena_filter_process()
- 7.5 forena.module \_forena_filter_process()
- 7 forena.module \_forena_filter_process()
- 7.3 forena.module \_forena_filter_process()
- 7.4 forena.module \_forena_filter_process()
Process tag replacement for xml filters
1 string reference to '_forena_filter_process'
- forena_filter_info in ./
forena.module - Implememntation of hook_filter
File
- ./
forena.module, line 665
Code
function _forena_filter_process($text = '') {
require_once 'forena.admin.inc';
global $language;
// initial Parameters
$in_parms = array();
$in_parms = $_GET;
// Find the instances of [xmlreport:view,
if (preg_match_all("/\\[report?:?([^\\]]+)\\]/i", $text, $match)) {
foreach ($match[1] as $idx => $value) {
$parms = array();
// Separate view from parmeters
@(list($report_name, $parmsStr) = explode(':', $value));
// Get any static parmeters
$pairs = explode(',', $parmsStr);
if ($pairs) {
foreach ($pairs as $pair) {
@(list($key, $value) = explode('=', $pair));
$parms[$key] = $value;
}
}
$parms = array_merge($parms, $in_parms);
// Debug the result
$r = FrxReportGenerator::instance()
->get_report($report_name, $parms);
if ($r) {
$output = $r
->render(null);
}
else {
$output = '';
}
// Finally replace the parameters
$find[] = $match[0][$idx];
$replace[] = $output;
}
return str_replace($find, $replace, $text);
}
// If we didn't find anything return the text.
return $text;
}