/[drupal]/contributions/modules/taxonomy_manager/taxonomy_manager.admin.inc
ViewVC logotype

Diff of /contributions/modules/taxonomy_manager/taxonomy_manager.admin.inc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1.2.17.2.21, Mon Aug 10 13:47:46 2009 UTC revision 1.1.2.17.2.22, Tue Aug 11 06:56:26 2009 UTC
# Line 1  Line 1 
1  <?php  <?php
2  // $Id: taxonomy_manager.admin.inc,v 1.1.2.17.2.20 2009/08/07 08:20:22 mh86 Exp $  // $Id: taxonomy_manager.admin.inc,v 1.1.2.17.2.21 2009/08/10 13:47:46 mh86 Exp $
3    
4  /**  /**
5   *   *
# Line 2116  function taxonomy_manager_merge($main_te Line 2116  function taxonomy_manager_merge($main_te
2116    $voc = taxonomy_vocabulary_load($vid);    $voc = taxonomy_vocabulary_load($vid);
2117    $merging_terms_parents = array();    $merging_terms_parents = array();
2118    
   if ($voc->hierarchy == 2 && $new_inserted && $options['collect_parents']) {  
     db_query("DELETE FROM {term_hierarchy} WHERE parent = 0 AND tid = %d", $main_term);  
   }  
   
2119    //TODO: add hook, so that other modules can consider changes    //TODO: add hook, so that other modules can consider changes
2120    foreach ($merging_terms as $merge_term) {    foreach ($merging_terms as $merge_term) {
2121      if ($merge_term != $main_term) {      if ($merge_term != $main_term) {
# Line 2133  function taxonomy_manager_merge($main_te Line 2129  function taxonomy_manager_merge($main_te
2129          }          }
2130        }        }
2131    
       if ($voc->hierarchy == 1) {  //sinlge hierarchy  
         $parents = taxonomy_get_parents($merge_term);  
         $parent = array_shift($parents);  
         $merging_terms_parents[$parent->tid] = $parent->tid;  
       }  
2132        if ($options['collect_parents']) {        if ($options['collect_parents']) {
2133          $parents = taxonomy_get_parents($merge_term);          $parents = taxonomy_get_parents($merge_term);
2134          foreach ($parents as $parent_tid => $parent_term) {          foreach ($parents as $parent_tid => $parent_term) {
2135               $merging_terms_parents[$parent_tid] = $parent_tid;
2136            if (!db_result(db_query("SELECT COUNT(*) FROM {term_hierarchy} WHERE tid = %d AND parent = %d", $main_term, $parent_tid))) {            if (!db_result(db_query("SELECT COUNT(*) FROM {term_hierarchy} WHERE tid = %d AND parent = %d", $main_term, $parent_tid))) {
2137               db_query("INSERT INTO {term_hierarchy} (tid, parent) VALUES (%d, %d)", $main_term, $parent_tid);               db_query("INSERT INTO {term_hierarchy} (tid, parent) VALUES (%d, %d)", $main_term, $parent_tid);
2138            }            }
# Line 2185  function taxonomy_manager_merge($main_te Line 2177  function taxonomy_manager_merge($main_te
2177        taxonomy_manager_delete_terms(array($merge_term));        taxonomy_manager_delete_terms(array($merge_term));
2178      }      }
2179    }    }
2180      taxonomy_manager_update_voc($vid, $merging_terms_parents);
2181    if ($voc->hierarchy == 1 && count($merging_terms_parents) == 1 && $new_inserted) {    if ($options['collect_parents'] && (db_result(db_query("SELECT COUNT(*) FROM {term_hierarchy} WHERE tid = %d", $main_term)) > 1)) {
2182      db_query("UPDATE {term_hierarchy} SET parent = %d WHERE tid = %d", array_shift($merging_terms_parents), $main_term);      db_query("DELETE FROM {term_hierarchy} WHERE parent = 0 AND tid = %d", $main_term);
2183    }    }
   
2184    taxonomy_manager_merge_history_update($main_term, $merging_terms);    taxonomy_manager_merge_history_update($main_term, $merging_terms);
2185  }  }
2186    

Legend:
Removed from v.1.1.2.17.2.21  
changed lines
  Added in v.1.1.2.17.2.22

  ViewVC Help
Powered by ViewVC 1.1.2