You are here

function _module_grants_monitor_accessible_content_summary in Module Grants 6.4

Same name and namespace in other branches
  1. 6.3 module_grants_monitor/module_grants_monitor.module \_module_grants_monitor_accessible_content_summary()

Similar to module_grants_monitor_accessible_content_summary (which it calls) but with a different parameter list based on the (lack of) default tabs, as opposed to content properties.

Parameters

$tab1:

$tab2:

$account:

Return value

unknown_type

1 string reference to '_module_grants_monitor_accessible_content_summary'
module_grants_monitor_menu in module_grants_monitor/module_grants_monitor.module
Implementation of hook_menu().

File

module_grants_monitor/module_grants_monitor.module, line 287

Code

function _module_grants_monitor_accessible_content_summary($tab1 = NULL, $tab2 = NULL, $account = NULL) {

  // First 4 Module Grants Monitor permissions pertain to 1st row of tabs
  $permissions_tab_row1 = array_slice(module_grants_monitor_perm(), 0, 4);

  // 2nd row has Revisioning perm followed by remaining Module Grants Monitor perms
  $permissions_tab_row2 = module_exists('revisioning') ? array(
    'access Pending tab',
  ) : array();
  $permissions_tab_row2 = array_merge($permissions_tab_row2, array_slice(module_grants_monitor_perm(), 4));
  if (!$tab1) {
    $tab1 = user_tools_find_first_permission($permissions_tab_row1);
  }
  elseif (!user_access($tab1, $account)) {
    unset($tab1);
  }
  if (!$tab2) {
    $tab2 = user_tools_find_first_permission($permissions_tab_row2);
  }
  elseif (!user_access($tab2, $account)) {
    unset($tab2);
  }
  if (!($tab1 && $tab2)) {
    drupal_set_message(t('For you to see the list of Accessible content your administrator must give you permissions to one or more tabs of each of the two tab rows.'), 'warning');
    return '';
  }
  $access = 'view';
  $user_filter = NO_FILTER;
  $published = NO_FILTER;
  $is_moderated = NO_FILTER;
  $is_pending = FALSE;
  switch ($tab1) {
    case 'access I Created tab':
      $user_filter = I_CREATED;
      break;
    case 'access I Last Modified tab':
      $user_filter = I_LAST_MODIFIED;
      break;
    case 'access I Can Edit tab':
      $access = 'update';
      break;
  }
  switch ($tab2) {
    case 'access Published tab':
      $published = TRUE;
      break;
    case 'access Unpublished tab':
      $published = FALSE;
      break;
    case 'access Pending tab':
      $is_moderated = user_access('administer nodes') ? NO_FILTER : TRUE;
      $is_pending = TRUE;
      break;
  }
  return module_grants_monitor_accessible_content_summary($access, $published, $user_filter, $is_moderated, $is_pending);
}