diff --git a/modules/formulize/admin/formindex.php b/modules/formulize/admin/formindex.php index 4da607e76..de9ba2d88 100644 --- a/modules/formulize/admin/formindex.php +++ b/modules/formulize/admin/formindex.php @@ -640,6 +640,24 @@ function patch40() { } } + // Webmasters group needs explicit view_form permission on every form always! Or else the owner groups column won't work, and that will mess up datasets because the found owner groups to the mainform records in the datasets won't be parallel to that actual dataset (it will be mising owner group info for the Webmasters group for any entries created by webmasters!) + $sql = "SELECT id_form FROM ".$xoopsDB->prefix('formulize_id')." AS f WHERE NOT EXISTS(SELECT 1 FROM ".$xoopsDB->prefix("group_permission")." AS p WHERE p.gperm_itemid = f.id_form AND p.gperm_name = 'view_form' AND p.gperm_groupid = 1)"; + $viewFormAssigned = false; + if($res = $xoopsDB->query($sql)) { + $viewFormAssigned = true; + $formulizeModId = getFormulizeModId(); + while($row = $xoopsDB->fetchRow($res)) { + $formId = intval($row[0]); + $sql = "INSERT INTO ".$xoopsDB->prefix("group_permission")." (`gperm_itemid`, `gperm_groupid`, `gperm_name`, `gperm_modid`) VALUES ($formId, 1, 'view_form', $formulizeModId)"; + if($xoopsDB->queryF($sql) == false) { + $viewFormAssigned = false; + } + } + } + if(!$viewFormAssigned) { + print "Error: could assign 'View Form' permission for Webmasters to all forms.
".$xoopsDB->error()."
Assign this permission manually for Webmasters to all forms, or please contact info@formulize.org for assistance."; + } + // add opening insert($formObject)) { print "Error: could not update form object with default screen ids: ".$xoopsDB->error(); } - // add edit permissions for the selected groups + // add edit permissions for the selected groups, and view_form for Webmasters $gperm_handler = xoops_gethandler('groupperm'); $selectedAdminGroupIdsForMenu = array(); foreach($_POST['groups_can_edit'] as $thisGroupId) { $selectedAdminGroupIdsForMenu[] = intval($thisGroupId); $gperm_handler->addRight('edit_form', $fid, intval($thisGroupId), getFormulizeModId()); } + $gperm_handler->addRight('view_form', $fid, XOOPS_GROUP_ADMIN, getFormulizeModId()); } else if( $old_form_handle && $formObject->getVar( "form_handle" ) != $old_form_handle ) { //print "rename from $old_form_handle to " . $formObject->getVar( "form_handle" ); diff --git a/modules/formulize/include/extract.php b/modules/formulize/include/extract.php index e3eda3459..914e4b54d 100644 --- a/modules/formulize/include/extract.php +++ b/modules/formulize/include/extract.php @@ -1172,7 +1172,7 @@ function processGetDataResults($resultData) { $curFormId = $curFormAlias == 'main' ? $fid : $linkformids[substr($curFormAlias, 1)]; // the table aliases are based on the keys of the linked forms in the linkformids array, so if we get the number out of the table alias, that key will give us the form id of the linked form as stored in the linkformids array if(strstr($field, 'entry_id')) { $entryIdIndex[$curFormAlias] = $value; - if($curFormAlias == 'main') { + if($curFormAlias == 'main' AND !in_array($value, $totalMainFormEntryIdIndex)) { $totalMainFormEntryIdIndex[] = $value; } } diff --git a/modules/formulize/include/functions.php b/modules/formulize/include/functions.php index de9646110..e6f438cb9 100644 --- a/modules/formulize/include/functions.php +++ b/modules/formulize/include/functions.php @@ -505,7 +505,7 @@ function getFormulizeModId() { $res4 = $xoopsDB->query("SELECT mid FROM ".$xoopsDB->prefix("modules")." WHERE dirname='formulize'"); if ($res4) { while ($row = $xoopsDB->fetchRow($res4)) - $mid = $row[0]; + $mid = intval($row[0]); } } return $mid; diff --git a/modules/formulize/templates/admin/form_permissions.html b/modules/formulize/templates/admin/form_permissions.html index 91cc7858f..b7990dee4 100644 --- a/modules/formulize/templates/admin/form_permissions.html +++ b/modules/formulize/templates/admin/form_permissions.html @@ -1,473 +1,473 @@ -
- -
-<{php}>print $GLOBALS['xoopsSecurity']->getTokenHTML()<{/php}> - - -<{* form number is used to trigger the actual submission of this form after data has been saved, so we can pass this state info to the server *}> -> - - - - - -
-
-
- - -

- - -

- -
- -
-
- -
-

- - - -
-
- -
-
- - - - - -
-
- -
-
- -
- -
-
- -
-
-

<{$smarty.const._AM_PERMISSIONS_SAME_CHECKBOX_EXPLAIN}>

-
- -
-
- -
-
- - - - - -
-
- -
- - -
- - <{if $content.groupperms|is_array AND $content.groupperms|@count == 0}> -
-
- -
-
- <{/if}> - - - <{if $content.submitted_user}> -
-
-
- - -

Groups

-
- <{foreach from=$content.groupperms item=groupperm}> -

<{$groupperm.name}>

- <{/foreach}> -
- - -

<{$smarty.const._AM_PERMISSIONS_DEFINE_BASIC}>

-
- <{if $content.userperms.view_form}> -

<{$smarty.const._AM_PERMISSIONS_DEFINE_VIEWFORM}> -- - <{foreach from=$content.userperms.view_form item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - <{if $content.userperms.add_own_entry}> -

<{$smarty.const._AM_PERMISSIONS_DEFINE_CREATEOWNENTRIES}> -- - <{foreach from=$content.userperms.add_own_entry item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - <{if $content.userperms.update_own_entry}> -

<{$smarty.const._AM_PERMISSIONS_DEFINE_UPDATEOWNENTRIES}> -- - <{foreach from=$content.userperms.update_own_entry item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - <{if $content.userperms.update_group_entries}> -

<{$smarty.const._AM_PERMISSIONS_DEFINE_UPDATE_GROUP_ENTRIES}> -- - <{foreach from=$content.userperms.update_group_entries item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - <{if $content.userperms.update_other_entries}> -

<{$smarty.const._AM_PERMISSIONS_DEFINE_UPDATEOTHERENTRIES}> -- - <{foreach from=$content.userperms.update_other_entries item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - <{if $content.userperms.delete_own_entry}> -

<{$smarty.const._AM_PERMISSIONS_DEFINE_DELETEOWNENTRIES}> -- - <{foreach from=$content.userperms.delete_own_entry item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - <{if $content.userperms.delete_group_entries}> -

<{$smarty.const._AM_PERMISSIONS_DEFINE_DELETE_GROUP_ENTRIES}> -- - <{foreach from=$content.userperms.delete_group_entries item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - <{if $content.userperms.delete_other_entries}> -

<{$smarty.const._AM_PERMISSIONS_DEFINE_DELETEOTHERENTRIES}> -- - <{foreach from=$content.userperms.delete_other_entries item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - -
- - -

<{$smarty.const._AM_PERMISSIONS_DEFINE_VISIBILITY}>

-
- <{if $content.userperms.view_private_elements}> -

<{$smarty.const._AM_PERMISSIONS_DEFINE_VISIBILITY_PRIVATE}> -- - <{foreach from=$content.userperms.view_private_elements item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - - <{if $content.userperms.view_their_own_entries}> -

<{$smarty.const._AM_PERMISSIONS_DEFINE_VISIBILITY_THEIROWN}> -- - <{foreach from=$content.userperms.view_their_own_entries item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - <{if $content.userperms.view_globalscope}> -

<{$smarty.const._AM_PERMISSIONS_DEFINE_VISIBILITY_VIEWALL}> -- - <{foreach from=$content.userperms.view_globalscope item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - - <{if $content.userperms.view_groupscope.checked}> -

<{$smarty.const._AM_PERMISSIONS_DEFINE_VISIBILITY_VIEWOTHERGROUPONLY}>

-
    - <{foreach from=$content.groups item=group}> - <{if $content.userperms.view_groupscope[$group.id]}> -
  • <{$group.name}> -- - <{foreach from=$content.userperms.view_groupscope[$group.id] item=group}> - <{$group}>; - <{/foreach}> -
  • - <{/if}> - <{/foreach}> -
- <{/if}> - - <{if $content.userperms.view_groupfilter.all || $content.userperms.view_groupfilter.oom }> -

<{$smarty.const._AM_PERMISSIONS_DEFINE_VISIBILITY_CONDITIONS}>

-
    - <{if $content.userperms.view_groupfilter.all}> -
  • Match all of these:
  • -
      - <{foreach from=$content.userperms.view_groupfilter.all key="filter" item="groups"}> -
    • <{$filter}> -- <{foreach from=$groups item="group"}><{$group}>;<{/foreach}>
    • - <{/foreach}> -
    - <{/if}> - - <{if $content.userperms.view_groupfilter.oom}> -
  • Match one or more of these:
  • -
      - <{foreach from=$content.userperms.view_groupfilter.oom key="filter" item="groups"}> -
    • <{$filter}> -- <{foreach from=$groups item="group"}><{$group}>;<{/foreach}>
    • - <{/foreach}> -
    - <{/if}> -
- <{/if}> -
- - -

<{$smarty.const._AM_PERMISSIONS_DEFINE_VIEW_CONDITIONS}>

-
- <{if $content.userperms.manage_own}> -

<{$smarty.const._AM_PERMISSIONS_DEFINE_VIEW_THEIROWN}> -- - <{foreach from=$content.userperms.manage_own item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - <{if $content.userperms.publish_reports}> -

<{$smarty.const._AM_PERMISSIONS_DEFINE_VIEW_INTHEIR}> -- - <{foreach from=$content.userperms.publish_reports item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - <{if $content.userperms.publish_globalscope}> -

<{$smarty.const._AM_PERMISSIONS_DEFINE_VIEW_FOROTHER}> -- - <{foreach from=$content.userperms.publish_globalscope item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - <{if $content.userperms.update_other_reports}> -

<{$smarty.const._AM_PERMISSIONS_DEFINE_VIEW_UPDATE}> -- - <{foreach from=$content.userperms.update_other_reports item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - <{if $content.userperms.delete_other_reports}> -

<{$smarty.const._AM_PERMISSIONS_DEFINE_VIEW_DELETE}> -- - <{foreach from=$content.userperms.delete_other_reports item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> -
- - -

<{$smarty.const._AM_PERMISSIONS_ADVANCED}>

-
- <{if $content.userperms.import_data}> -

<{$smarty.const._AM_PERMISSIONS_ADVANCED_IMPORT}> -- - <{foreach from=$content.userperms.import_data item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - <{if $content.userperms.set_notifications_for_others}> -

<{$smarty.const._AM_PERMISSIONS_ADVANCED_NOTIFICATIONS}> -- - <{foreach from=$content.userperms.set_notifications_for_others item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - <{if $content.userperms.add_proxy_entries}> -

<{$smarty.const._AM_PERMISSIONS_ADVANCED_CREATEFOROTHER}> -- - <{foreach from=$content.userperms.add_proxy_entries item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - <{if $content.userperms.update_entry_ownership}> -

<{$smarty.const._AM_PERMISSIONS_ADVANCED_CHANGEOWNER}> -- - <{foreach from=$content.userperms.update_entry_ownership item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - <{if $content.userperms.ignore_editing_lock}> -

Save entries even when they are locked while being edited elsewhere (saving cancels existing locks) -- - <{foreach from=$content.userperms.ignore_editing_lock item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - <{if $content.userperms.edit_form}> -

<{$smarty.const._AM_PERMISSIONS_ADVANCED_ALTER}> -- - <{foreach from=$content.userperms.edit_form item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> - <{if $content.userperms.delete_form}> -

<{$smarty.const._AM_PERMISSIONS_ADVANCED_DELETEFORM}> -- - <{foreach from=$content.userperms.delete_form item=group}> - <{$group}>; - <{/foreach}> -

- <{/if}> -
-
-
-
- <{else}> - <{foreach from=$content.groupperms item=groupperm}> - > -
-
-
- -

<{$smarty.const._AM_PERMISSIONS_DEFINE_BASIC}>

-
- id="<{$content.fid}>_<{$groupperm.id}>_view_form">  
- id="<{$content.fid}>_<{$groupperm.id}>_add_own_entry">  
- id="<{$content.fid}>_<{$groupperm.id}>_update_own_entry">  
- id="<{$content.fid}>_<{$groupperm.id}>_update_group_entries">  
- id="<{$content.fid}>_<{$groupperm.id}>_update_other_entries">  
- id="<{$content.fid}>_<{$groupperm.id}>_delete_own_entry">  
- id="<{$content.fid}>_<{$groupperm.id}>_delete_group_entries">  
- id="<{$content.fid}>_<{$groupperm.id}>_delete_other_entries">  
-
-

<{$smarty.const._AM_PERMISSIONS_DEFINE_VISIBILITY}>

-
- id="<{$content.fid}>_<{$groupperm.id}>_view_private_elements">  
-   
- id="<{$content.fid}>_<{$groupperm.id}>_view_globalscope">  
- id="<{$content.fid}>_<{$groupperm.id}>_view_groupscope">   -
- -
- <{$smarty.const._AM_PERMISSIONS_DEFINE_VISIBILITY_DISABLED}> id="<{$content.fid}>_<{$groupperm.id}>_filterentries">   -
- <{$groupperm.groupfilter}> -
-
-

<{$smarty.const._AM_PERMISSIONS_DEFINE_VIEW_CONDITIONS}>

-
-   
- id="<{$content.fid}>_<{$groupperm.id}>_publish_reports">  
- id="<{$content.fid}>_<{$groupperm.id}>_publish_globalscope">  
- id="<{$content.fid}>_<{$groupperm.id}>_update_other_reports">  
- id="<{$content.fid}>_<{$groupperm.id}>_delete_other_reports">  
-
-

<{$smarty.const._AM_PERMISSIONS_ADVANCED}>

-
- id="<{$content.fid}>_<{$groupperm.id}>_import_data">  
- id="<{$content.fid}>_<{$groupperm.id}>_set_notifications_for_others">  
- id="<{$content.fid}>_<{$groupperm.id}>_add_proxy_entries">  
- id="<{$content.fid}>_<{$groupperm.id}>_update_entry_ownership">  
- id="<{$content.fid}>_<{$groupperm.id}>_ignore_editing_lock">  
- id="<{$content.fid}>_<{$groupperm.id}>_edit_form">  
- id="<{$content.fid}>_<{$groupperm.id}>_delete_form">   -
-
-
-
- <{/foreach}> - <{/if}> -
- -
- -
-
- - +
+ +
+<{php}>print $GLOBALS['xoopsSecurity']->getTokenHTML()<{/php}> + + +<{* form number is used to trigger the actual submission of this form after data has been saved, so we can pass this state info to the server *}> +> + + + + + +
+
+
+ + +

+ + +

+ +
+ +
+
+ +
+

+ + + +
+
+ +
+
+ + + + + +
+
+ +
+
+ +
+ +
+
+ +
+
+

<{$smarty.const._AM_PERMISSIONS_SAME_CHECKBOX_EXPLAIN}>

+
+ +
+
+ +
+
+ + + + + +
+
+ +
+ + +
+ + <{if $content.groupperms|is_array AND $content.groupperms|@count == 0}> +
+
+ +
+
+ <{/if}> + + + <{if $content.submitted_user}> +
+
+
+ + +

Groups

+
+ <{foreach from=$content.groupperms item=groupperm}> +

<{$groupperm.name}>

+ <{/foreach}> +
+ + +

<{$smarty.const._AM_PERMISSIONS_DEFINE_BASIC}>

+
+ <{if $content.userperms.view_form}> +

<{$smarty.const._AM_PERMISSIONS_DEFINE_VIEWFORM}> -- + <{foreach from=$content.userperms.view_form item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + <{if $content.userperms.add_own_entry}> +

<{$smarty.const._AM_PERMISSIONS_DEFINE_CREATEOWNENTRIES}> -- + <{foreach from=$content.userperms.add_own_entry item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + <{if $content.userperms.update_own_entry}> +

<{$smarty.const._AM_PERMISSIONS_DEFINE_UPDATEOWNENTRIES}> -- + <{foreach from=$content.userperms.update_own_entry item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + <{if $content.userperms.update_group_entries}> +

<{$smarty.const._AM_PERMISSIONS_DEFINE_UPDATE_GROUP_ENTRIES}> -- + <{foreach from=$content.userperms.update_group_entries item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + <{if $content.userperms.update_other_entries}> +

<{$smarty.const._AM_PERMISSIONS_DEFINE_UPDATEOTHERENTRIES}> -- + <{foreach from=$content.userperms.update_other_entries item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + <{if $content.userperms.delete_own_entry}> +

<{$smarty.const._AM_PERMISSIONS_DEFINE_DELETEOWNENTRIES}> -- + <{foreach from=$content.userperms.delete_own_entry item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + <{if $content.userperms.delete_group_entries}> +

<{$smarty.const._AM_PERMISSIONS_DEFINE_DELETE_GROUP_ENTRIES}> -- + <{foreach from=$content.userperms.delete_group_entries item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + <{if $content.userperms.delete_other_entries}> +

<{$smarty.const._AM_PERMISSIONS_DEFINE_DELETEOTHERENTRIES}> -- + <{foreach from=$content.userperms.delete_other_entries item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + +
+ + +

<{$smarty.const._AM_PERMISSIONS_DEFINE_VISIBILITY}>

+
+ <{if $content.userperms.view_private_elements}> +

<{$smarty.const._AM_PERMISSIONS_DEFINE_VISIBILITY_PRIVATE}> -- + <{foreach from=$content.userperms.view_private_elements item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + + <{if $content.userperms.view_their_own_entries}> +

<{$smarty.const._AM_PERMISSIONS_DEFINE_VISIBILITY_THEIROWN}> -- + <{foreach from=$content.userperms.view_their_own_entries item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + <{if $content.userperms.view_globalscope}> +

<{$smarty.const._AM_PERMISSIONS_DEFINE_VISIBILITY_VIEWALL}> -- + <{foreach from=$content.userperms.view_globalscope item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + + <{if $content.userperms.view_groupscope.checked}> +

<{$smarty.const._AM_PERMISSIONS_DEFINE_VISIBILITY_VIEWOTHERGROUPONLY}>

+
    + <{foreach from=$content.groups item=group}> + <{if $content.userperms.view_groupscope[$group.id]}> +
  • <{$group.name}> -- + <{foreach from=$content.userperms.view_groupscope[$group.id] item=group}> + <{$group}>; + <{/foreach}> +
  • + <{/if}> + <{/foreach}> +
+ <{/if}> + + <{if $content.userperms.view_groupfilter.all || $content.userperms.view_groupfilter.oom }> +

<{$smarty.const._AM_PERMISSIONS_DEFINE_VISIBILITY_CONDITIONS}>

+
    + <{if $content.userperms.view_groupfilter.all}> +
  • Match all of these:
  • +
      + <{foreach from=$content.userperms.view_groupfilter.all key="filter" item="groups"}> +
    • <{$filter}> -- <{foreach from=$groups item="group"}><{$group}>;<{/foreach}>
    • + <{/foreach}> +
    + <{/if}> + + <{if $content.userperms.view_groupfilter.oom}> +
  • Match one or more of these:
  • +
      + <{foreach from=$content.userperms.view_groupfilter.oom key="filter" item="groups"}> +
    • <{$filter}> -- <{foreach from=$groups item="group"}><{$group}>;<{/foreach}>
    • + <{/foreach}> +
    + <{/if}> +
+ <{/if}> +
+ + +

<{$smarty.const._AM_PERMISSIONS_DEFINE_VIEW_CONDITIONS}>

+
+ <{if $content.userperms.manage_own}> +

<{$smarty.const._AM_PERMISSIONS_DEFINE_VIEW_THEIROWN}> -- + <{foreach from=$content.userperms.manage_own item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + <{if $content.userperms.publish_reports}> +

<{$smarty.const._AM_PERMISSIONS_DEFINE_VIEW_INTHEIR}> -- + <{foreach from=$content.userperms.publish_reports item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + <{if $content.userperms.publish_globalscope}> +

<{$smarty.const._AM_PERMISSIONS_DEFINE_VIEW_FOROTHER}> -- + <{foreach from=$content.userperms.publish_globalscope item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + <{if $content.userperms.update_other_reports}> +

<{$smarty.const._AM_PERMISSIONS_DEFINE_VIEW_UPDATE}> -- + <{foreach from=$content.userperms.update_other_reports item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + <{if $content.userperms.delete_other_reports}> +

<{$smarty.const._AM_PERMISSIONS_DEFINE_VIEW_DELETE}> -- + <{foreach from=$content.userperms.delete_other_reports item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> +
+ + +

<{$smarty.const._AM_PERMISSIONS_ADVANCED}>

+
+ <{if $content.userperms.import_data}> +

<{$smarty.const._AM_PERMISSIONS_ADVANCED_IMPORT}> -- + <{foreach from=$content.userperms.import_data item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + <{if $content.userperms.set_notifications_for_others}> +

<{$smarty.const._AM_PERMISSIONS_ADVANCED_NOTIFICATIONS}> -- + <{foreach from=$content.userperms.set_notifications_for_others item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + <{if $content.userperms.add_proxy_entries}> +

<{$smarty.const._AM_PERMISSIONS_ADVANCED_CREATEFOROTHER}> -- + <{foreach from=$content.userperms.add_proxy_entries item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + <{if $content.userperms.update_entry_ownership}> +

<{$smarty.const._AM_PERMISSIONS_ADVANCED_CHANGEOWNER}> -- + <{foreach from=$content.userperms.update_entry_ownership item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + <{if $content.userperms.ignore_editing_lock}> +

Save entries even when they are locked while being edited elsewhere (saving cancels existing locks) -- + <{foreach from=$content.userperms.ignore_editing_lock item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + <{if $content.userperms.edit_form}> +

<{$smarty.const._AM_PERMISSIONS_ADVANCED_ALTER}> -- + <{foreach from=$content.userperms.edit_form item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> + <{if $content.userperms.delete_form}> +

<{$smarty.const._AM_PERMISSIONS_ADVANCED_DELETEFORM}> -- + <{foreach from=$content.userperms.delete_form item=group}> + <{$group}>; + <{/foreach}> +

+ <{/if}> +
+
+
+
+ <{else}> + <{foreach from=$content.groupperms item=groupperm}> + > +
+
+
+ +

<{$smarty.const._AM_PERMISSIONS_DEFINE_BASIC}>

+
+ disabled="disabled"<{/if}> class="view_form" name="<{$content.fid}>_<{$groupperm.id}>_view_form" value=1 <{$groupperm.view_form}> id="<{$content.fid}>_<{$groupperm.id}>_view_form">  
+ id="<{$content.fid}>_<{$groupperm.id}>_add_own_entry">  
+ id="<{$content.fid}>_<{$groupperm.id}>_update_own_entry">  
+ id="<{$content.fid}>_<{$groupperm.id}>_update_group_entries">  
+ id="<{$content.fid}>_<{$groupperm.id}>_update_other_entries">  
+ id="<{$content.fid}>_<{$groupperm.id}>_delete_own_entry">  
+ id="<{$content.fid}>_<{$groupperm.id}>_delete_group_entries">  
+ id="<{$content.fid}>_<{$groupperm.id}>_delete_other_entries">  
+
+

<{$smarty.const._AM_PERMISSIONS_DEFINE_VISIBILITY}>

+
+ id="<{$content.fid}>_<{$groupperm.id}>_view_private_elements">  
+   
+ id="<{$content.fid}>_<{$groupperm.id}>_view_globalscope">  
+ id="<{$content.fid}>_<{$groupperm.id}>_view_groupscope">   +
+ +
+ <{$smarty.const._AM_PERMISSIONS_DEFINE_VISIBILITY_DISABLED}> id="<{$content.fid}>_<{$groupperm.id}>_filterentries">   +
+ <{$groupperm.groupfilter}> +
+
+

<{$smarty.const._AM_PERMISSIONS_DEFINE_VIEW_CONDITIONS}>

+
+   
+ id="<{$content.fid}>_<{$groupperm.id}>_publish_reports">  
+ id="<{$content.fid}>_<{$groupperm.id}>_publish_globalscope">  
+ id="<{$content.fid}>_<{$groupperm.id}>_update_other_reports">  
+ id="<{$content.fid}>_<{$groupperm.id}>_delete_other_reports">  
+
+

<{$smarty.const._AM_PERMISSIONS_ADVANCED}>

+
+ id="<{$content.fid}>_<{$groupperm.id}>_import_data">  
+ id="<{$content.fid}>_<{$groupperm.id}>_set_notifications_for_others">  
+ id="<{$content.fid}>_<{$groupperm.id}>_add_proxy_entries">  
+ id="<{$content.fid}>_<{$groupperm.id}>_update_entry_ownership">  
+ id="<{$content.fid}>_<{$groupperm.id}>_ignore_editing_lock">  
+ id="<{$content.fid}>_<{$groupperm.id}>_edit_form">  
+ id="<{$content.fid}>_<{$groupperm.id}>_delete_form">   +
+
+
+
+ <{/foreach}> + <{/if}> +
+ +
+ +
+
+ +