You are here

function gallery_assist_menu in Gallery Assist 6

Same name and namespace in other branches
  1. 7 gallery_assist.module \gallery_assist_menu()

Implementation of hook_menu().

File

./gallery_assist.module, line 233
Drupal content type with gallery functionality.

Code

function gallery_assist_menu() {
  $items = array();

  // Gallery Assist configuration.
  // Principal path.
  // Provide infomation about GA an submodules.
  $items['admin/settings/gallery_assist'] = array(
    'title' => 'Gallery Assist',
    'page callback' => 'gallery_assist_info_data',
    'access arguments' => array(
      'administer gallery_assist',
    ),
    'file' => 'gallery_assist.admin.inc',
    'description' => 'Manage the gallery_assist asigments and customize the html output.',
    'weight' => 0,
  );

  // Info tab.
  $items['admin/settings/gallery_assist/gallery_assist'] = array(
    'title' => 'Info',
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'weight' => 0,
  );

  // Assignments.
  // Tab containing the node types with assigned Gallery Assist functionality.
  $items['admin/settings/gallery_assist/assignments'] = array(
    'title' => 'Assignments',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'gallery_assist_settings',
    ),
    'access arguments' => array(
      'administer gallery_assist',
    ),
    'file' => 'gallery_assist.admin.inc',
    'description' => 'Manage the gallery_assist asigments and customize the html output.',
    'type' => MENU_LOCAL_TASK,
    'weight' => 1,
  );

  // Assignments.
  // The default tab to manage the settings from the module content type (gallery_assist).
  $items['admin/settings/gallery_assist/assignments/gallery_assist'] = array(
    'title' => 'Gallery Assist',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'gallery_assist_settings',
    ),
    'access arguments' => array(
      'administer gallery_assist',
    ),
    'file' => 'gallery_assist.admin.inc',
    'description' => 'Manage the gallery_assist assignments and customize the html output.',
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'weight' => 0,
  );

  //block/15

  // Upload (ahah callback).
  $items['gallery_assist_upload/js'] = array(
    'page callback' => 'gallery_assist_upload_js',
    'access arguments' => array(
      'create gallery_assist content',
    ),
    'page arguments' => array(
      0,
    ),
    'type' => MENU_CALLBACK,
  );

  // Menu callbacks for content types with gallery assist assignment.
  $types = node_get_types('types');
  $i = 1;
  foreach ($types as $type) {
    if (variable_get('gallery_assist_' . $type->type, 0) == 1 && $type->type != 'gallery_assist') {

      // Assignments.
      // Additional tabs to manage the settings from content types with assigned gallery functionality.
      $items['admin/settings/gallery_assist/assignments/' . $type->type] = array(
        'title' => t($type->name),
        'page callback' => 'drupal_get_form',
        'page arguments' => array(
          'gallery_assist_settings',
          4,
          $type->name,
        ),
        'access arguments' => array(
          'administer gallery_assist_' . $type->type,
        ),
        'file' => 'gallery_assist.admin.inc',
        'type' => MENU_LOCAL_TASK,
        'weight' => $i,
      );

      // Gallery_assist assignments: Upload ahah callback.
      $items['gallery_assist_' . $type->type . '_upload/js'] = array(
        'page callback' => 'gallery_assist_upload_js',
        'access arguments' => array(
          'create gallery_assist_' . $type->type . ' content',
        ),
        'type' => MENU_CALLBACK,
      );

      // Gallery_assist assignments: Show the gallery assist short help on any content type.
      $items['gallery_assist_' . $type->type . '/help'] = array(
        'page callback' => 'gallery_assist_users_help',
        'access arguments' => array(
          'create gallery_assist_' . $type->type . ' content',
        ),
        'type' => MENU_CALLBACK,
      );

      // Gallery_assist assignments: Edit one item. This feature is more confortable and faster in case of many gallery_assist items.
      $items['node/ga_edit_one_' . $type->type . '/%node/%'] = array(
        'title' => t('Gallery Assist'),
        'page callback' => 'drupal_get_form',
        'page arguments' => array(
          'gallery_assist_edit_one',
          2,
          3,
        ),
        //        'access arguments' => array('create gallery assist '. $type->type .' content'),
        'access callback' => 'gallery_assist_check_access',
        'access arguments' => array(
          2,
          'edit',
        ),
        'type' => MENU_CALLBACK,
        'weight' => 1000,
      );

      // Gallery_assist assignments: Save one item ahah callback.
      $items['gallery_assist_save_one_' . $type->type . '_js/js/%'] = array(
        'page callback' => 'gallery_assist_save_one_js',
        'access arguments' => array(
          'create gallery_assist_' . $type->type . ' content',
        ),
        'page arguments' => array(
          2,
        ),
        'type' => MENU_CALLBACK,
      );
    }
  }

  // Extra tab for micelaneous.
  // Here are ordered the gallery assignment control, import settings for mass import etc.
  $items['admin/settings/gallery_assist/extras'] = array(
    'title' => t('Extras'),
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'gallery_assist_settings_extras',
    ),
    'access arguments' => array(
      'administer gallery_assist',
    ),
    'file' => 'gallery_assist.admin.inc',
    'type' => MENU_LOCAL_TASK,
    'weight' => 1000,
  );

  // Default tab.
  $items['admin/settings/gallery_assist/extras/extras'] = array(
    'title' => t('Extras'),
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'gallery_assist_settings_extras',
    ),
    'access arguments' => array(
      'administer gallery_assist',
    ),
    'file' => 'gallery_assist.admin.inc',
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'weight' => 0,
  );

  // Display a item.
  $items['node/%node/%'] = array(
    'page callback' => 'gallery_assist_display_item',
    'page arguments' => array(
      1,
      2,
    ),
    'access arguments' => array(
      'view gallery_assist content',
    ),
    'type' => MENU_CALLBACK,
  );

  // Display a item.
  $items['node/%node/%/view'] = array(
    'title' => t('View'),
    'type' => MENU_DEFAULT_LOCAL_TASK,
  );

  // Display a item.
  $items['node/%node/%/edit'] = array(
    'title' => t('Edit'),
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'gallery_assist_edit_one',
      1,
      2,
    ),
    'access callback' => 'gallery_assist_check_access',
    'access arguments' => array(
      1,
      'edit',
    ),
    'type' => MENU_LOCAL_TASK,
    'weight' => 2,
  );

  // Import (ahah callback).
  $items['gallery_assist_import/js'] = array(
    'page callback' => 'gallery_assist_import_js',
    'access arguments' => array(
      'create gallery_assist content',
    ),
    'type' => MENU_CALLBACK,
  );

  // Save one item (ahah callback).
  $items['gallery_assist_save_one_js/js/%'] = array(
    'page callback' => 'gallery_assist_save_one_js',
    'access arguments' => array(
      'create gallery_assist content',
    ),
    'page arguments' => array(
      2,
    ),
    'type' => MENU_CALLBACK,
  );

  // Separated help page for users with permissions to create and manage gallery_assist galleries.
  $items['gallery_assist/help'] = array(
    'page callback' => 'gallery_assist_users_help',
    'access arguments' => array(
      'create gallery_assist content',
    ),
    'type' => MENU_CALLBACK,
  );

  // Edit one item.
  // This feature is more confortable and faster in case of many gallery_assist items.
  $items['node/ga_edit_one/%node/%'] = array(
    'title' => t('Gallery Assist'),
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'gallery_assist_edit_one',
      2,
      3,
    ),
    //    'access arguments' => array('create gallery assist content'),
    'access callback' => 'gallery_assist_check_access',
    'access arguments' => array(
      2,
      'edit',
    ),
    'type' => MENU_CALLBACK,
    'weight' => 1000,
  );

  // Delete one item.
  // This feature is more confortable and faster in case of many gallery_assist items.
  $items['node/ga_del_one/%node/%'] = array(
    'title' => t('Gallery Assist delete image'),
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'gallery_assist_delete_one',
      2,
      3,
    ),
    //    'access arguments' => array('create gallery assist content'),
    'access callback' => 'gallery_assist_check_access',
    'access arguments' => array(
      2,
      'delete',
    ),
    'type' => MENU_CALLBACK,
  );

  // will come later...
  $items['gallery_assist/panic'] = array(
    'title' => 'Gallery Assist WARNING!',
    'page callback' => 'gallery_assist_panic',
    'access arguments' => array(
      'administer gallery_assist',
    ),
    'type' => MENU_CALLBACK,
  );

  // Tab displayed on the user profile containig all galleries from a user.
  // For visitors (guest or anonimous) are galleries listed only if the parameter "show in user profile" is seted to TRUE.
  $items['user/%user/user_galleries'] = array(
    'title' => 'Galleries',
    'page callback' => 'gallery_assist_list_galleries',
    'page arguments' => array(
      1,
    ),
    'access arguments' => array(
      'access user profiles',
    ),
    'type' => MENU_LOCAL_TASK,
    'weight' => 3,
  );

  //  $items['user/%user/user_galleries2'] = array(
  //    'title' => 'Galleries2',
  //    'page callback' => 'gallery_assist_list_galleries2',
  //    'page arguments' => array(1),
  //    'access arguments' => array('access user profiles'),
  //    'type' => MENU_LOCAL_TASK,
  //   'weight' => 3,
  //  );
  // Node form pager settings.
  $items['gallery_assist_form_pager/%'] = array(
    'page callback' => 'gallery_assist_form_pager_settings',
    'access arguments' => array(
      'administer gallery_assist',
    ),
    'page arguments' => array(
      1,
    ),
    'type' => MENU_CALLBACK,
    'file' => 'gallery_assist.admin.inc',
  );

  // Set an item to gallery cover.
  $items['ga_item_to_cover/%node/%'] = array(
    'page callback' => 'gallery_assist_set_item_to_cover',
    'page arguments' => array(
      1,
      2,
    ),
    'access callback' => 'gallery_assist_check_callback_permission',
    'access arguments' => array(
      1,
      2,
    ),
    'type' => MENU_CALLBACK,
  );
  $items['node/%node/edit/node'] = array(
    'title' => 'Article',
    'type' => MENU_DEFAULT_LOCAL_TASK,
    'weight' => 0,
  );
  $items['node/%node/edit/ga_sort/no_jquery'] = array(
    'title' => 'Sort images',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'gallery_assist_sorting_items_standard',
      1,
    ),
    'access callback' => user_access('create gallery_assist content'),
    'access arguments' => array(
      3,
      1,
    ),
    'type' => MENU_LOCAL_TASK,
    'weight' => 2,
  );
  return $items;
}