diff --git a/nodefamily.module b/nodefamily.module index c73fd83..8cfd527 100644 --- a/nodefamily.module +++ b/nodefamily.module @@ -6,24 +6,6 @@ * Builds node families based on content types and author information */ - -/** - * Implementation of hook_menu(). - */ -function nodefamily_menu($may_cache) { - $items = array(); - - if ($may_cache) { - $items[] = array( - 'path' => 'nodefamily', - 'callback' => 'nodefamily_lonely_node_page_args', - 'access' => user_access('access content'), - 'type' => MENU_CALLBACK, - ); - } - return $items; -} - /** * Determine if adding the relation between parent and child would * result in a cycle. @@ -655,155 +637,6 @@ function nodefamily_relation_load_siblings(&$node, $status = 1, $rel_name = 'nod */ - -/** - * Provide a unique URL for adding/editing nodes of types - * with a maximum population of one. - */ -function nodefamily_lonely_node_page_args() { - - $types = node_get_types(); - $typename = arg(1); - - if (!$types[$typename] || nodefamily_content_type_get_max($typename) != 1) { - drupal_not_found(); - exit; - } - - $uid = (arg(2) && is_numeric(arg(2))) ? arg(2) : NULL; - - return nodefamily_lonely_node_page($typename, $uid); -} - - -function nodefamily_lonely_node_page($typename, $uid = NULL) { - global $user; - - $node = node_load(array('type' => $typename, 'uid' => $uid ? $uid : $user->uid)); - - if (!$node) { - // show add form - return node_add($typename); - } - else if (node_access('update', $node)) { - //show edit form - return node_page_edit($node); - } - drupal_not_found(); -} - - - -/** - * Pageroute integration - */ - -/** - * Implementation of hook_pageroute_info(). - */ -function nodefamily_pageroute_info() { - return array( - 'manage_lonely' => array('name' => t('Lonely node management'), 'base' => 'nodefamily', 'default_target' => PAGEROUTE_FORWARD), - 'view_lonely' => array('name' => t('Lonely node display'), 'base' => 'nodefamily'), - ); -} - -/* - * Implementation of pageroutes' hook_page() - */ -function nodefamily_page_manage_lonely($route, $page, $form) { - $task = pageroute_page_arg($page, 0); - if ($task == 'delete') { - $page->arg_offset++; //the delete subpage is to be shown.. - } - $node = node_load(array( - 'type' => $page->options['content-type'], - 'uid' => $uid = pageroute_page_get_uid($page), - )); - //do we need to show the delete confirm form? - if ($task == 'delete') { - return pageroute_node_delete_confirm($node, $page); - } - //the node edit form page type will present an add form for us, if there is no node id - return pageroute_page_edit($route, $page, $form, $node->nid ? $node->nid : FALSE); -} - -/* - * Implementation of pageroutes' hook_page() - */ -function nodefamily_page_view_lonely($route, $page, $form) { - $node = node_load(array( - 'type' => $page->options['content-type'], - 'uid' => pageroute_page_get_uid($page), - )); - if ($node->nid && node_access('view', $node)) { - $page->options['nid'] = $node->nid; - return pageroute_page_view($route, $page, $form); - } - else { - $form['empty'] = array('#value' => theme('nodefamily_lonely_node_view_empty')); - return $form; - } -} - -function theme_nodefamily_lonely_node_view_empty() { - return '