<!--#rem Command Intepreter for Containers-->
<html><X-FC-HEADER-ONLY>
<head>
<script>
sw = parent.sw;
<!--#rem " Include the default command processor.... "-->
<!--#include virtual="/.templates/Commands/DefaultCommands.inc"-->
<!--#rem "
Function dC == doCommand
Performs a menu command specific to leaf objects
Arguments:
CID == CommandID
T == Target List. An Array to perform the command on.
Command IDs:
3: Open Selected
128: New Document
140: New Folder
143: Properties/Get Info
144: Delete
145: Search
152: Send
153: Reply
154: Forward
155: Unsend
156: Reply All
157: Reply Sender
158: Reply Conference
160: Upload
163: History
167: Toggle Unread Flag
170: Create Alias on Dekstop (aka Subscribe)
171: New Conference
172: Open Permissions List
175: Approve
176: Open Conference Resume
197: Change View Properties
205: Give Alias (Admin)
221: Add Route (Admin)
222: Add Remote Name (Admin)
481: Run Manual Rules
482: Run Delivery Rules
276: Add Bookmark
351: Reply Original Author
357: Show/Hide Deleted Items
366: Undelete
383: New Group Calendar
384: New Resource Calendar
385: New Location Calendar
"-->
function dC(CID,T){
switch(CID){
case 3: if(T&&T.length&&(sw.P&0x00001000)){NURL(sw.url+T[0][-2]+(T[0][3]&0x1000?"?UnDelete=1":""),0);}break;
case 128: if(sw.P&0x00000008){NURL(sw.url+"FormNew?FormID=96",0);}break;
case 140: if(sw.P&0x0008){
var N = sw.prompt ("<X-FC-FIELD LANG.7534.8 STRING>","<X-FC-FIELD LANG.CMD.140.0 STRING>");
if(N&&N.length)
dO(140,null,N,0);
}
break;
case 143: dGI(T);break;
case 144: dD(T);break;
case 145: <!--#if expr="<X-FC-USER PRIVILEGES Search>"-->if (sw.P&0x0400){NURL(sw.url+"Search", 0);}<!--#endif-->break;
case 152: dS(T);break;
case 153:
case 156:
case 157:
case 158:
case 351: if(T.length){dR(T,CID,1);}break;
case 154: <!--#if expr="<X-FC-USER PRIVILEGES Forward>"-->if(T.length){dF(T);}<!--#endif-->break;
case 155: <!--#if expr="<X-FC-USER PRIVILEGES UnSend>"-->dUS(T); <!--#endif-->break;
case 160: <!--#if expr="<X-FC-USER PRIVILEGES UpLoad>"-->dU();<!--#endif-->break;
case 163: if(T.length){dH(T)}break;
case 167: dTU(T);break;
case 169: NURL("?NextUnread=1",1);break;
case 170: if(T.length){dSS(T,0);}else{dSS(null,0);}break;
case 171: <!--#if expr="<X-FC-USER PRIVILEGES CrtConfs>"-->if(sw.P&0x2000){
var N=sw.prompt("<X-FC-FIELD LANG.7534.8 STRING>","<X-FC-FIELD LANG.CMD.171.0 STRING>");
if(N&&N.length)
dO(171,null,N,0);
}
<!--#endif-->break;
case 172: if(T.length){
if(isCn(T[0][0]))
NURL(T[0][12] + "/__ACL",1);
} else
NURL("__ACL",1);
break;
case 175: dA(T);break;
case 176: <!--#if expr="<X-FC-USER PRIVILEGES ViewResumes>"-->if(T.length){dAC(T);}else{dAC(null);}<!--#endif-->break;
case 197: NURL("?FormID=52",1); break;
case 205: if(T.length){dSS(T,1);}else{dSS(null,1);}break;
case 221: break;
case 222: break;
case 234: NFR(126);break;
case 235: NFR(124);break;
case 236: NFR(88);break;
case 237: NFR(118);break;
case 238: NFR(65);break;
case 276: break;
case 357: sw.TSD(); break;
case 366: dUD(T); break;
case 383: if(sw.P&0x2000 && <X-FC-USER PRIVILEGES Calendaring>) {
var N=prompt("<X-FC-FIELD LANG.7534.8 STRING>","<X-FC-FIELD LANG.CMD.383.0 STRING>");
if (N&&N.length)
dO(383,null,N,24011);
}
break;
case 384: if(sw.P&0x2000 && <X-FC-USER PRIVILEGES Calendaring>) {
var N=prompt("<X-FC-FIELD LANG.7534.8 STRING>","<X-FC-FIELD LANG.CMD.374.0 STRING>");
if (N&&N.length)
dO(384,null,N,24014);
}
break;
case 385: if(sw.P&0x2000 && <X-FC-USER PRIVILEGES Calendaring>) {
var N=prompt("<X-FC-FIELD LANG.7534.8 STRING>","<X-FC-FIELD LANG.CMD.385.0 STRING>");
if (N&&N.length)
dO(385,null,N,24013);
}
break;
case 480: <!--#if expr="<X-FC-USER PRIV MailRules>"-->if(T.length){
if(isCn(T[0][0]))
NURL(T[0][12] + "/__RULES/",1);
}else
NURL("__RULES/",1);
<!--#endif-->break;
case 481:
case 482: if(T.length)
dO(CID,T);
break;
case 669: NURL("?PrevUnread=1",1);break;
default: dDC(CID);break;
}
}
<!--#rem
Function dD == doDelete
Validates and deletes a list of files form the current container
Arguments:
L == List of files to be deleted
Variables:
T == List of validated files
P == List of "prime links" (original folders/confs) in delete list
-->
function dD(L){
var T=new Array();
var P=new Array();
for(var i=0;i<L.length;i++){
if(!(L[i][3]&0x0400)){
if(isCn(L[i][0])&&!(L[i][3]&0x0010))
P[P.length]=L[i];
else
T[T.length]=L[i];
}
}
if((T.length||P.length)&&confirm("<X-FC-FIELD LANG.1104.2 STRING>")){
if(P.length&&confirm("<X-FC-FIELD LANG.1111.2 STRING>")){
for(var i=0;i<P.length;i++)
T[T.length]=P[i];
}
if (T.length)
dO(144,T,null,null);
}
}
<!--#rem
Function dUD == doUnDelete
Validates and un-deletes a list of files form the current container
Arguments:
L == List of files to be un-deleted
Variables:
T == List of validated files
-->
function dUD(L){
var T=new Array();
for (var i=0;i<L.length;i++){
if(L[i][3]&0x1000)
T[T.length]=L[i];
}
if (T.length)
dO(366,T,null,null);
}
<!--#rem
Function dMv == doMove
Validates and moves a list of files from the current container to the specified target
Arguments:
L == List of files to be moved
D == destination of move operation (relative URL)
Variables:
T == List of validated files
-->
function dMv(L,D){
var T=new Array();
var p;
for(var i=0;i<L.length;i++){
if(!(L[i][3]&0x0400))
T[T.length]=L[i];
}
if (T.length){
if(D=="-1")
p=sw.up;
else
p=sw.url+D;
dO(274,T,p,null);
}
}
<!--#rem
Function dCp == doCopy
Validates and copies a list of files from the current container to the specified target
Arguments:
L == List of files to be copied
D == destination of copy operation (relative URL)
Variables:
T == List of validated files
-->
function dCp(L,D){
if (L.length)
dO(273,L,sw.url+D,null);
}
<!--#rem
Function dLk == doLink
Validates and aliases a list of files from the current container to the specified target
Arguments:
L == List of files to be aliased
D == destination of link operation (relative URL)
Variables:
T == List of validated files
-->
function dLk(L,D){
var T=new Array();
for (var i=0;i<L.length;i++){
if(isCn(L[0])&&L[0]!=0)
T[T.length]=L[i];
}
if(T.length)
dO(170,T,sw.url+D,null);
}
<!--#rem
Function dS == doSend
Validates and Sends a list of messages
Arguments:
L == List of objects to send
Variables:
T == List of validated messages
-->
function dS(L){
var T=new Array();
for (var i=0;i<L.length;i++){
if ((L[i][3]&0x2840)==0x0840)
T[T.length]=L[i];
}
if(T.length&&((T.length<10)||confirm(sw.PFS("<X-FC-FIELD LANG.1154.1 STRING>","","<X-FC-FIELD LANG.1154.4 STRING>",T.length))))
dO(152,T,null,null);
}
<!--#rem
Function dUS == doUnSend
Validates and unsends a list of messages
Arguments:
L == List of objects to unsend
Variables:
T == List of validated messages
-->
function dUS(L){<!--#if expr="<X-FC-PRIVILEGES UnSend>"-->
var T = new Array();
for (var i=0;i<L.length;i++){
if((L[i][3]&0x2800)==0x2800)
T[T.length]=L[i];
}
if(T.length&&((T.length<10)||confirm(sw.PFS("<X-FC-FIELD LANG.1154.1 STRING>","","<X-FC-FIELD LANG.1154.5 STRING>",T.length))))
dO(155,T,null,null);<!--#endif-->
}
<!--#rem
Function dR == doReply
Generates a reply to a message with the specified recipients and quoting style
Arguments:
L == List of messages to reply to
t == reply type (as a command id, see list above)
q == include quote (true/false)
Variables:
rt == reply type
-->
function dR(L,t,q){
var rt="Normal";
var T=new Array();
var c=1;
switch(t){
case 156:rt="All";break;
case 157:rt="Sender";break;
case 158:rt="Conference";break;
case 351:rt="Originator";break;
}
for(var i=0;i<L.length;i++)
if(isM(L[i][0]))
T[T.length]=L[i];
if(T.length<=0)
c=0;
else if(T.length>9){
switch(t){
case 156:c=confirm(sw.PFS("<X-FC-FIELD LANG.1154.1 STRING>","","<X-FC-FIELD LANG.1154.7 STRING>",T.length));break;
case 157:c=confirm(sw.PFS("<X-FC-FIELD LANG.1154.1 STRING>","","<X-FC-FIELD LANG.1154.8 STRING>",T.length));break;
case 158:c=confirm(sw.PFS("<X-FC-FIELD LANG.1154.1 STRING>","","<X-FC-FIELD LANG.1154.9 STRING>",T.length));break;
case 351:c=confirm(sw.PFS("<X-FC-FIELD LANG.1154.1 STRING>","","<X-FC-FIELD LANG.1154.7 STRING>",T.length));break;
default:c=confirm(sw.PFS("<X-FC-FIELD LANG.1154.1 STRING>","","<X-FC-FIELD LANG.1154.6 STRING>",T.length));break;
}
}
if(c)
NURL(sw.url+T[0][12]+"/Reply?Type="+rt+"&Quote="+(q?"1":"0"),0);
}
<!--#rem
Function dF == doForward
Forwards the messages provided
Arguments:
L List of messages to forward
-->
function dF(L){<!--#if expr="<X-FC-USER PRIVILEGES Forward>"-->
var T=new Array();
for(var i=0;i<L.length;i++)
if(isM(L[i][0]))
T[T.length]=L[i];
if(T.length&&((T.length<10)||confirm(sw.PFS("<X-FC-FIELD LANG.1154.1 STRING>","","<X-FC-FIELD LANG.1154.10 STRING>",T.length))))
NURL(sw.url+T[0][12]+"/Forward",0);
<!--#endif-->}
<!--#rem
Function dH == doHistory
Arguments:
L List of items whose histories should be opened
-->
function dH(L){
if(sw.P&0x10000){
var n;
var x;
var T=new Array();
for(var i=0;i<L.length;i++){
if(L[i][0]==22||isM(L[i][0]))
T[T.length]=L[i];
}
if(T.length&&(T.length<10||confirm(sw.PFS("<X-FC-FIELD LANG.1154.1 STRING>","","<X-FC-FIELD LANG.1154.11 STRING>",T.length)))){
NURL(sw.url+T[0][12]+"/History",0);
}
}
}
<!--#rem
Function dGI == doGetInfo
Arguments:
T List of items whose objinfo should be opened
NOTE:
In order to remain consistent with the client, "GetInfo" on a bookmark is really a formedit.
-->
function dGI(T){
if(T.length){
NURL(sw.url+T[0][-2]+"/__GetInfo",0);
}
}
<!--#rem
Function dA == doApprove
Toggles the approval state of the items in the provided list
Arguments:
L == list of items whose approval state is to be toggled
-->
function dA(L){
if(sw.P&0x0080) {
dO(175,L,null,-1);
}
}
<!--#rem
Function dAC == doAboutConference
Arguments:
L == list of conferences whose resumes shoulbe be opened
-->
function dAC(L){
var T=new Array();
var n;
var x;
if(L==null)
NURL(sw.url+"/Resume",0);
else{
for(var i=0;i<L.length;i++)
if(L[i][0]==1)
T[T.length]=L[i];
if(T.length)
for(var i=0;i<T.length;i++){
n="R_"+U2N(T[i][12]);
NURL(sw.url+T[i][12]+"/Resume",0);
}
}
}
<!--#rem
Function dSS == doSubscribe (List, GiveAlias)
-->
function dSS(L,a){
var T=new Array();
if(L==null){
if(sw.D[0]!=0&&sw.D[0]!=24)
T[0]=sw.D;
}else{
for(var i=0;i<L.length;i++)
if(isCn(L[i][0]))
T[T.length]=L[i];
}
if(T.length){
if(a){
var U=sw.prompt ("<X-FC-FIELD LANG.1153.2 STRING>","");
if(U&&U.length)
dO(205,T,U,null);
}else
dO(170,T,null,null);
}
}
<!--#rem
Function dTU == doToggleUnread
Toggles the unread flag of the items in the provided list
Arguments:
L == list of items whose flag state is to be toggled
Variables:
s == final state of flag (1==on, 0==off)
T == list of validated items
-->
function dTU(L){<!--#if expr="<X-FC-PRIVILEGES UnRead>"-->
var s=1;
var T=new Array();
for(var i=0;i<L.length;i++){
if(L[i][3]&0x8000){
s=0;
T[T.length]=L[i];
}else if(!(L[i][3]&0x1800))
T[T.length]=L[i];
}
if(T.length)
dO(167,L,null,s);<!--#endif-->
}
<!--#rem
Function dU == doUpload
-->
function dU(){
if(sw.P&0x4000){
sw.HM();
if(sw.showModalDialog(sw.url+"?Templates=Attach&FormID=95",null,"dialogWidth:300px;dialogHeight:100px;status:0;scrolling:0;"))
sw.location.reload(false);
}
}
<!--#rem
Function NFR == NewFormRelative
Creates a form of the specified type under the current object
Arguments:
f == form ID
-->
function NFR(f){if(sw.P&0x0008){NURL("FormNew?FormID="+f,1);}}
<!--#rem
Function dO == doOperation
Populates and submits the multi-file op form
Arguments:
c == op code
L == List of operands
sd == string data
nd == numeric data
Variables
F == Alias to the multifile op form
-->
var OL=null;
function OLCF(a,b){
if(OL[a][-2]<OL[b][-2])
return -1;
else if(OL[a][-2]>OL[b][-2])
return 1;
else
return 0;
}
function dO(c,L,sd,nd){
var F=document.forms["MF"];
var E=F.elements;
var s="";
E["FieldID:1001=LONG"].value=c;
E["FieldID:1002=STRING"].value=sd?sd:"";
E["FieldID:1003=LONG"].value=nd?nd:0;
if(L&&L.length){
var D=new Array();
OL=L;
for(var d=0;d<OL.length;d++)
D[d]=d;
D.sort(OLCF);
s=OL[D[0]][-2];
for(var i=1;i<OL.length;i++){
if(OL[D[i]][-2]!=OL[D[i-1]][-2])
s+="\n"+OL[D[i]][-2];
}
E["To"].value=s;
}else
E["To"].value="";
F.target=sw.name;
F.submit();
}
<!--#rem
SWS SaveWindowSize
Save the size of the window split position
Arguments:
sp new split position
Variables:
cw current width
ch current height
dw deltaWidth
dh deltaHeight
ds deltaSplit
F the form in this document
-->
function SWS(sp){
var cw=sw.document.all["listing"].offsetWidth;
var ch=sw.document.all["listing"].offsetHeight;
var dw=<X-FC-WINDOW Width>-cw;
var dh=<X-FC-WINDOW Height>-ch;
var ds=sw.st?<X-FC-LAYOUT SPLITPOS>-sp:0;
if (dw||dh||ds){
var F=document.forms["SIPF"];
F.action=sw.url+"FormSave?clear=0&Action=2";
F.innerHTML="<input type=\"hidden\" name=\"FieldID:1101=LONG\" value=\"" + (<X-FC-LAYOUT SPLITTYPE> + (sp<<16)) +"\"><input type=\"hidden\" name=\"WINDOW\" value=\"<X-FC-WINDOW Top>,<X-FC-WINDOW Left>," + (<X-FC-WINDOW Top> + curHeight) + "," + (<X-FC-WINDOW Left> + curWidth) + "\">";
F.target=sw.name;
F.submit();
}
}
<!--#rem
SIP Save Icon Positions
Save any dirtied icon positions
Arguments:
L List of item to move
-->
function SIP(L){<!--#if expr="<X-FC-LOGGED-IN>"-->
if(L.length){
var F=document.forms["SIPF"];
F.action=sw.url + "FormSave?Clear=0&TargetURL="+sw.url;
for(var i=0;i<L.length;i++){
if(L[i][5][1]>0){
F.action+="&LISTINFO_"+L[i][12]+"_LOCATION="+L[i][5][0]+"-"+L[i][5][1];
}
}
F.target=sw.name;
F.submit();
}<!--#endif-->
return 1;
}
</script>
</head>
<body>
<form name="MF" action="<X-FC-OBJURL SLASH>FileOp?TargetURL=<X-FC-OBJURL>" method="post" target="FCWIN<X-FC-URL-PARAMETER WinID NUMBER>"
enctype="multipart/form-data">
<input type="hidden" name="Charset" value="<X-FC-URL-PARAMETER CharSet>">
<input type="hidden" name="FieldID:1000=STRING" value="<X-FC-OBJURL>">
<input type="hidden" name="FieldID:1001=LONG" value="0">
<input type="hidden" name="FieldID:1002=STRING" value="">
<input type="hidden" name="FieldID:1003=LONG" value="0">
<input type="hidden" name="To" value="">
</form>
<form name="SIPF" action="JavaScript://" method="post" target="FCWIN<X-FC-URL-PARAMETER WinID NUMBER>" enctype="multipart/form-data">
<input type="hidden" name="Charset" value="<X-FC-URL-PARAMETER CharSet>">
</form>
</body>
</html>
|