SKARP Lägg till kategorier, hierarkisk

<?php
 
print '<p>Börjar</p>';
 
$nid = 204; // First node
 
 
for ($n=1; $n<1000; $n++){ // (egentligen oändlig loop, men för säkerthets inte mer än 1000
   
print "<hr><p>nid: $nid</p>";
    if (
$nid == 471) {break;}  // Last node (kommer inte med, vilket är ok)

// Lägg in termen
$vid = 6;
$node = node_load($nid);
$vid_value = '"'.trim($node->nr . ' ' . check_plain($node->title)).'"';
print
"<p>vid_value: $vid_value</p>";
$terms = array();
$terms['tags'] = array(6 => $vid_value);  // 6 = vokabulärens id
taxonomy_node_save($nid, $terms);

// Spara 'tid' (taxonomy id)
$nodeTerms = taxonomy_node_get_terms_by_vocabulary($nid, $vid); // Den här lägger besvärligt
                                       // nog inte in termen på position 0 eller 1 utan på
                                       // tid-platsen
print "<p>nodeTerm:s</p>";
print_r($nodeTerms);
foreach(
$nodeTerms as $nodeTerm){ // Enda sättet jag kommer på att få ut detta ensamma
                                  // värde som är på en godtyckligt plats i arrayen.
 
print "<p>nodeTerm</p>";
 
print_r($nodeTerm);
  print(
"<p>tid: {$nodeTerm->tid}</p>");
  break;
}
$query = "UPDATE anvbok_kapitel SET tid = '{$nodeTerm->tid}' WHERE nid='$nid'";
db_query($query);
$query = "UPDATE anvbok_rad SET tid = '{$nodeTerm->tid}' WHERE nid='$nid'";
db_query($query);

// Sätt noden som barn till (ev) föräldernod
$foralder_url = db_result(db_query("SELECT foralder_url FROM anvbok_rad WHERE nid ='$nid' UNION SELECT foralder_url FROM anvbok_kapitel WHERE nid ='$nid'"));
if (
$foralder_url > ''){
 
$foralder_nid = urlToNid($foralder_url);
  print
"<p>foralder_nid: $foralder_nid</p>";
 
$foralder_tid = db_result(db_query("SELECT tid FROM anvbok_rad WHERE nid ='$foralder_nid' UNION SELECT tid FROM anvbok_kapitel WHERE nid ='$foralder_nid'"));

 
//
 
print "<p>nodeTerm->tid</p>";
 
print_r($nodeTerm->tid);
 
$edit = get_object_vars(taxonomy_get_term($nodeTerm->tid)); // get_object_vars används för
                                                  // att få $edit som array, eftersom objekt
                                                  // verkar ge problem i taxonomy_save_term
 
print "<p>edit 1:</p>";
 
print_r($edit);
  print
"<p>-</p>";
 
$edit['parent'] = $foralder_tid; //49
 
print "<p>edit 2:</p>";
 
print_r($edit);
 
 
taxonomy_save_term($edit);

}
   



// Hitta nästa nod
$query = "SELECT next_url FROM anvbok_rad WHERE nid ='$nid' UNION SELECT next_url FROM anvbok_kapitel WHERE nid ='$nid'";
$result = db_query($query);
if (
$result) {
 
$resultatet = db_fetch_array($result);
  print
"<p>next_url: $resultatet[next_url]</p>";
} else {
  print(
mysql_error());
}
$nxturl = $resultatet[next_url];

$query = "SELECT nid FROM anvbok_rad WHERE url='$resultatet[next_url]' UNION SELECT nid FROM anvbok_kapitel WHERE url='$resultatet[next_url]'";
$result = db_query($query);
if (
$result) {
 
$resultatet = db_fetch_array($result);
  print
"<p>next nid: ".$resultatet[nid]."</p>";
 
$nid = $resultatet[nid];
}

}
print
'<p>Klar</p>';
?>