You are here

function elfinder_menu in elFinder file manager 7.2

Same name and namespace in other branches
  1. 6.2 elfinder.module \elfinder_menu()
  2. 6 elfinder.module \elfinder_menu()
  3. 7.3 elfinder.module \elfinder_menu()
  4. 7 elfinder.module \elfinder_menu()

Implements hook_menu().

File

./elfinder.module, line 49

Code

function elfinder_menu() {
  $items = array();
  $access = array(
    'use file manager',
  );
  $items['admin/content/files'] = array(
    'title' => 'Files',
    'page callback' => 'elfinder_file_browser',
    'page arguments' => array(
      'backend',
    ),
    'description' => 'Manage media files.',
    'access arguments' => array(
      'administer file manager',
    ),
  );
  $items['admin/content/files']['type'] = MENU_LOCAL_TASK;
  $items['elfinder'] = array(
    'title' => 'File browser',
    'page callback' => 'elfinder_file_browser',
    'page arguments' => array(
      'default',
    ),
    'access arguments' => $access,
    'type' => MENU_CALLBACK,
  );
  $items['elfinder/connector'] = array(
    'title' => 'File browser',
    'page callback' => 'elfinder_filesystemconnector',
    'page arguments' => array(
      NULL,
    ),
    'access arguments' => $access,
    'type' => MENU_CALLBACK,
  );

  // Forced connector relative url mode. For filefield_sources support.
  $items['elfinder/connector/relative'] = array(
    'title' => 'File browser',
    'page callback' => 'elfinder_filesystemconnector',
    'page arguments' => array(
      'relative',
    ),
    'access arguments' => $access,
    'type' => MENU_CALLBACK,
  );
  $settings_page = array(
    'title' => 'elFinder',
    'description' => 'elFinder file manager settings',
    'page callback' => 'elfinder_admin',
    'access arguments' => array(
      'administer file manager',
    ),
    'file' => 'inc/elfinder.admin.inc',
  );
  $items['admin/config/elfinder'] = $items['admin/config/media/elfinder'] = $settings_page;
  $items['admin/config/elfinder']['type'] = MENU_CALLBACK;
  $items['admin/config/media/elfinder/profile'] = array(
    'title' => 'Add Profile',
    'page callback' => 'elfinder_admin_profiles',
    'page arguments' => array(
      'profile_add',
    ),
    'access arguments' => array(
      'administer file manager',
    ),
    'type' => MENU_CALLBACK,
    'file' => 'inc/elfinder.admin.profiles.inc',
  );
  $items['admin/config/media/elfinder/profile/%/delete'] = array(
    'title' => 'Delete Profile',
    'page callback' => 'elfinder_admin_profiles',
    'page arguments' => array(
      'profile_delete',
      5,
    ),
    'access arguments' => array(
      'administer file manager',
    ),
    'type' => MENU_CALLBACK,
    'file' => 'inc/elfinder.admin.profiles.inc',
  );
  $items['admin/config/media/elfinder/profile/%/edit'] = array(
    'title' => 'Edit Profile',
    'page callback' => 'drupal_get_form',
    'page arguments' => array(
      'elfinder_admin_profile',
      'profile_edit',
      5,
    ),
    'access arguments' => array(
      'administer file manager',
    ),
    'type' => MENU_CALLBACK,
    'file' => 'inc/elfinder.admin.profiles.inc',
  );
  $items['elfinder/ahah/dir'] = array(
    'title' => 'JavaScript Volume Add Item',
    'page callback' => 'elfinder_admin_form_dir_js',
    'page arguments' => array(
      'item_add',
    ),
    'access arguments' => array(
      'administer file manager',
    ),
    'type' => MENU_CALLBACK,
    'file' => 'inc/elfinder.admin.profiles.inc',
  );
  $items['elfinder/ahah/rmdir/%'] = array(
    'title' => 'JavaScript Volume Remove Item',
    'page callback' => 'elfinder_admin_form_dir_js',
    'page arguments' => array(
      'item_remove',
      3,
    ),
    'access arguments' => array(
      'administer file manager',
    ),
    'type' => MENU_CALLBACK,
    'file' => 'inc/elfinder.admin.profiles.inc',
  );
  $items['elfinder/upload/fckeditor'] = array(
    'title' => 'FCKeditor Quick Upload',
    'page callback' => 'elfinder_editor_upload_fckeditor',
    'access arguments' => array(
      'access content',
    ),
    'type' => MENU_CALLBACK,
    'file' => 'editors/fckeditor/fckeditor.upload.inc',
  );
  $items['elfinder/upload/ckeditor'] = array(
    'title' => 'CKeditor Quick Upload',
    'page callback' => 'elfinder_editor_upload_ckeditor',
    'access arguments' => array(
      'access content',
    ),
    'type' => MENU_CALLBACK,
    'file' => 'editors/ckeditor/ckeditor.upload.inc',
  );

  /* Getting updated menu items from hook_elfinder_menu */
  $newitems = module_invoke_all('elfinder_menu', $items);
  return $newitems ? $newitems : $items;
}