Mercurial > hg > MPIWG-drupal-modules
comparison sites/all/modules/custom/digitalobjects/digitalobjects.import.php @ 0:015d06b10d37 default tip
initial
| author | dwinter |
|---|---|
| date | Wed, 31 Jul 2013 13:49:13 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:015d06b10d37 |
|---|---|
| 1 <?php | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 function digitalobjects_importPagesFromFile(){ | |
| 8 $filename = "/tmp/maps.json"; | |
| 9 # $filename = "/tmp/echo.json"; | |
| 10 $handle = fopen($filename, "r"); | |
| 11 $contents = fread($handle, filesize($filename)); | |
| 12 fclose($handle); | |
| 13 | |
| 14 $pages = drupal_json_decode($contents); | |
| 15 | |
| 16 $cnt=0; | |
| 17 foreach ($pages as $key => $page){ | |
| 18 | |
| 19 $page = base64_decode($page); | |
| 20 digitalobjects_importPage($page,$key); | |
| 21 $cnt++; | |
| 22 | |
| 23 } | |
| 24 | |
| 25 | |
| 26 } | |
| 27 | |
| 28 | |
| 29 function digitalobjects_importPage($page,$key){ | |
| 30 | |
| 31 $baseUrl = "http://localhost:18080/echo_nav/echo_pages/content/scientific_revolution/harriot/maps/"; | |
| 32 | |
| 33 $fnames = explode("/",$key); | |
| 34 | |
| 35 if ($fnames[1] != "maps"){ | |
| 36 dpm($fnames[0]); | |
| 37 return; | |
| 38 } | |
| 39 | |
| 40 $fname = str_replace(".pt","1_1.png",$fnames[sizeof($fnames)-1]); | |
| 41 | |
| 42 $image = file_get_contents($baseUrl . $fname); // string | |
| 43 $file = file_save_data($image, 'public://' . $fname,FILE_EXISTS_REPLACE); | |
| 44 | |
| 45 | |
| 46 | |
| 47 | |
| 48 $node = new stdClass(); | |
| 49 $node->type = 'map_page'; | |
| 50 node_object_prepare($node); | |
| 51 | |
| 52 $node->body['und'][0]['value'] = check_markup($page,'full_html'); | |
| 53 | |
| 54 $node->body['und'][0]['format'] = 'full_html'; | |
| 55 | |
| 56 $node->path['alias']="harriot/maps/" . $fnames[sizeof($fnames)-1]; | |
| 57 | |
| 58 $node->title = "_".$key; | |
| 59 | |
| 60 | |
| 61 $node->language = LANGUAGE_NONE; | |
| 62 | |
| 63 | |
| 64 $node->field_echopath['und'][0]['value']=$key; | |
| 65 | |
| 66 $node->field_image[LANGUAGE_NONE]['0']['fid'] = $file->fid; | |
| 67 $node = node_submit($node); | |
| 68 | |
| 69 | |
| 70 | |
| 71 | |
| 72 /*$node->field_admintag['und'][0] = array ( | |
| 73 'tid' => $tid, | |
| 74 | |
| 75 );*/ | |
| 76 // Try to set your custom field | |
| 77 | |
| 78 $node = node_submit($node); | |
| 79 | |
| 80 node_save($node); | |
| 81 | |
| 82 } | |
| 83 | |
| 84 | |
| 85 | |
| 86 function digitalobjects_importCollectionFromFile() { | |
| 87 | |
| 88 | |
| 89 $filename = "/tmp/china.json"; | |
| 90 $handle = fopen($filename, "r"); | |
| 91 $contents = fread($handle, filesize($filename)); | |
| 92 fclose($handle); | |
| 93 | |
| 94 $collection = drupal_json_decode($contents); | |
| 95 digitalobjects_importCollection($collection); | |
| 96 } | |
| 97 | |
| 98 function digitalobjects_importCollection($collection,$tid){ | |
| 99 | |
| 100 $node = new stdClass(); | |
| 101 $node->type = 'digitalcollection'; | |
| 102 node_object_prepare($node); | |
| 103 | |
| 104 $node->body['und'][0]['value'] = check_markup($collection['description'],'full_html'); | |
| 105 | |
| 106 $node->body['und'][0]['format'] = 'full_html'; | |
| 107 | |
| 108 | |
| 109 $node->title = $collection['title']; | |
| 110 | |
| 111 | |
| 112 $node->language = LANGUAGE_NONE; | |
| 113 | |
| 114 | |
| 115 $node->field_echopath['und'][0]['value']=$collection['echo_path']; | |
| 116 $node->field_label['und'][0]['value']=$collection['label']; | |
| 117 $node = node_submit($node); | |
| 118 | |
| 119 | |
| 120 $cnt=0; | |
| 121 foreach ($collection['content'] as $cont){ | |
| 122 print $cont; | |
| 123 if (($cont != "") && ($cont !=null)){ | |
| 124 $node->field_objid['und'][$cnt]['objid']=$cont; | |
| 125 $cnt++; | |
| 126 | |
| 127 | |
| 128 } | |
| 129 } | |
| 130 | |
| 131 $node->field_admintag['und'][0] = array ( | |
| 132 'tid' => $tid, | |
| 133 | |
| 134 ); | |
| 135 // Try to set your custom field | |
| 136 | |
| 137 $node = node_submit($node); | |
| 138 | |
| 139 node_save($node); | |
| 140 | |
| 141 } | |
| 142 | |
| 143 function digitalobjects_importCollections($tid) { | |
| 144 $filename = "/tmp/export.json"; | |
| 145 # $filename = "/tmp/echo.json"; | |
| 146 $handle = fopen($filename, "r"); | |
| 147 $contents = fread($handle, filesize($filename)); | |
| 148 fclose($handle); | |
| 149 | |
| 150 $collections = drupal_json_decode($contents); | |
| 151 | |
| 152 $cnt=0; | |
| 153 foreach ($collections as $key => $collection){ | |
| 154 digitalobjects_importCollection($collection,$tid); | |
| 155 $cnt++; | |
| 156 | |
| 157 } | |
| 158 | |
| 159 } |
