View source
<?php
function outline_child_pages_permission() {
return array(
'outline own pages' => array(
'title' => t('outline own pages'),
'description' => t('Grants access to use outline designer for content you own'),
),
);
}
function outline_child_pages_menu() {
$items['node/%node/outline/children'] = array(
'access callback' => '_outline_child_pages_access',
'access arguments' => array(
1,
'tab',
),
'page callback' => 'drupal_get_form',
'page arguments' => array(
'book_admin_edit',
1,
),
'title' => 'Child pages',
'file' => 'book.admin.inc',
'file path' => drupal_get_path('module', 'book'),
'weight' => 5,
'type' => MENU_LOCAL_TASK,
);
$items['outline_designer/ocp_ajax'] = array(
'access callback' => '_outline_child_pages_ajax_access',
'page callback' => '_outline_designer_ajax',
'page arguments' => array(
2,
3,
4,
5,
6,
7,
),
'type' => MENU_CALLBACK,
);
return $items;
}
function outline_child_pages_menu_alter(&$items) {
if (!module_exists('book_copy')) {
$items['node/%node/outline/outline'] = $items['node/%node/outline'];
$items['node/%node/outline/outline']['type'] = MENU_DEFAULT_LOCAL_TASK;
}
}
function _outline_child_pages_ajax_access() {
return user_access('administer book outlines') || user_access('use outline designer') || user_access('outline own pages') && user_access('add content to books');
}
function _outline_child_pages_access($node, $type) {
return user_access('administer book outlines') || user_access('outline own pages') && user_access('add content to books') && node_access('update', $node);
}
function outline_child_pages_form_alter(&$form, $form_state, $form_id) {
if ($form_id == 'book_admin_edit' && arg(0) == "node" && arg(2) == 'outline' && arg(3) == 'children') {
_outline_designer_book_admin_form_alter($form, $form_state, $form_id, 'outline_designer/ocp_ajax/');
}
elseif ($form_id == 'book_admin_edit' && arg(0) == 'outline_designer' && arg(1) == 'ocp_ajax') {
_outline_designer_book_admin_form_alter($form, $form_state, $form_id, 'outline_designer/ocp_ajax/');
}
}