1$! 2$! @(#)instweb.com 6.29 04/02/09 3$! 4$! Xmcd wwwWarp installation command procedure for OpenVMS. 5$! OpenVMS versions: 6.0 and later, tested with 7.2 and 7.3 on VAX(tm) machines 6$! and 7.2-1 as well as 7.3-1 on Alpha(tm) machines 7$! 8$! xmcd - Motif(R) CD Audio Player/Ripper 9$! libdi - CD Audio Device Interface Library 10$! cddb - CD Database Management Library 11$! 12$! Copyright (C) 1993-2004 Ti Kan 13$! E-mail: xmcd@amb.org 14$! Contributing author: Michael Monscheuer 15$! Email: M.Monscheuer@t-online.de 16$! 17$! This program is free software; you can redistribute it and/or modify 18$! it under the terms of the GNU General Public License as published by 19$! the Free Software Foundation; either version 2 of the License, or 20$! (at your option) any later version. 21$! 22$! This program is distributed in the hope that it will be useful, 23$! but WITHOUT ANY WARRANTY; without even the implied warranty of 24$! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25$! GNU General Public License for more details. 26$! 27$! You should have received a copy of the GNU General Public License 28$! along with this program; if not, write to the Free Software 29$! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 30$! 31$!============================================================================== 32$! 33$! Define some basics first and check whether we are in the right directory. 34$! If so, check whether WWWWARP.CFG appears to be xmcd's. If it doesn't, exit. 35$! 36$ USRNAM = F$EDIT(F$GETJPI("","USERNAME"),"COLLAPSE") 37$ DEFENV = F$ENVIRONMENT("DEFAULT") 38$ IF F$LOCATE("<",DEFENV) .NE. F$LENGTH(DEFENV) THEN SET DEFAULT [] 39$ DEFENV = F$ENVIRONMENT("DEFAULT") 40$ VVER = F$EDIT(F$GETSYI("VERSION"),"COLLAPSE") 41$ NOBROF = 0 42$ IF F$VERIFY() 43$ THEN 44$ ESC = "<ESC>" 45$ ELSE 46$ ESC[0,8] = 27 47$ ENDIF 48$ IF F$SEARCH("WWWWARP.CFG") .EQS. "" 49$ THEN 50$ WRITE SYS$OUTPUT "" 51$ WRITE SYS$OUTPUT " Xmcd's file WWWWARP.CFG is not in the directory you are running this procedure" 52$ WRITE SYS$OUTPUT " from. SET DEFAULT to the directory WWWWARP.CFG is resident in, copy or" 53$ WRITE SYS$OUTPUT " rename this procedure to this directory if it's not there and start this" 54$ WRITE SYS$OUTPUT " procedure again." 55$ WRITE SYS$OUTPUT "" 56$ EXIT 57$ ELSE 58$ VSCOM = "" 59$ IF VVER .GES. "V6.2" 60$ THEN 61$ VSCOM = "/NOWARNING" 62$ ELSE 63$ MESENV = F$ENVIRONMENT("MESSAGE") 64$ SET MESSAGE/NOTEXT/NOSEVERITY/NOFACILITY/NOIDENTIFICATION 65$ ENDIF 66$ SEARCH/NOOUT'VSCOM' WWWWARP.CFG "XMCD" 67$ COMCOR = $SEVERITY 68$ IF VVER .LTS. "V6.2" THEN SET MESSAGE 'MESENV' 69$ IF COMCOR .NE. 1 70$ THEN 71$ WRITE SYS$OUTPUT "" 72$ WRITE SYS$OUTPUT " The file WWWWARP.CFG found in this directory does not appear to be" 73$ WRITE SYS$OUTPUT " xmcd's WWWWARP.CFG" 74$ WRITE SYS$OUTPUT " Check whether the directory you started this procedure from really is xmcd's" 75$ WRITE SYS$OUTPUT " home directory. If it is, you need to get a new copy of xmcd's WWWWARP.cfg" 76$ WRITE SYS$OUTPUT "" 77$ EXIT 78$ ENDIF 79$ ENDIF 80$! 81$! Create a list for things which may need attention in case the procedure 82$! does not complete successfully. Then check if the user's privileges are 83$! sufficient for browser control from inside xmcd. If they aren't, notify 84$! user and continue as this is not of vital evidence for setting up web 85$! access and browser control. 86$! 87$ OPEN/WRITE LIST SYS$LOGIN:TO_BE_DONE.LIST 88$ 89$ IF .NOT. F$PRIVILEGE("CMKRNL") 90$ THEN 91$ PRIV = F$GETJPI("","AUTHPRIV") 92$ IF F$LOCATE("CMKRNL",PRIV) .EQ. F$LENGTH(PRIV) 93$ THEN 94$ IF F$LOCATE("SETPRV",PRIV) .EQ. F$LENGTH(PRIV) 95$ THEN 96$ WRITE LIST "" 97$ WRITE LIST " You don't seem to have the CMKRNL (Change Mode Kernel) privilege which" 98$ WRITE LIST " is needed during the process of controlling a browser remotely from" 99$ WRITE LIST " inside xmcd." 100$ WRITE LIST " Add the CMKRNL privilege to the list of your account's authorized" 101$ WRITE LIST " priviliges using the following commands:" 102$ WRITE LIST "" 103$ WRITE LIST " $ SET DEF SYS$SYSTEM:" 104$ WRITE LIST " $ MCR AUTHORIZE" 105$ WRITE LIST " MOD ''USRNAM'/PRIV=CMKRNL" 106$ WRITE LIST " EXIT" 107$ WRITE LIST "" 108$ WRITE LIST " If you aren't allowed to run AUTHORIZE, see your system manager" 109$ WRITE LIST " and ask him to add the CMKRNL privilege to your account's authorized" 110$ WRITE LIST " privileges." 111$ WRITE LIST "" 112$ WRITE LIST " Lacking CMKRNL does not affect the insatllation procedure but it will" 113$ WRITE LIST " affect XMCD at run-time, i.e. XMCD will fail in trying to start or" 114$ WRITE LIST " control a browser." 115$ WRITE LIST "" 116$ CLOSE LIST 117$ TYPE SYS$LOGIN:TO_BE_DONE.LIST 118$ INQUIRE/NOPUNCTATION DUMMY "''ESC'[28C''ESC'[7mPress Return to continue''ESC'[0m" 119$ OPEN/APPEND LIST SYS$LOGIN:TO_BE_DONE.LIST 120$ WRITE SYS$OUTPUT "" 121$ ENDIF 122$ ENDIF 123$ ENDIF 124$! 125$! Now check for browsers available on this system 126$! 127$ NETSCAPE_FOUND = 0 128$ MOZILLA_FOUND = 0 129$ MOSAIC_FOUND = 0 130$ HAVE_NETSCAPE = 0 131$ HAVE_MOZILLA = 0 132$ HAVE_MOSAIC = 0 133$ MOZLOC = "" 134$ DEF_BROW = 1 135$ IF F$SEARCH("SYS$COMMON:[SYSEXE]MOSAIC.EXE") .NES. "" THEN MOSAIC_FOUND = 1 136$ IF MOSAIC_FOUND .EQ. 1 THEN HAVE_MOSAIC = 1 137$ IF F$SEARCH("SYS$COMMON:[MOZILLA]MOZILLA.COM") .NES. "" THEN MOZILLA_FOUND = 1 138$ IF F$SEARCH("SYS$COMMON:[CSWB]MOZILLA.COM") .NES. "" THEN MOZILLA_FOUND = 1 139$ IF MOZILLA_FOUND .EQ. 1 140$ THEN 141$ HAVE_MOZILLA = 1 142$ IF F$SEARCH("SYS$COMMON:[MOZILLA]MOZILLA.COM") .NES. "" THEN MOZLOC = "SYS$COMMON:[MOZILLA]MOZILLA.COM" 143$ IF F$SEARCH("SYS$COMMON:[CSWB]MOZILLA.COM") .NES. "" THEN MOZLOC = "SYS$COMMON:[CSWB]MOZILLA.COM" 144$ ENDIF 145$ IF F$SEARCH("SYS$COMMON:[SYSEXE]NETSCAPE.EXE") .NES. "" THEN NETSCAPE_FOUND = 1 146$ IF NETSCAPE_FOUND .EQ. 1 THEN HAVE_NETSCAPE = 1 147$ IF MOSAIC_FOUND .AND. NETSCAPE_FOUND .AND. MOZILLA_FOUND THEN GOTO DETERMINE_BROWSERS 148$ WRITE SYS$OUTPUT "" 149$! 150$! No(t all) browser(s) found where expected, ask user for browsers' directory location 151$! 152$ IF .NOT. MOSAIC_FOUND THEN INQUIRE HAVE_MOSAIC " Do you have MOSAIC installed on your system ? [Y/(N)]" 153$ IF F$GETSYI("ARCH_NAME") .EQS. "Alpha" 154$ THEN 155$ IF .NOT. MOZILLA_FOUND THEN INQUIRE HAVE_MOZILLA " Do you have MOZILLA (or CSWB/HP SWB) installed on your system ? [Y/(N)]" 156$ ENDIF 157$ IF .NOT. NETSCAPE_FOUND THEN INQUIRE HAVE_NETSCAPE " Do you have NETSCAPE installed on your system ? [Y/(N)]" 158$ HAVE_MOSAIC = F$EDIT(HAVE_MOSAIC,"UPCASE,COLLAPSE") 159$ HAVE_MOZILLA = F$EDIT(HAVE_MOZILLA,"UPCASE,COLLAPSE") 160$ HAVE_NETSCAPE = F$EDIT(HAVE_NETSCAPE,"UPCASE,COLLAPSE") 161$ IF HAVE_MOSAIC .EQS. "" .OR. HAVE_MOSAIC .EQS. "N" THEN HAVE_MOSAIC = 0 162$ IF HAVE_MOZILLA .EQS. "" .OR. HAVE_MOZILLA .EQS. "N" THEN HAVE_MOZILLA = 0 163$ IF HAVE_NETSCAPE .EQS. "" .OR. HAVE_NETSCAPE .EQS. "N" THEN HAVE_NETSCAPE = 0 164$ IF HAVE_MOSAIC THEN HAVE_MOSAIC = 1 165$ IF HAVE_MOZILLA THEN HAVE_MOZILLA = 1 166$ IF HAVE_NETSCAPE THEN HAVE_NETSCAPE = 1 167$ SUM = HAVE_MOSAIC + HAVE_MOZILLA + HAVE_NETSCAPE 168$ IF SUM .EQ. 0 169$ THEN 170$! 171$! Really no browser available!!! 172$! 173$ WRITE SYS$OUTPUT "" 174$ WRITE SYS$OUTPUT " You indicated that you have neither MOSAIC nor MOZILLA nor NETSCAPE " 175$ WRITE SYS$OUTPUT " installed on your system. Please get a copy of at least one browser " 176$ WRITE SYS$OUTPUT " first and start this procedure again." 177$ WRITE SYS$OUTPUT "" 178$ WRITE LIST "" 179$ WRITE LIST " You indicated that you have neither MOSAIC nor MOZILLA nor NETSCAPE " 180$ WRITE LIST " installed on your system. Please get a copy of at least one browser " 181$ WRITE LIST " first and start this procedure again." 182$ WRITE LIST "" 183$ NOBROF = 1 184$! GOTO DONE 185$ GOTO ADD_GENIDX 186$ ENDIF 187$ WRITE SYS$OUTPUT "" 188$! 189$! Check user's privs for write access to SYS$SYSTEM 190$! 191$ PRIV = F$GETJPI("","AUTHPRIV") 192$ IF F$LOCATE("SYSPRV",PRIV) .NE. F$LENGTH(PRIV) 193$ THEN 194$ SET PROC/PRIV=SYSPRV 195$ GOTO COPY 196$ ENDIF 197$ IF F$LOCATE("BYPASS",PRIV) .NE. F$LENGTH(PRIV) 198$ THEN 199$ SET PROC/PRIV=BYPASS 200$ GOTO COPY 201$ ENDIF 202$ IF F$LOCATE("SETPRV",PRIV) .NE. F$LENGTH(PRIV) 203$ THEN 204$ SET PROC/PRIV=SETPRV 205$ SET PROC/PRIV=SYSPRV 206$ GOTO COPY 207$ ENDIF 208$ IF F$GETJPI("","GRP") .EQ. 1 THEN GOTO COPY 209$ IF SUM .EQ. 1 .AND. HAVE_MOZILLA THEN GOTO COPY 210$! 211$! User isn't allowed to write to SYS$SYSTEM 212$! 213$ WRITE SYS$OUTPUT "" 214$ WRITE SYS$OUTPUT " Appearently you don't have the right to place anything into SYS$SYSTEM." 215$ WRITE SYS$OUTPUT " As the browser executables you specified above are not resident in " 216$ WRITE SYS$OUTPUT " SYS$COMMON:[SYSEXE], please see your system manager and ask him to place" 217$ WRITE SYS$OUTPUT " a copy of the browsers in SYS$COMMON:[SYSEXE]. The file names need to be" 218$ WRITE SYS$OUTPUT " MOSAIC.EXE and/or NETSCAPE.EXE respectively." 219$ WRITE SYS$OUTPUT "" 220$ WRITE LIST "" 221$ WRITE LIST " Appearently you don't have the right to place anything into SYS$SYSTEM." 222$ WRITE LIST " As the browser executables you specified above are not resident in " 223$ WRITE LIST " SYS$COMMON:[SYSEXE], please see your system manager and ask him to place" 224$ WRITE LIST " a copy of the browsers in SYS$COMMON:[SYSEXE]. The file names need to be" 225$ WRITE LIST " MOSAIC.EXE and/or NETSCAPE.EXE respectively." 226$ WRITE LIST "" 227$ INQUIRE/NOPUNCTATION DUMMY "''ESC'[28C''ESC'[7mPress Return to continue''ESC'[0m" 228$ WRITE SYS$OUTPUT "" 229$ GOTO NOCOPY 230$ COPY: 231$! 232$! Now try to copy the stuff indicated by user over to SYS$SYSTEM for MOSAIC and NETSCAPE... 233$! MOZILLA is another kettle of fish. 234$! 235$ IF HAVE_MOSAIC .AND. MOSAIC_FOUND .EQ. 0 236$ THEN 237$ WRITE SYS$OUTPUT " Please enter the current location (DISK:[DIR...]filename.ext) of your MOSAIC" 238$ WRITE SYS$OUTPUT " executable now." 239$ WRITE SYS$OUTPUT " " 240$ WRITE SYS$OUTPUT " BE SURE TO ENTER THE COMPLETE PATH _INCLUDING_ THE FILENAME!" 241$ WRITE SYS$OUTPUT " " 242$ INQMOSL: 243$ INQUIRE MOSLOC " The MOSAIC executable is" 244$ WRITE SYS$OUTPUT " " 245$ IF F$PARSE(MOSLOC,,,"NAME") .EQS. "" .OR. F$PARSE(MOSLOC,,,"TYPE")-"." .EQS. "" THEN GOTO INQMOSL 246$ IF F$SEARCH("''MOSLOC'") .EQS. "" 247$ THEN 248$ WRITE SYS$OUTPUT " " 249$ WRITE SYS$OUTPUT " ''MOSLOC' is NOT" 250$ WRITE SYS$OUTPUT " the correct location or filename. Please copy your MOSAIC executable to" 251$ WRITE SYS$OUTPUT " SYS$COMMON:[SYSEXE]MOSAIC.EXE manually after completion of this procedure" 252$ WRITE SYS$OUTPUT " " 253$ WRITE LIST " " 254$ WRITE LIST " ''MOSLOC' is NOT" 255$ WRITE LIST " the correct location or filename. Please copy your MOSAIC executable to" 256$ WRITE LIST " SYS$COMMON:[SYSEXE]MOSAIC.EXE manually so that xmcd can make use of it." 257$ WRITE LIST " " 258$ INQUIRE/NOPUNCTATION DUMMY "''ESC'[28C''ESC'[7mPress Return to continue''ESC'[0m" 259$ ELSE 260$ WRITE SYS$OUTPUT " " 261$ WRITE SYS$OUTPUT " Copying file to SYS$COMMON:[SYSEXE]MOSAIC.EXE" 262$ WRITE SYS$OUTPUT " " 263$ COPY 'MOSLOC' SYS$COMMON:[SYSEXE]MOSAIC.EXE/PROT=(S:RWED,O:RWED,G:RWE,W:RE) 264$ ENDIF 265$ ENDIF 266$ IF HAVE_NETSCAPE .AND. NETSCAPE_FOUND .EQ. 0 267$ THEN 268$ WRITE SYS$OUTPUT " Please enter the current location (DISK:[DIR...]filename.ext) of your NETSCAPE" 269$ WRITE SYS$OUTPUT " executable now." 270$ WRITE SYS$OUTPUT " " 271$ WRITE SYS$OUTPUT " BE SURE TO ENTER THE COMPLETE PATH _INCLUDING_ THE FILENAME!" 272$ WRITE SYS$OUTPUT " " 273$ INQNSCL: 274$ INQUIRE NSCLOC " The NETSCAPE executable is" 275$ WRITE SYS$OUTPUT " " 276$ IF F$PARSE(NSCLOC,,,"NAME") .EQS. "" .OR. F$PARSE(NSCLOC,,,"TYPE")-"." .EQS. "" THEN GOTO INQNSCL 277$ IF F$SEARCH("''NSCLOC'") .EQS. "" 278$ THEN 279$ WRITE SYS$OUTPUT " " 280$ WRITE SYS$OUTPUT " ''NSCLOC' is NOT" 281$ WRITE SYS$OUTPUT " the correct location or filename. Please copy your NETSCAPE executable to" 282$ WRITE SYS$OUTPUT " SYS$COMMON:[SYSEXE]NETSCAPE.EXE manually after completion of this procedure." 283$ WRITE SYS$OUTPUT " " 284$ WRITE LIST " " 285$ WRITE LIST " ''NSCLOC' is NOT" 286$ WRITE LIST " the correct location or filename. Please copy your NETSCAPE executable to" 287$ WRITE LIST " SYS$COMMON:[SYSEXE]NETSCAPE.EXE manually so that xmcd can make use of it." 288$ WRITE LIST " " 289$ INQUIRE/NOPUNCTATION DUMMY "''ESC'[28C''ESC'[7mPress Return to continue''ESC'[0m" 290$ ELSE 291$ WRITE SYS$OUTPUT " " 292$ WRITE SYS$OUTPUT " Copying file to SYS$COMMON:[SYSEXE]NETSCAPE.EXE" 293$ WRITE SYS$OUTPUT " " 294$ COPY 'NSCLOC' SYS$COMMON:[SYSEXE]NETSCAPE.EXE/PROT=(S:RWED,O:RWED,G:RWE,W:RE) 295$ ENDIF 296$ ENDIF 297$ IF HAVE_MOZILLA .AND. MOZILLA_FOUND .EQ. 0 298$ THEN 299$ WRITE SYS$OUTPUT " Please enter the current location (DISK:[DIR...]filename.ext) of your MOZILLA" 300$ WRITE SYS$OUTPUT " (or CSWB/HP SWB) start procedure now." 301$ WRITE SYS$OUTPUT " " 302$ WRITE SYS$OUTPUT " BE SURE TO ENTER THE COMPLETE PATH _INCLUDING_ THE FILENAME!" 303$ WRITE SYS$OUTPUT " " 304$ INQMOZL: 305$ INQUIRE MOZLOC " The MOZILLA (or CSWB/HP SWB) start procedure is" 306$ WRITE SYS$OUTPUT " " 307$ IF F$PARSE(MOZLOC,,,"NAME") .EQS. "" .OR. F$PARSE(MOZLOC,,,"TYPE")-"." .EQS. "" THEN GOTO INQMOZL 308$ IF F$SEARCH("''MOZLOC'") .EQS. "" 309$ THEN 310$ WRITE SYS$OUTPUT " " 311$ WRITE SYS$OUTPUT " ''MOZLOC' is NOT" 312$ WRITE SYS$OUTPUT " the correct location or filename. Please correct the related definitions in" 313$ WRITE SYS$OUTPUT " your LOGIN.COM manually after completion of this procedure." 314$ WRITE SYS$OUTPUT " " 315$ WRITE LIST " " 316$ WRITE LIST " ''MOZLOC' is NOT" 317$ WRITE LIST " the correct location or filename. Please correct the related definitions in" 318$ WRITE LIST " your LOGIN.COM manually so that xmcd can make use of it." 319$ WRITE LIST " " 320$ INQUIRE/NOPUNCTATION DUMMY "''ESC'[28C''ESC'[7mPress Return to continue''ESC'[0m" 321$ MOZLOC = "SYS$COMMON:[MOZILLA]MOZILLA.COM" 322$ ENDIF 323$ ENDIF 324$ IF .NOT. HAVE_NETSCAPE .AND. .NOT. HAVE_MOSAIC 325$ THEN 326$ BROWSERS = 1 327$ DEF_BROW = 1 328$ GOTO NOCOPY 329$ ENDIF 330$ IF .NOT. HAVE_NETSCAPE .AND. .NOT. HAVE_MOZILLA 331$ THEN 332$ BROWSERS = 2 333$ DEF_BROW = 2 334$ GOTO NOCOPY 335$ ENDIF 336$ IF .NOT. HAVE_MOSAIC .AND. .NOT. HAVE_MOZILLA 337$ THEN 338$ BROWSERS = 3 339$ DEF_BROW = 3 340$ GOTO NOCOPY 341$ ENDIF 342$ DETERMINE_BROWSERS: 343$! 344$! Now determine all browsers to be used as well as the user's favourite one. 345$! Display suitable selection menues. 346$! 347$ STR1 = "-" 348$ STR2 = "-" 349$ STR3 = "-" 350$ STR4 = "-" 351$ STR5 = "-" 352$ STR6 = "-" 353$ STR7 = "-" 354$ IF HAVE_MOZILLA THEN STR1 = "1" 355$ IF HAVE_MOSAIC THEN STR2 = "2" 356$ IF HAVE_NETSCAPE THEN STR3 = "3" 357$ IF HAVE_MOZILLA .AND. HAVE_MOSAIC THEN STR4 = "4" 358$ IF HAVE_MOZILLA .AND. HAVE_NETSCAPE THEN STR5 = "5" 359$ IF HAVE_MOSAIC .AND. HAVE_NETSCAPE THEN STR6 = "6" 360$ IF HAVE_MOSAIC .AND. HAVE_NETSCAPE .AND. HAVE_MOZILLA THEN STR7 = "7" 361$ WRITE SYS$OUTPUT "''ESC'[2J''ESC'[0;0H" 362$ WRITE SYS$OUTPUT " Please select the web browser(s) you intend to use with xmcd now." 363$ WRITE SYS$OUTPUT "" 364$ WRITE SYS$OUTPUT " Mozilla/CSWB/HP SWB only ''STR1'" 365$ WRITE SYS$OUTPUT " Mosaic only ''STR2'" 366$ WRITE SYS$OUTPUT " Netscape only ''STR3'" 367$ WRITE SYS$OUTPUT " Mozilla/CSWB/HP SWB and Mosaic ''STR4'" 368$ WRITE SYS$OUTPUT " Mozilla/CSWB/HP SWB and Netscape ''STR5'" 369$ WRITE SYS$OUTPUT " Mosaic and Netscape ''STR6'" 370$ WRITE SYS$OUTPUT " All browsers ''STR7'" 371$ WRITE SYS$OUTPUT "" 372$ IF STR1 .NES. "-" THEN STR1 = "''STR1'," 373$ IF STR2 .NES. "-" THEN STR2 = "''STR2'," 374$ IF STR3 .NES. "-" THEN STR3 = "''STR3'," 375$ IF STR4 .NES. "-" THEN STR4 = "''STR4'," 376$ IF STR5 .NES. "-" THEN STR5 = "''STR5'," 377$ IF STR6 .NES. "-" THEN STR6 = "''STR6'," 378$ IF STR7 .NES. "-" 379$ THEN 380$ STR7 = "[''STR7']," 381$ BNUM = 7 382$ ELSE 383$ IF STR4 .NES. "-" 384$ THEN 385$ STR4 = "[" + STR4 - "," + "]," 386$ BNUM = 4 387$ ELSE 388$ IF STR5 .NES. "-" 389$ THEN 390$ STR5 = "[" + STR5 - "," + "]," 391$ BNUM = 5 392$ ELSE 393$ IF STR6 .NES. "-" 394$ THEN 395$ STR6 = "[" + STR6 - "," + "]," 396$ BNUM = 6 397$ ELSE 398$ IF STR1 .NES. "-" 399$ THEN 400$ STR1 = "[" + STR1 - "," + "]," 401$ BNUM = 1 402$ ELSE 403$ IF STR2 .NES. "-" 404$ THEN 405$ STR2 = "[" + STR2 - "," + "]," 406$ BNUM = 2 407$ ELSE 408$ STR3 = "[" + STR3 - "," + "]," 409$ BNUM = 3 410$ ENDIF 411$ ENDIF 412$ ENDIF 413$ ENDIF 414$ ENDIF 415$ ENDIF 416$ CHSTR = STR1 - "-" + STR2 - "-" + STR3 - "-" + STR4 - "-" + STR5 - "-" + STR6 - "-" + STR7 - "-" 417$ CHSTR = F$EXTRACT(0,F$LENGTH(CHSTR)-1,CHSTR) 418$ DSTR1 = "-" 419$ DSTR2 = "-" 420$ DSTR3 = "-" 421$ IF HAVE_MOZILLA 422$ THEN 423$ DEFBNUM = 1 424$ IF HAVE_MOSAIC .AND. HAVE_NETSCAPE 425$ THEN 426$ CH2STR = "([1],2,3)" 427$ ELSE 428$ IF .NOT. HAVE_NETSCAPE .AND. HAVE_MOSAIC THEN CH2STR = "([1],2)" 429$ IF HAVE_NETSCAPE .AND. .NOT. HAVE_MOSAIC THEN CH2STR = "([1],3)" 430$ ENDIF 431$ ELSE 432$ IF HAVE_MOSAIC 433$ THEN 434$ DEFBNUM = 2 435$ IF HAVE_MOSAIC .AND. HAVE_NETSCAPE 436$ THEN 437$ CH2STR = "([2],3)" 438$ ELSE 439$ CH2STR = "([2])" 440$ ENDIF 441$ ELSE 442$ DEFBNUM = 3 443$ CH2STR = "([3])" 444$ ENDIF 445$ ENDIF 446$ IF HAVE_MOZILLA THEN DSTR1 = "1" 447$ IF HAVE_MOSAIC THEN DSTR2 = "2" 448$ IF HAVE_NETSCAPE THEN DSTR3 = "3" 449$ WRITE SYS$OUTPUT " Choice (''CHSTR') " 450$ WRITE SYS$OUTPUT "" 451$ WRITE SYS$OUTPUT "" 452$ WRITE SYS$OUTPUT " Please select the web browser you want to be your default browser for" 453$ WRITE SYS$OUTPUT " use with xmcd:" 454$ WRITE SYS$OUTPUT "" 455$ WRITE SYS$OUTPUT " Mozilla/CSWB/HP SWB ''DSTR1'" 456$ WRITE SYS$OUTPUT " Mosaic ''DSTR2'" 457$ WRITE SYS$OUTPUT " Netscape ''DSTR3'" 458$ WRITE SYS$OUTPUT "" 459$ WRITE SYS$OUTPUT " Choice ''CH2STR'" 460$ BROWSERS: 461$ INQUIRE BROWSERS "''ESC'[12;0H''ESC'[2K Choice (''CHSTR')" 462$ IF BROWSERS .EQS. "" THEN BROWSERS = BNUM 463$ IF F$LOCATE("''BROWSERS'",CHSTR) .EQ. F$LENGTH(CHSTR) THEN GOTO BROWSERS 464$ IF F$INTEGER(BROWSERS) .LT. 4 465$ THEN 466$ CH2STR = "([''BROWSERS'])" 467$ DEFBNUM = BROWSERS 468$ IF BROWSERS .EQ. 1 THEN WRITE SYS$OUTPUT "''ESC'[19;16H-''ESC'[20;16H-" 469$ IF BROWSERS .EQ. 2 THEN WRITE SYS$OUTPUT "''ESC'[18;16H-''ESC'[20;16H-" 470$ IF BROWSERS .EQ. 3 THEN WRITE SYS$OUTPUT "''ESC'[18;16H-''ESC'[19;16H-" 471$ ENDIF 472$ DEF_BROW: 473$ INQUIRE DEF_BROW "''ESC'[22;0H''ESC'[2K Choice ''CH2STR'" 474$ IF DEF_BROW .EQS. "" THEN DEF_BROW = DEFBNUM 475$ IF F$LOCATE("''DEF_BROW'",CH2STR) .EQ. F$LENGTH(CH2STR) THEN GOTO DEF_BROW 476$ 477$ NOCOPY: 478$ 479$ IF DEF_BROW .EQ. 1 THEN DEF_BROW = "MOZILLA" 480$ IF DEF_BROW .EQ. 2 THEN DEF_BROW = "MOSAIC" 481$ IF DEF_BROW .EQ. 3 THEN DEF_BROW = "NETSCAPE" 482$! 483$! Determine which modifications have to be applied to user's LOGIN.COM ... 484$! 485$ ADD_GENIDX: 486$ SET DEF SYS$LOGIN 487$ VSCOM = "" 488$ IF VVER .GES. "V6.2" 489$ THEN 490$ VSCOM = "/NOWARNING" 491$ ELSE 492$ MESENV = F$ENVIRONMENT("MESSAGE") 493$ SET MESSAGE/NOTEXT/NOSEVERITY/NOFACILITY/NOIDENTIFICATION 494$ ENDIF 495$ IF F$SEARCH("LOGIN.COM") .EQS. "" 496$ THEN 497$ OPEN/WRITE LOFI LOGIN.COM 498$ CLOSE LOFI 499$ WRITE SYS$OUTPUT "" 500$ WRITE SYS$OUTPUT " Obviously you don't have SYS$LOGIN:LOGIN.COM executed as the default" 501$ WRITE SYS$OUTPUT " procedure when loging into the system." 502$ WRITE SYS$OUTPUT " Please include LOGIN.COM being now created into your default login" 503$ WRITE SYS$OUTPUT " procedure after completion of this procedure." 504$ WRITE SYS$OUTPUT "" 505$ WRITE LIST "" 506$ WRITE LIST " Obviously you don't have SYS$LOGIN:LOGIN.COM executed as the default" 507$ WRITE LIST " procedure when loging into the system." 508$ WRITE LIST " Please include LOGIN.COM created by the setup procedure into your " 509$ WRITE LIST " default login procedure so that the comnmands can take effect." 510$ WRITE LIST "" 511$ ENDIF 512$ SEARCH/NOOUT'VSCOM' LOGIN.COM "IF F$MODE() .NES. """OTHER""" THEN DEFINE/GROUP XMCD_BROWSER ''DEF_BROW'" 513$ BRO_SEVER = $SEVERITY 514$ SEARCH/NOOUT'VSCOM'/MATCH=AND LOGIN.COM "GOBROWSER","@",":=" 515$ WWW_SEVER = $SEVERITY 516$ SEARCH/NOOUT'VSCOM'/MATCH=AND LOGIN.COM "GENIDX","@",":=" 517$ IDX_SEVER = $SEVERITY 518$ IF VVER .LTS. "V6.2" THEN SET MESSAGE 'MESENV' 519$ IF BRO_SEVER .EQ. 1 .AND. WWW_SEVER .EQ. 1 THEN GOTO MOD_WWWWARP 520$ 521$ WRITE SYS$OUTPUT "" 522$ WRITE SYS$OUTPUT " Next you will automatically enter your LOGIN.COM." 523$ WRITE SYS$OUTPUT " Then move your cursor to the line where you want the set up commands to be." 524$ WRITE SYS$OUTPUT " Simply press the keys ""PF1"" and ""I"" to insert the line(s) needed." 525$ WRITE SYS$OUTPUT " To exit press ""PF1"" and ""E""." 526$ WRITE SYS$OUTPUT "" 527$ WRITE SYS$OUTPUT " If you are re-running this procedure and already have the correct commands" 528$ WRITE SYS$OUTPUT " included in your LOGIN.COM, press the keys ""PF1"" and ""Q"" to quit." 529$ WRITE SYS$OUTPUT "" 530$ INQUIRE/NOPUNCTATION DUMMY "''ESC'[28C''ESC'[7mPress Return to continue''ESC'[0m" 531$! 532$! ... prepare the commands needed... 533$! 534$ OPEN/WRITE 115 LGI.TXT 535$ IF .NOT. NOBROF 536$ THEN 537$ IF BRO_SEVER .NE. 1 538$ THEN 539$ WRITE 115 "$ IF F$MODE() .NES. ""OTHER""" 540$ WRITE 115 "$ THEN" 541$ WRITE 115 "$ IF F$PRIVILEGE(""GRPPRV"")" 542$ WRITE 115 "$ THEN" 543$ WRITE 115 "$ DEFINE/GROUP XMCD_BROWSER ''DEF_BROW'" 544$ WRITE 115 "$ ELSE" 545$ WRITE 115 "$ PRIVSA = F$GETJPI("""",""AUTHPRIV"")" 546$ WRITE 115 "$ IF F$LOCATE(""GRPPRV"",PRIVSA) .NE. F$LENGTH(PRIVSA)" 547$ WRITE 115 "$ THEN" 548$ WRITE 115 "$ SET PROCESS/PRIVILEGE=GRPPRV" 549$ WRITE 115 "$ DEFINE/GROUP XMCD_BROWSER ''DEF_BROW'" 550$ WRITE 115 "$ SET PROCESS/PRIVILEGE=NOGRPPRV" 551$ WRITE 115 "$ ELSE" 552$ WRITE 115 "$ DEFINE/JOB XMCD_BROWSER ''DEF_BROW'" 553$ WRITE 115 "$ WRITE SYS$OUTPUT """"" 554$ WRITE 115 "$ WRITE SYS$OUTPUT "" You don't have the GRPPRV privilege.""" 555$ WRITE 115 "$ WRITE SYS$OUTPUT "" Changing your default xmcd browser from a text window is not possible.""" 556$ WRITE 115 "$ WRITE SYS$OUTPUT """"" 557$ WRITE 115 "$ ENDIF" 558$ WRITE 115 "$ ENDIF" 559$ WRITE 115 "$ ENDIF" 560$ ENDIF 561$ IF WWW_SEVER .NE. 1 THEN WRITE 115 "$ GOBROWSER :== @''DEFENV'GOBROWSER.COM 562$ IF BROWSERS .EQ. 1 .OR. BROWSERS .EQ. 4 .OR. BROWSERS .EQ. 5 .OR. BROWSERS .EQ. 7 THEN WRITE 115 "$ XMCD_MOZISTART :== @''MOZLOC'" 563$ ENDIF 564$ IF IDX_SEVER .NE. 1 THEN WRITE 115 "$ GENIDX :== @''DEFENV'GENIDX.COM 565$ CLOSE 115 566$ OPEN/WRITE 116 E.E 567$ WRITE 116 "SET TEXT END ""[EOF]""" 568$ WRITE 116 "SET MODE CHANGE" 569$ WRITE 116 "DEFINE KEY GOLD E AS 'EXT EXIT.'" 570$ WRITE 116 "DEFINE KEY GOLD Q AS 'EXT QUIT.'" 571$ WRITE 116 "DEFINE KEY GOLD I AS ""EXT INCLUDE LGI.TXT.""" 572$ CLOSE 116 573$! 574$! ... and apply the changes. 575$! 576$ DEFINE/USER/NOLOG SYS$INPUT SYS$COMMAND 577$ EDITTT/EDT/COMMAND=E.E LOGIN.COM 578$ DELETE/NOCONFIRM LGI.TXT;*,E.E;* 579$ IF NOBROF 580$ THEN 581$ SET DEF 'DEFENV' 582$ NOBROF = 0 583$ GOTO DONE 584$ ENDIF 585$ 586$ MOD_WWWWARP: 587$! 588$! Set up HTML access to man and discog pages 589$! First check if user has write access. 590$! 591$ SET DEF 'DEFENV' 592$ WRITE SYS$OUTPUT "" 593$ COMCFG_PRO = F$FILE_ATTRIBUTES("WWWWARP.CFG","PRO") 594$ WORLD = F$ELEMENT(3,",",COMCFG_PRO) - "WORLD=" 595$ GROUP = F$ELEMENT(2,",",COMCFG_PRO) - "GROUP=" 596$ IF F$LOCATE("W",WORLD) .NE. F$LENGTH(WORLD) THEN GOTO UPDATE_CFG 597$ COMCFG_OWN = F$FILE_ATTRIBUTES("WWWWARP.CFG","UIC") 598$ COMCFG_GRP = F$FILE_ATTRIBUTES("WWWWARP.CFG","GRP") 599$ PROCES_OWN = F$GETJPI("","UIC") 600$ PROCES_GRP = F$GETJPI("","GRP") 601$ IF PROCES_GRP .EQ. COMCFG_GRP 602$ THEN 603$ IF F$LOCATE("W",GROUP) .NE. F$LENGTH(GROUP) THEN GOTO UPDATE_CFG 604$ ENDIF 605$ IF COMCFG_OWN .EQS. PROCES_OWN THEN GOTO MODFILE 606$ IF F$PRIVILEGE("BYPASS") THEN GOTO MODFILE 607$ IF F$LOCATE("BYPASS",PRIV) .NE. F$LENGTH(PRIV) 608$ THEN 609$ SET PROC/PRIV=BYPASS 610$ GOTO MODFILE 611$ ENDIF 612$ IF F$LOCATE("SETPRV",PRIV) .NE. F$LENGTH(PRIV) 613$ THEN 614$ SET PROC/PRIV=SETPRV 615$ SET PROC/PRIV=BYPASS 616$ GOTO MODFILE 617$ ENDIF 618$! 619$! Nope, user hasn't write access to WWWWARP.CFG 620$! 621$ WRITE SYS$OUTPUT "" 622$ WRITE SYS$OUTPUT " You don't seem to have sufficient privileges to update WWWWARP.CFG." 623$ WRITE SYS$OUTPUT " Please see your system manager and ask him for the right to modify this file" 624$ WRITE SYS$OUTPUT " and re-run this procedure as soon as write access is established." 625$ WRITE SYS$OUTPUT "" 626$ WRITE LIST "" 627$ WRITE LIST " You don't seem to have sufficient privileges to update WWWWARP.CFG." 628$ WRITE LIST " Please see your system manager and ask him for the right to modify this file" 629$ WRITE LIST " and re-run this procedure as soon as write access is established." 630$ WRITE LIST "" 631$ GOTO DONE 632$ MODFILE: 633$ SET FILE WWWWARP.CFG/PROTECTION=(SYSTEM:RWED,OWNER:RWED,GROUP:RWE,WORLD:RE) 634$ 635$ UPDATE_CFG: 636$! 637$! Determine how to apply changes... 638$! 639$ VSCOM = "" 640$ IF VVER .GES. "V6.2" 641$ THEN 642$ VSCOM = "/NOWARNING" 643$ ELSE 644$ MESENV = F$ENVIRONMENT("MESSAGE") 645$ SET MESSAGE/NOTEXT/NOSEVERITY/NOFACILITY/NOIDENTIFICATION 646$ ENDIF 647$ SEARCH/NOOUTPUT'VSCOM' WWWWARP.CFG "file://localhost%L/discog/xmcd.html" 648$ MANLINK = $SEVERITY 649$ SEARCH/NOOUTPUT'VSCOM' WWWWARP.CFG "file://localhost%L/discog/%C/%I/index.html" 650$ DISLINK = $SEVERITY 651$ IF VVER .LTS. "V6.2" THEN SET MESSAGE 'MESENV' 652$ IF MANLINK .EQ. 1 653$ THEN 654$ OPEN/WRITE 100 BRC.TMP 655$ WRITE 100 " ""%L.discog]xmcd.html""" 656$ CLOSE 100 657$ OPEN/WRITE 103 BRC.EDT 658$ WRITE 103 "FIND 'file://localhost%L/discog/xmcd.html'" 659$ WRITE 103 "DELETE" 660$ WRITE 103 "INCLUDE BRC.TMP" 661$ WRITE 103 "EXIT" 662$ CLOSE 103 663$ WRITE SYS$OUTPUT " Updating URL for xmcd man page in WWWWARP.CFG ..." 664$ DEFINE/NOLOG SYS$INPUT SYS$COMMAND 665$ DEFINE/NOLOG SYS$OUTPUT NLA0: 666$ EDITTT/EDT/COMMAND=BRC.EDT WWWWARP.CFG 667$ DEASSIGN SYS$OUTPUT 668$ DELETE/NOCONFIRM BRC.*;0 669$ ENDIF 670$ IF DISLINK .EQ. 1 671$ THEN 672$ OPEN/WRITE 101 BDC.TMP 673$ WRITE 101 " ""%L.discog.%C.%I]index.html""" 674$ CLOSE 101 675$ OPEN/WRITE 102 BDC.EDT 676$ WRITE 102 "FIND 'file://localhost%L/discog/%C/%I/index.html'" 677$ WRITE 102 "DELETE" 678$ WRITE 102 "INCLUDE BDC.TMP" 679$ WRITE 102 "EXIT" 680$ CLOSE 102 681$ WRITE SYS$OUTPUT "" 682$ WRITE SYS$OUTPUT " Updating URL for discography page in WWWWARP.CFG ..." 683$ DEFINE/NOLOG SYS$INPUT SYS$COMMAND 684$ DEFINE/NOLOG SYS$OUTPUT NLA0: 685$ EDITTT/EDT/COMMAND=BDC.EDT WWWWARP.CFG 686$ DEASSIGN SYS$OUTPUT 687$ DELETE/NOCONFIRM BDC.*;0 688$ PURGE/NOLOG WWWWARP.CFG 689$ ENDIF 690$ WRITE SYS$OUTPUT "" 691$ DONE: 692$ CLOSE LIST 693$ IF F$SEARCH("[.MISC_D]GOBROWSER.COM") .NES. "" THEN RENAME [.MISC_D]GOBROWSER.COM [] 694$ IF F$SEARCH("[.MISC_D]GENIDX.COM") .NES. "" THEN RENAME [.MISC_D]GENIDX.COM [] 695$ IF F$FILE_ATTRIBUTES("SYS$LOGIN:TO_BE_DONE.LIST","EOF") .EQ. 0 696$ THEN 697$! 698$! No errors occured 699$! 700$ WRITE SYS$OUTPUT "" 701$ WRITE SYS$OUTPUT " The installation procedure for setting up web access from inside xmcd via" 702$ WRITE SYS$OUTPUT " a browser has completed successfully." 703$ WRITE SYS$OUTPUT "" 704$ WRITE SYS$OUTPUT " Restart your session so that the changes can take effect or execute your" 705$ WRITE SYS$OUTPUT " LOGIN.COM manually and run xmcd from the command prompt." 706$ WRITE SYS$OUTPUT "" 707$ WRITE SYS$OUTPUT " ''DEF_BROW' should come up upon clicking on xmcd's wwwWarp button" 708$ WRITE SYS$OUTPUT " and choosing a site." 709$ WRITE SYS$OUTPUT "" 710$ DELETE/NOCONFIRM SYS$LOGIN:TO_BE_DONE.LIST;* 711$ ELSE 712$! 713$! At least one error occured 714$! 715$ WRITE SYS$OUTPUT "" 716$ WRITE SYS$OUTPUT " The above items needing attention also can be reviewed in" 717$ WRITE SYS$OUTPUT " SYS$LOGIN:TO_BE_DONE.LIST" 718$ WRITE SYS$OUTPUT "" 719$ WRITE SYS$OUTPUT "" 720$ ENDIF 721