You are here

function arrange_fields_menu in Arrange Fields 6

Same name and namespace in other branches
  1. 7 arrange_fields.module \arrange_fields_menu()

Implementation of hook_menu().

Return value

array

File

./arrange_fields.module, line 10

Code

function arrange_fields_menu() {
  $items = array();
  $items["arrange-fields/%"] = array(
    "title" => "Arrange fields - Form",
    "page callback" => "arrange_fields_display_form",
    "page arguments" => array(
      1,
    ),
    "access arguments" => array(
      "administer arrange fields",
    ),
    "type" => MENU_CALLBACK,
  );
  $items["arrange-fields/webform/%"] = array(
    "title" => "Arrange fields - Webform",
    "page callback" => "arrange_fields_display_webform",
    "page arguments" => array(
      2,
    ),
    "access arguments" => array(
      "administer arrange fields",
    ),
    "type" => MENU_CALLBACK,
  );
  $items["arrange-fields/other/%"] = array(
    "title" => "Arrange fields - Other Forms",
    "page callback" => "arrange_fields_display_otherform",
    "page arguments" => array(
      2,
    ),
    "access arguments" => array(
      "administer arrange fields",
    ),
    "type" => MENU_CALLBACK,
  );
  $items["admin/content/types/arrange-fields"] = array(
    "title" => "Arrange form fields",
    "page callback" => "arrange_fields_display_main",
    "access arguments" => array(
      "administer arrange fields",
    ),
    "type" => MENU_LOCAL_TASK,
    "weight" => 5,
  );

  // Admin settings menu...
  $items["admin/settings/arrange-fields"] = array(
    "title" => "Arrange fields",
    "description" => "Arrange fields and components on your forms.",
    "page callback" => "arrange_fields_display_main",
    "access arguments" => array(
      "administer arrange fields",
    ),
    "type" => MENU_NORMAL_ITEM,
  );
  $items["admin/settings/arrange-fields/forms"] = array(
    "title" => "Forms",
    "type" => MENU_DEFAULT_LOCAL_TASK,
    "weight" => 1,
  );
  $items["admin/settings/arrange-fields/settings"] = array(
    "title" => "Settings",
    "page callback" => "drupal_get_form",
    "page arguments" => array(
      "arrange_fields_settings_form",
    ),
    "access arguments" => array(
      "administer arrange fields",
    ),
    "type" => MENU_LOCAL_TASK,
    "weight" => 2,
  );
  $items["admin/settings/arrange-fields/export"] = array(
    "title" => "Export",
    "page callback" => "drupal_get_form",
    "page arguments" => array(
      "arrange_fields_export_form",
    ),
    "access arguments" => array(
      "administer arrange fields",
    ),
    "type" => MENU_LOCAL_TASK,
    "weight" => 3,
  );
  $items["admin/settings/arrange-fields/import"] = array(
    "title" => "Import",
    "page callback" => "drupal_get_form",
    "page arguments" => array(
      "arrange_fields_import_form",
    ),
    "access arguments" => array(
      "administer arrange fields",
    ),
    "type" => MENU_LOCAL_TASK,
    "weight" => 4,
  );

  // CCK/Content type menu......
  // Get a list of content types and create menu hooks for them.
  // first, let's make sure that CCK is installed (by checking for the existence
  // of the content_types() function).
  if (function_exists("content_types")) {
    foreach (node_get_types() as $type) {
      $type_name = $type->type;
      $content_type = content_types($type_name);
      $type_url_str = $content_type['url_str'];
      $items["admin/content/node-type/{$type_url_str}/arrange-fields"] = array(
        "title" => "Arrange fields",
        "page callback" => "arrange_fields_display_form",
        "page arguments" => array(
          $type_name,
        ),
        "access arguments" => array(
          "administer arrange fields",
        ),
        "type" => MENU_LOCAL_TASK,
        "weight" => 3,
      );
    }
  }

  // If webform has been installed, create the menu hooks so it ties in
  // nicely with webform.
  if ($GLOBALS["arrange_fields_webform_installed"]) {

    // I will include menu hooks for both major versions of webform I wish
    // to support.  Having both here shouldn't harm anything.
    // This is for webform 2.9
    $items["node/%webform_menu/edit/arrange-fields"] = array(
      "title" => "Arrange fields",
      "page callback" => "arrange_fields_display_webform",
      "page arguments" => array(
        1,
      ),
      "access arguments" => array(
        "administer arrange fields",
      ),
      "type" => MENU_LOCAL_TASK,
      "weight" => 3,
    );

    // This is for webform 3.x.
    $items["node/%webform_menu/webform/arrange-fields"] = array(
      "title" => "Arrange fields",
      "page callback" => "arrange_fields_display_webform",
      "page arguments" => array(
        1,
      ),
      "access arguments" => array(
        "administer arrange fields",
      ),
      "type" => MENU_LOCAL_TASK,
      "weight" => 3,
    );
  }

  // Menu hooks for the two popups used with CCK and webform fields...
  $items["arrange-fields/popup-edit-field"] = array(
    "title" => "Arrange fields - Form",
    "page callback" => "arrange_fields_popup_edit_field",
    "access arguments" => array(
      "administer arrange fields",
    ),
    "type" => MENU_CALLBACK,
  );
  $items["arrange-fields/popup-close-window"] = array(
    "title" => "Arrange fields - Form",
    "page callback" => "arrange_fields_popup_close_window",
    "access arguments" => array(
      "administer arrange fields",
    ),
    "type" => MENU_CALLBACK,
  );
  return $items;
}