void AliasCommands(pentry entries[], int x) { if(!strcmp(gcPage,"Alias")) { char cServerGroup[100]={""}; char cJobData[100]={""}; ProcessAliasVars(entries,x); if(!strcmp(gcFunction,"New")) { if(guPermLevel>=10) { sprintf(gcNewStep,"Confirm "); gcInputStatus[0]=0; gcMessage="Enter/modify data, review, then confirm. Any other action to cancel."; SetAliasFieldsOn(); } else gcMessage="<blink>Error:</blink> Denied by permission settings"; } else if(!strcmp(gcFunction,"Confirm New")) { if(guPermLevel>=10) { if(ValidateAliasInput()) { sprintf(gcNewStep,"Confirm "); gcInputStatus[0]=0; gcMessage="Enter/modify data, review, then confirm. Any other action to cancel."; htmlAlias(); } InsertAlias(); sprintf(cServerGroup,"%s",ForeignKey("tServerGroup","cLabel",uServerGroup)); sprintf(cJobData,"uAlias=%u;\ncUser=%s;\ncTargetEmail=%s;\n", uAlias,cUser,cTargetEmail); SubmitJob("NewAlias","",cUser,cServerGroup,cJobData,0,0, guLoginClient,guLoginClient); } else gcMessage="<blink>Error:</blink> Denied by permission settings"; } else if(!strcmp(gcFunction,"Modify")) { if(uAllowMod(uOwner,uCreatedBy)) { sprintf(gcModStep,"Confirm "); gcInputStatus[0]=0; gcMessage="Enter/modify data, review, then confirm. Any other action to cancel."; SetAliasFieldsOn(); } else gcMessage="<blink>Error:</blink> Denied by permission settings"; } else if(!strcmp(gcFunction,"Confirm Modify")) { if(uAllowMod(uOwner,uCreatedBy)) { if(ValidateAliasInput()) { sprintf(gcModStep,"Confirm "); gcInputStatus[0]=0; gcMessage="Enter/modify data, review, then confirm. Any other action to cancel."; htmlAlias(); } UpdateAlias(); sprintf(cServerGroup,"%s",ForeignKey("tServerGroup","cLabel",uServerGroup)); sprintf(cJobData,"uAlias=%u;\ncUser=%s;\ncTargetEmail=%s;\n", uAlias,cUser,cTargetEmail); SubmitJob("ModAlias","",cUser,cServerGroup,cJobData,0,0, guLoginClient,guLoginClient); } else gcMessage="<blink>Error:</blink> Denied by permission settings"; } else if(!strcmp(gcFunction,"Delete")) { if(uAllowDel(uOwner,uCreatedBy)) { sprintf(gcDelStep,"Confirm "); gcMessage="Double check you have selected the correct record to delete. Then confirm. Any other action to cancel."; } else gcMessage="<blink>Error:</blink> Denied by permission settings"; } else if(!strcmp(gcFunction,"Confirm Delete")) { if(uAllowDel(uOwner,uCreatedBy)) { DeleteAlias(); sprintf(cServerGroup,"%s",ForeignKey("tServerGroup","cLabel",uServerGroup)); sprintf(cJobData,"uAlias=%u;\ncUser=%s;\ncTargetEmail=%s;\n", uAlias,cUser,cTargetEmail); SubmitJob("DelAlias","",cUser,cServerGroup,cJobData,0,0, guLoginClient,guLoginClient); } else gcMessage="<blink>Error:</blink> Denied by permission settings"; } htmlAlias(); } }//void AliasCommands(pentry entries[], int x)
OSErr FinderLaunch(long nTargets, FSSpec *targetList) { OSErr err; AppleEvent theAEvent, theReply; AEAddressDesc fndrAddress; AEDescList targetListDesc; OSType fndrCreator; Boolean wasChanged; AliasHandle targetAlias; long index; /* verify parameters */ if ((nTargets == 0) || (targetList == NULL)) return paramErr; /* set up locals */ AECreateDesc(typeNull, NULL, 0, &theAEvent); AECreateDesc(typeNull, NULL, 0, &fndrAddress); AECreateDesc(typeNull, NULL, 0, &theReply); AECreateDesc(typeNull, NULL, 0, &targetListDesc); targetAlias = NULL; fndrCreator = 'MACS'; /* create an open documents event targeting the finder */ err = AECreateDesc(typeApplSignature, (Ptr) &fndrCreator, sizeof(fndrCreator), &fndrAddress); if (err != noErr) goto bail; err = AECreateAppleEvent(kCoreEventClass, kAEOpenDocuments, &fndrAddress, kAutoGenerateReturnID, kAnyTransactionID, &theAEvent); if (err != noErr) goto bail; /* create the list of files to open */ err = AECreateList(NULL, 0, false, &targetListDesc); if (err != noErr) goto bail; for ( index=0; index < nTargets; index++) { if (targetAlias == NULL) err = NewAlias(NULL, (targetList + index), &targetAlias); else err = UpdateAlias(NULL, (targetList + index), targetAlias, &wasChanged); if (err != noErr) goto bail; HLock((Handle) targetAlias); err = AEPutPtr(&targetListDesc, (index + 1), typeAlias, *targetAlias, GetHandleSize((Handle) targetAlias)); HUnlock((Handle) targetAlias); if (err != noErr) goto bail; } /* add the file list to the apple event */ err = AEPutParamDesc(&theAEvent, keyDirectObject, &targetListDesc); if (err != noErr) goto bail; /* send the event to the Finder */ err = AESend(&theAEvent, &theReply, kAENoReply, kAENormalPriority, kAEDefaultTimeout, NULL, NULL); /* clean up and leave */ bail: if (targetAlias != NULL) DisposeHandle((Handle) targetAlias); AEDisposeDesc(&targetListDesc); AEDisposeDesc(&theAEvent); AEDisposeDesc(&fndrAddress); AEDisposeDesc(&theReply); return err; }