| 1 | XMJMF ;ISC-SF/GMB-Find messages based on criteria ;07/10/2002  09:58 | 
|---|
| 2 | ;;8.0;MailMan;;Jun 28, 2002 | 
|---|
| 3 | ; Replaces ^XMA03,^XMAL0,^XMAL0A (ISC-WASH/CAP/THM) | 
|---|
| 4 | ; Entry points used by MailMan options (not covered by DBIA): | 
|---|
| 5 | ; FIND     XMSEARCH | 
|---|
| 6 | ; SUPER    XM SUPER SEARCH | 
|---|
| 7 | FINDBSKT(XMDUZ,XMK,XMKN) ; Find messages in a particular basket | 
|---|
| 8 | D FIND^XMJMF1(XMDUZ,XMK,0,XMKN) | 
|---|
| 9 | Q | 
|---|
| 10 | FIND ; Find messages in any basket or find any message | 
|---|
| 11 | N XMDIR,XMOX,XMOPT,XMY,XMABORT | 
|---|
| 12 | D CHECK^XMVVITAE | 
|---|
| 13 | S XMABORT=0 | 
|---|
| 14 | S XMDIR("A")=$$EZBLD^DIALOG(34410) ; Select message search method: | 
|---|
| 15 | D SET^XMXSEC1("S",34411,.XMOPT,.XMOX) ; S:Search all messages by subject only | 
|---|
| 16 | D SET^XMXSEC1("A",34413,.XMOPT,.XMOX) ; A:Search all messages by multiple criteria | 
|---|
| 17 | D SET^XMXSEC1("M",34412,.XMOPT,.XMOX) ; M:Search my Mailbox by multiple criteria | 
|---|
| 18 | S XMDIR(0)="S" ; show the choices | 
|---|
| 19 | S XMDIR("?")=34414 | 
|---|
| 20 | S XMDIR("??")="XM-U-Q-SEARCH" | 
|---|
| 21 | D XMDIR^XMJDIR(.XMDIR,.XMOPT,.XMOX,.XMY,.XMABORT) Q:XMABORT | 
|---|
| 22 | K XMOX,XMOPT,XMDIR | 
|---|
| 23 | D @XMY | 
|---|
| 24 | Q | 
|---|
| 25 | S ; Search all existing messages by subject | 
|---|
| 26 | N DIR,Y,DIRUT | 
|---|
| 27 | S DIR(0)="FO^3:30" | 
|---|
| 28 | S DIR("A")=$$EZBLD^DIALOG(34415) ; Enter the string that the subject starts with | 
|---|
| 29 | D BLD^DIALOG(34416,"","","DIR(""?"")") | 
|---|
| 30 | ;The string may be from 3 to 30 characters. | 
|---|
| 31 | ;We will find all messages whose subject starts with the string you enter. | 
|---|
| 32 | ;We will search all existing messages which you have ever had access to, | 
|---|
| 33 | ;whether they are in your mailbox or not. | 
|---|
| 34 | ;The search is case-sensitive. | 
|---|
| 35 | S DIR("??")="XM-U-Q-SEARCH SYSTEM" | 
|---|
| 36 | D ^DIR Q:$D(DIRUT) | 
|---|
| 37 | W !,$$EZBLD^DIALOG(34417) ; Searching... | 
|---|
| 38 | D FIND^XMJMFA(XMDUZ,Y) | 
|---|
| 39 | Q | 
|---|
| 40 | A ; Search all existing messages by multiple criteria | 
|---|
| 41 | D ALL(XMDUZ) | 
|---|
| 42 | Q | 
|---|
| 43 | ALL(XMDUZ,XMFLAG) ; | 
|---|
| 44 | N XMTEXT | 
|---|
| 45 | W ! | 
|---|
| 46 | ;                      * * * * * WARNING * * * * * | 
|---|
| 47 | I $G(XMFLAG)="U" D | 
|---|
| 48 | . D BLD^DIALOG(34418.5,"","","XMTEXT","F") | 
|---|
| 49 | . ;This is the Super Search which looks at all messages | 
|---|
| 50 | . ;in the MESSAGE file which were sent by anyone and everyone during the | 
|---|
| 51 | . ;entire time period you select, regardless of whether or not you are | 
|---|
| 52 | . ;party to the messages.  This is a very powerful search and should not | 
|---|
| 53 | . ;be abused.  You should have good reason and authorization to be here. | 
|---|
| 54 | E  D | 
|---|
| 55 | . D BLD^DIALOG(34418,"","","XMTEXT","F") | 
|---|
| 56 | . ;This search looks at all messages in the MESSAGE file which were sent | 
|---|
| 57 | . ;to you or by you during the entire time period you select. | 
|---|
| 58 | D BLD^DIALOG(34419,"","","XMTEXT","F") | 
|---|
| 59 | ;This search can take a very long time, depending on how many messages | 
|---|
| 60 | ;were sent at this site during the time period you select, and how many | 
|---|
| 61 | ;search criteria you specify.  The more messages to search, the more | 
|---|
| 62 | ;search criteria you specify, the longer the search will take. | 
|---|
| 63 | ;             This search can be VERY SLOW.  Be forewarned! | 
|---|
| 64 | D MSG^DIALOG("WM","",IOM,"","XMTEXT") | 
|---|
| 65 | W ! | 
|---|
| 66 | D WAIT^XMXUTIL | 
|---|
| 67 | D FIND^XMJMF1(XMDUZ,"!",$G(XMFLAG)) | 
|---|
| 68 | Q | 
|---|
| 69 | M ; Search my mailbox by multiple criteria | 
|---|
| 70 | D FIND^XMJMF1(XMDUZ,"*",1) | 
|---|
| 71 | Q | 
|---|
| 72 | SUPER ; Super Search all messages in the Message file | 
|---|
| 73 | N XMDUZ,XMV | 
|---|
| 74 | D INITAPI^XMVVITAE | 
|---|
| 75 | I $D(XMV("ERROR")) D ERROR^XM(.XMV,"ERROR") Q | 
|---|
| 76 | D ALL(DUZ,"U") | 
|---|
| 77 | Q | 
|---|