You are here

function kwresearch_node_insert in Keyword Research 7

Implements hook_node_insert().

File

./kwresearch.module, line 1049

Code

function kwresearch_node_insert($node) {
  kwresearch_node_save($node);
  return;

  // TODO save added page_keyword saved to as $_SESSION['kwresearch']['node_add']['page_keywords'][$keyword] = $page_keyword_obj;
  if (TRUE || TRUE) {
    static $vocab_filtered = FALSE;
    if (!($kw_vid = variable_get('kwresearch_keyword_sync_vocabulary', 0))) {
      return;
    }
    $processed = array();
    $page_keywords = kwresearch_load_page_keywords_by_page($node->nid);
    foreach ($page_keywords as $page_keyword) {
      $processed[$page_keyword->kid] = 0;
    }
    $terms_str = $node->taxonomy['tags'][$kw_vid];
    $terms = explode(',', $terms_str);
    $node_terms_str = '';
    $needs_filtering = 1;
    if (is_array($terms)) {
      foreach ($terms as $term) {
        $page_priority = $site_priority = $site_value = FALSE;
        list($term, $args) = explode('[', $term);
        if (substr($args, -1) == ']') {
          $args = substr($args, 0, -1);
          list($page_priority, $site_priority, $site_value) = explode(';', $args);
        }
        $term = trim($term);
        if (!isset($page_keyword_obj) || !$page_keyword_obj) {
          $page_keyword_obj = new stdClass();
          if (isset($page_priority) && $page_priority) {
            $page_keyword_obj->priority = $page_priority;
            $needs_filtering = 1;
          }
          else {
            $page_keyword_obj->priority = 50;
          }
        }
        $kid = kwresearch_save_page_keyword($node->nid, $term, NULL, $page_keyword_obj);
        $processed[$kid] = 1;
        $node_terms_str .= ($node_terms_str ? ',' : '') . $term;
      }
    }

    // save filtered taxonomy
    if (!$vocab_filtered && $needs_filtering) {
      $vocab_filtered = TRUE;
      $node->taxonomy['tags'][$kw_vid] = $node_terms_str;
      node_save($node);
    }

    // delete keywords not submitted

    //$page_keywords = kwresearch_load_page_keywords_by_page($node->nid);
    $page_keyword_obj = new stdClass();
    $page_keyword_obj->priority = 0;
    foreach ($processed as $kid => $v) {
      if (!$v) {
        kwresearch_delete_page_keyword($kid, $node->nid);
      }
    }
  }
}