summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Metzler2013-05-28 16:54:29 (GMT)
committer David Metzler2013-05-28 16:54:29 (GMT)
commit7fa29e081703692ec63813ddc3f9bb1eedc81c49 (patch)
tree5d57cef176460ee765cc10db98cf01ac7656c698
parent806e35bc0510a8830d7492b4d4f3d8a1eff883d1 (diff)
Added support for args parameter in the menu to add additional menu7.x-3.3
items.
-rwxr-xr-xFrxMenu.inc6
-rwxr-xr-xforena.admin.inc9
-rwxr-xr-xrepos/forena_help/design_topics.xml2
-rwxr-xr-xrepos/reports/help/layout.frx16
4 files changed, 21 insertions, 12 deletions
diff --git a/FrxMenu.inc b/FrxMenu.inc
index 0233baa..84230a5 100755
--- a/FrxMenu.inc
+++ b/FrxMenu.inc
@@ -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;
diff --git a/forena.admin.inc b/forena.admin.inc
index 1746aa6..5649ed4 100755
--- a/forena.admin.inc
+++ b/forena.admin.inc
@@ -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'),
diff --git a/repos/forena_help/design_topics.xml b/repos/forena_help/design_topics.xml
index 8970562..7fb69a5 100755
--- a/repos/forena_help/design_topics.xml
+++ b/repos/forena_help/design_topics.xml
@@ -30,7 +30,7 @@
<name>help.design</name>
</row>
<row>
- <title>Reort Skins</title>
+ <title>Report Skins</title>
<name>help.skins</name>
</row>
</root>
diff --git a/repos/reports/help/layout.frx b/repos/reports/help/layout.frx
index c4edd7a..59c6546 100755
--- a/repos/reports/help/layout.frx
+++ b/repos/reports/help/layout.frx
@@ -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