1 | %zewdCompiler13 ; Enterprise Web Developer Compiler Functions
|
---|
2 | ;
|
---|
3 | ; Product: Enterprise Web Developer version 4.0.755
|
---|
4 | ; Build Date: Thu, 12 Feb 2009 09:53:12
|
---|
5 | ;
|
---|
6 | ; ----------------------------------------------------------------------------
|
---|
7 | ; | Enterprise Web Developer for GT.M and m_apache |
|
---|
8 | ; | Copyright (c) 2004-9 M/Gateway Developments Ltd, |
|
---|
9 | ; | Reigate, Surrey UK. |
|
---|
10 | ; | All rights reserved. |
|
---|
11 | ; | |
|
---|
12 | ; | http://www.mgateway.com |
|
---|
13 | ; | Email: rtweed@mgateway.com |
|
---|
14 | ; | |
|
---|
15 | ; | This program is free software: you can redistribute it and/or modify |
|
---|
16 | ; | it under the terms of the GNU Affero General Public License as |
|
---|
17 | ; | published by the Free Software Foundation, either version 3 of the |
|
---|
18 | ; | License, or (at your option) any later version. |
|
---|
19 | ; | |
|
---|
20 | ; | This program is distributed in the hope that it will be useful, |
|
---|
21 | ; | but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
---|
22 | ; | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
---|
23 | ; | GNU Affero General Public License for more details. |
|
---|
24 | ; | |
|
---|
25 | ; | You should have received a copy of the GNU Affero General Public License |
|
---|
26 | ; | along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
---|
27 | ; ----------------------------------------------------------------------------
|
---|
28 | ;
|
---|
29 | QUIT
|
---|
30 | ;
|
---|
31 | ;
|
---|
32 | ifArrayExists(nodeOID,attrValues,docOID,technology)
|
---|
33 | ;
|
---|
34 | ; <ewd:ifArrayExists arrayName="$myArray" param1="xxx" param2="$yyy" param3="#zzz">
|
---|
35 | ;
|
---|
36 | n arrayName,comma,param,subs,pval
|
---|
37 | set arrayName=$$getAttrValue^%zewdAPI("arrayname",.attrValues,technology)
|
---|
38 | s param="param",subs="",comma=""
|
---|
39 | f s param=$o(attrValues(param)) q:param="" q:param'["param" d
|
---|
40 | . s pval=attrValues(param)
|
---|
41 | . d
|
---|
42 | . . s pval=$$replaceAll^%zewdHTMLParser(pval,"""",""")
|
---|
43 | . . s subs=subs_comma_pval,comma=","
|
---|
44 | d
|
---|
45 | . ;
|
---|
46 | . n cwOID,attr
|
---|
47 | . ;
|
---|
48 | . s cwOID=$$addIntermediateNode^%zewdCompiler4("csp:if",nodeOID)
|
---|
49 | . ;
|
---|
50 | . ; <csp:if condition="$d(%ewdVar("e;ewdTabMenu"e;,"e;5"e;))">
|
---|
51 | . ;
|
---|
52 | . s arrayName=$$removeQuotes^%zewdAPI(arrayName)
|
---|
53 | . i arrayName="" s arrayName="%ewdVar"
|
---|
54 | . i subs="" s attr="$d("_arrayName_")"
|
---|
55 | . e s attr="$d("_arrayName_"("_subs_"))"
|
---|
56 | . d setAttribute^%zewdDOM("condition",attr,cwOID)
|
---|
57 | ;
|
---|
58 | d removeIntermediateNode^%zewdCompiler4(nodeOID)
|
---|
59 | ;
|
---|
60 | QUIT
|
---|
61 | ;
|
---|
62 | url(nodeOID,attrValues,docOID,technology)
|
---|
63 | ;
|
---|
64 | ; <ewd:url return="$fullUrl" url="$url" />
|
---|
65 | ;
|
---|
66 | n return,url
|
---|
67 | ;
|
---|
68 | set url=$$getAttrValue^%zewdAPI("url",.attrValues,technology)
|
---|
69 | set return=$$getAttrValue^%zewdAPI("return",.attrValues,technology)
|
---|
70 | ;
|
---|
71 | d
|
---|
72 | . n page,serverOID,text
|
---|
73 | . s page=url,text=""
|
---|
74 | . s url=$$getRootURL^%zewdCompiler("gtm")_app_"/"_url_".mgwsi?"
|
---|
75 | . s url=url_"ewd_token=""_$g(^%zewdSession(""session"",sessid,""ewd_token""))_""&n=""_tokens("_$tr(page,"'","")_")"
|
---|
76 | . s text=text_" s "_return_"="""_url
|
---|
77 | . s serverOID=$$addCSPServerScript^%zewdCompiler4(nodeOID,text)
|
---|
78 | ;
|
---|
79 | d removeIntermediateNode^%zewdCompiler4(nodeOID)
|
---|
80 | ;
|
---|
81 | QUIT
|
---|
82 | ;
|
---|
83 | tabMenuOption(nodeOID,attrValues,docOID,technology)
|
---|
84 | ;
|
---|
85 | ; <ewd:tabMenuOption position="1" text="Configuration" nextpage="config" defaultSelected="true" help="This is some help" greyIf="grey^%zewdMgr">
|
---|
86 | ;
|
---|
87 | n attr,decOID,defaultSelected,docName,greyIf,help,newOID,nextpage
|
---|
88 | n position,text,value
|
---|
89 | ;
|
---|
90 | set position=$$getAttrValue^%zewdAPI("position",.attrValues,technology)
|
---|
91 | s position=$$removeQuotes^%zewdAPI(position)
|
---|
92 | set text=$$getAttrValue^%zewdAPI("text",.attrValues,technology)
|
---|
93 | s text=$$removeQuotes^%zewdAPI(text)
|
---|
94 | set nextpage=$$getAttrValue^%zewdAPI("nextpage",.attrValues,technology)
|
---|
95 | s nextpage=$$removeQuotes^%zewdAPI(nextpage)
|
---|
96 | set defaultSelected=$$getAttrValue^%zewdAPI("defaultselected",.attrValues,technology)
|
---|
97 | s defaultSelected=$$removeQuotes^%zewdAPI(defaultSelected)
|
---|
98 | set help=$$getAttrValue^%zewdAPI("help",.attrValues,technology)
|
---|
99 | s help=$$removeQuotes^%zewdAPI(help)
|
---|
100 | set greyIf=$$getAttrValue^%zewdAPI("greyif",.attrValues,technology)
|
---|
101 | s greyIf=$$removeQuotes^%zewdAPI(greyIf)
|
---|
102 | ;
|
---|
103 | ; Map to
|
---|
104 | ; <ewd:setArrayValue arrayName="ewdTabMenu" param1="1" value="$menuInfo">
|
---|
105 | ; and place just after <body> tag
|
---|
106 | ;
|
---|
107 | s docName=$$getDocumentName^%zewdDOM(docOID)
|
---|
108 | s value=text_"|"_nextpage_"|"_defaultSelected_"|"_help_"|"_greyIf
|
---|
109 | s newOID=$$getFirstElementByTagName^%zewdDOM("ewd:tabmenuarray",docName,"")
|
---|
110 | i $$getParentNode^%zewdDOM(newOID)="" s newOID=""
|
---|
111 | i newOID="" d
|
---|
112 | . n parentOID,xOID
|
---|
113 | . s parentOID=$$getFirstElementByTagName^%zewdDOM("head",docName,"")
|
---|
114 | . s newOID=$$getFirstElementByTagName^%zewdDOM("ewd:new","",parentOID)
|
---|
115 | . i newOID="" d
|
---|
116 | . . s newOID=$$addNewFirstChild^%zewdCompiler4("ewd:tabmenuarray",docOID,parentOID)
|
---|
117 | . e d
|
---|
118 | . . n fcOID,nextOID,tagOID
|
---|
119 | . . s nextOID=$$getNextSibling^%zewdDOM(newOID)
|
---|
120 | . . s tagOID=$$createElement^%zewdDOM("ewd:tabmenuarray",docOID)
|
---|
121 | . . s newOID=$$insertBefore^%zewdDOM(tagOID,nextOID)
|
---|
122 | s attr("arrayname")="$ewdTabMenu"
|
---|
123 | s attr("param1")=position
|
---|
124 | s attr("value")=value
|
---|
125 | s decOID=$$addElementToDOM^%zewdDOM("ewd:setarrayvalue",newOID,,.attr,"")
|
---|
126 | ;
|
---|
127 | i nextpage'="" d
|
---|
128 | . d
|
---|
129 | . . n phpString
|
---|
130 | . . s phpString=" s tokens("""_nextpage_""")=$$setNextPageToken^%zewdCompiler20("""_nextpage_""")"
|
---|
131 | . . d addVBHeaderPreCache^%zewdCompiler8(phpString)
|
---|
132 | ;
|
---|
133 | ; $tokens['run'] = setNextPageToken('run', $ewd_session) ;
|
---|
134 | d removeIntermediateNode^%zewdCompiler4(nodeOID)
|
---|
135 | ;
|
---|
136 | QUIT
|
---|
137 | ;
|
---|
138 | xhtml(nodeOID,attrValues,docOID,technology)
|
---|
139 | ;
|
---|
140 | n dtOID,fcOID,htmlOID
|
---|
141 | ;
|
---|
142 | s dtOID=$$createDocumentType^%zewdDOM("html","-//W3C//DTD XHTML 1.0 Strict//EN","http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd",docOID)
|
---|
143 | ;<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
---|
144 | s dtOID=$$insertBefore^%zewdDOM(dtOID,nodeOID)
|
---|
145 | ;<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
---|
146 | s fcOID=$$getFirstChild^%zewdDOM(nodeOID)
|
---|
147 | s htmlOID=$$insertNewIntermediateElement^%zewdDOM(nodeOID,"html",docOID)
|
---|
148 | d setAttribute^%zewdDOM("xmlns","http://www.w3.org/1999/xhtml",htmlOID)
|
---|
149 | d setAttribute^%zewdDOM("xml:lang","en",htmlOID)
|
---|
150 | do removeIntermediateNode^%zewdDOM(nodeOID)
|
---|
151 | QUIT
|
---|
152 | ;
|
---|
153 | getSessionArrayValue(arrayName,subscript,sessid,exists)
|
---|
154 | ;
|
---|
155 | n value
|
---|
156 | ;
|
---|
157 | i $g(subscript)="" QUIT ""
|
---|
158 | i $g(arrayName)="" QUIT ""
|
---|
159 | ;
|
---|
160 | s arrayName=$tr(arrayName,".","_")
|
---|
161 | s exists=1
|
---|
162 | i $$isTemp^%zewdAPI(arrayName) d QUIT $g(value)
|
---|
163 | . m value=zewdSession(arrayName,subscript)
|
---|
164 | . i '$d(value) s exists=0
|
---|
165 | m value=^%zewdSession("session",sessid,arrayName,subscript)
|
---|
166 | i '$d(value) s exists=0
|
---|
167 | QUIT $g(value)
|
---|
168 | ;
|
---|
169 | sessionArrayValueExists(arrayName,subscript,sessid)
|
---|
170 | ;
|
---|
171 | n exists,value
|
---|
172 | ;
|
---|
173 | s value=$$getSessionArrayValue(arrayName,subscript,sessid,.exists)
|
---|
174 | QUIT exists
|
---|
175 | ;
|
---|
176 | deleteSessionArrayValue(arrayName,subscript,sessid)
|
---|
177 | ;
|
---|
178 | i $g(subscript)="" QUIT ""
|
---|
179 | i $g(arrayName)="" QUIT ""
|
---|
180 | s arrayName=$tr(arrayName,".","_")
|
---|
181 | ;
|
---|
182 | i $$isTemp^%zewdAPI(arrayName) k zewdSession(arrayName,subscript) QUIT
|
---|
183 | k ^%zewdSession("session",sessid,arrayName,subscript)
|
---|
184 | d setWLDSymbol^%zewdAPI(arrayName,sessid)
|
---|
185 | QUIT
|
---|
186 | ;
|
---|
187 | setSessionObject(objectName,propertyName,propertyValue,sessid)
|
---|
188 | ;
|
---|
189 | n comma,i,np,p,sessionArray,x
|
---|
190 | ;
|
---|
191 | i $g(objectName)="" QUIT
|
---|
192 | i $g(propertyName)="" QUIT
|
---|
193 | ;i $g(propertyValue)="" QUIT
|
---|
194 | i $g(sessid)="" QUIT
|
---|
195 | s np=$l(objectName,".")
|
---|
196 | s objectName=$$replace^%zewdAPI(objectName,".","_")
|
---|
197 | i np=1 d QUIT
|
---|
198 | . i $$isTemp^%zewdAPI(objectName) s zewdSession(objectName_"_"_propertyName)=propertyValue q
|
---|
199 | . s ^%zewdSession("session",sessid,(objectName_"_"_propertyName))=propertyValue
|
---|
200 | ;
|
---|
201 | f i=1:1:np-1 s p(i)=$p(objectName,".",i)
|
---|
202 | s comma=","
|
---|
203 | i $$isTemp^%zewdAPI(objectName) d
|
---|
204 | . s x="s zewdSession(",comma=""
|
---|
205 | e d
|
---|
206 | . s x="s ^%zewdSession(""session"","_sessid
|
---|
207 | f i=1:1:np-1 s x=x_comma_""""_p(i)_"""",comma=","
|
---|
208 | s x=x_","""_propertyName_""")="""_propertyValue_""""
|
---|
209 | x x
|
---|
210 | QUIT
|
---|
211 | ;
|
---|
212 | deleteFromSessionObject(objectName,propertyName,sessid)
|
---|
213 | ;
|
---|
214 | d deleteSessionArrayValue(objectName,propertyName,sessid)
|
---|
215 | QUIT
|
---|
216 | ;
|
---|
217 | sessionObjectPropertyExists(objectName,propertyName,sessid)
|
---|
218 | QUIT $$sessionArrayValueExists(objectName,propertyName,sessid)
|
---|
219 | ;
|
---|
220 | deleteSessionObject(objectName,sessid)
|
---|
221 | d deleteFromSession^%zewdAPI(objectName,sessid)
|
---|
222 | QUIT
|
---|
223 | ;
|
---|
224 | ;
|
---|
225 | countResultSetRecords(sessionName,sessid)
|
---|
226 | i $$isTemp^%zewdAPI(sessionName) QUIT $o(zewdSession(sessionName,""),-1)
|
---|
227 | QUIT $o(^%zewdSession("session",sessid,sessionName,""),-1)
|
---|
228 | ;
|
---|
229 | addToResultSet(sessionName,propertyName,value,sessid)
|
---|
230 | ;
|
---|
231 | n array,recNo
|
---|
232 | ;
|
---|
233 | s recNo=$$countResultSetRecords(sessionName,sessid)+1
|
---|
234 | s array(recNo,propertyName)=value
|
---|
235 | d mergeArrayToSession^%zewdAPI(.array,sessionName,sessid)
|
---|
236 | QUIT
|
---|
237 | ;
|
---|
238 | mergeRecordArrayToResultSet(sessionName,array,sessid)
|
---|
239 | ;
|
---|
240 | n recArray,recNo
|
---|
241 | ;
|
---|
242 | s recNo=$$countResultSetRecords(sessionName,sessid)+1
|
---|
243 | m recArray(recNo)=array
|
---|
244 | d mergeArrayToSession^%zewdAPI(.recArray,sessionName,sessid)
|
---|
245 | QUIT
|
---|
246 | ;
|
---|
247 | getResultSetValue(resultSetName,index,propertyName,sessid)
|
---|
248 | ;
|
---|
249 | n exists,value
|
---|
250 | ;
|
---|
251 | i $g(resultSetName)="" QUIT ""
|
---|
252 | i $g(index)="" QUIT ""
|
---|
253 | i $g(propertyName)="" QUIT ""
|
---|
254 | i $g(sessid)="" QUIT ""
|
---|
255 | ;
|
---|
256 | i $$isTemp^%zewdAPI(resultSetName) d QUIT $g(value)
|
---|
257 | . m value=zewdSession(resultSetName,index,propertyName)
|
---|
258 | . i '$d(value) s exists=0
|
---|
259 | m value=^%zewdSession("session",sessid,resultSetName,index,propertyName)
|
---|
260 | i '$d(value) s exists=0
|
---|
261 | QUIT $g(value)
|
---|
262 | ;
|
---|
263 | saveJSON(objectName,jsonString)
|
---|
264 | i objectName="ewd" QUIT "alert(""Invalid request"")"
|
---|
265 | i $$JSONAccess^%zewdAPI(objectName,sessid)'="rw" QUIT "alert(""Invalid request"")"
|
---|
266 | i jsonString["\""" s jsonString=$$replaceAll^%zewdAPI(jsonString,"\""","""")
|
---|
267 | i jsonString["\'" s jsonString=$$replaceAll^%zewdAPI(jsonString,"\'","""")
|
---|
268 | d JSONToSessionObject(objectName,jsonString,sessid)
|
---|
269 | QUIT ""
|
---|
270 | ;
|
---|
271 | getJSON(objectName,addRefCol)
|
---|
272 | i objectName="ewd" QUIT "alert(""Invalid request"")"
|
---|
273 | ;d trace^%zewdAPI("*** sessid="_sessid_"; JSONAccess="_$$JSONAccess^%zewdAPI(objectName,sessid))
|
---|
274 | i $$JSONAccess^%zewdAPI(objectName,sessid)="" QUIT "alert(""Invalid request"")"
|
---|
275 | QUIT $$sessionObjectToJSON($g(objectName),sessid,$g(addRefCol))
|
---|
276 | ;
|
---|
277 | JSONToSessionObject(objectName,jsonString,sessid) ;
|
---|
278 | ;
|
---|
279 | n array,obj,prop
|
---|
280 | ;
|
---|
281 | ;d parseJSON(jsonString,.array)
|
---|
282 | d parseJSON^%zewdCompiler19(jsonString,.array)
|
---|
283 | d deleteSessionObject^%zewdAPI(objectName,sessid)
|
---|
284 | d mergeArrayToSessionObject^%zewdAPI(.array,objectName,sessid)
|
---|
285 | ;s prop=""
|
---|
286 | ;f s prop=$o(array(prop)) q:prop="" d
|
---|
287 | ;. s obj=objectName_"."_prop
|
---|
288 | ;. d trace^%zewdAPI("obj="_obj_"; "_$g(array(prop)))
|
---|
289 | ;. d setSessionValue^%zewdAPI(obj,$g(array(prop)),sessid)
|
---|
290 | ;;d deleteFromSession^%zewdAPI(objectName,sessid)
|
---|
291 | ;;d mergeArrayToSession^%zewdAPI(.array,objectName,sessid)
|
---|
292 | QUIT
|
---|
293 | ;
|
---|
294 | parseJSON(jsonString,propertiesArray)
|
---|
295 | ;
|
---|
296 | n c,i,len,name,processing,started,type,value
|
---|
297 | ;
|
---|
298 | k propertiesArray
|
---|
299 | s jsonString=$g(jsonString)
|
---|
300 | s started=0
|
---|
301 | s processing=""
|
---|
302 | s name="",value="",type=""
|
---|
303 | s len=$l(jsonString)
|
---|
304 | ;
|
---|
305 | f i=1:1:len d
|
---|
306 | . s c=$e(jsonString,i)
|
---|
307 | . i 'started,c="{" s started=1,processing="name" q
|
---|
308 | . i processing="",c="""" s processing="name",name="" q
|
---|
309 | . i processing="",c=":" s processing="value",value="",type="" q
|
---|
310 | . i processing="name" d q
|
---|
311 | . . i c=",",name="" q
|
---|
312 | . . i c="""" s processing="" q
|
---|
313 | . . i c=":" s processing="value" q
|
---|
314 | . . s name=name_c
|
---|
315 | . i processing="value" d
|
---|
316 | . . i value="" d q
|
---|
317 | . . . i c="""" s type="literal"
|
---|
318 | . . . i c?1N s type="number"
|
---|
319 | . . . i c="-" s type="number"
|
---|
320 | . . . i c="f" s type="boolean"
|
---|
321 | . . . i c="t" s type="boolean"
|
---|
322 | . . . i c="n" s type="null"
|
---|
323 | . . . i c="[" d q
|
---|
324 | . . . . n arr,no,j,val
|
---|
325 | . . . . s no=0,val=""
|
---|
326 | . . . . f j=i+1:1 d q:c="]"
|
---|
327 | . . . . . s c=$e(jsonString,j)
|
---|
328 | . . . . . i c="]" s no=$$saveSubArray(no,.val,.arr) q
|
---|
329 | . . . . . i c="," s no=$$saveSubArray(no,.val,.arr) q
|
---|
330 | . . . . . s val=val_c
|
---|
331 | . . . . m propertiesArray(name)=arr
|
---|
332 | . . . . s i=j,name="",value="",processing="name"
|
---|
333 | . . . s value=value_c
|
---|
334 | . . ;i c="]" break s name="",value="",processing="name",i=j q
|
---|
335 | . . i type="literal",c="""" s type="literalComplete",value=value_c q
|
---|
336 | . . i ((c=",")!(c="}")),type'="literal" d q
|
---|
337 | . . . i type="literalComplete" s value=$e(value,2,$l(value)-1)
|
---|
338 | . . . s processing="name"
|
---|
339 | . . . s propertiesArray(name)=value
|
---|
340 | . . . s name="",value=""
|
---|
341 | . . s value=value_c
|
---|
342 | QUIT
|
---|
343 | ;
|
---|
344 | saveSubArray(no,value,arr)
|
---|
345 | i $e(value,1)=""""!($e(value,1)="'") s value=$e(value,2,$l(value)-1)
|
---|
346 | s no=no+1
|
---|
347 | s arr(no)=value
|
---|
348 | s value=""
|
---|
349 | QUIT no
|
---|
350 | ;
|
---|
351 | sessionObjectToJSON(objectName,sessid,addRefCol)
|
---|
352 | ;
|
---|
353 | n object,poropName,sub
|
---|
354 | ;
|
---|
355 | s sub=objectName_"_"
|
---|
356 | i $$isTemp^%zewdAPI(objectName) d
|
---|
357 | . f s sub=$o(zewdSession(sub)) q:sub="" q:sub'[(objectName_"_") d
|
---|
358 | . . s propName=$p(sub,(objectName_"_"),2)
|
---|
359 | . . m object(propName)=zewdSession(sub)
|
---|
360 | . i '$d(object) m object=zewdSession(objectName)
|
---|
361 | e d
|
---|
362 | . f s sub=$o(^%zewdSession("session",sessid,sub)) q:sub="" q:sub'[(objectName_"_") d
|
---|
363 | . . s propName=$p(sub,(objectName_"_"),2)
|
---|
364 | . . m object(propName)=^%zewdSession("session",sessid,sub)
|
---|
365 | . i '$d(object) m object=^%zewdSession("session",sessid,objectName)
|
---|
366 | QUIT $$createJSONString(objectName,.object,,$g(addRefCol))
|
---|
367 | ;
|
---|
368 | mergeToJSObject(sessionObjRef,JSObjRef,sessid)
|
---|
369 | ;
|
---|
370 | ; eg sessionObjRef = wld.%User.bridge
|
---|
371 | ; JSObjRef = EZBRIDGE.Config
|
---|
372 | ;
|
---|
373 | n i,json,nsub,objName,ref,sessRef
|
---|
374 | ;
|
---|
375 | s sessRef=$$replace^%zewdAPI(sessionObjRef,".","_")
|
---|
376 | s nsub=$l(sessRef,".")
|
---|
377 | ;
|
---|
378 | s objName=$p(sessionObjRef,".",1)
|
---|
379 | i objName="ewd" QUIT "alert(""Invalid request"")"
|
---|
380 | i $$JSONAccess^%zewdAPI(objName,sessid)="" QUIT "alert(""Invalid request"")"
|
---|
381 | ;
|
---|
382 | s ref="",comma=""
|
---|
383 | f i=1:1:nsub s ref=ref_comma_""""_$p(sessRef,".",i)_"""",comma=","
|
---|
384 | i $$isTemp^%zewdAPI(sessRef) d
|
---|
385 | . s ref="m jsArray=zewdSession("_ref_")"
|
---|
386 | e d
|
---|
387 | . s ref="m jsArray=^%zewdSession(""session"",sessid,"_ref_")"
|
---|
388 | x ref
|
---|
389 | s json=$$createJSONString(JSObjRef,.jsArray)
|
---|
390 | QUIT json
|
---|
391 | ;
|
---|
392 | objectGlobalToJSON(objectName)
|
---|
393 | ;
|
---|
394 | QUIT $g(^zewd("jsObject",objectName))
|
---|
395 | ;
|
---|
396 | createJSONString(objectName,objectArray,isDojo,addRefCol,directOutput)
|
---|
397 | ;
|
---|
398 | n comma,dd,json,name,object,type
|
---|
399 | ;
|
---|
400 | s directOutput=+$g(directOutput)
|
---|
401 | s isDojo=$g(isDojo)
|
---|
402 | i isDojo=1 s directOutput=0
|
---|
403 | i '$d(objectArray) QUIT ""
|
---|
404 | s name=""
|
---|
405 | s json=""
|
---|
406 | i isDojo'=1 d
|
---|
407 | . i directOutput w objectName_"=" q
|
---|
408 | . s json=objectName_"="
|
---|
409 | i $g(addRefCol)=1 d
|
---|
410 | . n rowNo
|
---|
411 | . s rowNo=""
|
---|
412 | . f s rowNo=$o(objectArray(rowNo)) q:rowNo="" d
|
---|
413 | . . s objectArray(rowNo,0)=rowNo-1
|
---|
414 | s json=$$walkArray(json,$name(objectArray),isDojo)
|
---|
415 | ;
|
---|
416 | ;s json=$e(json,1,$l(json)-1)_"}"
|
---|
417 | i isDojo=1 s json="{identifier:'id',"_$e(json,2,$l(json))
|
---|
418 | i isDojo'=1 d
|
---|
419 | . i directOutput w ";" q
|
---|
420 | . s json=json_" ;"
|
---|
421 | i $g(^zewd("trace"))=1 d trace^%zewdAPI("json="_json)
|
---|
422 | QUIT json
|
---|
423 | ;
|
---|
424 | walkArray(json,name,dojo,subscripts,isObject,mixed)
|
---|
425 | ;
|
---|
426 | n arrComma,brace,comma,cr,dd,i,no,numsub,dblquot,quot,ref,sub,subNo,subscripts1,type,valquot,value,xref,zobj
|
---|
427 | ;
|
---|
428 | s cr=$c(13,10),comma=","
|
---|
429 | s mixed=+$g(mixed)
|
---|
430 | s (dblquot,valquot)=""""
|
---|
431 | s dojo=+$g(dojo)
|
---|
432 | i dojo=1 s dblquot="",valquot="'"
|
---|
433 | i $g(isObject) d
|
---|
434 | . s json=json_"("
|
---|
435 | s dd=$d(@name)
|
---|
436 | i dd=1!(dd=11) d i dd=1 QUIT json
|
---|
437 | . s value=@name
|
---|
438 | . i value'[">" q
|
---|
439 | . i dojo=2,value="<mixed>" d q
|
---|
440 | . . i $d(subscripts) q
|
---|
441 | . . s mixed=1
|
---|
442 | . i dojo=2,$e(value,1)="<",$e(value,$l(value))=">" q
|
---|
443 | . i dojo=2 d
|
---|
444 | . . s json=json_$p(value,">",1) ;_"("_cr
|
---|
445 | . i dojo=2 d
|
---|
446 | . . s json=$$walkArray(json,$p(value,">",2),$g(dojo),,1)
|
---|
447 | . e d
|
---|
448 | . . s json=$$walkArray(json,value,$g(dojo),,1)
|
---|
449 | . ;s json=json_cr_")"
|
---|
450 | i 'mixed d
|
---|
451 | . s json=json_"{"
|
---|
452 | s ref=name_"("
|
---|
453 | s no=$o(subscripts(""),-1)
|
---|
454 | i no>0 f i=1:1:no d
|
---|
455 | . s quot=""""
|
---|
456 | . i subscripts(i)?."-"1N.N s quot=""
|
---|
457 | . s ref=ref_quot_subscripts(i)_quot_","
|
---|
458 | ;i no>0 f i=1:1:no s ref=ref_dblquot_subscripts(i)_dblquot_","
|
---|
459 | s ref=ref_"sub)"
|
---|
460 | s sub="",numsub=0,subNo=0
|
---|
461 | f s sub=$o(@ref) q:sub="" d
|
---|
462 | . s subscripts(no+1)=sub
|
---|
463 | . s subNo=subNo+1
|
---|
464 | . i 'mixed,subNo=1,sub?1N.N d
|
---|
465 | . . s numsub=1
|
---|
466 | . . s json=$e(json,1,$l(json)-1)_"["
|
---|
467 | . s dd=$d(@ref)
|
---|
468 | . i dd=1 d
|
---|
469 | . . ;w ref_"="_@ref,!
|
---|
470 | . . s value=@ref
|
---|
471 | . . ;i sub'?1N.N s json=json_dblquot_sub_dblquot_":"
|
---|
472 | . . i sub'?1N.N d
|
---|
473 | . . . s json=json_sub_":"
|
---|
474 | . . s type="literal"
|
---|
475 | . . i dojo=2,value[">",value'["?>" d
|
---|
476 | . . . i $e(value,$l(value))=">" q
|
---|
477 | . . . d
|
---|
478 | . . . . s json=json_$p(value,">",1) ;_"("_cr
|
---|
479 | . . . s json=$$walkArray(json,$p(value,">",2),$g(dojo),,1)
|
---|
480 | . . . s type="object"
|
---|
481 | . . . s value=""
|
---|
482 | . . i value?1N.N s type="numeric"
|
---|
483 | . . i value?1"-"1N.N s type="numeric"
|
---|
484 | . . i value?1N.N1"."1N.N s type="numeric"
|
---|
485 | . . i value?1"-"1N.N1"."1N.N s type="numeric"
|
---|
486 | . . i value="true"!(value="false") s type="boolean"
|
---|
487 | . . i $e(value,1)="{",$e(value,$l(value))="}" s type="variable"
|
---|
488 | . . i dojo=2,value["<?=",value["?>" d
|
---|
489 | . . . s value=$p(value,"<?=",2)
|
---|
490 | . . . s value=$p(value,"?>",1)
|
---|
491 | . . . s value=$$stripSpaces^%zewdAPI(value)
|
---|
492 | . . . s type="variable"
|
---|
493 | . . ;i type="literal" s value=""""_value_""""
|
---|
494 | . . i type="literal" s value=valquot_value_valquot
|
---|
495 | . . i dojo=1,type="numeric" s value=valquot_value_valquot
|
---|
496 | . . d
|
---|
497 | . . . s json=json_value_","
|
---|
498 | . k subscripts1
|
---|
499 | . m subscripts1=subscripts
|
---|
500 | . i dd>9 d
|
---|
501 | . . i sub?1N.N d
|
---|
502 | . . . i 'mixed,subNo=1 d
|
---|
503 | . . . . s numsub=1
|
---|
504 | . . . . s json=$e(json,1,$l(json)-1)_"["
|
---|
505 | . . e d
|
---|
506 | . . . ;s json=json_dblquot_sub_dblquot_":"
|
---|
507 | . . . i $e(sub,1,4)'="zobj" d
|
---|
508 | . . . . s json=json_sub_":"
|
---|
509 | . . . i $e(sub,1,4)="zobj" d
|
---|
510 | . . . . i $e(json,$l(json))'="," d
|
---|
511 | . . . . . s json=$e(json,1,$l(json)-1),zobj=1 ; remove { at end
|
---|
512 | . . s json=$$walkArray(json,name,dojo,.subscripts1)
|
---|
513 | . . i dojo=1,numsub d
|
---|
514 | . . . s json=$e(json,1,$l(json)-1)
|
---|
515 | . . . s json=json_",id:'"_sub_"'}"
|
---|
516 | . . d
|
---|
517 | . . . s json=json_","
|
---|
518 | ;
|
---|
519 | s json=$e(json,1,$l(json)-1)
|
---|
520 | s brace="}"
|
---|
521 | i mixed s brace=""
|
---|
522 | i $g(isObject) s brace=brace_")"
|
---|
523 | i numsub s brace="]"
|
---|
524 | i $g(zobj)'=1 d
|
---|
525 | . s json=json_brace
|
---|
526 | QUIT json ; exit!
|
---|
527 | ;
|
---|
528 | createRef(name,subscripts)
|
---|
529 | ;
|
---|
530 | n no,ref
|
---|
531 | ;
|
---|
532 | s ref=name_"("
|
---|
533 | s no=$o(subscripts(""),-1)
|
---|
534 | i no>0 f i=1:1:no d
|
---|
535 | . s quot=""""
|
---|
536 | . i subscripts(i)?."-"1N.N s quot=""
|
---|
537 | . s ref=ref_quot_subscripts(i)_quot_","
|
---|
538 | s ref=ref_""""")"
|
---|
539 | QUIT ref
|
---|
540 | ;
|
---|
541 | test
|
---|
542 | k array
|
---|
543 | s array("label")="name"
|
---|
544 | s array("items",1,"name")="Fruit"
|
---|
545 | s array("items",1,"type")="category"
|
---|
546 | s array("items",2,"name")="Cinammon"
|
---|
547 | s array("items",2,"type")="category"
|
---|
548 | s array("items",2,"children",1,"name")="Cinnamon Lozenge"
|
---|
549 | s array("items",2,"children",1,"type")="category"
|
---|
550 | s array("items",2,"children",2,"name")="Cinnamon Toast"
|
---|
551 | s array("items",2,"children",2,"type")="category"
|
---|
552 | s array("items",2,"children",3,"name")="Cinnamon Spread"
|
---|
553 | s array("items",2,"children",3,"type")="category"
|
---|
554 | s array("items",3,"name")="Apple"
|
---|
555 | s array("items",3,"type")="category"
|
---|
556 | w $$createJSONString("myTest",.array,1)
|
---|
557 | QUIT
|
---|
558 | ;
|
---|
559 | addJavascriptObject(docName,jsText)
|
---|
560 | ;
|
---|
561 | n childOID,lastLineNo,line,lineNo,OIDArray,scriptOID,text,textArray,textOID
|
---|
562 | ;
|
---|
563 | s scriptOID=$$getLastJavascriptTag(docName,.textArray)
|
---|
564 | s lastLineNo=$o(textArray(""),-1)
|
---|
565 | s lineNo="",text=""
|
---|
566 | f s lineNo=$o(jsText(lineNo)) q:lineNo="" d
|
---|
567 | . i jsText(lineNo)["<?="!(jsText(lineNo)["<%") d
|
---|
568 | . . k ^CacheTempEWD($j)
|
---|
569 | . . s ^CacheTempEWD($j,1)=jsText(lineNo)
|
---|
570 | . . d tokenisePHPVariables^%zewdHTMLParser(.phpVars)
|
---|
571 | . . s jsText(lineNo)=^CacheTempEWD($j,1)
|
---|
572 | . . k ^CacheTempEWD($j)
|
---|
573 | . i $l(text)+$l(jsText(lineNo))<30000 s text=text_jsText(lineNo)_$c(13,10) q
|
---|
574 | . s lastLineNo=lastLineNo+1
|
---|
575 | . s textArray(lastLineNo)=text
|
---|
576 | . s text=jsText(lineNo)_$c(13,10)
|
---|
577 | s lastLineNo=lastLineNo+1
|
---|
578 | s textArray(lastLineNo)=text
|
---|
579 | f q:$$hasChildNodes^%zewdDOM(scriptOID)="false" d
|
---|
580 | . s childOID=$$getFirstChild^%zewdDOM(scriptOID)
|
---|
581 | . s childOID=$$removeChild^%zewdAPI(childOID)
|
---|
582 | ;
|
---|
583 | s lineNo=""
|
---|
584 | f s lineNo=$o(textArray(lineNo)) q:lineNo="" d
|
---|
585 | . s text=textArray(lineNo)
|
---|
586 | . q:text=""
|
---|
587 | . s textOID=$$createTextNode^%zewdDOM(text,docOID)
|
---|
588 | . s textOID=$$appendChild^%zewdDOM(textOID,scriptOID)
|
---|
589 | QUIT scriptOID
|
---|
590 | ;
|
---|
591 | getLastJavascriptTag(docName,textArray)
|
---|
592 | ;
|
---|
593 | n attr,childNodes,eArray,headOID,jsText,language,nodeNo,nodeOID,ntags
|
---|
594 | n OIDArray,scriptOID,src,stop,tagName
|
---|
595 | ;
|
---|
596 | s headOID=$$getTagOID^%zewdAPI("head",docName)
|
---|
597 | i headOID="" s headOID=$$addElementToDOM^%zewdDOM("head",docOID,,,,1)
|
---|
598 | d getChildrenInOrder^%zewdDOM(headOID,.childNodes)
|
---|
599 | s nodeNo="",scriptOID="",stop=0
|
---|
600 | f s nodeNo=$o(childNodes(nodeNo),-1) q:nodeNo="" d q:stop
|
---|
601 | . s scriptOID=childNodes(nodeNo)
|
---|
602 | . s tagName=$$getTagName^%zewdDOM(scriptOID)
|
---|
603 | . i tagName'="script" q
|
---|
604 | . s language=$$getAttribute^%zewdDOM("language",scriptOID)
|
---|
605 | . q:$$zcvt^%zewdAPI(language,"l")'="javascript"
|
---|
606 | . s src=$$getAttribute^%zewdDOM("src",scriptOID)
|
---|
607 | . q:src'=""
|
---|
608 | . s stop=1
|
---|
609 | i scriptOID="" d
|
---|
610 | . n attr
|
---|
611 | . s attr("language")="javascript"
|
---|
612 | . set scriptOID=$$addElementToDOM^%zewdDOM("script",headOID,,.attr,"")
|
---|
613 | k textArray
|
---|
614 | s jsText=$$getElementValueByOID^%zewdDOM(scriptOID,"textArray",1)
|
---|
615 | i '$d(textArray) s textArray(1)=jsText
|
---|
616 | QUIT scriptOID
|
---|
617 | ;
|
---|
618 | javascriptObjectExists(objectName,docName)
|
---|
619 | ;
|
---|
620 | QUIT $$getJavascriptObject(objectName,docName)'=""
|
---|
621 | ;
|
---|
622 | getJavascriptObject(objectName,docName,eOID) ;
|
---|
623 | ;
|
---|
624 | n c,comm,dqlvl,eArray,slcomm,language,lc,line,lineNo,lvl
|
---|
625 | n mlcomm,ntags,OIDArray,%p1,%p2,pos,refString,sqlvl,stop,stop2,text,textArr
|
---|
626 | n textArray
|
---|
627 | ;
|
---|
628 | s text="",eOID=""
|
---|
629 | s refString=objectName_"="
|
---|
630 | s ntags=$$getElementsArrayByTagName^%zewdDOM("script",docName,,.eArray)
|
---|
631 | s eOID="",stop=0
|
---|
632 | f s eOID=$o(eArray(eOID)) q:eOID="" d q:stop
|
---|
633 | . s language=$$getAttribute^%zewdDOM("language",eOID)
|
---|
634 | . q:$$zcvt^%zewdAPI(language,"l")'["javascript"
|
---|
635 | . k textArray
|
---|
636 | . s text=$$getElementValueByOID^%zewdDOM(eOID,"textArr",1)
|
---|
637 | . i '$d(textArr) s textArr(1)=text
|
---|
638 | . s lineNo="",text=""
|
---|
639 | . f s lineNo=$o(textArr(lineNo)) q:lineNo="" d q:stop
|
---|
640 | . . s stop2=0
|
---|
641 | . . s textArr(lineNo)=$$replaceAll^%zewdAPI(textArr(lineNo)," =","=")
|
---|
642 | . . i textArr(lineNo)[refString f d q:textArr(lineNo)'[refString q:stop2
|
---|
643 | . . . s %p1=$p(textArr(lineNo),refString,1)
|
---|
644 | . . . s %p1=$re(%p1)
|
---|
645 | . . . s %p1=$p(%p1,$c(10,13),1)
|
---|
646 | . . . s %p1=$re(%p1)
|
---|
647 | . . . i %p1["//"!(%p1["/*") d q
|
---|
648 | . . . . s textArr(lineNo)=$p(textArr(lineNo),refString,2,1000)
|
---|
649 | . . . s stop2=1
|
---|
650 | . . q:textArr(lineNo)'[refString
|
---|
651 | . . s text=refString_$p(textArr(lineNo),refString,2,1000)
|
---|
652 | . . s %p1=$p(text,"{",1),%p2=$p(text,"{",2,1000)
|
---|
653 | . . s text=%p1_"{",lvl=1,c="",dqlvl=0,sqlvl=0,slcomm=0,mlcomm=0
|
---|
654 | . . f pos=1:1:$l(%p2) d q:stop
|
---|
655 | . . . s lc=c
|
---|
656 | . . . s c=$e(%p2,pos)
|
---|
657 | . . . i lc="\",c="{" s text=text_c q
|
---|
658 | . . . i lc="\",c="}" s text=text_c q
|
---|
659 | . . . i lc="\",c="""" s text=text_c q
|
---|
660 | . . . i lc="\",c="'" s text=text_c q
|
---|
661 | . . . i lc="/",c="/" s slcomm=1,text=text_c q
|
---|
662 | . . . i lc="/",c="*" s mlcomm=1,text=text_c q
|
---|
663 | . . . i lc="*",c="/" s mlcomm=0,text=text_c q
|
---|
664 | . . . i slcomm,c=$c(10) s slcomm=0,text=text_c q
|
---|
665 | . . . i c="""",dqlvl=0,'slcomm,'mlcomm s dqlvl=1
|
---|
666 | . . . i c="""",dqlvl=1,'slcomm,'mlcomm s dqlvl=0
|
---|
667 | . . . i c="'",sqlvl=0,'slcomm,'mlcomm s sqlvl=1
|
---|
668 | . . . i c="'",sqlvl=1,'slcomm,'mlcomm s sqlvl=0
|
---|
669 | . . . i slcomm!mlcomm s text=text_c q
|
---|
670 | . . . i c="{",dqlvl=1 s text=text_c q
|
---|
671 | . . . i c="}",dqlvl=1 s text=text_c q
|
---|
672 | . . . i c="{",sqlvl=1 s text=text_c q
|
---|
673 | . . . i c="}",sqlvl=1 s text=text_c q
|
---|
674 | . . . i c="{" s lvl=lvl+1
|
---|
675 | . . . i c="}" s lvl=lvl-1 i lvl=0 s stop=1 q
|
---|
676 | . . . s text=text_c
|
---|
677 | . . s text=text_"}"
|
---|
678 | QUIT text
|
---|
679 | ;
|
---|
680 | getJavascriptObjectBody(functionName,docName)
|
---|
681 | ;
|
---|
682 | n body,crlf,eOID,jsText,nLines
|
---|
683 | ;
|
---|
684 | s jsText=$$getJavascriptObject(functionName,docName,.eOID)
|
---|
685 | s crlf=$c(13,10)
|
---|
686 | s nLines=$l(jsText,crlf)
|
---|
687 | s body=$p(jsText,crlf,2,nLines-1)
|
---|
688 | QUIT body
|
---|
689 | ;
|
---|
690 | replaceJavascriptObjectBody(functionName,newBody,docName)
|
---|
691 | ;
|
---|
692 | n body,call,crlf,eOID,jsText
|
---|
693 | ;
|
---|
694 | s jsText=$$getJavascriptObject(functionName,docName,.eOID)
|
---|
695 | s crlf=$c(13,10)
|
---|
696 | s call=$p(jsText,crlf,1)
|
---|
697 | s body=call_crlf_newBody_crlf_" }"
|
---|
698 | s ok=$$replaceJavascriptObject(functionName,body,docName)
|
---|
699 | QUIT 1
|
---|
700 | ;
|
---|
701 | replaceJavascriptObject(objectName,newFunctionText,docName)
|
---|
702 | ;
|
---|
703 | n childOID,eOID,docOID,found,funcText,lineNo,stop,text,textArray,textOID
|
---|
704 | ;
|
---|
705 | s docOID=$$getDocumentNode^%zewdDOM(docName)
|
---|
706 | s found=$$getJavascriptObjectBlock(objectName,docName,.textArray)
|
---|
707 | i 'found QUIT 0
|
---|
708 | ;
|
---|
709 | s funcText=$$getJavascriptObject(objectName,docName,.eOID)
|
---|
710 | s lineNo="",stop=0
|
---|
711 | f s lineNo=$o(textArray(lineNo)) q:lineNo="" d q:stop
|
---|
712 | . s text=textArray(lineNo)
|
---|
713 | . i text[funcText s textArray(lineNo)=$$replace^%zewdAPI(text,funcText,newFunctionText),stop=1
|
---|
714 | i 'stop QUIT 0
|
---|
715 | f q:$$hasChildNodes^%zewdDOM(eOID)="false" d
|
---|
716 | . s childOID=$$getFirstChild^%zewdDOM(eOID)
|
---|
717 | . s childOID=$$removeChild^%zewdAPI(childOID)
|
---|
718 | ;
|
---|
719 | s lineNo=""
|
---|
720 | f s lineNo=$o(textArray(lineNo)) q:lineNo="" d
|
---|
721 | . s text=textArray(lineNo)
|
---|
722 | . s textOID=$$createTextNode^%zewdDOM(text,docOID)
|
---|
723 | . s textOID=$$appendChild^%zewdDOM(textOID,eOID)
|
---|
724 | QUIT 1
|
---|
725 | ;
|
---|
726 | getJavascriptObjectBlock(objectName,docName,textArr) ;
|
---|
727 | ;
|
---|
728 | n eArray,eOID,language,lineNo,ntags,OIDArray,refString,stop,text,textArray
|
---|
729 | ;
|
---|
730 | s text="",eOID="" k textArr
|
---|
731 | s refString=objectName_"="
|
---|
732 | s ntags=$$getElementsArrayByTagName^%zewdDOM("script",docName,,.eArray)
|
---|
733 | s eOID="",stop=0
|
---|
734 | f s eOID=$o(eArray(eOID)) q:eOID="" d q:stop
|
---|
735 | . s language=$$getAttribute^%zewdDOM("language",eOID)
|
---|
736 | . q:$$zcvt^%zewdAPI(language,"l")'="javascript"
|
---|
737 | . s text=$$getElementValueByOID^%zewdDOM(eOID,"textArr",1)
|
---|
738 | . i '$d(textArr) s textArr(1)=text
|
---|
739 | . s lineNo="",text=""
|
---|
740 | . f s lineNo=$o(textArr(lineNo)) q:lineNo="" d q:stop
|
---|
741 | . . s textArr(lineNo)=$$replaceAll^%zewdAPI(textArr(lineNo)," =","=")
|
---|
742 | . . i textArr(lineNo)[refString s stop=1 q
|
---|
743 | QUIT stop
|
---|
744 | ;
|
---|
745 | ;
|
---|
746 | createDirectory(path)
|
---|
747 | zsystem "mkdir "_path
|
---|
748 | QUIT 1
|
---|
749 | ;
|
---|
750 | renameFile(filepath,newpath)
|
---|
751 | zsystem "mv "_filepath_" "_newpath
|
---|
752 | QUIT 1
|
---|
753 | ;
|
---|
754 | deleteFile(filepath)
|
---|
755 | n status
|
---|
756 | d gtmDeleteFile
|
---|
757 | QUIT status
|
---|
758 | ;
|
---|
759 | gtmDeleteFile
|
---|
760 | s status=1
|
---|
761 | o filepath:(readonly:exception="g deleteNotExists")
|
---|
762 | c filepath:DELETE
|
---|
763 | QUIT
|
---|
764 | deleteNotExists
|
---|
765 | s status=0
|
---|
766 | QUIT
|
---|
767 | ;
|
---|
768 | fileExists(path)
|
---|
769 | o path:(readonly:exception="g fileNotExists")
|
---|
770 | c path
|
---|
771 | QUIT 1
|
---|
772 | fileNotExists
|
---|
773 | i $p($zs,",",1)=2 QUIT 0
|
---|
774 | QUIT 1
|
---|
775 | ;
|
---|
776 | fileInfo(path,info)
|
---|
777 | d fileInfo^%zewdGTM(path,.info)
|
---|
778 | QUIT
|
---|
779 | ;n line,results
|
---|
780 | ;k info
|
---|
781 | ;i '$$fileExists(path) QUIT
|
---|
782 | ;d shellCommand^%zewdGTM("ls -l """_path_"""",.results)
|
---|
783 | ;s line=$g(results(1))
|
---|
784 | ;s info("date")=$p(line," ",6,7)
|
---|
785 | ;s info("size")=$p(line," ",5)
|
---|
786 | ;QUIT
|
---|
787 | ;
|
---|
788 | directoryExists(path)
|
---|
789 | n line,temp
|
---|
790 | s temp="temp"_$p($h,",",2)_".txt"
|
---|
791 | zsystem "test -d "_path_" && echo ""1"">"_temp_" || echo ""0"">"_temp
|
---|
792 | o temp:(readonly:exception="g dirFileNotExists")
|
---|
793 | u temp
|
---|
794 | r line
|
---|
795 | c temp
|
---|
796 | s ok=$$deleteFile(temp)
|
---|
797 | QUIT line
|
---|
798 | dirFileNotExists
|
---|
799 | i $p($zs,",",1)=2 QUIT 0
|
---|
800 | QUIT 0
|
---|
801 | ;
|
---|
802 | fileSize(path)
|
---|
803 | n line,temp
|
---|
804 | i '$$fileExists(path) QUIT 0
|
---|
805 | d shellCommand^%zewdGTM("ls -s """_path_"""",.results)
|
---|
806 | s line=$g(results(1))
|
---|
807 | s line=$$stripLeadingSpaces^%zewdAPI(line)
|
---|
808 | s line=$p(line," ",1)
|
---|
809 | QUIT +line
|
---|
810 | ;
|
---|
811 | displayText(textID,reviewMode,sessid)
|
---|
812 | ;
|
---|
813 | i $g(textID)="" QUIT ""
|
---|
814 | s reviewMode=+$g(reviewMode)
|
---|
815 | n text,language,phraseType,appName
|
---|
816 | s language=$$getSessionValue^%zewdAPI("ewd_Language",sessid)
|
---|
817 | i $g(language)="" d
|
---|
818 | . n appName
|
---|
819 | . s appName=$$getTextAppName^%zewdCompiler5(textID)
|
---|
820 | . s language=$$getDefaultLanguage^%zewdCompiler5(appName)
|
---|
821 | i '$d(^ewdTranslation("textid",textID)) QUIT "textid "_textID_" : text missing"
|
---|
822 | s text=$g(^ewdTranslation("textid",textID,language))
|
---|
823 | i text="" s text=$g(^ewdTranslation("textid",textID,$$getDefaultLanguage^%zewdCompiler5($$getTextAppName^%zewdCompiler5(textID))))
|
---|
824 | i language="xx" s text=textID_" ("_text_")"
|
---|
825 | i reviewMode d
|
---|
826 | . s text=text_" {textid="_textID_" : "_$g(^ewdTranslation("textid",textID,$$getDefaultLanguage^%zewdCompiler5($$getTextAppName^%zewdCompiler5(textID))))_"}"
|
---|
827 | s phraseType=$$getTextPhraseType^%zewdCompiler5(textID)
|
---|
828 | ;d trace^%zewdAPI("phraseType="_phraseType_" ; text="_text)
|
---|
829 | i phraseType'="error" d
|
---|
830 | . s text=$$replaceAll^%zewdAPI(text,"\'","'")
|
---|
831 | . s text=$$replaceAll^%zewdAPI(text,"\""","""")
|
---|
832 | . s text=$$replaceAll^%zewdAPI(text,"'","'")
|
---|
833 | e d
|
---|
834 | . s text=$$replaceAll^%zewdAPI(text,"'",$c(5))
|
---|
835 | . s text=$$replaceAll^%zewdAPI(text,$c(5),"\'")
|
---|
836 | QUIT text
|
---|
837 | ;
|
---|
838 | mergeGlobalToSession(globalName,sessionName,sessid)
|
---|
839 | s globalName=$$stripSpaces^%zewdAPI(globalName)
|
---|
840 | QUIT:$g(sessid)=""
|
---|
841 | QUIT:$g(sessionName)=""
|
---|
842 | s sessionName=$tr(sessionName,".","_")
|
---|
843 | i $$isTemp^%zewdAPI(sessionName) m zewdSession(sessionName)=@globalName QUIT
|
---|
844 | m ^%zewdSession("session",sessid,sessionName)=@globalName
|
---|
845 | QUIT
|
---|
846 | ;
|
---|
847 | ;
|
---|
848 | mergeGlobalFromSession(globalName,sessionName,sessid)
|
---|
849 | ;
|
---|
850 | n x
|
---|
851 | ;
|
---|
852 | s globalName=$$stripSpaces^%zewdAPI(globalName)
|
---|
853 | QUIT:$g(sessid)=""
|
---|
854 | QUIT:$g(sessionName)=""
|
---|
855 | s sessionName=$tr(sessionName,".","_")
|
---|
856 | i $$isTemp^%zewdAPI(sessionName) s x="m "_globalName_"=zewdSession(sessionName)" x x QUIT
|
---|
857 | s x="m "_globalName_"=^%zewdSession(""session"",sessid,sessionName)" x x
|
---|
858 | QUIT
|
---|
859 | ;
|
---|
860 | createCSSFile(outputPath,mode,verbose,technology) ;
|
---|
861 | ;
|
---|
862 | n filePath,label,line,lineNo,no,stop,x
|
---|
863 | ;
|
---|
864 | i $d(^zewd("config","jsScriptPath",technology,"outputPath")) d
|
---|
865 | . n dlim
|
---|
866 | . s dlim=$$getDelim^%zewdAPI()
|
---|
867 | . s outputPath=^zewd("config","jsScriptPath",technology,"outputPath")
|
---|
868 | . i $e(outputPath,$l(outputPath))'=dlim s outputPath=outputPath_dlim
|
---|
869 | s filePath=outputPath_"ewd.css"
|
---|
870 | i '$$openNewFile^%zewdCompiler(filePath) QUIT
|
---|
871 | u filePath
|
---|
872 | f label="ewdStyles" d
|
---|
873 | . s stop=0
|
---|
874 | . f lineNo=1:1 d q:stop
|
---|
875 | . . s x="s line=$t("_label_"+lineNo^%zewdCompiler18)"
|
---|
876 | . . x x
|
---|
877 | . . i line["***END***" s stop=1 q
|
---|
878 | . . i line[";;*php*",technology'="php" q
|
---|
879 | . . i line[";;*csp*",((technology'="csp")!(technology="wl")!(technology="gtm")) q
|
---|
880 | . . i line[";;*jsp*",technology'="jsp" q
|
---|
881 | . . i line[";;*vb.net*",technology'="vb.net" q
|
---|
882 | . . i line["left(up)" d
|
---|
883 | . . . ; left(up):-4px
|
---|
884 | . . . s line=$$replace^%zewdAPI(line,"(up)","")
|
---|
885 | . . . i mode="collapse" s line=";; left:0px;"
|
---|
886 | . . i line["left(down)" d
|
---|
887 | . . . ;; left(down):-33px ;
|
---|
888 | . . . s line=$$replace^%zewdAPI(line,"(down)","")
|
---|
889 | . . . i mode="collapse" s line=";; left:-25px;"
|
---|
890 | . . s line=$$replace^%zewdHTMLParser(line,"*php*"," ")
|
---|
891 | . . s line=$$replace^%zewdHTMLParser(line,"*csp*"," ")
|
---|
892 | . . s line=$$replace^%zewdHTMLParser(line,"*jsp*"," ")
|
---|
893 | . . s line=$$replace^%zewdHTMLParser(line,"*vb.net*"," ")
|
---|
894 | . . w $p(line,";;",2,250),!
|
---|
895 | c filePath
|
---|
896 | QUIT
|
---|
897 | ;
|
---|
898 | spinner(nodeOID,attrValues,docOID,technology)
|
---|
899 | ;
|
---|
900 | n attr,attrName,elOID,imagePath,increment,max,min,name,onBlur
|
---|
901 | n onDown,onUp,onUpOrDown,size,value,width
|
---|
902 | ;
|
---|
903 | s name=$$getAttrValue^%zewdAPI("name",.attrValues,technology)
|
---|
904 | s name=$$removeQuotes^%zewdAPI(name)
|
---|
905 | i name="" s name="spinner"_$p(nodeOID,"-",2)
|
---|
906 | s size=$$getAttrValue^%zewdAPI("size",.attrValues,technology)
|
---|
907 | s size=$$removeQuotes^%zewdAPI(size)
|
---|
908 | i size="" s size=2
|
---|
909 | s width=size*8
|
---|
910 | s value=$$getAttrValue^%zewdAPI("value",.attrValues,technology)
|
---|
911 | s value=$$removeQuotes^%zewdAPI(value)
|
---|
912 | i value="" s value="*"
|
---|
913 | s max=$$getAttrValue^%zewdAPI("max",.attrValues,technology)
|
---|
914 | s max=$$removeQuotes^%zewdAPI(max)
|
---|
915 | i max="" s max="9999999999"
|
---|
916 | s min=$$getAttrValue^%zewdAPI("min",.attrValues,technology)
|
---|
917 | s min=$$removeQuotes^%zewdAPI(min)
|
---|
918 | i min="" s min="0"
|
---|
919 | s increment=$$getAttrValue^%zewdAPI("increment",.attrValues,technology)
|
---|
920 | s increment=$$removeQuotes^%zewdAPI(increment)
|
---|
921 | i increment="" s increment="100"
|
---|
922 | s imagePath=$$getAttrValue^%zewdAPI("imagepath",.attrValues,technology)
|
---|
923 | s imagePath=$$removeQuotes^%zewdAPI(imagePath)
|
---|
924 | s onUp=$$getAttrValue^%zewdAPI("onup",.attrValues,technology)
|
---|
925 | s onUp=$$removeQuotes^%zewdAPI(onUp)
|
---|
926 | s onDown=$$getAttrValue^%zewdAPI("ondown",.attrValues,technology)
|
---|
927 | s onDown=$$removeQuotes^%zewdAPI(onDown)
|
---|
928 | s onBlur=$$getAttrValue^%zewdAPI("onblur",.attrValues,technology)
|
---|
929 | s onBlur=$$removeQuotes^%zewdAPI(onBlur)
|
---|
930 | s onUpOrDown=$$getAttrValue^%zewdAPI("onupordown",.attrValues,technology)
|
---|
931 | s onUpOrDown=$$removeQuotes^%zewdAPI(onUpOrDown)
|
---|
932 | s attrName=""
|
---|
933 | f s attrName=$o(attrValues(attrName)) q:attrName="" d
|
---|
934 | . i "|name|size|value|max|min|increment|onup|ondown|onupordown|"[("|"_attrName_"|") q
|
---|
935 | . s attr(attrName)=$$removeQuotes^%zewdAPI(attrValues(attrName))
|
---|
936 | s attr("type")="text"
|
---|
937 | s attr("name")=name
|
---|
938 | s attr("value")=value
|
---|
939 | s attr("class")="ewdSpinnerText"
|
---|
940 | s attr("style")="width:"_width_"px"
|
---|
941 | s attr("onKeyDown")="EWD.page.spinnerControl(event,'"_name_"',"_min_","_max_")"
|
---|
942 | i onBlur="" d
|
---|
943 | . s attr("onBlur")="EWD.page.spinnerValueCheck(this.value,'"_name_"',"_min_","_max_")"
|
---|
944 | e d
|
---|
945 | . s attr("onBlur")=onBlur
|
---|
946 | s elOID=$$addElementToDOM^%zewdDOM("input",nodeOID,,.attr)
|
---|
947 | i onUp'="" s attr("onClick")=onUp
|
---|
948 | i onUpOrDown'="" d
|
---|
949 | . i onUp'="" s onUpOrDown=onUp_" ; "_onUpOrDown
|
---|
950 | . s attr("onClick")=onUpOrDown
|
---|
951 | s attr("type")="button"
|
---|
952 | s attr("name")=name_"Up"
|
---|
953 | s attr("tabIndex")="-1"
|
---|
954 | s attr("class")="ewdSpinnerButtonUp"
|
---|
955 | i imagePath'="" s attr("style")="background: url("_imagePath_"spinnerUp.gif) no-repeat;"
|
---|
956 | s attr("onMouseDown")="EWD.page.spinnerKeyDown = true ;EWD.page.incrementSpinner('"_name_"',"_max_","_increment_")"
|
---|
957 | s attr("onMouseUp")="EWD.page.spinnerKeyDown=false"
|
---|
958 | s elOID=$$addElementToDOM^%zewdDOM("input",nodeOID,,.attr)
|
---|
959 | i onDown'="" s attr("onClick")=onDown
|
---|
960 | i onUpOrDown'="" d
|
---|
961 | . i onDown'="" s onUpOrDown=onDown_" ; "_onUpOrDown
|
---|
962 | . s attr("onClick")=onUpOrDown
|
---|
963 | s attr("type")="button"
|
---|
964 | s attr("name")=name_"Down"
|
---|
965 | s attr("tabIndex")="-1"
|
---|
966 | s attr("class")="ewdSpinnerButtonDown"
|
---|
967 | i imagePath'="" s attr("style")="background: url("_imagePath_"spinnerDown.gif) no-repeat;"
|
---|
968 | s attr("onMouseDown")="EWD.page.spinnerKeyDown = true ;EWD.page.decrementSpinner('"_name_"',"_min_","_increment_")"
|
---|
969 | s attr("onMouseUp")="EWD.page.spinnerKeyDown=false"
|
---|
970 | s elOID=$$addElementToDOM^%zewdDOM("input",nodeOID,,.attr)
|
---|
971 | ;
|
---|
972 | do removeIntermediateNode^%zewdDOM(nodeOID)
|
---|
973 | ;
|
---|
974 | QUIT
|
---|
975 | ;
|
---|
976 | popups(allArray,docOID,jsOID,nextPageList,urlNameList,technology)
|
---|
977 | ;
|
---|
978 | ; Process pop-up directives
|
---|
979 | ;
|
---|
980 | n attr,eh,ehx,ehy,ehz,event,found,jsName,jsParams,nextPage
|
---|
981 | n nodeOID,nodeType,nvp,properties,props,tagName,url,useCurrentPosition
|
---|
982 | n winHandle,winName
|
---|
983 | ;
|
---|
984 | ;d getAllNodes^%zewdCompiler(docOID,.allArray)
|
---|
985 | s nodeOID="",found=0
|
---|
986 | f s nodeOID=$o(allArray(0,nodeOID)) q:nodeOID="" d
|
---|
987 | . ;
|
---|
988 | . ; popup="eHelpWindow" page="sysConfigHelp" event="OnClick" x=50 y=50 height=400 width=600
|
---|
989 | . ; ewdOpenWindow(url,winName,x,y,height,width,toolbar,location,directories,status,menubar,scrollbars,resizable)
|
---|
990 | . ; toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes
|
---|
991 | . ;
|
---|
992 | . s nodeType=$$getNodeType^%zewdDOM(nodeOID)
|
---|
993 | . i nodeType'=1 q
|
---|
994 | . s winHandle=$$getAttributeValue^%zewdDOM("popup",1,nodeOID)
|
---|
995 | . if winHandle="" quit
|
---|
996 | . s winName=winHandle
|
---|
997 | . i winHandle["[]" d
|
---|
998 | . . n attr,headOID,jsOID,jsText
|
---|
999 | . . s winName=$$getAttributeValue^%zewdDOM("windowname",1,nodeOID)
|
---|
1000 | . . s jsOID=$$getTagByNameAndAttr^%zewdAPI("script","id","ewdWinNames",1,docName)
|
---|
1001 | . . i jsOID="" d
|
---|
1002 | . . . s attr("language")="javascript"
|
---|
1003 | . . . s attr("id")="ewdWinNames"
|
---|
1004 | . . . s headOID=$$getTagOID^%zewdAPI("head",docName)
|
---|
1005 | . . . s jsText=$p(winHandle,"[",1)_" = new Array() ;"
|
---|
1006 | . . . s jsOID=$$addElementToDOM^%zewdDOM("script",headOID,,.attr,jsText)
|
---|
1007 | . . e d
|
---|
1008 | . . . n refStr,textOID
|
---|
1009 | . . . s textOID=$$getFirstChild^%zewdDOM(jsOID)
|
---|
1010 | . . . s jsText=$$getData^%zewdDOM(textOID)
|
---|
1011 | . . . s refStr=$p(winHandle,"[",1)_" = new Array() ;"
|
---|
1012 | . . . i jsText'[refStr s jsText=jsText_$c(13,10)_refStr
|
---|
1013 | . . . s textOID=$$modifyTextData^%zewdDOM(jsText,textOID)
|
---|
1014 | . ;
|
---|
1015 | . s found=1
|
---|
1016 | . s event=$$zcvt^%zewdAPI($$getAttributeValue^%zewdDOM("event",1,nodeOID),"L")
|
---|
1017 | . i event="" set event="onclick"
|
---|
1018 | . s nextPage=$$getAttributeValue^%zewdDOM("page",0,nodeOID)
|
---|
1019 | . s props("x")=+$$getAttributeValue^%zewdDOM("x",1,nodeOID)
|
---|
1020 | . s props("y")=+$$getAttributeValue^%zewdDOM("y",1,nodeOID)
|
---|
1021 | . s useCurrentPosition=$$getAttributeValue^%zewdDOM("usecurrentposition",1,nodeOID)
|
---|
1022 | . i $$zcvt^%zewdAPI(useCurrentPosition,"l")="true" d
|
---|
1023 | . . s props("x")="EWD.utils.findPosX(this)+"_props("x")
|
---|
1024 | . . s props("y")="EWD.utils.findPosY(this)+"_props("y")
|
---|
1025 | . e d
|
---|
1026 | . . s props("x")="'"_props("x")_"'"
|
---|
1027 | . . s props("y")="'"_props("y")_"'"
|
---|
1028 | . s props("width")=$$getAttributeValue^%zewdDOM("width",1,nodeOID) if props("width")="" set props("width")=100
|
---|
1029 | . s props("height")=$$getAttributeValue^%zewdDOM("height",1,nodeOID) if props("height")="" set props("height")=100
|
---|
1030 | . s props("toolbar")=$$getAttributeValue^%zewdDOM("toolbar",1,nodeOID) if props("toolbar")="" set props("toolbar")="no"
|
---|
1031 | . s props("location")=$$getAttributeValue^%zewdDOM("location",1,nodeOID) if props("location")="" set props("location")="no"
|
---|
1032 | . s props("directories")=$$getAttributeValue^%zewdDOM("directories",1,nodeOID) if props("directories")="" set props("directories")="no"
|
---|
1033 | . s props("status")=$$getAttributeValue^%zewdDOM("status",1,nodeOID) if props("status")="" set props("status")="no"
|
---|
1034 | . s props("menubar")=$$getAttributeValue^%zewdDOM("menubar",1,nodeOID) if props("menubar")="" set props("menubar")="no"
|
---|
1035 | . s props("scrollbars")=$$getAttributeValue^%zewdDOM("scrollbars",1,nodeOID) if props("scrollbars")="" set props("scrollbars")="yes"
|
---|
1036 | . s props("resizable")=$$getAttributeValue^%zewdDOM("resizable",1,nodeOID) if props("resizable")="" set props("resizable")="yes"
|
---|
1037 | . f attr="useCurrentPosition","popup","event","page","x","y","width","height","toolbar","location","directories","status","menubar","scrollbars","resizable" do
|
---|
1038 | . . d removeAttribute^%zewdAPI(attr,nodeOID,1)
|
---|
1039 | . ;
|
---|
1040 | . s ehx=$$getAttributeValue^%zewdDOM(event,1,nodeOID)
|
---|
1041 | . s ehy=$$getAttributeValue^%zewdDOM("onclickpre",1,nodeOID)
|
---|
1042 | . s ehz=$$getAttributeValue^%zewdDOM("onclickpost",1,nodeOID)
|
---|
1043 | . d removeAttribute^%zewdAPI("onclickpre",nodeOID,1)
|
---|
1044 | . d removeAttribute^%zewdAPI("onclickpost",nodeOID,1)
|
---|
1045 | . s url=$$expandPageName^%zewdCompiler8(nextPage,.nextPageList,.urlNameList,technology,.jsParams)
|
---|
1046 | . ; allow popup names defined in JS reference - ie use unquoted
|
---|
1047 | . s winHandle=$s($e($$zcvt^%zewdAPI($tr(winHandle,"",""),"L"),1,9)="document.":winHandle,1:"'"_winHandle_"'")
|
---|
1048 | . s winName=$s($e($$zcvt^%zewdAPI($tr(winName,"",""),"L"),1,9)="document.":winName,1:"'"_winName_"'")
|
---|
1049 | . set eh="EWD.page.openWindow('"_url_"',"_winHandle_","_winName
|
---|
1050 | . for attr="x","y","height","width","toolbar","location","directories","status","menubar","scrollbars","resizable" do
|
---|
1051 | . . i attr'="x",attr'="y" d
|
---|
1052 | . . . set eh=eh_",'"_props(attr)_"'"
|
---|
1053 | . . e d
|
---|
1054 | . . . set eh=eh_","_props(attr)
|
---|
1055 | . set jsName=""
|
---|
1056 | . for set jsName=$order(jsParams(jsName)) quit:jsName="" do
|
---|
1057 | . . set eh=eh_","_jsParams(jsName)
|
---|
1058 | . set eh=eh_")"
|
---|
1059 | . if ehx'="" set eh=eh_" ; "_ehx
|
---|
1060 | . if ehz'="" set eh=eh_" ; "_ehz
|
---|
1061 | . if ehy'="" set eh=ehy_" ; "_eh
|
---|
1062 | . do setAttribute^%zewdDOM(event,eh,nodeOID)
|
---|
1063 | ;
|
---|
1064 | QUIT
|
---|
1065 | ;
|
---|
1066 | addServerToSession(sessid,serverArray)
|
---|
1067 | QUIT:$g(sessid)=""
|
---|
1068 | ;
|
---|
1069 | k ^%zewdSession("session",sessid,"ewd_Server")
|
---|
1070 | m ^%zewdSession("session",sessid,"ewd_Server")=serverArray
|
---|
1071 | d setWLDSymbol^%zewdAPI("ewd_Server",sessid)
|
---|
1072 | QUIT
|
---|
1073 | ;
|
---|
1074 | displayTextArea(fieldName)
|
---|
1075 | n lineNo,text,lastLineNo
|
---|
1076 | ;
|
---|
1077 | s fieldName=$tr(fieldName,".","_")
|
---|
1078 | d
|
---|
1079 | . s lastLineNo=$o(^%zewdSession("session",sessid,"ewd_textarea",fieldName,""),-1)
|
---|
1080 | . s lineNo=0
|
---|
1081 | . f s lineNo=$o(^%zewdSession("session",sessid,"ewd_textarea",fieldName,lineNo)) q:lineNo="" d
|
---|
1082 | . . k text
|
---|
1083 | . . s text=^%zewdSession("session",sessid,"ewd_textarea",fieldName,lineNo)
|
---|
1084 | . . s text=$$replaceAll^%zewdHTMLParser(text,"'","'")
|
---|
1085 | . . w $$zcvt^%zewdAPI(text,"o","HTML")
|
---|
1086 | . . i lineNo'=lastLineNo w $c(13,10)
|
---|
1087 | QUIT
|
---|
1088 | ;
|
---|
1089 | isNextPageTokenValid(token,sessid,page)
|
---|
1090 | ;
|
---|
1091 | n allowedFrom,expectedPage,fromPage
|
---|
1092 | ;
|
---|
1093 | s expectedPage=$p($g(^%zewdSession("nextPageTokens",sessid,token)),"~",1)
|
---|
1094 | ;s allowedFrom=$p($g(^%zewdSession("nextPageTokens",sessid,token)),"~",2)
|
---|
1095 | i expectedPage="" QUIT 0
|
---|
1096 | ;d trace^%zewdAPI("token="_token_" ; allowedFrom="_allowedFrom_" ; actual from page="_fromPage)
|
---|
1097 | ;i allowedFrom'=fromPage QUIT 0
|
---|
1098 | i page[".php" d
|
---|
1099 | . s page=$p(page,"/",$l(page,"/"))
|
---|
1100 | . s page=$p(page,".php",1)
|
---|
1101 | QUIT $$zcvt^%zewdAPI(expectedPage,"L")=$$zcvt^%zewdAPI(page,"L")
|
---|
1102 | ;
|
---|
1103 | existsInSessionArray(name,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11)
|
---|
1104 | ;
|
---|
1105 | n exists,i,nparams,param,ref,sessid,stop,technology,value
|
---|
1106 | ;
|
---|
1107 | s stop=0
|
---|
1108 | f i=11:-1:1 d q:stop
|
---|
1109 | . s param="p"_i
|
---|
1110 | . i $g(@param)'="" s stop=1
|
---|
1111 | s sessid=@("p"_i)
|
---|
1112 | s technology=$$getSessionValue^%zewdAPI("ewd_technology",sessid)
|
---|
1113 | s nparams=i-1
|
---|
1114 | s name=$tr($g(name),".","_")
|
---|
1115 | i $$isTemp^%zewdAPI(name) d
|
---|
1116 | . s ref="s exists=$d(zewdSession("""_name_""""
|
---|
1117 | . s ref="s exists=$d(sessionArray("""_name_""""
|
---|
1118 | e s ref="s exists=$d(^%zewdSession(""session"","""_sessid_""","""_name_""""
|
---|
1119 | i nparams>0 d
|
---|
1120 | . f i=1:1:nparams s ref=ref_","""_$g(@("p"_i))_""""
|
---|
1121 | s ref=ref_"))"
|
---|
1122 | ;d trace^%zewdAPI("ref="_$g(ref))
|
---|
1123 | x ref
|
---|
1124 | ;d trace^%zewdAPI("ref="_ref_" ; exists="_exists)
|
---|
1125 | QUIT exists
|
---|
1126 | ;
|
---|
1127 | getSchemaFormErrors(errorArray,sessid)
|
---|
1128 | ;
|
---|
1129 | n error,num
|
---|
1130 | ;
|
---|
1131 | k errorArray
|
---|
1132 | d mergeArrayFromSession^%zewdAPI(.errorArray,"ewd_SchemaFormError",sessid)
|
---|
1133 | s error=""
|
---|
1134 | s num=""
|
---|
1135 | f s num=$o(errorArray("list",num)) q:num="" d
|
---|
1136 | . s error=error_errorArray("list",num)_$c(13,10)
|
---|
1137 | QUIT error
|
---|
1138 | ;
|
---|
1139 | existsInSession(name,sessid)
|
---|
1140 | n result,technology
|
---|
1141 | ;
|
---|
1142 | s name=$$stripSpaces^%zewdAPI(name)
|
---|
1143 | i $g(name)="" QUIT 0
|
---|
1144 | s name=$tr(name,".","_")
|
---|
1145 | i $g(sessid)="" QUIT 0
|
---|
1146 | s technology=$$getSessionValue^%zewdAPI("ewd_technology",sessid)
|
---|
1147 | i $$isTemp^%zewdAPI(name) QUIT $d(sessionArray(name))
|
---|
1148 | QUIT $d(^%zewdSession("session",sessid,name))
|
---|
1149 | ;
|
---|
1150 | encodeDataType(name,dataType,sessid)
|
---|
1151 | ;
|
---|
1152 | n value,outputMethod,x,encodedValue,Error
|
---|
1153 | ;
|
---|
1154 | i $g(name)="" QUIT "Data Type encoding attempted but field name was not specified"
|
---|
1155 | i $g(dataType)="" QUIT "Data Type encoding attempted for the "_name_" field, but no data type was defined"
|
---|
1156 | s value=$$getSessionValue^%zewdAPI(name,sessid)
|
---|
1157 | s outputMethod=$$getOutputMethod^%zewdCompiler(dataType)
|
---|
1158 | i outputMethod="" QUIT ""
|
---|
1159 | s x="s encodedValue=$$"_outputMethod_"("""_value_""",.Error,sessid)"
|
---|
1160 | x x
|
---|
1161 | i $g(Error)="" d setSessionValue^%zewdAPI(name,encodedValue,sessid)
|
---|
1162 | ;i Error'="" s Error=name_" : "_Error
|
---|
1163 | QUIT Error
|
---|
1164 | ;
|
---|