Commit dbbeba40 authored by metzlerd's avatar metzlerd
Browse files

Merge branch '7.x-3.x' of metzlerd@git.drupal.org:project/forena.git into 7.x-3.x

parents 6a6fe1cd 889c1e8c
......@@ -147,8 +147,9 @@ class FrxMenu {
$cache = unserialize($cache);
// Load menu item defaults
$menu = $cache['menu'];
$menu = @$cache['menu'];
$path = $menu['path'];
$path_args = @$menu['args'];
$type = @$menu['type'];
$title = @$menu['title'] ? $menu['title']: $row->title;
if (module_exists('locale')) {
......@@ -180,7 +181,8 @@ class FrxMenu {
// Now generate the callback arguments
$parts = explode( '/', $new_path);
$page_args = array_keys($parts, '%');
$page_args = array_merge(array($path, $row->report_name), $page_args);
$path_args = $path_args ? rtrim($path,'/') . '/' . ltrim($path_args, '/') : $path;
$page_args = array_merge(array($path_args, $row->report_name), $page_args);
// Set the access callback
$access_callback = isset($cache['access']) ? 'forena_check_all_access' : TRUE;
......
......@@ -174,6 +174,7 @@ class FrxReport {
$frx = $node->attributes(FRX_NS);
$include_root = !isset($frx['skip_root']) || !$frx['skip_root'];
$elements = $dom_node->childNodes->length;
// Check for invalid link processing.
......@@ -249,11 +250,11 @@ class FrxReport {
foreach ($tmp_attrs as $key => $value) {
$r_attr_text .= ' ' . $key . '="' . (string)$value . '"';
}
$o .= $this->teng->replace('<' . $tag . $r_attr_text . '>');
if ($include_root) $o .= $this->teng->replace('<' . $tag . $r_attr_text . '>');
foreach ($dom_node->childNodes as $child) {
$o .= $this->render_section($child);
}
$o .= '</' . $tag . '>';
if ($include_root) $o .= '</' . $tag . '>';
Frx::Data()->pop();
}
}
......@@ -268,13 +269,13 @@ class FrxReport {
}
}
else {
$o .= $this->teng->replace('<' . $tag . $attr_text . '>');
if ($include_root) $o .= $this->teng->replace('<' . $tag . $attr_text . '>');
// None found, so render children
foreach ($dom_node->childNodes as $child) {
$o .= $this->render_section($child);
}
$o .= '</' . $tag . '>';
if ($include_root) $o .= '</' . $tag . '>';
}
}
if ($is_data_block && $continue) {
......
......@@ -452,10 +452,17 @@ function forena_layout_form($form, $form_state, $report_name) {
$form['menu']['path'] = array(
'#type' => 'textfield',
'#title' => t('Menu Path'),
'#description' => t('Indicate site reletive path to menu. Paramters may be embedded in the url using a :parm syntax (e.g. states/:state)'),
'#description' => t('Indicate site reletive path to menu. Parameters may be embedded in the url using a :parm syntax (e.g. states/:state)'),
'#default_value' => @$menu['path'],
);
$form['menu']['args'] = array(
'#type' => 'textfield',
'#title' => t('Additional Arguments'),
'#description' => t('Indicate additonal parameters that should be extracted after the menu path using a :parm syntax (e.g. :parma/:parmb)'),
'#default_value' => @$menu['args'],
);
$form['menu']['title'] = array(
'#type' => 'textfield',
'#title' => t('Menu Title'),
......
......@@ -594,7 +594,7 @@ function forena_parameter_form($formid, &$form_state, $parameters, $attributes=
break;
default:
$type = 'textfield';
$list = '';
$list = array();
}
if (isset($menu_parms[$id]) && $type=='textfield') {
......@@ -632,7 +632,7 @@ function forena_parameter_form($formid, &$form_state, $parameters, $attributes=
//if $list is not empty then push options
//onto the array. options will cause an error for
//textfield elements.
if ($list || $type = 'select' || $type='radios') {
if ($list || $type == 'select' || $type =='radios') {
$form['params'][$id]['#options'] = $list;
$form['params'][$id]['#multiple'] = $multiselect;
}
......
......@@ -30,7 +30,7 @@
<name>help.design</name>
</row>
<row>
<title>Reort Skins</title>
<title>Report Skins</title>
<name>help.skins</name>
</row>
</root>
......@@ -65,6 +65,12 @@
'*', which would imply creating a a repeating pattern for every row or
element returned by the query.
</p>
<p id="skip_root">
<strong>frx:skip_root attribute</strong>- This will cause the current node
of the report to not be rendered, but children will be rendered as normal.
This is most commonly used when you want the frx:foreach to not render the node
containing the frx:foreach attribute.
</p>
<h2>Report fields</h2>
<p>Each field in the report is referenced by an xpath expression
enclosed by curly braces. In its simplest form the xpath xpression can
......
......@@ -21,23 +21,23 @@
available. &nbsp;Explanation of the opions on this form are as
follows:</p>
<p>
<strong>Body -&nbsp;</strong>&nbsp;The html body of the
<strong>Body -;</strong>&nbsp;The html body of the
report.&nbsp;
</p>
<p>
<strong>Category</strong> - This controls under which group the
report appears under the My Reports link.
</p>
<p>Form - The form determines the look and feel of the report.
<p>
<strong>Menu</strong> - Specify configuration options for a drupal menu
here.
</p>
<p><strong>Skin</strong> - The skin determines the look and feel of the report.
&nbsp;In conventional report writers this can be thought of as
what kinid of paper form the report printed on. &nbsp;In the
modern days of the web most layout is controlled by Cascacding
Style Sheets (CSS). &nbsp;Specify the form of the report and any
css or js files of the same name in your reports directory will
automatically get added to the report. &nbsp;In this way you can
establish common styles that get used by reports that have the
same form name. &nbsp;If you leave this blank, the default form,
specified in the Forena configuration menu is used.&nbsp;</p>
Style Sheets (CSS) and Javascript Libraries. See the section on
Report Skins for additional information on creating report skins.</p>
<p>
<strong>Hidden</strong> - Checking this box will cause the report
not to be listed in the My Reports list regardless of the Category
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment