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