source: main/trunk/model-sites-dev/mozarts-laptop/collect/digital-music-stand/script/gsajaxapi.js@ 30446

Last change on this file since 30446 was 30446, checked in by davidb, 8 years ago

... and the example collection (initial version)

  • Property svn:executable set to *
File size: 5.7 KB
Line 
1
2function GSAjaxAPI(gwcgi,collect)
3{
4 var gwcgi_ = gwcgi;
5 var collect_ = collect;
6
7 this.apiURL = function(apiProg)
8 {
9 //get the location of the cgi program
10 splitpos = gwcgi_.lastIndexOf("/");
11
12 var mdserver;
13 if (splitpos >= 0) {
14 mdserver = gwcgi.substring(0,(splitpos+1)) + apiProg;
15 }
16 else {
17 mdserver = apiProg;
18 }
19
20 return mdserver;
21 }
22
23 this.metadataserverURL = function()
24 {
25 return this.apiURL("metadata-server.pl");
26 }
27
28
29 this.urlGetAsync = function(url,locid)
30 {
31 var xmlHttp;
32 try {
33 // Firefox, Opera 8.0+, Safari
34 xmlHttp=new XMLHttpRequest();
35 }
36 catch (e) {
37 // Internet Explorer
38 try {
39 xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
40 }
41 catch (e) {
42 try {
43 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
44 }
45 catch (e) {
46 alert("Your browser does not support AJAX!");
47 return false;
48 }
49 }
50 }
51
52 xmlHttp.onreadystatechange=function() {
53 if(xmlHttp.readyState==4) {
54 if (locelem != null) {
55 var locelem = document.getElementById(locid);
56
57 locelem.innerHTML = xmlHttp.responseText;
58 }
59 }
60 }
61
62 xmlHttp.open("GET",url,true);
63 xmlHttp.send(null);
64 }
65
66
67 this.urlGetSync = function(url)
68 {
69 // alert("url = " + url);
70
71 var xmlHttp;
72 try {
73 // Firefox, Opera 8.0+, Safari
74 xmlHttp=new XMLHttpRequest();
75 }
76 catch (e) {
77 // Internet Explorer
78 try {
79 xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
80 }
81 catch (e) {
82 try {
83 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
84 }
85 catch (e) {
86 alert("Your browser does not support AJAX!");
87 return false;
88 }
89 }
90 }
91
92 xmlHttp.open("GET",url,false);
93 xmlHttp.send(null);
94
95 // alert("response = '" + xmlHttp.responseText + "'");
96
97 return xmlHttp.responseText;
98 }
99
100
101 this.setLiveMetadata = function(id,metaname,metavalue)
102 {
103 var mdserver = this.metadataserverURL();
104
105 var url = mdserver + "?a=set-live-metadata";
106 url += "&c="+collect_;
107 url += "&d="+id;
108 url += "&metaname=" + metaname;
109 url += "&metavalue=" + metavalue;
110
111 //alert("url = " + url);
112
113 this.urlGetSync(url);
114 }
115
116
117 this.setDocumentMetadata = function(docid,metaname,metapos,metavalue)
118 {
119 // Allow for three param call to function, where metapos is missed out
120 if (metavalue==null) {
121 // 3 param case
122 metavalue = metapos;
123 metapos = null;
124 }
125 var mdserver = this.metadataserverURL();
126
127 var url = mdserver + "?a=set-metadata";
128 url += "&c="+collect_;
129 url += "&d="+docid;
130 url += "&metaname=" + metaname;
131 if (metapos!=null) {
132 url += "&metapos=" + metapos;
133 }
134 url += "&metavalue=" + metavalue;
135
136 // alert("url = " + url);
137
138 this.urlGetSync(url);
139 }
140
141 this.setImportMetadata = function(docid,metaname,metapos,metavalue)
142 {
143 // Allow for three param call to function, where metapos is missed out
144 if (metavalue==null) {
145 // 3 param case
146 metavalue = metapos;
147 metapos = null;
148 }
149 var mdserver = this.metadataserverURL();
150
151 var url = mdserver + "?a=set-import-metadata";
152 url += "&c="+collect_;
153 url += "&d="+docid;
154 url += "&metaname=" + metaname;
155 if (metapos!=null) {
156 url += "&metapos=" + metapos;
157 }
158 url += "&metavalue=" + metavalue;
159
160 // alert("url = " + url);
161
162 this.urlGetSync(url);
163 }
164
165 this.documentReindex = function(docid)
166 {
167 var mdserver = this.metadataserverURL();
168
169 var url = mdserver + "?a=reindex-document";
170 url += "&c="+collect_;
171 url += "&d="+docid;
172
173 // alert("url = " + url);
174
175 this.urlGetSync(url);
176 }
177
178 this.getLiveMetadata = function(id,metaname)
179 {
180 var mdserver = this.metadataserverURL();
181
182 var url = mdserver + "?a=get-live-metadata";
183 url += "&c="+collect_;
184 url += "&d="+id;
185 url += "&metaname=" + metaname;
186
187 //alert("url = " + url);
188
189 var metavalue = this.urlGetSync(url);
190
191 //alert("metavalue = " + metavalue);
192
193 return metavalue;
194 }
195
196 this.getDocumentMetadata = function(docoid,metaname,metapos)
197 {
198 var mdserver = this.metadataserverURL();
199
200 var url = mdserver + "?a=get-metadata";
201 url += "&c="+collect_;
202 url += "&d="+docoid;
203 url += "&metaname=" + metaname;
204 if (metapos!=null) {
205 url += "&metapos=" + metapos;
206 }
207
208 return this.urlGetSync(url);
209 }
210
211
212
213
214 this.removeLiveMetadata = function(id,metaname)
215 {
216 var mdserver = this.metadataserverURL();
217
218 var url = mdserver + "?a=remove-live-metadata";
219 url += "&c="+collect_;
220 url += "&d="+id;
221 url += "&metaname=" + metaname;
222
223 //alert("url = " + url);
224
225 this.urlGetSync(url);
226 }
227
228
229 this.removeDocumentMetadata = function(docid,metaname,metapos)
230 {
231 var mdserver = this.metadataserverURL();
232
233 var url = mdserver + "?a=remove-metadata";
234 url += "&c="+collect_;
235 url += "&d="+docid;
236 url += "&metaname=" + metaname;
237 if (metapos!=null) {
238 url += "&metapos=" + metapos;
239 }
240
241 //alert("url = " + url);
242
243 this.urlGetSync(url);
244 }
245
246
247 return true;
248
249}
Note: See TracBrowser for help on using the repository browser.