You are here

public function menu_editor_term_creation_class_menu_editor_Listener::notifyItem__node__ in Menu Editor 6.3

Listener callback for submitted menu items with router path 'node/%'

File

me_term_creation/menu_editor_term_creation.module, line 113

Class

menu_editor_term_creation_class_menu_editor_Listener
Implementation of class_menu_editor_Listener (which is a new type of hook, hehe)

Code

public function notifyItem__node__($item, $trail) {
  $m = array();
  if (!preg_match('/^node\\/(\\d+)$/', $item['link_path'], $m)) {
    return;
  }
  $vid = $this->_vocabulary->vid;
  $nid = (int) $m[1];
  if (!empty($item['plid']) && isset($this->_terms_by_mlid[$item['plid']])) {
    $parent_term = $this->_terms_by_mlid[$item['plid']];
  }
  if ($vid && isset($parent_term) && $parent_term->vid === $vid) {
    $parent_tid = $parent_term->tid;
  }
  else {
    $parent_tid = 0;
  }
  $node = db_fetch_object(db_query('SELECT nid, vid FROM node WHERE nid = %d', $nid));
  taxonomy_node_delete_revision($node);
  if ($parent_tid) {
    db_query('INSERT INTO {term_node} (nid, vid, tid) VALUES (%d, %d, %d)', $nid, $node->vid, $parent_tid);
  }
}