You are here

function imagepicker_menu in Image Picker 5.2

Same name and namespace in other branches
  1. 5 imagepicker.module \imagepicker_menu()
  2. 6.2 imagepicker.module \imagepicker_menu()
  3. 7 imagepicker.module \imagepicker_menu()

Implementation of hook_menu().

File

./imagepicker.module, line 42
Enables permitted roles to upload images for insertion into configured nodes.

Code

function imagepicker_menu($may_cache) {
  global $user;
  $items = array();
  if ($may_cache) {
    $items[] = array(
      'path' => 'imagepicker',
      'title' => t('Image picker'),
      'callback' => 'imagepicker_upload',
      'access' => user_access('use imagepicker'),
      'type' => MENU_CALLBACK,
    );
    $items[] = array(
      'path' => 'imagepicker/upload',
      'title' => t('Upload'),
      'access' => user_access('use imagepicker'),
      'type' => MENU_DEFAULT_LOCAL_TASK,
      'weight' => 1,
    );
    $items[] = array(
      'path' => 'imagepicker/browse',
      'title' => t('Browse'),
      'callback' => 'imagepicker_browse',
      'access' => user_access('use imagepicker'),
      'type' => MENU_LOCAL_TASK,
      'weight' => 2,
    );
    if (variable_get('imagepicker_public_enabled', 1)) {
      $items[] = array(
        'path' => 'imagepicker/browse_public',
        'title' => t('Browse Public'),
        'callback' => 'imagepicker_browse_public',
        'access' => user_access('use public imagepicker'),
        'type' => MENU_LOCAL_TASK,
        'weight' => 3,
      );
    }
    $items[] = array(
      'path' => 'imagepicker/groups',
      'title' => t('Groups'),
      'callback' => 'imagepicker_groups',
      'access' => user_access('use imagepicker'),
      'type' => MENU_LOCAL_TASK,
      'weight' => 4,
    );
    $items[] = array(
      'path' => 'imagepicker/edit',
      'title' => t('Edit image'),
      'callback' => 'imagepicker_image_edit',
      'access' => user_access('use imagepicker'),
      'type' => MENU_CALLBACK,
    );
    $items[] = array(
      'path' => 'imagepicker/image',
      'title' => t('Imagepicker'),
      'callback' => 'imagepicker_image_page',
      'access' => TRUE,
      'type' => MENU_CALLBACK,
    );

    // admin settings
    $items[] = array(
      'path' => 'admin/settings/imagepicker',
      'title' => t('Imagepicker'),
      'callback' => 'imagepicker_settings_page',
      'access' => user_access('administer imagepicker'),
      'description' => t('Imagepicker settings.'),
    );
    $items[] = array(
      'path' => 'admin/settings/imagepicker/general',
      'title' => t('General'),
      'description' => t('Imagepicker settings.'),
      'access' => user_access('administer imagepicker'),
      'callback' => 'drupal_get_form',
      'callback arguments' => array(
        'imagepicker_settings_form',
      ),
      'type' => MENU_DEFAULT_LOCAL_TASK,
      'weight' => -10,
    );

    // admin groups and images
    $items[] = array(
      'path' => 'admin/settings/imagepicker/groups',
      'title' => t('Groups'),
      'description' => t('Show user groups.'),
      'access' => user_access('administer imagepicker'),
      'callback' => 'imagepicker_admin_groups',
      'type' => MENU_LOCAL_TASK,
      'weight' => -8,
    );
    $items[] = array(
      'path' => 'admin/settings/imagepicker/groups/autocomplete',
      'title' => t(''),
      'description' => t(''),
      'access' => user_access('administer imagepicker'),
      'callback' => 'imagepicker_group_search_autocomplete',
      'type' => MENU_LOCAL_TASK,
      'weight' => -9,
    );
    $items[] = array(
      'path' => 'admin/settings/imagepicker/images',
      'title' => t('Images'),
      'description' => t('Show user images.'),
      'access' => user_access('administer imagepicker'),
      'callback' => 'imagepicker_admin_images',
      'type' => MENU_LOCAL_TASK,
      'weight' => -9,
    );
    $items[] = array(
      'path' => 'admin/settings/imagepicker/images/autocomplete',
      'title' => t(''),
      'description' => t(''),
      'access' => user_access('administer imagepicker'),
      'callback' => 'imagepicker_user_autocomplete',
      'type' => MENU_LOCAL_TASK,
      'weight' => -9,
    );

    // admin validation
    $items[] = array(
      'path' => 'admin/settings/imagepicker/convert',
      'title' => t('Validate Files'),
      'description' => t('Validate and convert Imagepicker Files.'),
      'access' => user_access('administer imagepicker'),
      'callback' => 'drupal_get_form',
      'callback arguments' => array(
        'imagepicker_convert_form',
      ),
      'type' => MENU_LOCAL_TASK,
      'weight' => -7,
    );
  }

  // in my account
  if (variable_get('imagepicker_account_enabled', 1)) {

    // public
    if (user_access('use public imagepicker') && variable_get('imagepicker_public_enabled', 1) && arg(3) == 'browse_public' && is_numeric(arg(4))) {
      $items[] = array(
        'path' => 'user/' . arg(1) . '/imagepicker',
        'title' => t('My imagepicker'),
        'description' => t('Manage your imagepicker files.'),
        'callback' => 'imagepicker_user_page',
        'access' => user_access('access own imagepicker'),
        'type' => MENU_LOCAL_TASK,
      );
    }
    else {
      $items[] = array(
        'path' => 'user/' . $user->uid . '/imagepicker',
        'title' => t('My imagepicker'),
        'description' => t('Manage your imagepicker files.'),
        'callback' => 'imagepicker_user_page',
        'access' => user_access('access own imagepicker'),
        'type' => MENU_LOCAL_TASK,
      );
    }
  }
  return $items;
}