[516] | 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 | ;
|
---|