You are here

function forum_CrumbsMonoPlugin_forumThreadCreate::findParent in Crumbs, the Breadcrumbs suite 7.2

Same name and namespace in other branches
  1. 7 plugins/crumbs.forum.inc \forum_CrumbsMonoPlugin_forumThreadCreate::findParent()

Set a parent path for e.g. node/add/(type)/(tid), where

  • (type) a forum-enabled node type, e.g. "forum".
  • (tid) is the forum term tid.

Overrides crumbs_MonoPlugin_FindParentInterface::findParent

File

plugins/crumbs.forum.inc, line 153

Class

forum_CrumbsMonoPlugin_forumThreadCreate

Code

function findParent($path, $item) {
  if (substr($path, 0, 9) === 'node/add/' && preg_match('#^node/add/([^/]+)/(\\d+)$#', $path, $m)) {
    $type = $m[1];
    $tid = (int) $m[2];

    // We need to find out if the node type is forum-enabled.
    // See _forum_node_check_node_type() in forum.module.
    $field = field_info_instance('node', 'taxonomy_forums', $type);
    if (is_array($field)) {

      // That's a node/add/(type)/(tid) page for a forum-enabled node type.
      $term = taxonomy_term_load($item['original_map'][3]);
      if ($term instanceof stdClass && 'forums' === $term->vocabulary_machine_name) {
        return 'forum/' . $term->tid;
      }
    }
  }
  return NULL;
}