[613] | 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
|
---|