├── .gitignore ├── README.md ├── src ├── cls │ ├── brianpalmund │ │ └── validateSpecial.cls │ ├── eduardlebedyuk │ │ ├── filenamesInDir.cls │ │ ├── changePasswords.cls │ │ ├── passQuestionParams.cls │ │ └── diffLists.cls │ ├── objectscript │ │ ├── ZENsync.cls │ │ ├── getPropOfThisClass.cls │ │ ├── saveFileHTTP.cls │ │ ├── findTable.cls │ │ ├── sendEmail.cls │ │ ├── checkAudit.cls │ │ ├── GZIP.cls │ │ ├── createClass.cls │ │ ├── postXML.cls │ │ ├── walkDOM.cls │ │ ├── sendEmailWithImage.cls │ │ ├── createZenPage.cls │ │ └── checkBuild.cls │ ├── luziferaza │ │ └── RemoveDuplicates.cls │ ├── skisser │ │ ├── webcamPage.cls │ │ └── webcam.cls │ ├── benspead │ │ └── EnsTablesSchema.cls │ ├── zen │ │ ├── uploadFile.cls │ │ └── downloadStream.cls │ ├── timleavitt │ │ └── createThumbnail.cls │ ├── cartertiernan │ │ └── getDayfromDate.cls │ ├── blaisezarka │ │ └── automateSystemDefault.cls │ └── DAiMor │ │ └── fetchMessageHeaderData.cls ├── csp │ └── general │ │ ├── upload.csp │ │ ├── dynamicGeneratedTable.csp │ │ └── streamToDiv.csp └── routines │ ├── timur │ └── getOptionsArgs.mac │ └── iainbray │ └── indexToBitmap.mac └── LICENSE /.gitignore: -------------------------------------------------------------------------------- 1 | .DS* 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # code-snippets 2 | Code snippets library on ObjectScript 3 | -------------------------------------------------------------------------------- /src/cls/brianpalmund/validateSpecial.cls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/intersystems-community/code-snippets/master/src/cls/brianpalmund/validateSpecial.cls -------------------------------------------------------------------------------- /src/cls/eduardlebedyuk/filenamesInDir.cls: -------------------------------------------------------------------------------- 1 | Class eduardlebedyuk.filenamesInDir Extends %RegisteredObject 2 | { 3 | classmethod test() { 4 | // replace dir with file path you want 5 | set dir = "D:\directory" 6 | set dir = ##class(%File).NormalizeDirectory(dir) 7 | set file=$ZSEARCH(dir_"*") 8 | while file'="" { 9 | write !,file 10 | set file=$ZSEARCH("") 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /src/cls/objectscript/ZENsync.cls: -------------------------------------------------------------------------------- 1 | Class objectscript.ZENsync Extends %RegisteredObject 2 | { 3 | classmethod test() { 4 | Write ##class(%ZEN.Component.abstractPage).%ZENVersion() 5 | 6 | ; Return Zen Library version. 7 | ;This is used to make sure that the class library is in sync with the zenutils.js file and any generated js files. This must match the value in the zenutils.js file. 8 | } 9 | } -------------------------------------------------------------------------------- /src/cls/eduardlebedyuk/changePasswords.cls: -------------------------------------------------------------------------------- 1 | Class eduardlebedyuk.changePasswords Extends %RegisteredObject 2 | { 3 | ClassMethod test() 4 | { 5 | zn "%SYS" 6 | set NewPass = "NewPassString" 7 | set rs=##Class(%ResultSet).%New("Security.Users:List") 8 | set st = rs.Execute() 9 | while rs.Next() { set st=$SYSTEM.Security.ChangePassword(rs.Get("Name"),NewPass)} 10 | } 11 | } -------------------------------------------------------------------------------- /src/cls/luziferaza/RemoveDuplicates.cls: -------------------------------------------------------------------------------- 1 | Class luziferaza.RemoveDuplicates as %RegisteredObject { 2 | ClassMethod test() As %String 3 | { 4 | s str="Hello,, world!",str2="" 5 | s symb="," 6 | 7 | f i=1:1:$l(str,symb) 8 | { 9 | s p=$p(str,symb,i) 10 | i ($tr(p," ")'="") &; i'=1 {s str2=str2_symb_p} 11 | elseif ($tr(p," ")'="") &; i=1 {s str2=str2_p} 12 | } 13 | 14 | w str2 15 | } 16 | } -------------------------------------------------------------------------------- /src/cls/objectscript/getPropOfThisClass.cls: -------------------------------------------------------------------------------- 1 | /// get property value within class by indirection 2 | Class objectscript.getPropOfThisClass Extends %RegisteredObject 3 | { 4 | // extra code to help test 5 | Property myProp as %Integer; 6 | 7 | // need to instantiate an object to access property value 8 | method test() { 9 | // extra code to help test 10 | set ..myProp = 32 11 | 12 | // code from the CODE post 13 | set property = $PROPERTY($THIS, "myProp") 14 | 15 | // extra code to help test 16 | write property 17 | } 18 | } -------------------------------------------------------------------------------- /src/cls/objectscript/saveFileHTTP.cls: -------------------------------------------------------------------------------- 1 | Class objectscript.saveFileHTTP Extends %RegisteredObject 2 | { 3 | classmethod test() { 4 | Set httprequest = ##class(%Net.HttpRequest).%New() 5 | Set httprequest.Server = "docs.intersystems.com" 6 | Do httprequest.Get("documentation/cache/20172/pdfs/GJSON.pdf") 7 | Do $System.OBJ.Dump(httprequest.HttpResponse) 8 | 9 | Set stream=##class(%FileBinaryStream).%New() 10 | Set stream.Filename="c:\test.pdf" 11 | Set stream=##class(%FileBinaryStream).%New() 12 | Set stream.Filename="c:\test.pdf" 13 | Write stream.CopyFrom(httprequest.HttpResponse.Data) 14 | Write stream.%Save() 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/cls/eduardlebedyuk/passQuestionParams.cls: -------------------------------------------------------------------------------- 1 | Class eduardlebedyuk.passQuestionParams 2 | { 3 | classmethod test(pValue = 50) { 4 | s ns = $Namespace 5 | zn "samples" 6 | s tSQL = "SELECT ID, Name FROM Sample.Person WHERE Id > ?" 7 | s tPR = ##class(%ZEN.Auxiliary.jsonSQLProvider).%New() 8 | s tPR.sql = tSQL 9 | s tPR.%Format = "tw" 10 | s tPR.maxRows = 100 11 | 12 | s tParam = ##class(%ZEN.Auxiliary.parameter).%New() 13 | s tParam.value = pValue 14 | d tPR.parameters.SetAt(tParam,1) 15 | 16 | d tPR.%DrawJSON() 17 | //d ##class(%ZEN.Auxiliary.jsonSQLProvider).%WriteJSONFromSQL(,,,,,tPR) //same thing 18 | zn ns 19 | } 20 | } -------------------------------------------------------------------------------- /src/cls/objectscript/findTable.cls: -------------------------------------------------------------------------------- 1 | Class objectscript.findTable Extends %RegisteredObject 2 | { 3 | classmethod test(name as %String="mytable") { 4 | #dim result as %ResultSet 5 | #dim tName as %String 6 | #dim contain as %Integer 7 | 8 | Set contain=0 9 | Set result=##class(%ResultSet).%New("%ClassDefinition.ClassInfo") 10 | Do result.Execute() 11 | For{ 12 | If (result.Next()=0 ) Quit 13 | Set tName=result.GetDataByName("Name") 14 | &sql(select position (:name in :tName) into :contain) 15 | If (contain '= 0) Write tName, " ... ", name, " (", contain,")", ! 16 | } 17 | 18 | Do result.%Close() 19 | } 20 | } -------------------------------------------------------------------------------- /src/cls/objectscript/sendEmail.cls: -------------------------------------------------------------------------------- 1 | Class objectscript.sendEmail Extends %RegisteredObject 2 | { 3 | classmethod test() { 4 | set m=##class(%Net.MailMessage).%New() 5 | set m.From="user@company.com" 6 | 7 | set m.IsHTML=1 8 | 9 | do m.To.Insert("user@company.com") 10 | set m.Subject="Sent by Cache' mail" 11 | set m.Charset="iso-8859-1" 12 | do m.TextData.Write(""_$char(13,10)) 13 | do m.TextData.Write(""_$char(13,10)) 14 | do m.TextData.Write("Test Test") 15 | set s=##class(%Net.SMTP).%New() 16 | set s.smtpserver="mail.company.com" 17 | set status=s.Send(m) 18 | } 19 | } -------------------------------------------------------------------------------- /src/cls/objectscript/checkAudit.cls: -------------------------------------------------------------------------------- 1 | class objectscript.checkAudit Extends %RegisteredObject 2 | { 3 | classmethod test() { 4 | w "Checking for Auditing...",! 5 | Set SYSOBJ = ##class(Security.System).%OpenId("SYSTEM") 6 | If +SYSOBJ = 0 Set SYSOBJ = ##class(Security.System).%New() 7 | i SYSOBJ.AuditEnabled { 8 | w "Security Auditing is enabled for the following services",! 9 | s rs=##class(%ResultSet).%New("Security.Events:ListAllSystem") 10 | s sc=rs.Execute() If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit 11 | while rs.%Next() { 12 | d:rs.Data("Enabled")="Yes" rs.%Print() 13 | } 14 | d rs.Close() 15 | 16 | s rs=##class(%ResultSet).%New("Security.Events:ListAllUser") 17 | s sc=rs.Execute() If $$$ISERR(sc) Do DisplayError^%apiOBJ(sc) Quit 18 | while rs.%Next() { 19 | d:rs.Data("Enabled")="Yes" rs.%Print() 20 | } 21 | d rs.Close() 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /src/csp/general/upload.csp: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | Enter a file to upload here: 7 |
8 | 9 |
10 | 11 | 12 |

Saving file...

13 | 32 |
33 | 34 | -------------------------------------------------------------------------------- /src/cls/skisser/webcamPage.cls: -------------------------------------------------------------------------------- 1 | Class skisser.webcamPage extends %ZEN.Component.page 2 | { 3 | Parameter APPLICATION; 4 | 5 | Parameter PAGENAME; 6 | 7 | Parameter DOMAIN; 8 | 9 | XData Style 10 | { 11 | 13 | } 14 | 15 | XData Contents [ XMLNamespace = "http://www.intersystems.com/zen" ] 16 | { 17 | 18 |