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 } |