Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. <?php
  2. use Drupal\node\Entity\Node;
  3.  
  4. $message = "Click button to start Drupal 6 DB to Drupal 8 entityreference field conversion.";
  5.  
  6. $field = "field_name";
  7. $target_field = "field_name";
  8.  
  9. $node_type = "type_name";
  10.  
  11. $host = "localhost";
  12. $user = "username";
  13. $pass = "thepassword";
  14. $db = "databasename";
  15.  
  16. if (isset($_POST['convert'])) {
  17.  
  18. $content_field = "content_".$field;
  19.  
  20. // when taxonomy ref use instead: $field_value = $field."_value"
  21. $field_value = $field."_nid";
  22.  
  23. mysql_connect($host, $user, $pass) or die("Could not connect: " . mysql_error());
  24. mysql_select_db($db);
  25.  
  26. $nids = \Drupal::entityQuery('node')->condition('type', $node_type)->execute();
  27. foreach ($nids as $nid) {
  28. print($nid.' ');
  29. $node = Node::load($nid);
  30. $result = mysql_query("SELECT `".$field_value."` FROM `".$content_field."` WHERE `nid` = ".$nid);
  31. $references_array = array();
  32. while($row = mysql_fetch_array($result)){
  33. $references_array[] = array(
  34. 'target_id' => $row[0]
  35. );
  36. }
  37. $references_array = array_values(array_unique($references_array, SORT_REGULAR));
  38. $node->$target_field = $references_array;
  39. $node->save();
  40. }
  41. $message = "Conversion completed.";
  42. }
  43.  
  44. ?>
  45. <br/><br/>
  46. <?php
  47. echo $message;
  48. ?>
  49. <br/><br/>
  50. <form method="post">
  51. <input type="submit" name="convert" value="convert">
  52. </form>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement