You are here

function flagging_dialog_menu in Flagging Form 7.3

Same name and namespace in other branches
  1. 7 flagging_dialog.module \flagging_dialog_menu()

Implements hook_menu().

File

./flagging_dialog.module, line 34
Provides menu callbacks for displaying the flagging forms in a dialog box.

Code

function flagging_dialog_menu() {

  // We wrap the CRUD forms of flagging_form.module with ajax versions:
  //
  // 1. We duplicate the paths of flagging_form.module, but append '/ajax' to them.
  //
  // 2. To the outgoing flagging_form.module links we append '/nojs', which Drupal
  // replaces with '/ajax' if JavaScript is used.
  // Editing a flagging.
  $items['flag/flagging/%flag/%content_id/edit/ajax'] = array(
    'page callback' => 'flagging_dialog_edit_flagging',
    'page arguments' => array(
      2,
      3,
    ),
    'title callback' => '_flag_menu_title',
    'title arguments' => array(
      2,
    ),
    'access callback' => '_flagging_form_flagging_access',
    'access arguments' => array(
      'update',
      2,
      3,
    ),
    'delivery callback' => 'ajax_deliver',
  );

  // Creating a flagging.
  $items['flag/flagging/%flag/%content_id/create/ajax'] = array(
    'page callback' => 'flagging_dialog_edit_flagging',
    'page arguments' => array(
      2,
      3,
    ),
    'title callback' => '_flag_menu_title',
    'title arguments' => array(
      2,
    ),
    'access callback' => '_flagging_form_flagging_access',
    'access arguments' => array(
      'create',
      2,
      3,
    ),
    'delivery callback' => 'ajax_deliver',
  );

  // Deleting a flagging.
  $items['flag/flagging/%flag/%content_id/delete/ajax'] = array(
    'page callback' => 'flagging_dialog_delete_flagging',
    'page arguments' => array(
      2,
      3,
    ),
    'title callback' => '_flag_menu_title',
    'title arguments' => array(
      2,
    ),
    'access callback' => '_flagging_form_flagging_access',
    'access arguments' => array(
      'delete',
      2,
      3,
    ),
    'delivery callback' => 'ajax_deliver',
  );
  return $items;
}