annotate sites/all/modules/custom/digitalobjects/digitalobject_reader.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 /* function reads the metadata from index meta and gives it back to the
015d06b10d37 initial
dwinter
parents:
diff changeset
4 * template.
015d06b10d37 initial
dwinter
parents:
diff changeset
5 */
015d06b10d37 initial
dwinter
parents:
diff changeset
6
015d06b10d37 initial
dwinter
parents:
diff changeset
7 #http://localhost:18080/ECHOdocuView/getDocinfo?mode=imagepath&url=http://md.mpiwg-berlin.mpg.de/indexMeta/MPIWG:WEBVEZ22
015d06b10d37 initial
dwinter
parents:
diff changeset
8 function digitalobject_getMetadata($objid){
015d06b10d37 initial
dwinter
parents:
diff changeset
9
015d06b10d37 initial
dwinter
parents:
diff changeset
10 $base = variable_get('digitalobjects_docuviewer_path');
015d06b10d37 initial
dwinter
parents:
diff changeset
11 #$path="http://localhost:18080/ECHOdocuView/getDocinfoJSON?mode=texttool&url=http://md.mpiwg-berlin.mpg.de/indexMeta/" . $objid;
015d06b10d37 initial
dwinter
parents:
diff changeset
12 $path = $base . "/getDocinfoJSON?mode=texttool&url=http://md.mpiwg-berlin.mpg.de/indexMeta/" . $objid;
015d06b10d37 initial
dwinter
parents:
diff changeset
13 $request = drupal_http_request($path);
015d06b10d37 initial
dwinter
parents:
diff changeset
14 #TODO give out a status message reports if servers is not available
015d06b10d37 initial
dwinter
parents:
diff changeset
15
015d06b10d37 initial
dwinter
parents:
diff changeset
16 if (isset($request->data)){
015d06b10d37 initial
dwinter
parents:
diff changeset
17 return drupal_json_decode($request->data);
015d06b10d37 initial
dwinter
parents:
diff changeset
18 }
015d06b10d37 initial
dwinter
parents:
diff changeset
19 else {
015d06b10d37 initial
dwinter
parents:
diff changeset
20 return null;
015d06b10d37 initial
dwinter
parents:
diff changeset
21 }
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 function digitalobjects_getBibFormattedMetaData($bibdata){
015d06b10d37 initial
dwinter
parents:
diff changeset
26 $bd = drupal_json_encode($bibdata);
015d06b10d37 initial
dwinter
parents:
diff changeset
27
015d06b10d37 initial
dwinter
parents:
diff changeset
28 $base = variable_get('digitalobjects_bibdata_path');
015d06b10d37 initial
dwinter
parents:
diff changeset
29 #$path="http://localhost:18080/metadata/getBibFormattedMetaDataJSON";
015d06b10d37 initial
dwinter
parents:
diff changeset
30 $path = $base ."/getBibFormattedMetaDataJSON";
015d06b10d37 initial
dwinter
parents:
diff changeset
31 $options = array(
015d06b10d37 initial
dwinter
parents:
diff changeset
32
015d06b10d37 initial
dwinter
parents:
diff changeset
33 'method' => 'POST',
015d06b10d37 initial
dwinter
parents:
diff changeset
34 'data' => 'bibdata=' . $bd
015d06b10d37 initial
dwinter
parents:
diff changeset
35 );
015d06b10d37 initial
dwinter
parents:
diff changeset
36 $request = drupal_http_request($path, $options);
015d06b10d37 initial
dwinter
parents:
diff changeset
37 return drupal_json_decode($request->data);
015d06b10d37 initial
dwinter
parents:
diff changeset
38
015d06b10d37 initial
dwinter
parents:
diff changeset
39 }
015d06b10d37 initial
dwinter
parents:
diff changeset
40
015d06b10d37 initial
dwinter
parents:
diff changeset
41 function digitalobjects_getBibFormattedLabel($bibdata){
015d06b10d37 initial
dwinter
parents:
diff changeset
42 $bd = drupal_json_encode($bibdata);
015d06b10d37 initial
dwinter
parents:
diff changeset
43
015d06b10d37 initial
dwinter
parents:
diff changeset
44 $base = variable_get('digitalobjects_bibdata_path');
015d06b10d37 initial
dwinter
parents:
diff changeset
45 #$path="http://localhost:18080/metadata/getBibFormattedMetaDataJSON";
015d06b10d37 initial
dwinter
parents:
diff changeset
46 $path = $base ."/getBibFormattedLabelJSON";
015d06b10d37 initial
dwinter
parents:
diff changeset
47 $options = array(
015d06b10d37 initial
dwinter
parents:
diff changeset
48
015d06b10d37 initial
dwinter
parents:
diff changeset
49 'method' => 'POST',
015d06b10d37 initial
dwinter
parents:
diff changeset
50 'data' => 'bibdata=' . $bd
015d06b10d37 initial
dwinter
parents:
diff changeset
51 );
015d06b10d37 initial
dwinter
parents:
diff changeset
52 $request = drupal_http_request($path, $options);
015d06b10d37 initial
dwinter
parents:
diff changeset
53 return drupal_json_decode($request->data);
015d06b10d37 initial
dwinter
parents:
diff changeset
54
015d06b10d37 initial
dwinter
parents:
diff changeset
55 }
015d06b10d37 initial
dwinter
parents:
diff changeset
56
015d06b10d37 initial
dwinter
parents:
diff changeset
57
015d06b10d37 initial
dwinter
parents:
diff changeset
58
015d06b10d37 initial
dwinter
parents:
diff changeset
59 function digitalobjects_getBibMappedData($bibdata){
015d06b10d37 initial
dwinter
parents:
diff changeset
60 $bd = drupal_json_encode($bibdata);
015d06b10d37 initial
dwinter
parents:
diff changeset
61
015d06b10d37 initial
dwinter
parents:
diff changeset
62 $base = variable_get('digitalobjects_bibdata_path');
015d06b10d37 initial
dwinter
parents:
diff changeset
63 #$path="http://localhost:18080/metadata/getBibFormattedMetaDataJSON";
015d06b10d37 initial
dwinter
parents:
diff changeset
64 $path = $base ."/getBibMappedDataJSON";
015d06b10d37 initial
dwinter
parents:
diff changeset
65
015d06b10d37 initial
dwinter
parents:
diff changeset
66 $options = array(
015d06b10d37 initial
dwinter
parents:
diff changeset
67
015d06b10d37 initial
dwinter
parents:
diff changeset
68 'method' => 'POST',
015d06b10d37 initial
dwinter
parents:
diff changeset
69 'data' => 'bibdata=' . $bd
015d06b10d37 initial
dwinter
parents:
diff changeset
70 );
015d06b10d37 initial
dwinter
parents:
diff changeset
71 $request = drupal_http_request($path, $options);
015d06b10d37 initial
dwinter
parents:
diff changeset
72 return drupal_json_decode($request->data);
015d06b10d37 initial
dwinter
parents:
diff changeset
73
015d06b10d37 initial
dwinter
parents:
diff changeset
74 }
015d06b10d37 initial
dwinter
parents:
diff changeset
75 #here.metadata.getBibFormattedMetaData(bibdata=docinfo.get('bib', None))
015d06b10d37 initial
dwinter
parents:
diff changeset
76
015d06b10d37 initial
dwinter
parents:
diff changeset
77
015d06b10d37 initial
dwinter
parents:
diff changeset
78
015d06b10d37 initial
dwinter
parents:
diff changeset
79 function digitalobjects_readMetadata($objid,$format="long"){
015d06b10d37 initial
dwinter
parents:
diff changeset
80
015d06b10d37 initial
dwinter
parents:
diff changeset
81 $md = digitalobject_getMetadata($objid);
015d06b10d37 initial
dwinter
parents:
diff changeset
82
015d06b10d37 initial
dwinter
parents:
diff changeset
83 switch($format){
015d06b10d37 initial
dwinter
parents:
diff changeset
84 case "long":
015d06b10d37 initial
dwinter
parents:
diff changeset
85 $bib = isset($md['bib']) ?digitalobjects_getBibFormattedMetaData($md['bib']): null;
015d06b10d37 initial
dwinter
parents:
diff changeset
86 break;
015d06b10d37 initial
dwinter
parents:
diff changeset
87
015d06b10d37 initial
dwinter
parents:
diff changeset
88 case "short":
015d06b10d37 initial
dwinter
parents:
diff changeset
89 $bib = isset($md['bib']) ?digitalobjects_getBibFormattedLabel($md['bib']): null;
015d06b10d37 initial
dwinter
parents:
diff changeset
90 }
015d06b10d37 initial
dwinter
parents:
diff changeset
91 if ($bib == null) {
015d06b10d37 initial
dwinter
parents:
diff changeset
92 $bibdata = array (
015d06b10d37 initial
dwinter
parents:
diff changeset
93 "Author" => $md['creator'],
015d06b10d37 initial
dwinter
parents:
diff changeset
94 "Title" => $md['title'],
015d06b10d37 initial
dwinter
parents:
diff changeset
95 "Date" => $md['date']
015d06b10d37 initial
dwinter
parents:
diff changeset
96 );
015d06b10d37 initial
dwinter
parents:
diff changeset
97 $bib="";
015d06b10d37 initial
dwinter
parents:
diff changeset
98 foreach ($bibdata as $key => $content){
015d06b10d37 initial
dwinter
parents:
diff changeset
99 $bib = $bib . '<tr><td class="type">' . $key . '</td>
015d06b10d37 initial
dwinter
parents:
diff changeset
100 <td class="content">' . $content . '</td></tr>';
015d06b10d37 initial
dwinter
parents:
diff changeset
101 }
015d06b10d37 initial
dwinter
parents:
diff changeset
102
015d06b10d37 initial
dwinter
parents:
diff changeset
103 }
015d06b10d37 initial
dwinter
parents:
diff changeset
104
015d06b10d37 initial
dwinter
parents:
diff changeset
105 $access_type = isset($md['accessType']) ? $md['accessType'] : 'mpiwg';
015d06b10d37 initial
dwinter
parents:
diff changeset
106 $titlepage = isset($md['titlePage']) ? $md['titlePage'] : 1;
015d06b10d37 initial
dwinter
parents:
diff changeset
107 $data = array(
015d06b10d37 initial
dwinter
parents:
diff changeset
108 "thumburl" => create_thumburl_from_dri($objid,$titlepage=$titlepage),
015d06b10d37 initial
dwinter
parents:
diff changeset
109 "viewerurl" => create_url_from_dri($objid,$access_type = $access_type),
015d06b10d37 initial
dwinter
parents:
diff changeset
110 "md" => $md,
015d06b10d37 initial
dwinter
parents:
diff changeset
111 "bibdata" => $bib,
015d06b10d37 initial
dwinter
parents:
diff changeset
112 "access_type" => $access_type,
015d06b10d37 initial
dwinter
parents:
diff changeset
113 );
015d06b10d37 initial
dwinter
parents:
diff changeset
114
015d06b10d37 initial
dwinter
parents:
diff changeset
115 return $data;
015d06b10d37 initial
dwinter
parents:
diff changeset
116 }
015d06b10d37 initial
dwinter
parents:
diff changeset
117
015d06b10d37 initial
dwinter
parents:
diff changeset
118
015d06b10d37 initial
dwinter
parents:
diff changeset
119 function create_url_from_dri($dri,$access_type = "closed"){
015d06b10d37 initial
dwinter
parents:
diff changeset
120
015d06b10d37 initial
dwinter
parents:
diff changeset
121 if ($access_type=="free"){
015d06b10d37 initial
dwinter
parents:
diff changeset
122 return "http://echo.mpiwg-berlin.mpg.de/".$dri;
015d06b10d37 initial
dwinter
parents:
diff changeset
123 }
015d06b10d37 initial
dwinter
parents:
diff changeset
124 else
015d06b10d37 initial
dwinter
parents:
diff changeset
125 return "http://libcoll.mpiwg-berlin.mpg.de/".$dri;
015d06b10d37 initial
dwinter
parents:
diff changeset
126 }
015d06b10d37 initial
dwinter
parents:
diff changeset
127
015d06b10d37 initial
dwinter
parents:
diff changeset
128 function create_thumburl_from_dri($dri,$titlepage=1){
015d06b10d37 initial
dwinter
parents:
diff changeset
129 return "http://md.mpiwg-berlin.mpg.de/purls/image/".$dri."?pn=" . $titlepage;
015d06b10d37 initial
dwinter
parents:
diff changeset
130 }