home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 February / PCWK0297.iso / lotus / english / winagent / install.dsk / SHARE.LSS < prev    next >
Text File  |  1995-01-25  |  213KB  |  6,469 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397. USE "TOOLKIT"
  398. OPTION DECLARE
  399.  
  400.  
  401. DECLARE PUBLIC FUNCTION InitSHARE () AS INTEGER
  402. DECLARE PUBLIC FUNCTION ConfigSHARE () AS INTEGER
  403. DECLARE PUBLIC FUNCTION PreConfigSHARE () AS INTEGER
  404. DECLARE PUBLIC FUNCTION AddSHAREIcons () AS INTEGER
  405. DECLARE PUBLIC FUNCTION Lot_IsSQLSelected() AS INTEGER
  406. DECLARE PUBLIC FUNCTION Lot_IsParadoxSelected AS INTEGER
  407. DECLARE PUBLIC FUNCTION Lot_IsdBaseSelected () AS INTEGER
  408. DECLARE PUBLIC FUNCTION Lot_IsInformixSelected () AS INTEGER
  409. DECLARE PUBLIC FUNCTION Lot_IsIBMdBaseManagerSelected () AS INTEGER
  410. DECLARE PUBLIC FUNCTION Lot_IsNotesSQLSelected () AS INTEGER
  411. DECLARE PUBLIC FUNCTION Lot_IsSpreadSheetSelected () AS INTEGER
  412. DECLARE PUBLIC FUNCTION Lot_IsIBM_DB2Selected () AS INTEGER
  413. DECLARE PUBLIC FUNCTION Lot_IsDB2_SQLDS_Selected () AS INTEGER
  414. DECLARE PUBLIC FUNCTION Lot_IsDB2_SQL400_Selected () AS INTEGER
  415. DECLARE PUBLIC FUNCTION Lot_IsIBM_DDCS2_Selected () AS INTEGER
  416. DECLARE PUBLIC FUNCTION Lot_IsODBCDriverSelected () AS INTEGER
  417. DECLARE PUBLIC FUNCTION Lot_IsODBCSpreadSheetSelected () AS INTEGER
  418. DECLARE PUBLIC FUNCTION Lot_IsODBCTextDriverSelected () AS INTEGER
  419. DECLARE PUBLIC FUNCTION Lot_IsOracleSelected () AS INTEGER
  420. DECLARE PUBLIC FUNCTION Lot_IsODBCBtrieveSelected () AS INTEGER
  421. DECLARE PUBLIC FUNCTION Lot_IsODBCDB2Selected () AS INTEGER
  422. DECLARE PUBLIC FUNCTION Lot_IsODBCFoxbaseSelected () AS INTEGER
  423. DECLARE PUBLIC FUNCTION Lot_IsODBCAccessSelected () AS INTEGER
  424. DECLARE PUBLIC FUNCTION Lot_IsODBCParadoxSelected () AS INTEGER
  425. DECLARE PUBLIC FUNCTION Lot_IsODBCOracleSelected () AS INTEGER
  426. DECLARE PUBLIC FUNCTION Lot_IsODBCSQLServerSelected () AS INTEGER
  427. DECLARE PUBLIC FUNCTION Lot_RefreshLocalLotusapp () AS INTEGER
  428. DECLARE PUBLIC FUNCTION Lot_GetTheShareToolsSizeToMove (s$) AS LONG
  429. DECLARE PUBLIC FUNCTION Lot_DoMoveSHARE (s$) AS INTEGER
  430.  
  431.  
  432. DECLARE FUNCTION Lot_UpdateWinIni(s1$,s2$) AS INTEGER
  433. DECLARE FUNCTION Lot_TheEntryWasRefreshed(s$) AS INTEGER
  434. DECLARE FUNCTION Lot_GetAllSharedInstalled () AS INTEGER
  435. DECLARE FUNCTION Lot_WriteIniFiles () AS INTEGER
  436. DECLARE FUNCTION Lot_WriteLotusBcfFile()AS INTEGER
  437. DECLARE FUNCTION Lot_BackupLotusBcfFile()AS INTEGER
  438. DECLARE FUNCTION Lot_WriteEntry (s$,i%) AS INTEGER
  439. DECLARE FUNCTION Lot_WriteOLERegForShare(s$,i%) AS INTEGER
  440. DECLARE FUNCTION Lot_GetLotusiniPath (s$) AS INTEGER
  441. DECLARE FUNCTION Lot_GetLotusappiniPath (s1$, s2$,s3$) AS INTEGER
  442.  
  443. DECLARE FUNCTION Lot_GetNetCommDirPath (s1$,s2$) AS STRING
  444. DECLARE FUNCTION Lot_GetFileSize (s1$,s2$,s3$,i&) AS LONG
  445. DECLARE FUNCTION Lot_MoveFiles(s1$,s2$,s3$,s4$) AS INTEGER
  446. DECLARE FUNCTION Lot_IsConsolidationNeeded (s1$, s2$) AS LONG
  447. DECLARE FUNCTION Lot_GetSizeOfFilesInLotusappIni(s1$,s2$,s3$,size&) AS LONG
  448. DECLARE FUNCTION Lot_DoShareConsolidation(s1$, s2$, s3$) AS INTEGER
  449. DECLARE FUNCTION Lot_DoConsolidateFilesInLotusappIni(s1$, s2$) AS INTEGER
  450. DECLARE FUNCTION Lot_AddSectionToNodeList(s1$,s2$) AS INTEGER
  451. DECLARE FUNCTION Lot_GetEntryFlag(s1$) AS STRING
  452. DECLARE FUNCTION Lot_DoVerDateValidation(s1$,s2$,s3$,l&) AS INTEGER
  453. DECLARE FUNCTION Lot_DoCopyDelete(s1$,s2$,s3$,l&) AS INTEGER
  454. DECLARE FUNCTION Lot_DoDelete(s1$,s2$) AS INTEGER
  455. DECLARE FUNCTION Lot_IsTheChapterInstalled(s1$) AS INTEGER
  456. DECLARE FUNCTION Lot_SaveShareConfigInInstallIni() AS INTEGER
  457. DECLARE SUB CONSOLIDATELOTUSAPPDIRCB (hDlg%, CtrlId%, Classes$, Inst%)
  458. DECLARE SUB CONSOLIDATEMOVECOPYCB (hDlg%, CtrlId%, Classes$, Inst%)
  459. DECLARE SUB ISTHISNETLOTUSAPPCB (hDlg%, CtrlId%, Classes$, Inst%)
  460. DECLARE SUB SQLSERVERNAMECB (hDlg%, CtrlId%, Classes$, Inst%)
  461. DECLARE SUB PARADOXNETWORKINFOCB (hDlg%, CtrlId%, Classes$, Inst%)
  462. DECLARE FUNCTION Lot_GetNetLotusappSource(s1$) AS STRING
  463. DECLARE FUNCTION Lot_GetLocalLotusappDest(s1$,s2$) AS STRING
  464. DECLARE FUNCTION Lot_MakeAPathFromLotusappIni(s1$,s2$,s3$) AS STRING
  465. DECLARE FUNCTION Lot_GetInLotusappIniSizeOfFilesToMove(s1$,s2$,s3$,s4$,l&) AS LONG
  466. DECLARE FUNCTION Lot_GetInLotusIniSizeOfFilesToMove(s1$,s2$,l&) AS LONG
  467. DECLARE FUNCTION Lot_GetSharedIniPathName() AS STRING
  468. DECLARE FUNCTION Lot_ChkLotusIniSizePath(s1$,s2$,s3$,s4$) AS INTEGER
  469. DECLARE FUNCTION Lot_WriteShareInProgMan(Network$) AS INTEGER
  470. DECLARE FUNCTION Lot_IsExistingLotusappDirValid(BYVAL ExistingCommonDir$) AS INTEGER
  471. DECLARE SUB WriteODBCINST ( DriverDesc$, DriverPath$, SetupPath$ )
  472. DECLARE FUNCTION Lot_WriteODBCINST() AS INTEGER
  473. DECLARE FUNCTION Lot_ModifyODBC() AS INTEGER
  474. DECLARE FUNCTION Lot_ModifyDataLensIni() AS INTEGER
  475. DECLARE FUNCTION Lot_LocalGetPathFromIni(szFile$,szSect$,szKey$,nullflag%,invalidpathflag%) AS STRING
  476. DECLARE SUB WriteODBC20INST ( Driver$, SQLLvl$, APILvl$,  Usage$, Ext$, DrvVer$, Cnnct$ )
  477.  
  478.  
  479.  
  480. PUBLIC gNetCommDirPath AS STRING
  481. PUBLIC gLotusIniPath AS STRING
  482. PUBLIC gLotusappIniPath AS STRING
  483. PUBLIC gLotusappDir AS STRING
  484. PUBLIC gLotusBcfDir AS STRING
  485. PUBLIC gConsolidateSize AS LONG
  486. PUBLIC gMoveSize AS LONG
  487.  
  488.  
  489. PUBLIC ProgramPath$
  490. PUBLIC DataPath$
  491. PUBLIC UserPath$
  492. PUBLIC FilterPath$
  493. PUBLIC lDidAnyMove%
  494. PUBLIC GraphicsFileFiltersProgPath$
  495. PUBLIC DocFileFiltersProgPath$
  496. PUBLIC gDataLensInstalled AS INTEGER
  497. PUBLIC gODBCOnly     AS INTEGER
  498. PUBLIC gODBCSelected AS INTEGER
  499. DECLARE SUB INITIALIZE 
  500.  
  501. DIM ValidCommDir%
  502.  
  503. SUB INITIALIZE
  504.   ProgramPath$="Program Path"
  505.   DataPath$="Data Path"
  506.   UserPath$="User Path"
  507.   FilterPath$="Filter Path"
  508. END SUB
  509.  
  510.  
  511. PUBLIC FUNCTION InitSHARE () AS INTEGER
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.    DIM lbLotusAppsize&, shareDir$, shareDrv$, possibleDrv$
  524.    DIM availSpace&, network$, cwd$, gInstallIniFile$, rc%, netLotusapp$
  525.    DIM rv%, ExistingCommonDir$, ExistingNetCommonDir$, notused%, SameFlag$
  526.    DIM source$, FLWPath$, drive$, RCDialog$, AutoLotusapp$
  527.  
  528.    
  529.    
  530.    IF Lot_AreShareToolsSupported()=1 THEN
  531.  
  532.       
  533.       lbLotusAppSize& = CLNG(10485760) 
  534.    
  535.       
  536.       shareDir$ = GetWindowsDir()+gLOTUSAPP$+"\"
  537.       shareDrv$ = MID$(shareDir$,1,1)
  538.       possibleDrv$ = Lot_GetLocalHardDrive(lbLotusAppSize&,"")
  539.       IF possibleDrv$ <> "" THEN
  540.          availSpace& = GetFreeSpaceForDrive(shareDrv$)
  541.          IF availSpace& < lbLotusAppSize& THEN
  542.             shareDir$ =possibleDrv$+gLOTUSAPP$+"\"
  543.             
  544.          END IF
  545.       END IF
  546.    
  547.       network$ = GetSymbolValue(SYM_NETWORK$)
  548.       IF GetSymbolValue(SYM_AUTOMATIONINST$) <> gTRUE$ THEN
  549.          IF network$ = gSERVER$ AND _
  550.             GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSINGLE$ THEN
  551.             SetSymbolValue SYM_LOTUSAPPDIR$,MID$(shareDir$,1,3)+"lotus\"+gLOTUSAPP$+"\"
  552.          ELSEIF network$ = gSERVER$ AND _
  553.                 GetSymbolValue(SYM_SINGLESMARTSUITE$) = gSMARTSUITE$ THEN
  554.             SetSymbolValue SYM_LOTUSAPPDIR$,GetSymbolValue(SYM_BASEDIR$)+gLOTUSAPP$+"\"
  555.          ELSE     
  556.             SetSymbolValue SYM_LOTUSAPPDIR$,shareDir$
  557.          END IF
  558.       ELSE
  559.           AutoLotusapp$ = Lot_GetKeyValFromResponseFile("Lotusapp","LOTUSAPPDIR")
  560.           IF AutoLotusapp$ <> "" THEN
  561.              IF RIGHT$(AutoLotusapp$, 1) <> "\" THEN
  562.             AutoLotusapp$ = AutoLotusapp$+ "\"
  563.             
  564.              END IF
  565.              SetSymbolValue SYM_LOTUSAPPDIR$,AutoLotusapp$
  566.              SetSymbolValue SYM_DEFAULT_LOTUSAPP$, shareDir$
  567.           ELSE
  568.              SetSymbolValue SYM_LOTUSAPPDIR$,shareDir$
  569.           END IF
  570.       END IF
  571.       
  572.       
  573.       SetSymbolValue SYM_LOTUSAPPDIR$+gNAME$, LdString(SID_SHARED_LOTUS_TOOLS)
  574.    
  575.       
  576.       IF network$ = gNODE$ THEN
  577.          
  578.          cwd$ = GetSymbolValue(SYM_STF_CWDDIR$)
  579.          source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  580.          gInstallIniFile$ = cwd$+gINSTALLINI$
  581.          rc% = DoesFileExist(gInstallIniFile$,femExists)
  582.          IF rc% = 1 THEN
  583.             netLotusapp$ = Lot_LocalGetPathFromIni(gInstallIniFile$,"Server Configuration of Shared Tools", SYM_LOTUSAPPDIR$,NULLSTROK,INVALIDSTROK)
  584.             SameFlag$ = GetIniKeyString(gInstallIniFile$, _
  585.                      "Server Configuration of Shared Tools", _
  586.                      "SameDriveFlag")
  587.             IF netLotusapp$ = "" THEN
  588.                
  589.                 ErrorMsg SID_ERR_INSTALLINI_CORRUPT, CHR$(10) + CHR$(10)+netLotusapp$
  590.                 gEndStatementEncountered% = TRUE
  591.                 EXIT FUNCTION
  592.                 
  593.             ELSE
  594.                IF SameFlag$ = "1" THEN
  595.                   SetSymbolValue SYM_NETLOTUSAPP$, MID$(source$,1,1)+MID$(netLotusapp$,2)
  596.                ELSE
  597.                   SetSymbolValue SYM_NETLOTUSAPP$, netLotusapp$
  598.                END IF
  599.             END IF
  600.          ELSE
  601.            
  602.             ErrorMsg SID_ERR_INSTALLINI_MISSING, CHR$(10) + CHR$(10)+gInstallIniFile$
  603.             gEndStatementEncountered% = TRUE
  604.             EXIT FUNCTION
  605.             
  606.          END IF
  607.    
  608.       END IF
  609.    
  610.       
  611.       gLotusIniPath$ = String$(256,0)
  612.       notused% = Lot_GetLotusiniPath(gLotusIniPath$)
  613.       
  614.       gLotusappIniPath$=string$(256,0)
  615.       gLotusBcfDir$=string$(256,0)
  616.  
  617.       
  618.       IF network$ = gNODE$ OR network$ = gSTANDARD$  THEN
  619.          notused% = IsFileWritable(gLotusIniPath$)
  620.          IF notused% <> 1 THEN
  621.             ErrorMsg SID_ERR_INIREADONLY, CHR$(10) + CHR$(10)+gLotusIniPath$
  622.             gEndStatementEncountered% = TRUE
  623.             EXIT FUNCTION
  624.          END IF
  625.       END IF
  626.  
  627.       
  628.       
  629.       
  630.       
  631.       IF GetSymbolValue(SYM_AUTOMATIONINST$) = gTRUE$ THEN
  632.           SetSymbolValue SYM_AUTO_CONSOLIDATION$, Lot_GetKeyValFromResponseFile("Lotusapp","Consolidation")
  633.           SetSymbolValue SYM_AUTO_SQLSERVER$,Lot_GetKeyValFromResponseFile("Datalens","SQLServerName")
  634.           SetSymbolValue SYM_AUTO_PARADOXINFO$,Lot_GetKeyValFromResponseFile("DataLens","PARADOXNetInfo")
  635.       END IF
  636.  
  637.       
  638.       notused% = Lot_GetLotusappiniPath(gLotusappIniPath$, GetSymbolValue(SYM_LOTUSAPPDIR$),gLotusBcfDir$)
  639.       
  640.       
  641.       ExistingCommonDir$ = Lot_LocalGetPathFromIni(gLotusIniPath$,"Lotus Applications", "Common Directory",NULLSTROK,INVALIDSTRERR)
  642.       ExistingNetCommonDir$ = Lot_LocalGetPathFromIni(gLotusIniPath$,"Lotus Applications", "Net Common Directory",NULLSTROK,INVALIDSTRERR)
  643.       SetSymbolValue SYM_EXISTINGCOMMDIR$, ExistingCommonDir$
  644.       SetSymbolValue SYM_EXISTINGNETCOMMDIR$, ExistingNetCommonDir$
  645.    
  646.       IF ExistingCommonDir$ <> "" THEN
  647.          SetSymbolValue SYM_LOTUSAPPEXISTS$, "1"
  648.       ELSE
  649.          SetSymbolValue SYM_LOTUSAPPEXISTS$, "0"
  650.       END IF
  651.  
  652.       
  653.                 
  654.                 
  655.                 
  656.                 
  657.         
  658.         
  659.         
  660.  
  661.       FLWPath$ = GetIniKeyString(gLotusIniPath$,"Lotus Applications", "FLW")
  662.       drive$ = MID$(ExistingCommonDir$,1,1)
  663.  
  664.  
  665.       IF network$ = gNODE$ AND _
  666.          FLWPath$ <> "" AND _
  667.          ExistingNetCommonDir$ = "" AND _
  668.          ExistingCommonDir$ <> "" THEN
  669.          IF DoesDirExist(ExistingCommonDir$) = 1 AND _
  670.             IsDriveNetwork(UCASE$(drive$)) = 1 AND _
  671.             LCASE$(GetSymbolValue(SYM_NETLOTUSAPP$)) = LCASE$(ExistingCommonDir$)  THEN
  672.             CreateIniKeyValue gLotusIniPath$, "Lotus Applications", "Net Common Directory", Lot_TrimEndSlash(ExistingCommonDir$), cmoOverwrite
  673.             RemoveIniKey gLotusIniPath$, "Lotus Applications", "Common Directory", cmoVital
  674.          ELSE
  675.             IF DoesDirExist(ExistingCommonDir$) = 1 AND _
  676.                IsDriveNetwork(UCASE$(drive$)) = 1 THEN
  677.                  
  678.                  
  679.                  IF GetSymbolValue(SYM_AUTOMATIONINST$) <> gTRUE$ THEN
  680.  
  681.                     notused% = RegisterCallback("SHARE","ISTHISNETLOTUSAPPCB")
  682.                     RCDialog$=PopupModalDlg (DBM_ISTHISNETLOTUSAPP, DBM_ISTHISNETLOTUSAPP)
  683.                  ELSE
  684.                     notused% = Lot_AutoIsThisNetLotusApp(gLotusIniPath$, ExistingCommonDir$)
  685.                  END IF     
  686.             END IF     
  687.          END IF        
  688.       ELSE
  689.         IF network$ = gSTANDARD$ AND _
  690.             FLWPath$ <> "" AND _
  691.             ExistingNetCommonDir$ = "" AND _
  692.             ExistingCommonDir$ <> "" THEN
  693.             IF DoesDirExist(ExistingCommonDir$) = 1 AND _
  694.                IsDriveNetwork(UCASE$(drive$)) = 1 THEN
  695.                  
  696.                  
  697.                  IF GetSymbolValue(SYM_AUTOMATIONINST$) <> gTRUE$ THEN
  698.  
  699.                     notused% = RegisterCallback("SHARE","ISTHISNETLOTUSAPPCB")
  700.                     RCDialog$=PopupModalDlg (DBM_ISTHISNETLOTUSAPP, DBM_ISTHISNETLOTUSAPP)
  701.                  ELSE
  702.                     notused% = Lot_AutoIsThisNetLotusApp(gLotusIniPath$,ExistingCommonDir$)
  703.                  END IF     
  704.             END IF        
  705.         END IF        
  706.  
  707.       END IF        
  708.       
  709.       
  710.       SetSymbolValue SYM_SQLSERVERNAME$, ""
  711.       SetSymbolValue SYM_PARADOXNETWORKINFO$, ""
  712.       
  713.       DL_SetNotesDataPath
  714.       DL_SetOraclePath
  715.    
  716.   END IF
  717.    
  718.   InitSHARE = SUCCESS
  719. END FUNCTION
  720.  
  721.  
  722. PUBLIC FUNCTION Lot_RefreshLocalLotusapp () AS INTEGER
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.    DIM cwd$, gSharedIniFile$, WinDir$, dBaseWinSysChapter$, dBaseWinSysChapterSpec$
  732.    DIM Source$, Dest$, dbaseWinChapter$,dbaseWinChapterSpec$
  733.    DIM dbaseDataChapter$, dbaseDataChapterSpec$, InformixWinChapter$, InformixWinChapterSpec$
  734.    DIM BcfChapter$, BcfChapterSpec$, ExistingCommonDir$, ExistingNetCommonDir$
  735.    DIM SectionPref$, SectionNumber%, SectionTag$, SectionName$
  736.    DIM lDidProgramRefresh%, ExistingProgPath$, lDidAnyRefresh%, Entry$
  737.    DIM lDidDataRefresh%, ExistingDataPath$, lDIdUserRefresh%, ExistingUserPath$
  738.    DIM lDidFilterRefresh%, ExistingFilterPath$, notused%, lenNet%
  739.  
  740.    gSharedIniFile$ = Lot_GetSharedIniPathName()
  741.  
  742.    WinDir$=GetWindowsDir()
  743.  
  744.    
  745.    
  746.    IF Lot_AreShareToolsSupported()=1 THEN
  747.     
  748.       
  749.       IF Lot_IsTheFeatureInstalled("SHRDBASEPRG")=1 AND _
  750.          Lot_IsTheFeatureInstalled("SHRDBASEWINSYS")=1 THEN
  751.             dBaseWinSysChapter$ = Lot_GetChapterFromKeyword("SHRDBASEWINSYS")
  752.             dBaseWinSysChapterSpec$ = Lot_GetChapterValStr(dBaseWinSysChapter$, F_NOTHING)
  753.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  754.             Dest$ = GetSymbolValue(SYM_WINSYSDIR$)
  755.             AddSectionFilesToCopyList dBaseWinSysChapterSpec$,Source$,Dest$
  756.       END IF
  757.  
  758.       IF Lot_IsTheFeatureInstalled("SHRDBASEPRG")=1 AND _
  759.          Lot_IsTheFeatureInstalled("SHRDBASEWIN")=1 THEN
  760.             dBaseWinChapter$ = Lot_GetChapterFromKeyword("SHRDBASEWIN")
  761.             dBaseWinChapterSpec$ = Lot_GetChapterValStr(dBaseWinChapter$, F_NOTHING)
  762.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  763.             Dest$ = GetSymbolValue(SYM_WINDIR$)
  764.             AddSectionFilesToCopyList dBaseWinChapterSpec$,Source$,Dest$
  765.       END IF
  766.  
  767.       IF Lot_IsTheFeatureInstalled("SHRDBASEPRG")=1 AND _
  768.          Lot_IsTheFeatureInstalled("SHRDBASEDATA")=1 THEN
  769.             dBaseDataChapter$ = Lot_GetChapterFromKeyword("SHRDBASEDATA")
  770.             dBaseDataChapterSpec$ = Lot_GetChapterValStr(dBaseDataChapter$, F_NOTHING)
  771.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  772.             Dest$ = GetSymbolValue(SYM_WINDIR$)
  773.             AddSectionFilesToCopyList dBaseDataChapterSpec$,Source$,Dest$
  774.       END IF
  775.  
  776.       IF Lot_IsTheFeatureInstalled("SHRDBASEPRG")=1 AND _
  777.          Lot_IsTheFeatureInstalled("SHRDBASEDATAL")=1 THEN
  778.             dBaseWinSysChapter$ = Lot_GetChapterFromKeyword("SHRDBASEDATAL")
  779.             dBaseWinSysChapterSpec$ = Lot_GetChapterValStr(dBaseWinSysChapter$, F_NOTHING)
  780.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  781.             Dest$ = GetSymbolValue(SYM_WINSYSDIR$)
  782.             AddSectionFilesToCopyList dBaseWinSysChapterSpec$,Source$,Dest$
  783.       END IF
  784.  
  785.       IF Lot_IsTheFeatureInstalled("SHRDBASEPRG")=1 AND _
  786.          Lot_IsTheFeatureInstalled("SHRDBASEDATALWIN")=1 THEN
  787.             dBaseWinChapter$ = Lot_GetChapterFromKeyword("SHRDBASEDATALWIN")
  788.             dBaseWinChapterSpec$ = Lot_GetChapterValStr(dBaseWinChapter$, F_NOTHING)
  789.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  790.             Dest$ = GetSymbolValue(SYM_WINDIR$)
  791.             AddSectionFilesToCopyList dBaseWinChapterSpec$,Source$,Dest$
  792.       END IF
  793.  
  794.  
  795.       IF Lot_IsTheFeatureInstalled("SHRINFORMIXPRG")=1 AND _
  796.          Lot_IsTheFeatureInstalled("SHRINFORMIXWIN")=1 THEN
  797.             InformixWinChapter$ = Lot_GetChapterFromKeyword("SHRINFORMIXWIN")
  798.             InformixWinChapterSpec$ = Lot_GetChapterValStr(InformixWinChapter$, F_NOTHING)
  799.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  800.             Dest$ = GetSymbolValue(SYM_WINDIR$)
  801.             AddSectionFilesToCopyList InformixWinChapterSpec$,Source$,Dest$
  802.       END IF
  803.       IF Lot_IsTheFeatureInstalled("SHRDBASEPRG")=1 OR _
  804.          Lot_IsTheFeatureInstalled("SHRINFORMIXPRG")=1 OR _
  805.          Lot_IsTheFeatureInstalled("SHRIBMPRG")=1 OR _
  806.          Lot_IsTheFeatureInstalled("SHRPARADOXPRG")=1 OR _
  807.          Lot_IsTheFeatureInstalled("SHRNOTESSQLPRG")=1 OR _
  808.          Lot_IsTheFeatureInstalled("SHRSPREADSHEETPRG")=1 OR _
  809.          Lot_IsTheFeatureInstalled("SHRIBMDB2PRG")=1 OR _
  810.          Lot_IsTheFeatureInstalled("SHRDB2SQLDSPRG")=1 OR _
  811.          Lot_IsTheFeatureInstalled("SHRDB2_SQL400PRG")=1 OR _
  812.          Lot_IsTheFeatureInstalled("SHRIBM_DDCS_2PRG")=1 OR _
  813.          Lot_IsTheFeatureInstalled("SHRODBCDRVRPRG")=1 OR _
  814.          Lot_IsTheFeatureInstalled("SHRODBCWKSPRG")=1 OR _
  815.          Lot_IsTheFeatureInstalled("SHRODBCTEXTPRG")=1 OR _
  816.          Lot_IsTheFeatureInstalled("SHRORACLEPRG")=1 OR _
  817.          Lot_IsTheFeatureInstalled("SHRODBCBTRIEVEPRG")=1 OR _
  818.          Lot_IsTheFeatureInstalled("SHRODBCFOXBASEPRG")=1 OR _
  819.          Lot_IsTheFeatureInstalled("SHRODBCACCESSPRG")=1 OR _
  820.          Lot_IsTheFeatureInstalled("SHRODBCPARADOXPRG")=1 OR _
  821.          Lot_IsTheFeatureInstalled("SHRODBCDB2PRG")=1 OR _
  822.          Lot_IsTheFeatureInstalled("SHRODBCORACLEPRG")=1 OR _
  823.          Lot_IsTheFeatureInstalled("SHRODBCSQLSVRPRG")=1 THEN 
  824.             BcfChapter$ = Lot_GetChapterFromKeyword("SHRDLENSDATA")
  825.             BcfChapterSpec$ = Lot_GetChapterValStr(BcfChapter$, F_NOTHING)
  826.             Source$ = GetSymbolValue(SYM_NETLOTUSAPP$)
  827.             Dest$ = GetSymbolValue(SYM_LOTUSAPPDIR$)
  828.             AddSectionFilesToCopyList BcfChapterSpec$,Source$,Dest$
  829.             
  830.             notused% = Lot_BackupLotusBcfFile()
  831.       END IF
  832.       IF Lot_IsTheFeatureInstalled("SHRNOTESSQLPRG")=1 AND _
  833.          Lot_IsTheFeatureInstalled("SHRNOTESSQLWIN")=1 THEN
  834.             dBaseWinChapter$ = Lot_GetChapterFromKeyword("SHRNOTESSQLWIN")
  835.             dBaseWinChapterSpec$ = Lot_GetChapterValStr(dBaseWinChapter$, F_NOTHING)
  836.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  837.             Dest$ = GetSymbolValue(SYM_WINDIR$)
  838.             AddSectionFilesToCopyList dBaseWinChapterSpec$,Source$,Dest$
  839.  
  840.       END IF
  841.  
  842.       IF Lot_IsTheFeatureInstalled("SHRNOTESSQLPRG")=1 AND _
  843.          Lot_IsTheFeatureInstalled("SHRNOTESSQLWINSYS")=1 THEN
  844.             dBaseWinSysChapter$ = Lot_GetChapterFromKeyword("SHRNOTESSQLWINSYS")
  845.             dBaseWinSysChapterSpec$ = Lot_GetChapterValStr(dBaseWinSysChapter$, F_NOTHING)
  846.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  847.             Dest$ = GetSymbolValue(SYM_WINSYSDIR$)
  848.             AddSectionFilesToCopyList dBaseWinSysChapterSpec$,Source$,Dest$
  849.       END IF
  850.  
  851.       IF Lot_IsTheFeatureInstalled("SHRODBCDRVRPRG")=1 AND _
  852.          Lot_IsTheFeatureInstalled("SHRODBCDRVRWIN")=1 THEN
  853.             dBaseWinChapter$ = Lot_GetChapterFromKeyword("SHRODBCDRVRWIN")
  854.             dBaseWinChapterSpec$ = Lot_GetChapterValStr(dBaseWinChapter$, F_NOTHING)
  855.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  856.             Dest$ = GetSymbolValue(SYM_WINDIR$)
  857.             AddSectionFilesToCopyList dBaseWinChapterSpec$,Source$,Dest$
  858.       END IF
  859.  
  860.       IF Lot_IsTheFeatureInstalled("SHRODBCDRVRPRG")=1 AND _
  861.          Lot_IsTheFeatureInstalled("SHRODBCDRVRWINSYS")=1 THEN
  862.             dBaseWinSysChapter$ = Lot_GetChapterFromKeyword("SHRODBCDRVRWINSYS")
  863.             dBaseWinSysChapterSpec$ = Lot_GetChapterValStr(dBaseWinSysChapter$, F_NOTHING)
  864.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  865.             Dest$ = GetSymbolValue(SYM_WINSYSDIR$)
  866.             AddSectionFilesToCopyList dBaseWinSysChapterSpec$,Source$,Dest$
  867.       END IF
  868.       
  869.       IF Lot_IsTheFeatureInstalled("SHRODBCWKSPRG")=1 AND _
  870.          Lot_IsTheFeatureInstalled("SHRODBCWKSWIN")=1 THEN
  871.             dBaseWinChapter$ = Lot_GetChapterFromKeyword("SHRODBCWKSWIN")
  872.             dBaseWinChapterSpec$ = Lot_GetChapterValStr(dBaseWinChapter$, F_NOTHING)
  873.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  874.             Dest$ = GetSymbolValue(SYM_WINDIR$)
  875.             AddSectionFilesToCopyList dBaseWinChapterSpec$,Source$,Dest$
  876.       END IF
  877.  
  878.       IF Lot_IsTheFeatureInstalled("SHRODBCWKSPRG")=1 AND _
  879.          Lot_IsTheFeatureInstalled("SHRODBCWKSWINSYS")=1 THEN
  880.             dBaseWinSysChapter$ = Lot_GetChapterFromKeyword("SHRODBCWKSWINSYS")
  881.             dBaseWinSysChapterSpec$ = Lot_GetChapterValStr(dBaseWinSysChapter$, F_NOTHING)
  882.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  883.             Dest$ = GetSymbolValue(SYM_WINSYSDIR$)
  884.             AddSectionFilesToCopyList dBaseWinSysChapterSpec$,Source$,Dest$
  885.       END IF
  886.       
  887.       IF Lot_IsTheFeatureInstalled("SHRODBCTEXTPRG")=1 AND _
  888.          Lot_IsTheFeatureInstalled("SHRODBCTEXTWIN")=1 THEN
  889.             dBaseWinChapter$ = Lot_GetChapterFromKeyword("SHRODBCTEXTWIN")
  890.             dBaseWinChapterSpec$ = Lot_GetChapterValStr(dBaseWinChapter$, F_NOTHING)
  891.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  892.             Dest$ = GetSymbolValue(SYM_WINDIR$)
  893.             AddSectionFilesToCopyList dBaseWinChapterSpec$,Source$,Dest$
  894.       END IF
  895.  
  896.       IF Lot_IsTheFeatureInstalled("SHRODBCTEXTPRG")=1 AND _
  897.          Lot_IsTheFeatureInstalled("SHRODBCTEXTWINSYS")=1 THEN
  898.             dBaseWinSysChapter$ = Lot_GetChapterFromKeyword("SHRODBCTEXTWINSYS")
  899.             dBaseWinSysChapterSpec$ = Lot_GetChapterValStr(dBaseWinSysChapter$, F_NOTHING)
  900.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  901.             Dest$ = GetSymbolValue(SYM_WINSYSDIR$)
  902.             AddSectionFilesToCopyList dBaseWinSysChapterSpec$,Source$,Dest$
  903.       END IF
  904.       
  905.       IF Lot_IsTheFeatureInstalled("SHRODBCBTRIEVEPRG")=1 AND _
  906.          Lot_IsTheFeatureInstalled("SHRODBCBTRIEVEWIN")=1 THEN
  907.             dBaseWinChapter$ = Lot_GetChapterFromKeyword("SHRODBCBTRIEVEWIN")
  908.             dBaseWinChapterSpec$ = Lot_GetChapterValStr(dBaseWinChapter$, F_NOTHING)
  909.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  910.             Dest$ = GetSymbolValue(SYM_WINDIR$)
  911.             AddSectionFilesToCopyList dBaseWinChapterSpec$,Source$,Dest$
  912.       END IF
  913.  
  914.       IF Lot_IsTheFeatureInstalled("SHRODBCBTRIEVEPRG")=1 AND _
  915.          Lot_IsTheFeatureInstalled("SHRODBCBTRIEVEWINSYS")=1 THEN
  916.             dBaseWinSysChapter$ = Lot_GetChapterFromKeyword("SHRODBCBTRIEVEWINSYS")
  917.             dBaseWinSysChapterSpec$ = Lot_GetChapterValStr(dBaseWinSysChapter$, F_NOTHING)
  918.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  919.             Dest$ = GetSymbolValue(SYM_WINSYSDIR$)
  920.             AddSectionFilesToCopyList dBaseWinSysChapterSpec$,Source$,Dest$
  921.       END IF
  922.       
  923.       IF Lot_IsTheFeatureInstalled("SHRODBCFOXBASEPRG")=1 AND _
  924.          Lot_IsTheFeatureInstalled("SHRODBCFOXBASEWIN")=1 THEN
  925.             dBaseWinChapter$ = Lot_GetChapterFromKeyword("SHRODBCFOXBASEWIN")
  926.             dBaseWinChapterSpec$ = Lot_GetChapterValStr(dBaseWinChapter$, F_NOTHING)
  927.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  928.             Dest$ = GetSymbolValue(SYM_WINDIR$)
  929.             AddSectionFilesToCopyList dBaseWinChapterSpec$,Source$,Dest$
  930.       END IF
  931.  
  932.       IF Lot_IsTheFeatureInstalled("SHRODBCFOXBASEPRG")=1 AND _
  933.          Lot_IsTheFeatureInstalled("SHRODBCFOXBASEWINSYS")=1 THEN
  934.             dBaseWinSysChapter$ = Lot_GetChapterFromKeyword("SHRODBCFOXBASEWINSYS")
  935.             dBaseWinSysChapterSpec$ = Lot_GetChapterValStr(dBaseWinSysChapter$, F_NOTHING)
  936.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  937.             Dest$ = GetSymbolValue(SYM_WINSYSDIR$)
  938.             AddSectionFilesToCopyList dBaseWinSysChapterSpec$,Source$,Dest$
  939.       END IF
  940.       
  941.       IF Lot_IsTheFeatureInstalled("SHRODBCACCESSPRG")=1 AND _
  942.          Lot_IsTheFeatureInstalled("SHRODBCACCESSWIN")=1 THEN
  943.             dBaseWinChapter$ = Lot_GetChapterFromKeyword("SHRODBCACCESSWIN")
  944.             dBaseWinChapterSpec$ = Lot_GetChapterValStr(dBaseWinChapter$, F_NOTHING)
  945.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  946.             Dest$ = GetSymbolValue(SYM_WINDIR$)
  947.             AddSectionFilesToCopyList dBaseWinChapterSpec$,Source$,Dest$
  948.       END IF
  949.  
  950.       IF Lot_IsTheFeatureInstalled("SHRODBCACCESSPRG")=1 AND _
  951.          Lot_IsTheFeatureInstalled("SHRODBCACCESSWINSYS")=1 THEN
  952.             dBaseWinSysChapter$ = Lot_GetChapterFromKeyword("SHRODBCACCESSWINSYS")
  953.             dBaseWinSysChapterSpec$ = Lot_GetChapterValStr(dBaseWinSysChapter$, F_NOTHING)
  954.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  955.             Dest$ = GetSymbolValue(SYM_WINSYSDIR$)
  956.             AddSectionFilesToCopyList dBaseWinSysChapterSpec$,Source$,Dest$
  957.       END IF
  958.       
  959.       IF Lot_IsTheFeatureInstalled("SHRODBCPARADOXPRG")=1 AND _
  960.          Lot_IsTheFeatureInstalled("SHRODBCPARADOXWIN")=1 THEN
  961.             dBaseWinChapter$ = Lot_GetChapterFromKeyword("SHRODBCPARADOXWIN")
  962.             dBaseWinChapterSpec$ = Lot_GetChapterValStr(dBaseWinChapter$, F_NOTHING)
  963.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  964.             Dest$ = GetSymbolValue(SYM_WINDIR$)
  965.             AddSectionFilesToCopyList dBaseWinChapterSpec$,Source$,Dest$
  966.       END IF
  967.  
  968.       IF Lot_IsTheFeatureInstalled("SHRODBCPARADOXPRG")=1 AND _
  969.          Lot_IsTheFeatureInstalled("SHRODBCPARADOXWINSYS")=1 THEN
  970.             dBaseWinSysChapter$ = Lot_GetChapterFromKeyword("SHRODBCPARADOXWINSYS")
  971.             dBaseWinSysChapterSpec$ = Lot_GetChapterValStr(dBaseWinSysChapter$, F_NOTHING)
  972.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  973.             Dest$ = GetSymbolValue(SYM_WINSYSDIR$)
  974.             AddSectionFilesToCopyList dBaseWinSysChapterSpec$,Source$,Dest$
  975.       END IF
  976.       
  977.       IF Lot_IsTheFeatureInstalled("SHRODBCDB2PRG")=1 AND _
  978.          Lot_IsTheFeatureInstalled("SHRODBCDB2WIN")=1 THEN
  979.             dBaseWinChapter$ = Lot_GetChapterFromKeyword("SHRODBCDB2WIN")
  980.             dBaseWinChapterSpec$ = Lot_GetChapterValStr(dBaseWinChapter$, F_NOTHING)
  981.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  982.             Dest$ = GetSymbolValue(SYM_WINDIR$)
  983.             AddSectionFilesToCopyList dBaseWinChapterSpec$,Source$,Dest$
  984.       END IF
  985.  
  986.       IF Lot_IsTheFeatureInstalled("SHRODBCDB2PRG")=1 AND _
  987.          Lot_IsTheFeatureInstalled("SHRODBCDB2WINSYS")=1 THEN
  988.             dBaseWinSysChapter$ = Lot_GetChapterFromKeyword("SHRODBCDB2WINSYS")
  989.             dBaseWinSysChapterSpec$ = Lot_GetChapterValStr(dBaseWinSysChapter$, F_NOTHING)
  990.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  991.             Dest$ = GetSymbolValue(SYM_WINSYSDIR$)
  992.             AddSectionFilesToCopyList dBaseWinSysChapterSpec$,Source$,Dest$
  993.       END IF
  994.       
  995.       IF Lot_IsTheFeatureInstalled("SHRODBCORACLEPRG")=1 AND _
  996.          Lot_IsTheFeatureInstalled("SHRODBCORACLEWIN")=1 THEN
  997.             dBaseWinChapter$ = Lot_GetChapterFromKeyword("SHRODBCORACLEWIN")
  998.             dBaseWinChapterSpec$ = Lot_GetChapterValStr(dBaseWinChapter$, F_NOTHING)
  999.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  1000.             Dest$ = GetSymbolValue(SYM_WINDIR$)
  1001.             AddSectionFilesToCopyList dBaseWinChapterSpec$,Source$,Dest$
  1002.       END IF
  1003.  
  1004.       IF Lot_IsTheFeatureInstalled("SHRODBCORACLEPRG")=1 AND _
  1005.          Lot_IsTheFeatureInstalled("SHRODBCORACLEWINSYS")=1 THEN
  1006.             dBaseWinSysChapter$ = Lot_GetChapterFromKeyword("SHRODBCORACLEWINSYS")
  1007.             dBaseWinSysChapterSpec$ = Lot_GetChapterValStr(dBaseWinSysChapter$, F_NOTHING)
  1008.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  1009.             Dest$ = GetSymbolValue(SYM_WINSYSDIR$)
  1010.             AddSectionFilesToCopyList dBaseWinSysChapterSpec$,Source$,Dest$
  1011.       END IF
  1012.       
  1013.       IF Lot_IsTheFeatureInstalled("SHRODBCSQLSVRPRG")=1 AND _
  1014.          Lot_IsTheFeatureInstalled("SHRODBCSQLSVRWIN")=1 THEN
  1015.             dBaseWinChapter$ = Lot_GetChapterFromKeyword("SHRODBCSQLSVRWIN")
  1016.             dBaseWinChapterSpec$ = Lot_GetChapterValStr(dBaseWinChapter$, F_NOTHING)
  1017.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  1018.             Dest$ = GetSymbolValue(SYM_WINDIR$)
  1019.             AddSectionFilesToCopyList dBaseWinChapterSpec$,Source$,Dest$
  1020.       END IF
  1021.  
  1022.       IF Lot_IsTheFeatureInstalled("SHRODBCSQLSVRPRG")=1 AND _
  1023.          Lot_IsTheFeatureInstalled("SHRODBCSQLSVRWINSYS")=1 THEN
  1024.             dBaseWinSysChapter$ = Lot_GetChapterFromKeyword("SHRODBCSQLSVRWINSYS")
  1025.             dBaseWinSysChapterSpec$ = Lot_GetChapterValStr(dBaseWinSysChapter$, F_NOTHING)
  1026.             Source$ = GetSymbolValue(SYM_STF_SRCDIR$)
  1027.             Dest$ = GetSymbolValue(SYM_WINSYSDIR$)
  1028.             AddSectionFilesToCopyList dBaseWinSysChapterSpec$,Source$,Dest$
  1029.       END IF
  1030.  
  1031.       
  1032.       ExistingCommonDir$ = Lot_LocalGetPathFromIni(gLotusIniPath$,"Lotus Applications", "Common Directory",NULLSTROK,INVALIDSTRERR)
  1033.       
  1034.       ExistingNetCommonDir$ = Lot_LocalGetPathFromIni(gLotusIniPath$,"Lotus Applications", "Net Common Directory",NULLSTROK,INVALIDSTROK)
  1035.       IF ExistingNetCommonDir$ <> "" THEN
  1036.          lenNet% = LEN(ExistingNetCommonDir$) - 1
  1037.          
  1038.       ELSE
  1039.          lenNet% = 0
  1040.          
  1041.       END IF
  1042.       
  1043.       
  1044.  
  1045.       
  1046.       SectionPref$="Section"
  1047.       SectionNumber%=1
  1048.       SectionTag$=SectionPref$+LTRIM$(STR(SectionNumber%))
  1049.       
  1050.       
  1051.       SectionName$ = GetIniKeyString(gSharedIniFile$,"Sections", SectionTag$)
  1052.       
  1053.  
  1054.       
  1055.       
  1056.       DO
  1057.      
  1058.          
  1059.          
  1060.          lDidProgramRefresh%=0
  1061.          ExistingProgPath$ = GetIniKeyString(gLotusIniPath$,SectionName$,"Program Path")
  1062.          
  1063.          
  1064.  
  1065.          
  1066.          
  1067.          
  1068.          IF SectionName$="Graphics File Filters" AND ExistingProgPath$ <> "" THEN
  1069.             GraphicsFileFiltersProgPath$=LCASE$(MID$(ExistingProgPath$,1,LEN(ExistingProgPath$)-11))
  1070.             ExistingProgPath$ = GraphicsFileFiltersProgPath$
  1071.          ELSEIF SectionName$="Document File Filters" AND ExistingProgPath$ <> "" THEN
  1072.             DocFileFiltersProgPath$=LCASE$(MID$(ExistingProgPath$,1,LEN(ExistingProgPath$)-13))
  1073.             ExistingProgPath$ = DocFileFiltersProgPath$
  1074.          END IF
  1075.          
  1076.          
  1077.          
  1078.  
  1079.          
  1080.  
  1081.          
  1082.          IF ExistingNetCommonDir$ <> "" THEN
  1083.             IF ExistingProgPath$ <> "" THEN
  1084.                IF DoesDirExist(ExistingProgPath$) = 1 THEN
  1085.                   
  1086.                   
  1087.                   
  1088.                   
  1089.                   
  1090.                   
  1091.                   IF ExistingProgPath$ <> WinDir$ AND _
  1092.                      LCASE$(MID$(ExistingProgPath$,1,lenNet%)) <> LCASE$(MID$(ExistingNetCommonDir$,1,lenNet%)) AND _
  1093.                      IsDirWritable(ExistingProgPath$) = 1 AND _
  1094.                      IsDriveLocalHard(LCASE$(MID$(ExistingProgPath$,1,1))) = 1 AND _
  1095.                      Lot_Dir(ExistingProgPath$+"\*.*") <> "" THEN
  1096.  
  1097.                      lDidProgramRefresh%=Lot_AddSectionToNodeList(ExistingProgPath$,SectionName$+" Program")
  1098.  
  1099.                      
  1100.  
  1101.                      IF lDidProgramRefresh% <> 0 THEN
  1102.                         lDidAnyRefresh%=1
  1103.                         Entry$=Lot_GetEntryFlag(SectionName$+" Program")
  1104.                         
  1105.                         
  1106.                         
  1107.                      END IF
  1108.                   END IF
  1109.                END IF
  1110.             END IF
  1111.          ELSE
  1112.             IF ExistingProgPath$ <> "" THEN
  1113.                IF DoesDirExist(ExistingProgPath$) = 1 THEN
  1114.                   IF ExistingProgPath$ <> WinDir$ AND _
  1115.                      IsDirWritable(ExistingProgPath$) = 1 AND _
  1116.                      IsDriveLocalHard(LCASE$(MID$(ExistingProgPath$,1,1))) = 1 AND _
  1117.                      Lot_Dir(ExistingProgPath$+"\*.*") <> "" THEN
  1118.  
  1119.                      lDidProgramRefresh%=Lot_AddSectionToNodeList(ExistingProgPath$,SectionName$+" Program")
  1120.                      
  1121.  
  1122.                      
  1123.  
  1124.                      IF lDidProgramRefresh% <> 0 THEN
  1125.                         lDidAnyRefresh%=1
  1126.                         Entry$=Lot_GetEntryFlag(SectionName$+" Program")
  1127.                         
  1128.                         
  1129.                         
  1130.                      END IF
  1131.                   END IF
  1132.                END IF
  1133.             END IF
  1134.          END IF
  1135.  
  1136.          
  1137.          
  1138.          lDidDataRefresh%=0
  1139.          ExistingDataPath$ = GetIniKeyString(gLotusIniPath$,SectionName$, "Data Path")
  1140.          
  1141.  
  1142.          IF ExistingNetCommonDir$ <> "" THEN
  1143.             IF ExistingDataPath$ <> "" THEN
  1144.                IF DoesDirExist(ExistingDataPath$) = 1  THEN
  1145.                   IF ExistingDataPath$ <> WinDir$ AND _
  1146.                      LCASE$(MID$(ExistingDataPath$,1,lenNet%)) <> LCASE$(MID$(ExistingNetCommonDir$,1,lenNet%)) AND _
  1147.                      IsDirWritable(ExistingDataPath$) = 1  AND _
  1148.                      IsDriveLocalHard(LCASE$(MID$(ExistingDataPath$,1,1))) = 1 AND _
  1149.                      Lot_Dir(ExistingDataPath$+"\*.*") <> "" THEN
  1150.  
  1151.                      lDidDataRefresh%=Lot_AddSectionToNodeList(ExistingDataPath$,SectionName$+" Data")
  1152.                      
  1153.  
  1154.                      
  1155.  
  1156.                      IF lDidDataRefresh% <> 0 THEN
  1157.                         lDidAnyRefresh%=1
  1158.                         Entry$=Lot_GetEntryFlag(SectionName$+" Data")
  1159.              
  1160.                         
  1161.                         
  1162.                      END IF
  1163.                   END IF
  1164.                END IF
  1165.             END IF
  1166.          ELSE
  1167.             IF ExistingDataPath$ <> "" THEN
  1168.                IF DoesDirExist(ExistingDataPath$) = 1  THEN
  1169.                   IF ExistingDataPath$ <> WinDir$ AND _
  1170.                      IsDirWritable(ExistingDataPath$) = 1  AND _
  1171.                      IsDriveLocalHard(LCASE$(MID$(ExistingDataPath$,1,1))) = 1 AND _
  1172.                      Lot_Dir(ExistingDataPath$+"\*.*") <> "" THEN
  1173.                      lDidDataRefresh%=Lot_AddSectionToNodeList(ExistingDataPath$,SectionName$+" Data")
  1174.                      
  1175.                      
  1176.  
  1177.                      IF lDidDataRefresh% <> 0 THEN
  1178.                         lDidAnyRefresh%=1
  1179.                         Entry$=Lot_GetEntryFlag(SectionName$+" Data")
  1180.     
  1181.                         
  1182.                         
  1183.                      END IF
  1184.                   END IF
  1185.                END IF
  1186.             END IF
  1187.          END IF
  1188.    
  1189.          
  1190.          
  1191.          lDidUserRefresh%=0
  1192.          ExistingUserPath$ = GetIniKeyString(gLotusIniPath$,SectionName$, "User Path")
  1193.          
  1194.  
  1195.          
  1196.          IF ExistingNetCommonDir$ <> "" THEN
  1197.             IF ExistingUserPath$ <> "" THEN
  1198.                IF DoesDirExist(ExistingUserPath$) = 1  THEN
  1199.                   IF ExistingUserPath$ <> WinDir$ AND _
  1200.                      LCASE$(MID$(ExistingUserPath$,1,lenNet%)) <> LCASE$(MID$(ExistingNetCommonDir$,1,lenNet%)) AND _
  1201.                      IsDirWritable(ExistingUserPath$) = 1  AND _
  1202.                      Lot_Dir(ExistingUserPath$+"\*.*") <> "" THEN
  1203.  
  1204.                      lDidUserRefresh%=Lot_AddSectionToNodeList(ExistingUserPath$,SectionName$+" User")
  1205.                      
  1206.  
  1207.                      IF lDidUserRefresh% <> 0 THEN
  1208.                         lDidAnyRefresh%=1
  1209.                         Entry$=Lot_GetEntryFlag(SectionName$+" User")
  1210.                      END IF
  1211.                   END IF
  1212.                END IF
  1213.             END IF
  1214.          ELSE
  1215.             IF ExistingUserPath$ <> "" THEN
  1216.                IF DoesDirExist(ExistingUserPath$) = 1  THEN
  1217.                   IF ExistingUserPath$ <> WinDir$ AND _
  1218.                      IsDirWritable(ExistingUserPath$) = 1  AND _
  1219.                      Lot_Dir(ExistingUserPath$+"\*.*") <> "" THEN
  1220.  
  1221.                      lDidUserRefresh%=Lot_AddSectionToNodeList(ExistingUserPath$,SectionName$+" User")
  1222.                      
  1223.  
  1224.                      IF lDidUserRefresh% <> 0 THEN
  1225.                         lDidAnyRefresh%=1
  1226.                         Entry$=Lot_GetEntryFlag(SectionName$+" User")
  1227.                      END IF
  1228.                   END IF
  1229.                END IF
  1230.             END IF
  1231.           END IF
  1232.  
  1233.          
  1234.          
  1235.          lDidFilterRefresh%=0
  1236.          ExistingFilterPath$ = GetIniKeyString(gLotusIniPath$,SectionName$, "Filter Path")
  1237.          
  1238.          
  1239.          IF ExistingNetCommonDir$ <> "" THEN
  1240.             IF ExistingFilterPath$ <> "" THEN
  1241.                IF DoesDirExist(ExistingFilterPath$) = 1  THEN
  1242.                   IF ExistingFilterPath$ <> WinDir$ AND _
  1243.                      LCASE$(MID$(ExistingFilterPath$,1,lenNet%)) <> LCASE$(MID$(ExistingNetCommonDir$,1,lenNet%)) AND _
  1244.                      IsDirWritable(ExistingFilterPath$) = 1  AND _
  1245.                      IsDriveLocalHard(LCASE$(MID$(ExistingFilterPath$,1,1))) = 1  AND _
  1246.                      Lot_Dir(ExistingFilterPath$+"\*.*") <> "" THEN
  1247.  
  1248.                      lDidFilterRefresh%=Lot_AddSectionToNodeList(ExistingFilterPath$,SectionName$+" Filter")
  1249.  
  1250.                      
  1251.                      IF lDidFilterRefresh% <> 0 THEN
  1252.                         lDidAnyRefresh%=1
  1253.                         Entry$=Lot_GetEntryFlag(SectionName$+" Filter")
  1254.                      END IF
  1255.                    END IF
  1256.                 END IF
  1257.             END IF
  1258.          ELSE
  1259.             IF ExistingFilterPath$ <> "" THEN
  1260.                IF DoesDirExist(ExistingFilterPath$) = 1  THEN
  1261.                   IF ExistingFilterPath$ <> WinDir$ AND _
  1262.                      IsDirWritable(ExistingFilterPath$) = 1  AND _
  1263.                      IsDriveLocalHard(LCASE$(MID$(ExistingFilterPath$,1,1))) = 1  AND _
  1264.                      Lot_Dir(ExistingFilterPath$+"\*.*") <> "" THEN
  1265.  
  1266.                      lDidFilterRefresh%=Lot_AddSectionToNodeList(ExistingFilterPath$,SectionName$+" Filter")
  1267.                      
  1268.  
  1269.                      IF lDidFilterRefresh% <> 0 THEN
  1270.                         lDidAnyRefresh%=1
  1271.                         Entry$=Lot_GetEntryFlag(SectionName$+" Filter")
  1272.                      END IF
  1273.                    END IF
  1274.                 END IF
  1275.             END IF
  1276.           END IF
  1277.      
  1278.          SectionNumber% = SectionNumber% + 1
  1279.          SectionTag$=SectionPref$+LTRIM$(STR(SectionNumber%))
  1280.          
  1281.          
  1282.  
  1283.          SectionName$ = GetIniKeyString(gSharedIniFile$,"Sections", SectionTag$)
  1284.          
  1285.  
  1286.        LOOP UNTIL SectionName$ = ""
  1287.    END IF
  1288.  
  1289.    Lot_RefreshLocalLotusapp = SUCCESS
  1290. END FUNCTION
  1291.  
  1292.  
  1293. PUBLIC FUNCTION PreConfigSHARE () AS INTEGER
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.    DIM NetworkIns$, ret%, SaveCursor%, ExistingCommonDir$, LotusAppIniPath$
  1306.    DIM result%, secResult%, FLWpath$, ImprovPath$, RC$, notused%
  1307.  
  1308.  
  1309.  
  1310.    
  1311.    
  1312.    IF Lot_AreShareToolsSupported()=1 THEN
  1313.       NetworkIns$ = GetSymbolValue(SYM_NETWORK$)
  1314.       IF NetworkIns$ <> gSERVER$ THEN
  1315.          
  1316.          gLotusIniPath$ = GetWindowsDir()+gLOTUSINI$
  1317.          ret% = DoesFileExist(gLotusIniPath$, femExists)
  1318.  
  1319.          IF ret% <> 0 THEN
  1320.             
  1321.             SaveCursor%=ShowWaitCursor()
  1322.             gConsolidateSize&=Lot_IsConsolidationNeeded(gLotusIniPath$,NetworkIns$)
  1323.             RestoreCursor SaveCursor%
  1324.             
  1325.  
  1326.             IF gConsolidateSize& <> CLNG(0) THEN
  1327.                ExistingCommonDir$ = Lot_LocalGetPathFromIni(gLotusIniPath$,"Lotus Applications", "Common Directory",NULLSTROK,INVALIDSTRERR)
  1328.                LotusappIniPath$=MakePath(ExistingCommonDir$,gLOTUSAPPINI$)
  1329.                
  1330.  
  1331.                
  1332.  
  1333.                IF ValidCommDir% = 1 THEN
  1334.                   IF GetFreeSpaceForDrive(MID$(ExistingCommonDir$,1,1)) > gConsolidateSize& THEN
  1335.                      
  1336.                      
  1337.  
  1338.                      
  1339.                      
  1340.                      IF GetSymbolValue(SYM_AUTOMATIONINST$) <> gTRUE$ THEN
  1341.  
  1342.                         notused% = RegisterCallback("SHARE","CONSOLIDATEMOVECOPYCB")
  1343.                         RC$=PopupModalDlg (DBM_CONSOLIDATE_MOVECOPY, DBM_CONSOLIDATE_MOVECOPY)
  1344.                      ELSE
  1345.                         notused% = Lot_AutoConsolidateMoveCopy()
  1346.                      END IF     
  1347.  
  1348.  
  1349.                      
  1350.                      lDidAnyMove%=0
  1351.                      SaveCursor%=ShowWaitCursor()
  1352.                      result%=Lot_DoShareConsolidation(gLotusIniPath$,NetworkIns$,GetSymbolValue( SYM_LOTUSAPPDIR$))
  1353.                      IF DoesFileExist(LotusappIniPath$,femExists)=1 THEN
  1354.                         secResult%=Lot_DoConsolidateFilesInLotusappIni(LotusappIniPath$,GetSymbolValue( SYM_LOTUSAPPDIR$)) 
  1355.                      ELSE
  1356.                         secResult%=0
  1357.                      END IF
  1358.                      RestoreCursor SaveCursor%
  1359.                      IF result%=1 OR secResult%=1 THEN
  1360.                         
  1361.                         FLWPath$ = GetIniKeyString(gLotusIniPath$, "Lotus Applications", "FLW")
  1362.                         ImprovPath$ = GetIniKeyString(gLotusIniPath$, "Lotus Applications", "IMPROV")
  1363.                         IF FLWPath$ <> "" OR ImprovPath$ <> "" THEN
  1364.                            IF GetSymbolValue("SYM_MOVE") = "1" THEN
  1365.                               ErrorMsg SID_ERR_SHARE_CONSOLID, _
  1366.                                        GetSymbolValue( SYM_LOTUSAPPDIR$)+LdString(SID_ERR_SHARE_CONSOLID0)+LdString(SID_ERR_SHARE_CONSOLID1)
  1367.                            END IF
  1368.                         END IF
  1369.                      END IF
  1370.                   ELSE            
  1371.                      
  1372.                      
  1373.                      IF GetSymbolValue(SYM_AUTOMATIONINST$) <> gTRUE$ THEN
  1374.  
  1375.                         
  1376.                         notused% = RegisterCallback("SHARE","CONSOLIDATELOTUSAPPDIRCB")
  1377.                         RC$=PopupModalDlg (DBM_CONSOLIDATE_LOTUSAPPDIR, DBM_CONSOLIDATE_LOTUSAPPDIR)
  1378.  
  1379.                      ELSE
  1380.                         notused% = Lot_AutoConsolidateLotusAppDir(gConsolidateSize&)
  1381.                      END IF     
  1382.  
  1383.                      IF RC$ = gBACK$ Then
  1384.                         PreConfigSHARE = 2
  1385.                         Exit Function
  1386.                      End IF
  1387.  
  1388.                      
  1389.                      lDidAnyMove%=0
  1390.                      SaveCursor%=ShowWaitCursor()
  1391.                      result%=Lot_DoShareConsolidation(gLotusIniPath$,NetworkIns$,GetSymbolValue( SYM_LOTUSAPPDIR$))
  1392.  
  1393.                      IF DoesFileExist(LotusappIniPath$,femExists)=1 THEN
  1394.                         secResult%=Lot_DoConsolidateFilesInLotusappIni(LotusappIniPath$,GetSymbolValue( SYM_LOTUSAPPDIR$)) 
  1395.                      ELSE
  1396.                         secResult%=0
  1397.                      END IF
  1398.  
  1399.                      RestoreCursor SaveCursor%
  1400.  
  1401.                      IF result%=1 OR secResult%=1 THEN
  1402.                         
  1403.                         FLWPath$ = GetIniKeyString(gLotusIniPath$, "Lotus Applications", "FLW")
  1404.                         ImprovPath$ = GetIniKeyString(gLotusIniPath$, "Lotus Applications", "IMPROV")
  1405.  
  1406.                         IF FLWPath$ <> "" OR ImprovPath$ <> "" THEN
  1407.                            IF GetSymbolValue("SYM_MOVE") = "1" THEN
  1408.                               ErrorMsg SID_ERR_SHARE_CONSOLID, _
  1409.                                        GetSymbolValue( SYM_LOTUSAPPDIR$)+LdString(SID_ERR_SHARE_CONSOLID0)+LdString(SID_ERR_SHARE_CONSOLID1)
  1410.                            END IF
  1411.                         END IF
  1412.  
  1413.                      END IF
  1414.  
  1415.                   END IF
  1416.  
  1417.                ELSE
  1418.                   
  1419.                   
  1420.                   
  1421.                   
  1422.                   IF GetSymbolValue(SYM_AUTOMATIONINST$) <> gTRUE$ THEN
  1423.  
  1424.                      
  1425.                      notused% = RegisterCallback("SHARE","CONSOLIDATELOTUSAPPDIRCB")
  1426.                      RC$=PopupModalDlg (DBM_CONSOLIDATE_LOTUSAPPDIR, DBM_CONSOLIDATE_LOTUSAPPDIR)
  1427.                   ELSE
  1428.                      notused% = Lot_AutoConsolidateLotusAppDir(gConsolidateSize&)
  1429.                   END IF     
  1430.  
  1431.                   
  1432.                   
  1433.  
  1434.                   IF RC$ = gBACK$ Then
  1435.                      PreConfigSHARE = 2
  1436.                      Exit Function
  1437.                   End IF
  1438.  
  1439.                   
  1440.                   lDidAnyMove%=0
  1441.                   SaveCursor%=ShowWaitCursor()
  1442.                   result%=Lot_DoShareConsolidation(gLotusIniPath$,NetworkIns$,GetSymbolValue( SYM_LOTUSAPPDIR$))
  1443.  
  1444.                   IF DoesFileExist(LotusappIniPath$,femExists)=1 THEN
  1445.                      secResult%=Lot_DoConsolidateFilesInLotusappIni(LotusappIniPath$,GetSymbolValue( SYM_LOTUSAPPDIR$)) 
  1446.                   ELSE
  1447.                      secResult%=0
  1448.                   END IF
  1449.  
  1450.                   RestoreCursor SaveCursor%
  1451.  
  1452.                   IF result%=1 OR secResult%=1 THEN
  1453.                      
  1454.                      FLWPath$ = GetIniKeyString(gLotusIniPath$, "Lotus Applications", "FLW")
  1455.                      ImprovPath$ = GetIniKeyString(gLotusIniPath$, "Lotus Applications", "IMPROV")
  1456.  
  1457.                      IF FLWPath$ <> "" OR ImprovPath$ <> "" THEN
  1458.                         IF GetSymbolValue("SYM_MOVE") = "1" THEN
  1459.                            ErrorMsg SID_ERR_SHARE_CONSOLID, _
  1460.                                     GetSymbolValue( SYM_LOTUSAPPDIR$)+LdString(SID_ERR_SHARE_CONSOLID0)+LdString(SID_ERR_SHARE_CONSOLID1)
  1461.                         END IF
  1462.                      END IF
  1463.  
  1464.                   END IF 
  1465.  
  1466.                END IF
  1467.  
  1468.            END IF 
  1469.  
  1470.         ELSE 
  1471.           
  1472.           gConsolidateSize&=CLNG(0) 
  1473.           
  1474.         END IF 
  1475.  
  1476.      END IF 
  1477.  
  1478.    END IF 
  1479.  
  1480.    PreConfigSHARE = SUCCESS
  1481. END FUNCTION
  1482.  
  1483.  
  1484. FUNCTION Lot_GetNetLotusappSource(Chapter$) AS STRING
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.    DIM NetworkIns$, prodDir$, DestSpec$
  1494.  
  1495.    
  1496.    NetworkIns$ = GetSymbolValue(SYM_NETWORK$)
  1497.    IF NetworkIns$=gNODE$ THEN
  1498.  
  1499.       prodDir$ = GetSymbolValue(SYM_STF_SRCDIR$)
  1500.       DestSpec$ = Lot_GetChapterValStr(Chapter$, F_DESTDIR)
  1501.  
  1502.       
  1503.       
  1504.       IF LCASE$(DestSpec$) <> GetWindowsDir() Then
  1505.             Lot_GetNetLotusappSource=GetSymbolValue(SYM_NETLOTUSAPP$)
  1506.       ELSE
  1507.             Lot_GetNetLotusappSource = prodDir$
  1508.       END IF
  1509.  
  1510.    END IF
  1511.  END FUNCTION
  1512.  
  1513.    
  1514. FUNCTION Lot_IsTheChapterInstalled(ChapterToFind$) AS INTEGER
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.    DIM NetworkIns$, cwd$, gInstallIniFile$, ChapterPref$, ChapterNumber%
  1525.    DIM ChapterTag$, ChapterID$, rc%
  1526.  
  1527.    
  1528.    NetworkIns$ = GetSymbolValue(SYM_NETWORK$)
  1529.  
  1530.    IF NetworkIns$=gNODE$ THEN
  1531.  
  1532.       
  1533.       cwd$ = GetSymbolValue(SYM_STF_CWDDIR$)
  1534.       gInstallIniFile$ = MakePath(cwd$,gINSTALLINI$)
  1535.       ChapterPref$ = "Chapter"
  1536.       ChapterNumber%=1
  1537.       ChapterTag$=ChapterPref$+LTRIM$(STR$(ChapterNumber%))
  1538.       ChapterID$ = GetIniKeyString(gInstallIniFile$,"Server Configuration of 123w", ChapterTag$)
  1539.       rc% = DoesFileExist(gInstallIniFile$,femExists)
  1540.       IF rc% = 1 THEN
  1541.          DO
  1542.             IF ChapterID$ = ChapterToFind$ THEN
  1543.                 Lot_IsTheChapterInstalled = 1
  1544.                 EXIT FUNCTION
  1545.             END IF
  1546.             ChapterNumber% = ChapterNumber% + 1
  1547.             ChapterTag$=ChapterPref$+LTRIM$(STR$(ChapterNumber%))
  1548.             ChapterID$ = GetIniKeyString(gInstallIniFile$,"Server Configuration of 123w", ChapterTag$)
  1549.          LOOP UNTIL ChapterID$ = ""
  1550.      ELSE
  1551.         
  1552.          ErrorMsg SID_ERR_INSTALLINI_MISSING, CHR$(10) + CHR$(10)+gInstallIniFile$
  1553.          gEndStatementEncountered% = TRUE
  1554.          EXIT FUNCTION
  1555.          
  1556.      END IF
  1557.    END IF
  1558.      Lot_IsTheChapterInstalled = 0
  1559.  END FUNCTION
  1560.  
  1561.  
  1562. FUNCTION Lot_GetNetCommDirPath (gLotusIniPath$,gNetCommDirPath$) AS STRING
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.    DIM gLotusIniExist%
  1571.  
  1572.    gNetCommDirPath$=""
  1573.    gLotusIniExist% =  DoesFileExist(gLotusIniPath$, femExists)
  1574.    IF gLotusIniExist% <>0 THEN
  1575.       gNetCommDirPath$=Lot_LocalGetPathFromIni(gLotusIniPath$, "Lotus Applications", "Net Common Directory",NULLSTROK,INVALIDSTROK)
  1576.    END IF
  1577.  
  1578.    Lot_GetNetCommDirPath = gNetCommDirPath$
  1579.  
  1580. END FUNCTION
  1581.  
  1582.  
  1583. PUBLIC FUNCTION Lot_IsSQLSelected () AS INTEGER
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.      DIM buf1$, CurrChpt$, ChapterName$
  1592.  
  1593.      buf1$ = LdString(SID_SHARED_DATA_LENS_SQL)
  1594.  
  1595.      Lot_IsSQLSelected=0
  1596.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  1597.      WHILE (CurrChpt$ <> "")
  1598.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  1599.         IF ChapterName$ = buf1$ THEN
  1600.            Lot_IsSQLSelected=1
  1601.            EXIT FUNCTION
  1602.         END IF
  1603.         CurrChpt$ = Lot_GetNext() 
  1604.      WEND
  1605.  
  1606.  
  1607. END FUNCTION
  1608.  
  1609. PUBLIC FUNCTION Lot_IsParadoxSelected () AS INTEGER
  1610.  
  1611.  
  1612.  
  1613.  
  1614.  
  1615.  
  1616.  
  1617.      DIM buf1$, CurrChpt$, ChapterName$
  1618.  
  1619.      buf1$ = LdString(SID_SHARED_DATA_LENS_PARADOX)
  1620.  
  1621.      Lot_IsParadoxSelected=0
  1622.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  1623.      WHILE (CurrChpt$ <> "")
  1624.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  1625.         IF ChapterName$ = buf1$ THEN
  1626.            Lot_IsParadoxSelected=1
  1627.            EXIT FUNCTION
  1628.         END IF
  1629.         CurrChpt$ = Lot_GetNext() 
  1630.      WEND
  1631.  
  1632. END FUNCTION
  1633.  
  1634.  
  1635. PUBLIC FUNCTION Lot_IsdBaseSelected () AS INTEGER
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.      DIM buf1$, CurrChpt$, ChapterName$
  1644.  
  1645.      buf1$ = LdString(SID_SHARED_DATA_LENS_DBASE)
  1646.  
  1647.      Lot_IsdBaseSelected=0
  1648.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  1649.      WHILE (CurrChpt$ <> "")
  1650.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  1651.         IF ChapterName$ = buf1$ THEN
  1652.            Lot_IsdBaseSelected=1
  1653.            EXIT FUNCTION
  1654.         END IF
  1655.         CurrChpt$ = Lot_GetNext() 
  1656.      WEND
  1657.  
  1658. END FUNCTION
  1659.  
  1660.  
  1661. PUBLIC FUNCTION Lot_IsInformixSelected () AS INTEGER
  1662.  
  1663.  
  1664.  
  1665.  
  1666.  
  1667.  
  1668.  
  1669.      DIM buf1$, CurrChpt$, ChapterName$
  1670.   
  1671.      buf1$ = LdString(SID_SHARED_DATA_LENS_INFORMIX)
  1672.  
  1673.      Lot_IsInformixSelected=0
  1674.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  1675.      WHILE (CurrChpt$ <> "")
  1676.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  1677.         IF ChapterName$ = buf1$ THEN
  1678.            Lot_IsInformixSelected=1
  1679.            EXIT FUNCTION
  1680.         END IF
  1681.         CurrChpt$ = Lot_GetNext() 
  1682.      WEND
  1683.  
  1684. END FUNCTION
  1685.  
  1686.  
  1687. PUBLIC FUNCTION Lot_IsIBMdBaseManagerSelected () AS INTEGER
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.      DIM buf1$, CurrChpt$, ChapterName$
  1696.     
  1697.      buf1$ = LdString(SID_SHARED_DATA_LENS_IBM_DBM)
  1698.  
  1699.      Lot_IsIBMdBaseManagerSelected=0
  1700.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  1701.      WHILE (CurrChpt$ <> "")
  1702.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  1703.         IF ChapterName$ = buf1$ THEN
  1704.            Lot_IsIBMdBaseManagerSelected=1
  1705.            EXIT FUNCTION
  1706.         END IF
  1707.         CurrChpt$ = Lot_GetNext() 
  1708.      WEND
  1709.  
  1710. END FUNCTION
  1711.  
  1712.  
  1713.  
  1714.  
  1715. PUBLIC FUNCTION Lot_IsNotesSQLSelected () AS INTEGER
  1716.  
  1717.  
  1718.  
  1719.  
  1720.  
  1721.  
  1722.  
  1723.      DIM buf1$, CurrChpt$, ChapterName$
  1724.     
  1725.      buf1$ = LdString(SID_SHARED_DATA_LENS_NOTESSQL)
  1726.  
  1727.      Lot_IsNotesSQLSelected=0
  1728.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  1729.      WHILE (CurrChpt$ <> "")
  1730.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  1731.         IF ChapterName$ = buf1$ THEN
  1732.            Lot_IsNotesSQLSelected=1
  1733.            EXIT FUNCTION
  1734.         END IF
  1735.         CurrChpt$ = Lot_GetNext() 
  1736.      WEND
  1737.  
  1738. END FUNCTION
  1739.  
  1740. PUBLIC FUNCTION Lot_IsSpreadSheetSelected () AS INTEGER
  1741.  
  1742.  
  1743.  
  1744.  
  1745.  
  1746.  
  1747.  
  1748.      DIM buf1$, CurrChpt$, ChapterName$
  1749.     
  1750.      buf1$ = LdString(SID_SHARED_DATA_LENS_SPREADSHEET)
  1751.      Lot_IsSpreadSheetSelected=0
  1752.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  1753.      WHILE (CurrChpt$ <> "")
  1754.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  1755.         IF ChapterName$ = buf1$ THEN
  1756.            Lot_IsSpreadSheetSelected=1
  1757.            EXIT FUNCTION
  1758.         END IF
  1759.         CurrChpt$ = Lot_GetNext() 
  1760.      WEND
  1761. END FUNCTION
  1762.  
  1763.  
  1764. PUBLIC FUNCTION Lot_IsIBM_DB2Selected () AS INTEGER
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.      DIM buf1$, CurrChpt$, ChapterName$
  1773.     
  1774.      buf1$ = LdString(SID_SHARED_DATA_LENS_IBM_DB2)
  1775.      Lot_IsIBM_DB2Selected=0
  1776.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  1777.      WHILE (CurrChpt$ <> "")
  1778.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  1779.         IF ChapterName$ = buf1$ THEN
  1780.            Lot_IsIBM_DB2Selected=1
  1781.            EXIT FUNCTION
  1782.         END IF
  1783.         CurrChpt$ = Lot_GetNext() 
  1784.      WEND
  1785. END FUNCTION
  1786.  
  1787.  
  1788. PUBLIC FUNCTION Lot_IsDB2_SQLDS_Selected () AS INTEGER
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794.  
  1795.  
  1796.      DIM buf1$, CurrChpt$, ChapterName$
  1797.     
  1798.      buf1$ = LdString(SID_SHARED_DATA_LENS_DB2_SQLDS)
  1799.      Lot_IsDB2_SQLDS_Selected=0
  1800.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  1801.      WHILE (CurrChpt$ <> "")
  1802.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  1803.         IF ChapterName$ = buf1$ THEN
  1804.            Lot_IsDB2_SQLDS_Selected=1
  1805.            EXIT FUNCTION
  1806.         END IF
  1807.         CurrChpt$ = Lot_GetNext() 
  1808.      WEND
  1809. END FUNCTION
  1810.  
  1811.  
  1812. PUBLIC FUNCTION Lot_IsDB2_SQL400_Selected () AS INTEGER
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.      DIM buf1$, CurrChpt$, ChapterName$
  1821.     
  1822.      buf1$ = LdString(SID_SHARED_DATA_LENS_DB2_SQL400)
  1823.      Lot_IsDB2_SQL400_Selected=0
  1824.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  1825.      WHILE (CurrChpt$ <> "")
  1826.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  1827.         IF ChapterName$ = buf1$ THEN
  1828.            Lot_IsDB2_SQL400_Selected=1
  1829.            EXIT FUNCTION
  1830.         END IF
  1831.         CurrChpt$ = Lot_GetNext() 
  1832.      WEND
  1833. END FUNCTION
  1834.  
  1835.  
  1836. PUBLIC FUNCTION Lot_IsIBM_DDCS2_Selected () AS INTEGER
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.      DIM buf1$, CurrChpt$, ChapterName$
  1845.     
  1846.      buf1$ = LdString(SID_SHARED_DATA_LENS_IBM_DDCS_2)
  1847.      Lot_IsIBM_DDCS2_Selected=0
  1848.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  1849.      WHILE (CurrChpt$ <> "")
  1850.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  1851.         IF ChapterName$ = buf1$ THEN
  1852.            Lot_IsIBM_DDCS2_Selected=1
  1853.            EXIT FUNCTION
  1854.         END IF
  1855.         CurrChpt$ = Lot_GetNext() 
  1856.      WEND
  1857. END FUNCTION
  1858.  
  1859.  
  1860. PUBLIC FUNCTION Lot_IsODBCDriverSelected () AS INTEGER
  1861.  
  1862.  
  1863.  
  1864.  
  1865.  
  1866.  
  1867.  
  1868.      DIM buf1$, CurrChpt$, ChapterName$
  1869.     
  1870.      buf1$ = LdString(SID_SHARED_DATA_LENS_ODBCD)
  1871.      Lot_IsODBCDriverSelected=0
  1872.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  1873.      WHILE (CurrChpt$ <> "")
  1874.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  1875.         IF ChapterName$ = buf1$ THEN
  1876.            Lot_IsODBCDriverSelected=1
  1877.            gODBCSelected=1
  1878.            EXIT FUNCTION
  1879.         END IF
  1880.         CurrChpt$ = Lot_GetNext() 
  1881.      WEND
  1882. END FUNCTION
  1883.  
  1884.  
  1885. PUBLIC FUNCTION Lot_IsODBCSpreadSheetSelected () AS INTEGER
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891.  
  1892.  
  1893.      DIM buf1$, CurrChpt$, ChapterName$
  1894.     
  1895.      buf1$ = LdString(SID_SHARED_ODBC_SPREADSHEET)
  1896.      Lot_IsODBCSpreadSheetSelected=0
  1897.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  1898.      WHILE (CurrChpt$ <> "")
  1899.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  1900.         IF ChapterName$ = buf1$ THEN
  1901.            Lot_IsODBCSpreadSheetSelected=1
  1902.            gODBCSelected=1
  1903.            EXIT FUNCTION
  1904.         END IF
  1905.         CurrChpt$ = Lot_GetNext() 
  1906.      WEND
  1907. END FUNCTION
  1908.  
  1909.  
  1910. PUBLIC FUNCTION Lot_IsODBCTextDriverSelected () AS INTEGER
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.      DIM buf1$, CurrChpt$, ChapterName$
  1919.     
  1920.      buf1$ = LdString(SID_SHARED_ODBC_TEXTDRVR)
  1921.      Lot_IsODBCTextDriverSelected=0
  1922.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  1923.      WHILE (CurrChpt$ <> "")
  1924.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  1925.         IF ChapterName$ = buf1$ THEN
  1926.            Lot_IsODBCTextDriverSelected=1
  1927.            gODBCSelected=1
  1928.            EXIT FUNCTION
  1929.         END IF
  1930.         CurrChpt$ = Lot_GetNext() 
  1931.      WEND
  1932. END FUNCTION
  1933.  
  1934.  
  1935. PUBLIC FUNCTION Lot_IsOracleSelected () AS INTEGER
  1936.  
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.      DIM buf1$, CurrChpt$, ChapterName$
  1944.     
  1945.      buf1$ = LdString(SID_SHARED_DATA_LENS_ORACLE)
  1946.      Lot_IsOracleSelected=0
  1947.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  1948.      WHILE (CurrChpt$ <> "")
  1949.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  1950.         IF ChapterName$ = buf1$ THEN
  1951.            Lot_IsOracleSelected=1
  1952.            EXIT FUNCTION
  1953.         END IF
  1954.         CurrChpt$ = Lot_GetNext() 
  1955.      WEND
  1956. END FUNCTION
  1957.  
  1958.  
  1959. PUBLIC FUNCTION Lot_IsODBCBtrieveSelected () AS INTEGER
  1960.  
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.      DIM buf1$, CurrChpt$, ChapterName$
  1968.     
  1969.      buf1$ = LdString(SID_SHARED_ODBC_Btrieve)
  1970.      Lot_IsODBCBtrieveSelected=0
  1971.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  1972.      WHILE (CurrChpt$ <> "")
  1973.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  1974.         IF ChapterName$ = buf1$ THEN
  1975.            Lot_IsODBCBtrieveSelected=1
  1976.            gODBCSelected=1
  1977.            EXIT FUNCTION
  1978.         END IF
  1979.         CurrChpt$ = Lot_GetNext() 
  1980.      WEND
  1981. END FUNCTION
  1982.  
  1983.  
  1984. PUBLIC FUNCTION Lot_IsODBCDB2Selected () AS INTEGER
  1985.  
  1986.  
  1987.  
  1988.  
  1989.  
  1990.  
  1991.  
  1992.      DIM buf1$, CurrChpt$, ChapterName$
  1993.     
  1994.      buf1$ = LdString(SID_SHARED_ODBC_DB2)
  1995.      Lot_IsODBCDB2Selected=0
  1996.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  1997.      WHILE (CurrChpt$ <> "")
  1998.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  1999.         IF ChapterName$ = buf1$ THEN
  2000.            Lot_IsODBCDB2Selected=1
  2001.            gODBCSelected=1
  2002.            EXIT FUNCTION
  2003.         END IF
  2004.         CurrChpt$ = Lot_GetNext() 
  2005.      WEND
  2006.  
  2007. END FUNCTION
  2008.  
  2009.  
  2010. PUBLIC FUNCTION Lot_IsODBCFoxbaseSelected () AS INTEGER
  2011.  
  2012.  
  2013.  
  2014.  
  2015.  
  2016.  
  2017.  
  2018.      DIM buf1$, CurrChpt$, ChapterName$
  2019.     
  2020.      buf1$ = LdString(SID_SHARED_ODBC_FOXBASE)
  2021.      Lot_IsODBCFoxbaseSelected=0
  2022.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  2023.      WHILE (CurrChpt$ <> "")
  2024.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  2025.         IF ChapterName$ = buf1$ THEN
  2026.            Lot_IsODBCFoxbaseSelected=1
  2027.            gODBCSelected=1
  2028.            EXIT FUNCTION
  2029.         END IF
  2030.         CurrChpt$ = Lot_GetNext() 
  2031.      WEND
  2032. END FUNCTION
  2033.  
  2034.  
  2035. PUBLIC FUNCTION Lot_IsODBCAccessSelected () AS INTEGER
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.      DIM buf1$, CurrChpt$, ChapterName$
  2044.     
  2045.      buf1$ = LdString(SID_SHARED_ODBC_ACCESS)
  2046.      Lot_IsODBCAccessSelected=0
  2047.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  2048.      WHILE (CurrChpt$ <> "")
  2049.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  2050.         IF ChapterName$ = buf1$ THEN
  2051.            Lot_IsODBCAccessSelected=1
  2052.            gODBCSelected=1
  2053.            EXIT FUNCTION
  2054.         END IF
  2055.         CurrChpt$ = Lot_GetNext() 
  2056.      WEND
  2057. END FUNCTION
  2058.  
  2059.  
  2060. PUBLIC FUNCTION Lot_IsODBCParadoxSelected () AS INTEGER
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.      DIM buf1$, CurrChpt$, ChapterName$
  2069.     
  2070.      buf1$ = LdString(SID_SHARED_ODBC_PARADOX)
  2071.      Lot_IsODBCParadoxSelected=0
  2072.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  2073.      WHILE (CurrChpt$ <> "")
  2074.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  2075.         IF ChapterName$ = buf1$ THEN
  2076.            Lot_IsODBCParadoxSelected=1
  2077.            EXIT FUNCTION
  2078.         END IF
  2079.         CurrChpt$ = Lot_GetNext() 
  2080.      WEND
  2081. END FUNCTION
  2082.  
  2083.  
  2084. PUBLIC FUNCTION Lot_IsODBCOracleSelected () AS INTEGER
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.      DIM buf1$, CurrChpt$, ChapterName$
  2093.     
  2094.      buf1$ = LdString(SID_SHARED_ODBC_Oracle)
  2095.      Lot_IsODBCOracleSelected=0
  2096.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  2097.      WHILE (CurrChpt$ <> "")
  2098.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  2099.         IF ChapterName$ = buf1$ THEN
  2100.            Lot_IsODBCOracleSelected=1
  2101.            EXIT FUNCTION
  2102.         END IF
  2103.         CurrChpt$ = Lot_GetNext() 
  2104.      WEND
  2105. END FUNCTION
  2106.  
  2107.  
  2108. PUBLIC FUNCTION Lot_IsODBCSQLServerSelected () AS INTEGER
  2109.  
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.      DIM buf1$, CurrChpt$, ChapterName$
  2117.  
  2118.      buf1$ = LdString(SID_SHARED_ODBC_SQLSERVER)
  2119.      Lot_IsODBCSQLServerSelected=0
  2120.      CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  2121.      WHILE (CurrChpt$ <> "")
  2122.         ChapterName$ = Lot_GetChapterValStr(CurrChpt$, F_NAME)
  2123.         IF ChapterName$ = buf1$ THEN
  2124.            Lot_IsODBCSQLServerSelected=1
  2125.            EXIT FUNCTION
  2126.         END IF
  2127.         CurrChpt$ = Lot_GetNext() 
  2128.      WEND
  2129. END FUNCTION
  2130.  
  2131.  
  2132.  
  2133. PUBLIC FUNCTION ConfigSHARE () AS INTEGER
  2134.  
  2135.  
  2136.  
  2137.  
  2138.  
  2139.  
  2140.    DIM NetworkIns$, notused%
  2141.  
  2142.    
  2143.    
  2144.    
  2145.  
  2146.  
  2147.    
  2148.    
  2149.    notused% = Lot_GetAllSharedInstalled()
  2150.  
  2151.    
  2152.    gLotusappDir=string$(256,0)
  2153.    gLotusappDir=GetSymbolValue(SYM_LOTUSAPPDIR$)
  2154.    gLotusappIniPath=string$(256,0)
  2155.    gLotusBcfDir=string$(256,0)
  2156.    notused% = Lot_GetLotusappiniPath(gLotusappIniPath, gLotusappDir, gLotusBcfDir)
  2157.  
  2158.    
  2159.    
  2160.    IF Lot_AreShareToolsSupported()=1 THEN
  2161.       
  2162.       NetworkIns$ = GetSymbolValue(SYM_NETWORK$)
  2163.  
  2164.       IF NetworkIns$ = gSTANDARD$ OR NetworkIns$ = gNODE$ THEN
  2165.           notused% = Lot_WriteIniFiles()
  2166.  
  2167.       ELSEIF NetworkIns$ = gSERVER$ THEN
  2168.           
  2169.           notused% = Lot_SaveShareConfigInInstallIni()
  2170.       END IF
  2171.       IF Lot_IsTheFeatureInstalled("SHRDBASEPRG")=1 OR _
  2172.          Lot_IsTheFeatureInstalled("SHRINFORMIXPRG")=1 OR _
  2173.          Lot_IsTheFeatureInstalled("SHRIBMPRG")=1 OR _
  2174.          Lot_IsTheFeatureInstalled("SHRSQLPRG")=1 OR _
  2175.          Lot_IsTheFeatureInstalled("SHRPARADOXPRG")=1 OR _
  2176.          Lot_IsTheFeatureInstalled("SHRNOTESSQLPRG")=1 OR _
  2177.          Lot_IsTheFeatureInstalled("SHRSPREADSHEETPRG")=1 OR _
  2178.          Lot_IsTheFeatureInstalled("SHRIBMDB2PRG")=1 OR _
  2179.          Lot_IsTheFeatureInstalled("SHRDB2SQLDSPRG")=1 OR _
  2180.          Lot_IsTheFeatureInstalled("SHRDB2_SQL400PRG")=1 OR _
  2181.          Lot_IsTheFeatureInstalled("SHRIBM_DDCS_2PRG")=1 OR _
  2182.          Lot_IsTheFeatureInstalled("SHRODBCDRVRPRG")=1 OR _
  2183.          Lot_IsTheFeatureInstalled("SHRODBCWKSPRG")=1 OR _
  2184.          Lot_IsTheFeatureInstalled("SHRODBCTEXTPRG")=1 OR _
  2185.          Lot_IsTheFeatureInstalled("SHRORACLEPRG")=1 OR _
  2186.          Lot_IsTheFeatureInstalled("SHRODBCBTRIEVEPRG")=1 OR _
  2187.          Lot_IsTheFeatureInstalled("SHRODBCFOXBASEPRG")=1 OR _
  2188.          Lot_IsTheFeatureInstalled("SHRODBCACCESSPRG")=1 OR _
  2189.          Lot_IsTheFeatureInstalled("SHRODBCPARADOXPRG")=1 OR _
  2190.          Lot_IsTheFeatureInstalled("SHRODBCDB2PRG")=1 OR _
  2191.          Lot_IsTheFeatureInstalled("SHRODBCORACLEPRG")=1 OR _
  2192.          Lot_IsTheFeatureInstalled("SHRODBCSQLSVRPRG")=1 THEN 
  2193.             gDataLensInstalled = 1
  2194.        ELSE
  2195.             gDataLensInstalled = 0
  2196.       END IF
  2197.  
  2198.       
  2199.       
  2200.       IF (NetworkIns$ = gSTANDARD$ OR NetworkIns$ = gSERVER$) AND _
  2201.          gDataLensInstalled = 1 THEN
  2202.          notused% = Lot_WriteLotusBcfFile()
  2203.       END IF
  2204.  
  2205.       IF NetworkIns$ = gSTANDARD$ AND gDataLensInstalled = 1 THEN
  2206.           
  2207.           gLotusappDir$=GetSymbolValue(SYM_LOTUSAPPDIR$)
  2208.           CreateIniKeyValue gLotusIniPath$, "DataLens", "Data Path", gLotusappDir$+"datalens", cmoOverwrite
  2209.       END IF
  2210.  
  2211.       IF (NetworkIns$ = gSTANDARD$ OR NetworkIns$ = gNODE$) AND _
  2212.          gDataLensInstalled = 1 THEN
  2213.  
  2214.          notused% = Lot_WriteODBCINST()
  2215.       END IF     
  2216.  
  2217.    END IF
  2218.  
  2219.    ConfigSHARE = SUCCESS
  2220. END FUNCTION
  2221.  
  2222.  
  2223. PUBLIC FUNCTION AddSHAREIcons() AS INTEGER
  2224.  
  2225.  
  2226.  
  2227.  
  2228. DIM grouptitle$,Lotusappdir$,dlgeditor$,Network$
  2229.  
  2230.    Network$ = GetSymbolValue(SYM_NETWORK$)
  2231.    grouptitle$ = Reg_GetProgManagerGroupName(1)
  2232.    
  2233.    If network$ = gSTANDARD$ Then
  2234.       If (FIsKeywordinCopyList ("SHRDLGPRG") = 1) Then   
  2235.          Lotusappdir$= GetSymbolValue(SYM_LOTUSAPPDIR$)
  2236.          dlgeditor$ = Lotusappdir$+LdString(SID_LOTDIALOGEDITORDIR)+LdString(SID_LOTDIALOGEDITOREXE)
  2237.          CreateProgmanItem  grouptitle$, LdString(SID_LOTDIALOGEDITOR), dlgeditor$, "", cmoOverwrite
  2238.       End If
  2239.    ElseIf network$ = gNODE$ Then
  2240.       If Lot_IsTheFeatureInstalled("SHRDLGPRG") = 1 Then 
  2241.          Lotusappdir$= GetSymbolValue(SYM_NETLOTUSAPP$)
  2242.          dlgeditor$ = Lotusappdir$+LdString(SID_LOTDIALOGEDITORDIR)+LdString(SID_LOTDIALOGEDITOREXE)
  2243.          CreateProgmanItem  grouptitle$, LdString(SID_LOTDIALOGEDITOR), dlgeditor$, "", cmoOverwrite
  2244.       End If
  2245.    End If
  2246. AddSHAREIcons=SUCCESS
  2247. END FUNCTION
  2248.  
  2249.  
  2250. FUNCTION Lot_DoConsolidateFilesInLotusappIni(LotusappIniPath$,NewDestDir$) AS INTEGER
  2251.  
  2252.  
  2253.  
  2254.  
  2255.  
  2256.  
  2257.  
  2258.  
  2259.  
  2260.  
  2261.  
  2262.  
  2263.    DIM cwd$, gSharedIniFile$, WinDir$, ExistingCommonDir$, SectionPref$
  2264.    DIM SectionNumber%, SectionTag$, SectionName$, lDidProgramMove%
  2265.    DIM recordedPath$, ExistingProgPath$, ExistingnetCommonDir$
  2266.    DIM Entry$, lDidDataMove%, ExistingDataPath$, lDidUserMove%, ExistingUserPath$
  2267.    DIM lDidFilterMove%, ExistingFilterPath$, SpellUserPath$, fileSize&, notused%
  2268.    
  2269.    gSharedIniFile$ = Lot_GetSharedIniPathName()
  2270.    WinDir$=GetWindowsDir()
  2271.  
  2272.    
  2273.    ExistingCommonDir$ = GetSymbolValue(SYM_EXISTINGCOMMDIR$)
  2274.    
  2275.    
  2276.    
  2277.    SectionPref$="section"
  2278.    SectionNumber%=1
  2279.    SectionTag$=SectionPref$+LTRIM$(STR(SectionNumber%))
  2280.    
  2281.    
  2282.    SectionName$ = GetIniKeyString(gSharedIniFile$,"Sections", SectionTag$)
  2283.  
  2284.    
  2285.    DO
  2286.    
  2287.       
  2288.       
  2289.       lDidProgramMove%=0
  2290.       RecordedPath$ = GetIniKeyString(LotusappIniPath$,SectionName$, "Program Path")
  2291.       
  2292.       ExistingProgPath$ = Lot_MakeAPathFromLotusappIni(RecordedPath$,ExistingCommonDir$,WinDir$)
  2293.  
  2294.       
  2295.       
  2296.  
  2297.       
  2298.       
  2299.       
  2300.       
  2301.       IF SectionName$="Graphics File Filters" AND ExistingProgPath$ <> "" THEN
  2302.          GraphicsFileFiltersProgPath$=MID$(ExistingProgPath$,1,LEN(ExistingProgPath$)-11)
  2303.       ELSEIF SectionName$="Document File Filters" AND ExistingProgPath$ <> "" THEN
  2304.          DocFileFiltersProgPath$=MID$(ExistingProgPath$,1,LEN(ExistingProgPath$)-13)
  2305.       END IF
  2306.          
  2307.       
  2308.  
  2309.       
  2310.       
  2311.       
  2312.       IF ExistingNetCommonDir$ <>"" Then
  2313.          IF ExistingProgPath$ <> "" AND _
  2314.             ExistingProgPath$ <> WinDir$ AND _
  2315.             MID$(ExistingProgPath$,1,LEN(ExistingNetCommonDir$)) <> ExistingNetCommonDir$ AND _
  2316.             MID$(ExistingProgPath$,1,LEN(NewDestDir$)) <> NewDestDir$ THEN
  2317.             lDidProgramMove%=Lot_MoveFiles(ExistingProgPath$,gSharedIniFile$,SectionName$+" Program",NewDestDir$)
  2318.  
  2319.             
  2320.             IF lDidProgramMove% <> 0 THEN
  2321.                lDidAnyMove%=1
  2322.                Entry$=Lot_GetEntryFlag(SectionName$+" Program")
  2323.  
  2324.                
  2325.                
  2326.                notused% = Lot_WriteEntry(Entry$,1)            
  2327.                notused% = FRemoveDir(Lot_TrimEndSlash(ExistingProgPath$))
  2328.                notused% = Lot_UpdateWinIni(Entry$,NewDestDir$)
  2329.             END IF
  2330.          END IF
  2331.       ELSE
  2332.          IF ExistingProgPath$ <> "" AND _
  2333.             ExistingProgPath$ <> WinDir$ AND _
  2334.             MID$(ExistingProgPath$,1,LEN(NewDestDir$)) <> NewDestDir$ THEN
  2335.             lDidProgramMove%=Lot_MoveFiles(ExistingProgPath$,gSharedIniFile$,SectionName$+" Program",NewDestDir$)
  2336.  
  2337.             
  2338.             IF lDidProgramMove% <> 0 THEN
  2339.                lDidAnyMove%=1
  2340.                Entry$=Lot_GetEntryFlag(SectionName$+" Program")
  2341.  
  2342.                
  2343.                
  2344.                notused% = Lot_WriteEntry(Entry$,1)            
  2345.                notused% = FRemoveDir(Lot_TrimEndSlash(ExistingProgPath$))
  2346.                notused% = Lot_UpdateWinIni(Entry$,NewDestDir$)
  2347.             END IF
  2348.          END IF
  2349.      END IF
  2350.  
  2351.       
  2352.       
  2353.       lDidDataMove%=0
  2354.       RecordedPath$ = GetIniKeyString(LotusappIniPath$,SectionName$, "Data Path")
  2355.       
  2356.       ExistingDataPath$ = Lot_MakeAPathFromLotusappIni(RecordedPath$,ExistingCommonDir$,WinDir$)
  2357.       
  2358.       
  2359.       IF ExistingNetCommonDir$ <>"" Then
  2360.          IF ExistingDataPath$ <> "" AND _
  2361.             ExistingDataPath$ <> WinDir$ AND _
  2362.             MID$(ExistingDataPath$,1,LEN(ExistingNetCommonDir$)) <> ExistingNetCommonDir$ AND _
  2363.             MID$(ExistingDataPath$,1,LEN(NewDestDir$)) <> NewDestDir$ THEN
  2364.             lDidDataMove%=Lot_MoveFiles(ExistingDataPath$,gSharedIniFile$,SectionName$+" Data",NewDestDir$)
  2365.     
  2366.             
  2367.             IF lDidDataMove% <> 0 THEN
  2368.                lDidAnyMove%=1
  2369.                Entry$=Lot_GetEntryFlag(SectionName$+" Data")
  2370.  
  2371.                
  2372.                
  2373.                notused% = Lot_WriteEntry(Entry$,1)            
  2374.                notused% = FRemoveDir(Lot_TrimEndSlash(ExistingDataPath$))
  2375.  
  2376.             ELSEIF Entry$="DATALENSDATA" THEN
  2377.                notused% = Lot_WriteEntry(Entry$,1)            
  2378.             END IF
  2379.          END IF
  2380.       ELSE
  2381.          IF ExistingDataPath$ <> "" AND _
  2382.             ExistingDataPath$ <> WinDir$ AND _
  2383.             MID$(ExistingDataPath$,1,LEN(NewDestDir$)) <> NewDestDir$ THEN
  2384.             lDidDataMove%=Lot_MoveFiles(ExistingDataPath$,gSharedIniFile$,SectionName$+" Data",NewDestDir$)
  2385.     
  2386.             
  2387.             IF lDidDataMove% <> 0 THEN
  2388.                lDidAnyMove%=1
  2389.                Entry$=Lot_GetEntryFlag(SectionName$+" Data")
  2390.  
  2391.                
  2392.                
  2393.                notused% = Lot_WriteEntry(Entry$,1)            
  2394.                notused% = FRemoveDir(Lot_TrimEndSlash(ExistingDataPath$))
  2395.  
  2396.             ELSEIF Entry$="DATALENSDATA" THEN
  2397.                notused% = Lot_WriteEntry(Entry$,1)            
  2398.             END IF
  2399.          END IF
  2400.        END IF
  2401.    
  2402.       
  2403.       
  2404.       lDidUserMove%=0
  2405.       RecordedPath$ = GetIniKeyString(LotusappIniPath$,SectionName$, "User Path")
  2406.       ExistingUserPath$ = Lot_MakeAPathFromLotusappIni(RecordedPath$,ExistingCommonDir$,WinDir$)
  2407.  
  2408.       IF ExistingNetCommonDir$ <>"" Then
  2409.          IF ExistingUserPath$ <> "" AND _
  2410.             ExistingUserPath$ <> WinDir$ AND _
  2411.             MID$(ExistingUserPath$,1,LEN(ExistingNetCommonDir$)) <> ExistingNetCommonDir$ AND _
  2412.             MID$(ExistingUserPath$,1,LEN(NewDestDir$)) <> NewDestDir$ THEN
  2413.             lDidUserMove%=Lot_MoveFiles(ExistingUserPath$,gSharedIniFile$,SectionName$+" User",NewDestDir$)
  2414.             IF lDidUserMove% <> 0 THEN
  2415.                lDidAnyMove%=1
  2416.                Entry$=Lot_GetEntryFlag(SectionName$+" User")
  2417.                notused% = Lot_WriteEntry(Entry$,1)            
  2418.                notused% = FRemoveDir(Lot_TrimEndSlash(ExistingUserPath$))
  2419.  
  2420.             END IF
  2421.          END IF
  2422.       ELSE
  2423.          IF ExistingUserPath$ <> "" AND _
  2424.             ExistingUserPath$ <> WinDir$ AND _
  2425.             MID$(ExistingUserPath$,1,LEN(NewDestDir$)) <>NewDestDir$ THEN
  2426.             lDidUserMove%=Lot_MoveFiles(ExistingUserPath$,gSharedIniFile$,SectionName$+" User",NewDestDir$)
  2427.             IF lDidUserMove% <> 0 THEN
  2428.                lDidAnyMove%=1
  2429.                Entry$=Lot_GetEntryFlag(SectionName$+" User")
  2430.                notused% = Lot_WriteEntry(Entry$,1)            
  2431.                notused% = FRemoveDir(Lot_TrimEndSlash(ExistingUserPath$))
  2432.  
  2433.             END IF
  2434.          END IF
  2435.  
  2436.       END IF
  2437.  
  2438.       
  2439.       
  2440.       lDidFilterMove%=0
  2441.       RecordedPath$ = GetIniKeyString(LotusappIniPath$,SectionName$, "Filter Path")
  2442.       ExistingFilterPath$ = Lot_MakeAPathFromLotusappIni(RecordedPath$,ExistingCommonDir$,WinDir$)
  2443.  
  2444.       IF ExistingNetCommonDir$ <>"" Then
  2445.          IF ExistingFilterPath$ = "" AND _
  2446.             SectionName$="Graphics File Filters" AND _
  2447.             GraphicsFileFiltersProgPath$<>"" AND _
  2448.             ExistingFilterPath$ <> NewDestDir$ THEN
  2449.             lDidFilterMove%=Lot_MoveFiles(ExistingFilterPath$,gSharedIniFile$,SectionName$+" Filter",NewDestDir$)
  2450.          ELSEIF ExistingFilterPath$ <> "" AND _
  2451.             ExistingFilterPath$ <> WinDir$ AND _
  2452.             MID$(ExistingFilterPath$,1,LEN(ExistingNetCommonDir$)) <> ExistingNetCommonDir$ AND _
  2453.             ExistingFilterPath$ <> NewDestDir$ THEN
  2454.             lDidFilterMove%=Lot_MoveFiles(ExistingFilterPath$,gSharedIniFile$,SectionName$+" Filter",NewDestDir$)
  2455.          END IF
  2456.       ELSE
  2457.          IF ExistingFilterPath$ = "" AND _
  2458.             SectionName$="Graphics File Filters" AND _
  2459.             GraphicsFileFiltersProgPath$<>"" AND _
  2460.             MID$(ExistingFilterPath$,1,LEN(NewDestDir$)) <> NewDestDir$ THEN
  2461.             lDidFilterMove%=Lot_MoveFiles(ExistingFilterPath$,gSharedIniFile$,SectionName$+" Filter",NewDestDir$)
  2462.          ELSEIF ExistingFilterPath$ <> "" AND _
  2463.             ExistingFilterPath$ <> WinDir$ AND _
  2464.             MID$(ExistingFilterPath$,1,LEN(NewDestDir$)) <> NewDestDir$ THEN
  2465.             lDidFilterMove%=Lot_MoveFiles(ExistingFilterPath$,gSharedIniFile$,SectionName$+" Filter",NewDestDir$)
  2466.          END IF
  2467.       END IF
  2468.  
  2469.       IF lDidFilterMove% <> 0 THEN
  2470.          lDidAnyMove%=1
  2471.          Entry$=Lot_GetEntryFlag(SectionName$+" Filter")
  2472.          notused% = Lot_WriteEntry(Entry$,1)            
  2473.          notused% = FRemoveDir(Lot_TrimEndSlash(ExistingFilterPath$))
  2474.  
  2475.       END IF
  2476.       
  2477.       SectionNumber% = SectionNumber% + 1
  2478.       SectionTag$=SectionPref$+LTRIM$(STR(SectionNumber%))
  2479.       
  2480.       
  2481.       SectionName$ = GetIniKeyString(gSharedIniFile$,"Sections", SectionTag$)
  2482.       
  2483.     LOOP UNTIL SectionName$ = ""
  2484.  
  2485.    IF lDidAnyMove%=1 THEN
  2486.       
  2487.       CreateIniKeyValue gLotusIniPath$, "Lotus Applications", "Common Directory", Lot_TrimEndSlash(gLotusappDir$), cmoOverwrite
  2488.       
  2489.       SpellUserPath$ = GetIniKeyString(gLotusIniPath$, "Spell Checker", "User Path")
  2490.       IF LCASE$(SpellUserPath$) <> gLotusappDir$+"spell" THEN
  2491.           CreateIniKeyValue gLotusIniPath$, "Spell Checker", "User Path",gLotusappDir$+"spell",cmoOverwrite
  2492.       END IF
  2493.  
  2494.       
  2495.       FileSize& = GetSizeOfFile(LotusappIniPath$)
  2496.  
  2497.       
  2498.       
  2499.       IF ExistingCommonDir$ <> NewDestDir$ THEN
  2500.          notused% = Lot_DoVerDateValidation(ExistingCommonDir$,NewDestDir$,gLOTUSAPPINI$,FileSize&)
  2501.       END IF   
  2502.    
  2503.       
  2504.       notused% = FRemoveDir(Lot_TrimEndSlash(ExistingCommonDir$))
  2505.  
  2506.       Lot_DoConsolidateFilesInLotusappIni=1
  2507.    ELSE
  2508.       Lot_DoConsolidateFilesInLotusappIni=0
  2509.    END IF
  2510. END FUNCTION
  2511.  
  2512.  
  2513. FUNCTION Lot_DoShareConsolidation(gLotusIniPath$,NetworkIns$,NewDestDir$) AS INTEGER
  2514.  
  2515.  
  2516.  
  2517.  
  2518.  
  2519.  
  2520.  
  2521.  
  2522.  
  2523.  
  2524.    DIM gSharedIniFile$, WinDir$, ExistingCommonDir$, SectionPref$
  2525.    DIM SectionNumber%, SectionTag$, SectionName$, lDidProgramMove%
  2526.    DIM FileExist%, ExistingProgPath$, entry$, lDIdDataMove%, ExistingDataPath$
  2527.      DIM ExistingNetCommonDir$, lDidUserMove%, ExistingUserPath$, lDIdFilterMove%
  2528.    DIM ExistingFilterPath$, SpellUserPath$, notused%
  2529.  
  2530.    gSharedIniFile$ = Lot_GetSharedIniPathName()
  2531.  
  2532.    WinDir$=GetWindowsDir()
  2533.    FileExist% =  DoesFileExist(gSharedIniFile$, femExists)
  2534.  
  2535.  
  2536.    
  2537.    ExistingCommonDir$ = Lot_LocalGetPathFromIni(gLotusIniPath$,"Lotus Applications", "Common Directory",NULLSTROK,INVALIDSTRERR)
  2538.  
  2539.    
  2540.    ExistingNetCommonDir$ = Lot_LocalGetPathFromIni(gLotusIniPath$,"Lotus Applications", "Net Common Directory",NULLSTROK,INVALIDSTROK)
  2541.    
  2542.  
  2543.    
  2544.    SectionPref$="section"
  2545.    SectionNumber%=1
  2546.    SectionTag$=SectionPref$+LTRIM$(STR(SectionNumber%))
  2547.    
  2548.    
  2549.    SectionName$ = GetIniKeyString(gSharedIniFile$,"Sections", SectionTag$)
  2550.  
  2551.    
  2552.    DO
  2553.       
  2554.       
  2555.       lDidProgramMove%=0
  2556.       ExistingProgPath$ = Lot_LocalGetPathFromIni(gLotusIniPath$,SectionName$, "Program Path",NULLSTROK,INVALIDSTROK)
  2557.  
  2558.       
  2559.       
  2560.       
  2561.       
  2562.       IF SectionName$="Graphics File Filters" AND ExistingProgPath$ <> "" THEN
  2563.          GraphicsFileFiltersProgPath$=MID$(ExistingProgPath$,1,LEN(ExistingProgPath$)-11)
  2564.       ELSEIF SectionName$="Document File Filters" AND ExistingProgPath$ <> "" THEN
  2565.          DocFileFiltersProgPath$=MID$(ExistingProgPath$,1,LEN(ExistingProgPath$)-13)
  2566.       END IF
  2567.          
  2568.       
  2569.  
  2570.       
  2571.       
  2572.       
  2573.       IF ExistingNetCommonDir$ <>"" Then
  2574.          IF ExistingProgPath$ <> "" AND _
  2575.             ExistingProgPath$ <> WinDir$ AND _
  2576.             MID$(ExistingProgPath$,1,LEN(ExistingNetCommonDir$)) <> ExistingNetCommonDir$ AND _
  2577.             MID$(ExistingProgPath$,1,LEN(NewDestDir$)) <> NewDestDir$ THEN
  2578.             lDidProgramMove%=Lot_MoveFiles(ExistingProgPath$,gSharedIniFile$,SectionName$+" Program",NewDestDir$)
  2579.  
  2580.             
  2581.             IF lDidProgramMove% <> 0 THEN
  2582.                lDidAnyMove%=1
  2583.                Entry$=Lot_GetEntryFlag(SectionName$+" Program")
  2584.  
  2585.                
  2586.                
  2587.                notused% = Lot_WriteEntry(Entry$,1)            
  2588.                notused% = FRemoveDir(Lot_TrimEndSlash(ExistingProgPath$))
  2589.                notused% = Lot_UpdateWinIni(Entry$,NewDestDir$)
  2590.             END IF
  2591.          END IF
  2592.       ELSE
  2593.          IF ExistingProgPath$ <> "" AND _
  2594.             ExistingProgPath$ <> WinDir$ AND _
  2595.             MID$(ExistingProgPath$,1,LEN(NewDestDir$)) <> NewDestDir$ THEN
  2596.             lDidProgramMove%=Lot_MoveFiles(ExistingProgPath$,gSharedIniFile$,SectionName$+" Program",NewDestDir$)
  2597.  
  2598.             
  2599.             IF lDidProgramMove% <> 0 THEN
  2600.                lDidAnyMove%=1
  2601.                Entry$=Lot_GetEntryFlag(SectionName$+" Program")
  2602.  
  2603.                
  2604.                
  2605.                notused% = Lot_WriteEntry(Entry$,1)            
  2606.                notused% = FRemoveDir(Lot_TrimEndSlash(ExistingProgPath$))
  2607.                notused% = Lot_UpdateWinIni(Entry$,NewDestDir$)
  2608.             END IF
  2609.          END IF
  2610.      END IF
  2611.  
  2612.       
  2613.       
  2614.       lDidDataMove%=0
  2615.       ExistingDataPath$ = Lot_LocalGetPathFromIni(gLotusIniPath$,SectionName$, "Data Path",NULLSTROK,INVALIDSTROK)
  2616.       IF ExistingNetCommonDir$ <>"" Then
  2617.          IF ExistingDataPath$ <> "" AND _
  2618.             ExistingDataPath$ <> WinDir$ AND _
  2619.             MID$(ExistingDataPath$,1,LEN(ExistingNetCommonDir$)) <> ExistingNetCommonDir$ AND _
  2620.             MID$(ExistingDataPath$,1,LEN(NewDestDir$)) <> NewDestDir$ THEN
  2621.             lDidDataMove%=Lot_MoveFiles(ExistingDataPath$,gSharedIniFile$,SectionName$+" Data",NewDestDir$)
  2622.     
  2623.             
  2624.             IF lDidDataMove% <> 0 THEN
  2625.                lDidAnyMove%=1
  2626.                Entry$=Lot_GetEntryFlag(SectionName$+" Data")
  2627.  
  2628.                
  2629.                
  2630.                notused% = Lot_WriteEntry(Entry$,1)            
  2631.                notused% = FRemoveDir(Lot_TrimEndSlash(ExistingDataPath$))
  2632.  
  2633.             ELSEIF Entry$="DATALENSDATA" THEN
  2634.                notused% = Lot_WriteEntry(Entry$,1)            
  2635.             END IF
  2636.          END IF
  2637.       ELSE
  2638.          IF ExistingDataPath$ <> "" AND _
  2639.             ExistingDataPath$ <> WinDir$ AND _
  2640.             MID$(ExistingDataPath$,1,LEN(NewDestDir$)) <> NewDestDir$ THEN
  2641.             lDidDataMove%=Lot_MoveFiles(ExistingDataPath$,gSharedIniFile$,SectionName$+" Data",NewDestDir$)
  2642.     
  2643.             
  2644.             IF lDidDataMove% <> 0 THEN
  2645.                lDidAnyMove%=1
  2646.                Entry$=Lot_GetEntryFlag(SectionName$+" Data")
  2647.  
  2648.                
  2649.                
  2650.                notused% = Lot_WriteEntry(Entry$,1)            
  2651.                notused% = FRemoveDir(Lot_TrimEndSlash(ExistingDataPath$))
  2652.  
  2653.             ELSEIF Entry$="DATALENSDATA" THEN
  2654.                notused% = Lot_WriteEntry(Entry$,1)            
  2655.             END IF
  2656.          END IF
  2657.        END IF
  2658.    
  2659.       
  2660.       
  2661.       lDidUserMove%=0
  2662.       ExistingUserPath$ = Lot_LocalGetPathFromIni(gLotusIniPath$,SectionName$, "User Path",NULLSTROK,INVALIDSTROK)
  2663.       IF ExistingNetCommonDir$ <>"" Then
  2664.          IF ExistingUserPath$ <> "" AND _
  2665.             ExistingUserPath$ <> WinDir$ AND _
  2666.             MID$(ExistingUserPath$,1,LEN(ExistingNetCommonDir$)) <> ExistingNetCommonDir$ AND _
  2667.             MID$(ExistingUserPath$,1,LEN(NewDestDir$)) <> NewDestDir$ THEN
  2668.             lDidUserMove%=Lot_MoveFiles(ExistingUserPath$,gSharedIniFile$,SectionName$+" User",NewDestDir$)
  2669.             IF lDidUserMove% <> 0 THEN
  2670.                lDidAnyMove%=1
  2671.                Entry$=Lot_GetEntryFlag(SectionName$+" User")
  2672.                notused% = Lot_WriteEntry(Entry$,1)            
  2673.                notused% = FRemoveDir(Lot_TrimEndSlash(ExistingUserPath$))
  2674.  
  2675.             END IF
  2676.          END IF
  2677.       ELSE
  2678.          IF ExistingUserPath$ <> "" AND _
  2679.             ExistingUserPath$ <> WinDir$ AND _
  2680.             MID$(ExistingUserPath$,1,LEN(NewDestDir$)) <> NewDestDir$ THEN
  2681.             lDidUserMove%=Lot_MoveFiles(ExistingUserPath$,gSharedIniFile$,SectionName$+" User",NewDestDir$)
  2682.             IF lDidUserMove% <> 0 THEN
  2683.                lDidAnyMove%=1
  2684.                Entry$=Lot_GetEntryFlag(SectionName$+" User")
  2685.                notused% = Lot_WriteEntry(Entry$,1)            
  2686.                notused% = FRemoveDir(Lot_TrimEndSlash(ExistingUserPath$))
  2687.  
  2688.             END IF
  2689.          END IF
  2690.  
  2691.       END IF
  2692.  
  2693.       
  2694.       
  2695.       lDidFilterMove%=0
  2696.       ExistingFilterPath$ = Lot_LocalGetPathFromIni(gLotusIniPath$,SectionName$, "Filter Path",NULLSTROK,INVALIDSTROK)
  2697.       IF ExistingNetCommonDir$ <>"" Then
  2698.          IF ExistingFilterPath$ = "" AND _
  2699.             SectionName$="Graphics File Filters" AND _
  2700.             GraphicsFileFiltersProgPath$<>"" AND _
  2701.             ExistingFilterPath$ <> NewDestDir$ THEN
  2702.             lDidFilterMove%=Lot_MoveFiles(ExistingFilterPath$,gSharedIniFile$,SectionName$+" Filter",NewDestDir$)
  2703.          ELSEIF ExistingFilterPath$ <> "" AND _
  2704.             ExistingFilterPath$ <> WinDir$ AND _
  2705.             MID$(ExistingFilterPath$,1,LEN(ExistingNetCommonDir$)) <> ExistingNetCommonDir$ AND _
  2706.             ExistingFilterPath$ <> NewDestDir$ THEN
  2707.             lDidFilterMove%=Lot_MoveFiles(ExistingFilterPath$,gSharedIniFile$,SectionName$+" Filter",NewDestDir$)
  2708.          END IF
  2709.       ELSE
  2710.          IF ExistingFilterPath$ = "" AND _
  2711.             SectionName$="Graphics File Filters" AND _
  2712.             GraphicsFileFiltersProgPath$<>"" AND _
  2713.             MID$(ExistingFilterPath$,1,LEN(NewDestDir$)) <> NewDestDir$ THEN
  2714.             lDidFilterMove%=Lot_MoveFiles(ExistingFilterPath$,gSharedIniFile$,SectionName$+" Filter",NewDestDir$)
  2715.          ELSEIF ExistingFilterPath$ <> "" AND _
  2716.             ExistingFilterPath$ <> WinDir$ AND _
  2717.             MID$(ExistingFilterPath$,1,LEN(NewDestDir$)) <> NewDestDir$ THEN
  2718.             lDidFilterMove%=Lot_MoveFiles(ExistingFilterPath$,gSharedIniFile$,SectionName$+" Filter",NewDestDir$)
  2719.          END IF
  2720.       END IF
  2721.  
  2722.       IF lDidFilterMove% <> 0 THEN
  2723.          lDidAnyMove%=1
  2724.          Entry$=Lot_GetEntryFlag(SectionName$+" Filter")
  2725.          notused% = Lot_WriteEntry(Entry$,1)            
  2726.          notused% = FRemoveDir(Lot_TrimEndSlash(ExistingFilterPath$))
  2727.  
  2728.       END IF
  2729.       
  2730.       SectionNumber% = SectionNumber% + 1
  2731.       SectionTag$=SectionPref$+LTRIM$(STR(SectionNumber%))
  2732.       
  2733.       
  2734.       SectionName$ = GetIniKeyString(gSharedIniFile$,"Sections", SectionTag$)
  2735.       
  2736.     LOOP UNTIL SectionName$ = ""
  2737.  
  2738.    IF lDidAnyMove%=1 THEN
  2739.       
  2740.       CreateIniKeyValue gLotusIniPath$, "Lotus Applications", "Common Directory", Lot_TrimEndSlash(gLotusappDir$), cmoOverwrite
  2741.       
  2742.       SpellUserPath$ = GetIniKeyString(gLotusIniPath$, "Spell Checker", "User Path")
  2743.       IF LCASE$(SpellUserPath$) <> gLotusappDir$+"spell" THEN
  2744.           CreateIniKeyValue gLotusIniPath$, "Spell Checker", "User Path",gLotusappDir$+"spell",cmoOverwrite
  2745.       END IF
  2746.  
  2747.       
  2748.       notused% = FRemoveDir(Lot_TrimEndSlash(ExistingCommonDir$))
  2749.  
  2750.       Lot_DoShareConsolidation=1
  2751.    ELSE
  2752.       IF Lot_LocalGetPathFromIni(gLotusIniPath$,"Lotus Applications", "Common Directory",NULLSTROK,INVALIDSTRERR) = "" THEN
  2753.          CreateIniKeyValue gLotusIniPath$, "Lotus Applications", "Common Directory", Lot_TrimEndSlash(gLotusappDir$), cmoOverwrite
  2754.       END IF
  2755.       Lot_DoShareConsolidation=0
  2756.    END IF
  2757.    
  2758. END FUNCTION
  2759.  
  2760.  
  2761. FUNCTION Lot_UpdateWinIni(Entry$,NewDestDir$) AS INTEGER
  2762.  
  2763.  
  2764.  
  2765.  
  2766.  
  2767.  
  2768.  
  2769.    DIM WinIniDir$, NewDestSubDir$, AnNoteEntry$, AnnoteStr$, SoundEntry$
  2770.    DIM SoundStr$, MediaEntry$, MediaStr$, ScreenCamEntry$, ScreenCamStr$
  2771.  
  2772.    WinIniDir$ = MakePath(GetWindowsDir(), gWININI$)
  2773.    IF Entry$ = "MULTIMEDIAPROGRAM" THEN
  2774.       
  2775.  
  2776.          NewDestSubDir$=NewDestDir$+"multimed\"
  2777.          AnNoteEntry$ = GetIniKeyString(WinIniDir$,"embedding", "LotusAnNote")
  2778.          IF AnNoteEntry$<>"" AND DoesFileExist(NewDestSubDir$+"ANNOTATE.EXE",femExists)=1 THEN
  2779.             AnNoteStr$ = "Lotus Annotator Note,Lotus Annotator Note,"+NewDestSubDir$+"ANNOTATE.EXE,picture"
  2780.             CreateIniKeyValue WinIniDir$, "embedding", "LotusAnNote", AnNoteStr$, cmoOverwrite
  2781.          END IF
  2782.          SoundEntry$ = GetIniKeyString(WinIniDir$,"embedding", "LotusSound")
  2783.          IF SoundEntry$<>"" AND DoesFileExist(NewDestSubDir$+"LOTUSSND.EXE",femExists)=1 THEN
  2784.             SoundStr$ = "Lotus Sound,Lotus Sound,"+NewDestSubDir$+"LOTUSSND.EXE,picture"
  2785.             CreateIniKeyValue WinIniDir$, "embedding", "LotusSound", SoundStr$, cmoOverwrite
  2786.          END IF
  2787.          MediaEntry$ = GetIniKeyString(WinIniDir$,"embedding", "LotusMedia")
  2788.          IF MediaEntry$<>"" AND DoesFileExist(NewDestSubDir$+"MEDMAN.EXE",femExists)=1 THEN
  2789.             MediaStr$ = "Lotus Media,Lotus Media,"+NewDestSubDir$+"MEDMAN.EXE,picture"
  2790.             CreateIniKeyValue WinIniDir$, "embedding", "LotusMedia", MediaStr$, cmoOverwrite
  2791.          END IF
  2792.       
  2793.       
  2794.          ScreenCamEntry$ = GetIniKeyString(WinIniDir$,"embedding", "ScreenCamMovie")
  2795.          IF ScreenCamEntry$<>"" AND DoesFileExist(NewDestSubDir$+"SCRNCAM.EXE",femExists)=1 THEN
  2796.             ScreenCamStr$ = "Lotus ScreenCam Movie,Lotus ScreenCam Movie,"+NewDestSubDir$+"SCRNCAM.EXE,picture"
  2797.             CreateIniKeyValue WinIniDir$, "embedding", "ScreenCamMovie", ScreenCamStr$, cmoOverwrite
  2798.          END IF
  2799.       
  2800.  
  2801.    END IF
  2802.    Lot_UpdateWinIni=1
  2803. END FUNCTION
  2804.  
  2805. FUNCTION Lot_IsExistingLotusappDirValid(BYVAL ExistingCommonDir$) AS INTEGER
  2806.  
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.    DIM localValidCommDir%, networkCommDir$, notEmptySpell%, notEmptyDatalens%
  2813.    DIM localExistingCommonDir$
  2814.    
  2815.    if ExistingCommonDir$ <> "" then
  2816.       localExistingCommonDir$ = Lot_TrimEndSlash(ExistingCommonDir$)
  2817.    else
  2818.       localExistingCommonDir$ = ExistingCommonDir$
  2819.    end if 
  2820.  
  2821.    networkCommDir$ = Lot_LocalGetPathFromIni(gLotusIniPath$,"Lotus Applications", "Net Common Directory",NULLSTROK,INVALIDSTROK)
  2822.    IF localExistingCommonDir$ <> "" THEN
  2823.       IF ValidatePath(localExistingCommonDir$) <> FALSE THEN
  2824.          IF DoesDirExist(localExistingCommonDir$) <> 0 THEN
  2825.             IF DoesDirExist(Lot_TrimEndSlash(localExistingCommonDir$)+"\spell") <> 0 THEN
  2826.                notEmptySpell% = 1
  2827.              
  2828.              
  2829.              
  2830.              
  2831.              
  2832.             ELSE
  2833.                notEmptySpell% = 0
  2834.             END IF
  2835.             IF DoesDirExist(Lot_TrimEndSlash(localExistingCommonDir$)+"\datalens") <> 0 THEN
  2836.                IF Lot_Dir(Lot_TrimEndSlash(localExistingCommonDir$)+"\datalens\*.*") <> "" THEN
  2837.                   notEmptyDatalens% = 1
  2838.                ELSE
  2839.                   notEmptyDatalens% = 0
  2840.                END IF
  2841.             ELSE
  2842.                notEmptyDatalens% = 0
  2843.             END IF
  2844.  
  2845.             IF ExistingCommonDir$ <> networkCommDir$ AND _
  2846.                IsDirWritable(ExistingCommonDir$) <> 0 AND _
  2847.                (Lot_Dir(Lot_TrimEndSlash(localExistingCommonDir$)+"\*.*") <> "" OR _
  2848.                notEmptySpell% = 1 OR _
  2849.                notEmptyDatalens% = 1) THEN
  2850.                localValidCommDir% = 1
  2851.                SetSymbolValue SYM_LOTUSAPPDIR$,LCASE$(localExistingCommonDir$)
  2852.                Lot_RefreshDestination(SYM_LOTUSAPPDIR$)
  2853.                DL_SetNotesDataPath
  2854.                DL_SetOraclePath
  2855.             ELSE
  2856.                localValidCommDir% = 0
  2857.             END IF
  2858.          ELSE
  2859.             localValidCommDir% = 0
  2860.          END IF
  2861.       ELSE
  2862.          localValidCommDir% = 0
  2863.       END IF
  2864.    ELSE
  2865.       localValidCommDir% = 0
  2866.    END IF
  2867.    Lot_IsExistingLotusappDirValid=localValidCommDir% 
  2868. END FUNCTION
  2869.  
  2870. FUNCTION Lot_IsConsolidationNeeded(gLotusIniPath$,NetworkIns$) AS LONG
  2871.  
  2872.  
  2873.  
  2874.  
  2875.  
  2876.  
  2877.  
  2878.  
  2879.  
  2880.    DIM gSharedIniFile$, WinDir$, ExistingCommonDir$, ExistingNetCommonDir$
  2881.    DIM SectionPref$, SectionNumber%, SectionTag$, SectionName$
  2882.    DIM ExistingProgPath$, ExistingDataPath$, ExistingUserPath$, ExistingFilterPath$
  2883.    DIM LotusAppIniPath$
  2884.  
  2885.    
  2886.    gConsolidateSize&=CLNG(0)
  2887.  
  2888.    gSharedIniFile$ = Lot_GetSharedIniPathName()
  2889.  
  2890.    
  2891.  
  2892.    WinDir$=GetWindowsDir()
  2893.    
  2894.  
  2895.    
  2896.    ExistingCommonDir$ = Lot_LocalGetPathFromIni(gLotusIniPath$,"Lotus Applications", "Common Directory",NULLSTROK,INVALIDSTRERR)
  2897.    
  2898.  
  2899.  
  2900.    
  2901.    ExistingNetCommonDir$ = Lot_LocalGetPathFromIni(gLotusIniPath$,"Lotus Applications", "Net Common Directory",NULLSTROK,INVALIDSTROK)
  2902.    
  2903.    
  2904.  
  2905.    
  2906.    
  2907.    ValidCommDir% = Lot_IsExistingLotusappDirValid(ExistingCommonDir$)
  2908.    
  2909.    
  2910.    SectionPref$="section"
  2911.    SectionNumber%=1
  2912.    SectionTag$=SectionPref$+LTRIM$(STR(SectionNumber%))
  2913.    
  2914.    
  2915.    SectionName$ = GetIniKeyString(gSharedIniFile$,"Sections", SectionTag$)
  2916.    
  2917.  
  2918.    
  2919.    DO
  2920.  
  2921.       
  2922.  
  2923.       
  2924.       
  2925.       ExistingProgPath$ = Lot_LocalGetPathFromIni(gLotusIniPath$,SectionName$, "Program Path",NULLSTROK,INVALIDSTROK)
  2926.       
  2927.  
  2928.       IF LEN(ExistingProgPath$) > 0 THEN
  2929.       
  2930.          IF ExistingNetCommonDir$ <>"" AND ExistingCommonDir$ <> "" THEN
  2931.             IF (ExistingProgPath$ <> WinDir$ AND _
  2932.                MID$(ExistingProgPath$,1,LEN(ExistingNetCommonDir$)) <> ExistingNetCommonDir$ AND _
  2933.                MID$(ExistingProgPath$,1,LEN(ExistingCommonDir$)) <> ExistingCommonDir$) OR _
  2934.                ValidCommDir% <> 1 THEN
  2935.                gConsolidateSize&=Lot_GetFileSize(ExistingProgPath$,gSharedIniFile$,SectionName$+" Program",gConsolidateSize&)
  2936.                
  2937.             END IF
  2938.          ELSE
  2939.             IF ExistingCommonDir$ <> "" THEN
  2940.                IF (ExistingProgPath$ <> WinDir$ AND _
  2941.                   MID$(ExistingProgPath$,1,LEN(ExistingCommonDir$)) <> ExistingCommonDir$) OR _
  2942.                   ValidCommDir% <> 1 THEN
  2943.                   gConsolidateSize&=Lot_GetFileSize(ExistingProgPath$,gSharedIniFile$,SectionName$+" Program",gConsolidateSize&)
  2944.                   
  2945.                END IF
  2946.             ELSE
  2947.                IF (ExistingProgPath$ <> WinDir$ AND _
  2948.                   MID$(ExistingProgPath$,1,LEN(ExistingCommonDir$)) <> ExistingCommonDir$) THEN
  2949.                   gConsolidateSize&=Lot_GetFileSize(ExistingProgPath$,gSharedIniFile$,SectionName$+" Program",gConsolidateSize&)
  2950.                   
  2951.                END IF
  2952.             END IF 
  2953.          END IF 
  2954.       END IF
  2955.       
  2956.       
  2957.       ExistingDataPath$ = Lot_LocalGetPathFromIni(gLotusIniPath$,SectionName$, "Data Path",NULLSTROK,INVALIDSTROK)
  2958.       
  2959.       IF LEN(ExistingDataPath$) > 0 THEN
  2960.          
  2961.          IF ExistingNetCommonDir$ <>"" AND ExistingCommonDir$ <> "" THEN
  2962.             IF (ExistingDataPath$ <> WinDir$ AND _
  2963.                MID$(ExistingDataPath$,1,LEN(ExistingNetCommonDir$)) <> ExistingNetCommonDir$ AND _
  2964.                MID$(ExistingDataPath$,1,LEN(ExistingCommonDir$)) <> ExistingCommonDir$) OR _
  2965.                ValidCommDir% <> 1 THEN
  2966.  
  2967.                gConsolidateSize&=Lot_GetFileSize(ExistingDataPath$,gSharedIniFile$,SectionName$+" Data",gConsolidateSize&)
  2968.                
  2969.             END IF
  2970.          ELSE
  2971.             IF ExistingCommonDir$ <> "" THEN
  2972.                IF (ExistingDataPath$ <> WinDir$ AND _
  2973.                   MID$(ExistingDataPath$,1,LEN(ExistingCommonDir$)) <> ExistingCommonDir$) OR _
  2974.                   ValidCommDir% <> 1 THEN
  2975.                   gConsolidateSize&=Lot_GetFileSize(ExistingDataPath$,gSharedIniFile$,SectionName$+" Data",gConsolidateSize&)
  2976.                   
  2977.                END IF
  2978.             ELSE
  2979.                IF (ExistingDataPath$ <> WinDir$ AND _
  2980.                   MID$(ExistingDataPath$,1,LEN(ExistingCommonDir$)) <> ExistingCommonDir$) THEN
  2981.                   gConsolidateSize&=Lot_GetFileSize(ExistingDataPath$,gSharedIniFile$,SectionName$+" Data",gConsolidateSize&)
  2982.                   
  2983.                END IF
  2984.             END IF
  2985.          END IF
  2986.       END IF
  2987.       
  2988.       
  2989.       ExistingUserPath$ = Lot_LocalGetPathFromIni(gLotusIniPath$,SectionName$, "User Path",NULLSTROK,INVALIDSTROK)
  2990.       
  2991.       IF LEN(ExistingUserPath$) > 0 THEN
  2992.          
  2993.          IF ExistingNetCommonDir$ <>"" AND ExistingCommonDir$ <> "" THEN
  2994.             IF (ExistingUserPath$ <> WinDir$ AND _
  2995.                MID$(ExistingUserPath$,1,LEN(ExistingNetCommonDir$)) <> ExistingNetCommonDir$ AND _
  2996.                MID$(ExistingUserPath$,1,LEN(ExistingCommonDir$)) <> ExistingCommonDir$) OR _
  2997.                ValidCommDir% <> 1 THEN
  2998.  
  2999.                gConsolidateSize&=Lot_GetFileSize(ExistingUserPath$,gSharedIniFile$,SectionName$+" User",gConsolidateSize&)
  3000.                
  3001.             END IF
  3002.          ELSE
  3003.             IF ExistingCommonDir$ <> "" THEN
  3004.               IF (ExistingUserPath$ <> WinDir$ AND _
  3005.                  MID$(ExistingUserPath$,1,LEN(ExistingCommonDir$)) <> ExistingCommonDir$) OR _
  3006.                  ValidCommDir% <> 1 THEN
  3007.                  gConsolidateSize&=Lot_GetFileSize(ExistingUserPath$,gSharedIniFile$,SectionName$+" User",gConsolidateSize&)
  3008.                  
  3009.               END IF
  3010.            ELSE
  3011.               IF (ExistingUserPath$ <> WinDir$ AND _
  3012.                  MID$(ExistingUserPath$,1,LEN(ExistingCommonDir$)) <> ExistingCommonDir$) THEN
  3013.                  gConsolidateSize&=Lot_GetFileSize(ExistingUserPath$,gSharedIniFile$,SectionName$+" User",gConsolidateSize&)
  3014.                  
  3015.               END IF
  3016.             END IF
  3017.          END IF
  3018.       END IF
  3019.       
  3020.       
  3021.       ExistingFilterPath$ = Lot_LocalGetPathFromIni(gLotusIniPath$,SectionName$, "Filter Path",NULLSTROK,INVALIDSTROK)
  3022.       
  3023.       IF LEN(ExistingFilterPath$) > 0 THEN
  3024.          
  3025.          IF ExistingNetCommonDir$ <>"" AND ExistingCommonDir$ <> "" THEN
  3026.             IF (ExistingFilterPath$ <> WinDir$ AND _
  3027.                MID$(ExistingFilterPath$,1,LEN(ExistingNetCommonDir$)) <> ExistingNetCommonDir$ AND _
  3028.                MID$(ExistingFilterPath$,1,LEN(ExistingCommonDir$)) <> ExistingCommonDir$) OR _
  3029.                ValidCommDir% <> 1 THEN
  3030.  
  3031.                gConsolidateSize&=Lot_GetFileSize(ExistingFilterPath$,gSharedIniFile$,SectionName$+" Filter",gConsolidateSize&)
  3032.                
  3033.             END IF
  3034.          ELSE
  3035.             IF ExistingCommonDir$ <> "" THEN
  3036.                IF (ExistingFilterPath$ <> WinDir$ AND _
  3037.                   MID$(ExistingFilterPath$,1,LEN(ExistingCommonDir$)) <> ExistingCommonDir$) OR _
  3038.                   ValidCommDir% <> 1 THEN
  3039.                   gConsolidateSize&=Lot_GetFileSize(ExistingFilterPath$,gSharedIniFile$,SectionName$+" Filter",gConsolidateSize&)
  3040.                   
  3041.                END IF
  3042.             ELSE
  3043.                IF (ExistingFilterPath$ <> WinDir$ AND _
  3044.                   MID$(ExistingFilterPath$,1,LEN(ExistingCommonDir$)) <> ExistingCommonDir$) THEN
  3045.                   gConsolidateSize&=Lot_GetFileSize(ExistingFilterPath$,gSharedIniFile$,SectionName$+" Filter",gConsolidateSize&)
  3046.                   
  3047.                END IF
  3048.             END IF
  3049.          END IF
  3050.       END IF
  3051.       
  3052.       SectionNumber% = SectionNumber% + 1
  3053.       SectionTag$=SectionPref$+LTRIM$(STR(SectionNumber%))
  3054.       
  3055.       
  3056.       SectionName$ = GetIniKeyString(gSharedIniFile$,"Sections", SectionTag$)
  3057.       
  3058.    LOOP UNTIL SectionName$ = ""
  3059.  
  3060.    
  3061.    LotusappIniPath$ = MakePath(ExistingCommonDir$,gLOTUSAPPINI$)
  3062.  
  3063.    IF DoesFileExist(LotusappIniPath$, femExists)=1 THEN
  3064.       gConsolidateSize&=Lot_GetSizeOfFilesInLotusappIni(LotusappIniPath$,ExistingCommonDir$,ExistingNetCommonDir$,gConsolidateSize&)
  3065.    END IF
  3066.  
  3067.    Lot_IsConsolidationNeeded=gConsolidateSize&
  3068.    
  3069. END FUNCTION
  3070.  
  3071.  
  3072. FUNCTION Lot_GetSharedIniPathName() AS STRING
  3073.  
  3074.  
  3075.  
  3076.  
  3077. DIM cwd$,gSharedIniFile$
  3078.    
  3079.    cwd$ = GetSymbolValue(SYM_STF_CWDDIR$)
  3080.    gSharedIniFile$ = MakePath(cwd$,gSHAREDINI$)
  3081.    
  3082.    Lot_GetSharedIniPathName=gSharedIniFile$
  3083. END FUNCTION
  3084.  
  3085.  
  3086. FUNCTION Lot_ChkLotusIniSizePath(PathToCheck$,ExistingNetCommonDir$,WinDir$,newLotusappDir$) AS INTEGER
  3087.  
  3088.  
  3089.  
  3090.  
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096. DIM res%
  3097.       res%=0 
  3098.       IF ExistingNetCommonDir$ <>"" THEN
  3099.          IF PathToCheck$ <> "" AND _
  3100.             PathToCheck$ <> WinDir$ AND _
  3101.             MID$(PathToCheck$,1,LEN(ExistingNetCommonDir$)) <> ExistingNetCommonDir$ AND _
  3102.             MID$(PathToCheck$,1,1) <> MID$(newLotusappDir$,1,1) THEN
  3103.             res%=1
  3104.          END IF
  3105.       ELSE
  3106.          IF PathToCheck$ <> "" AND _
  3107.             PathToCheck$ <> WinDir$ AND _
  3108.             MID$(PathToCheck$,1,1) <> MID$(newLotusappDir$,1,1) THEN
  3109.             res%=1
  3110.          END IF
  3111.       END IF 
  3112.       Lot_ChkLotusIniSizePath=res%
  3113. END FUNCTION
  3114.  
  3115.  
  3116. FUNCTION Lot_GetInLotusIniSizeOfFilesToMove(gLotusIniPath$,newLotusappDir$,gMoveSize&) AS LONG
  3117.  
  3118.  
  3119.  
  3120.  
  3121.  
  3122.  
  3123.  
  3124.  
  3125.    DIM gSharedIniFile$, WinDir$, ExistingCommonDir$, ExistingNetCommonDir$
  3126.    DIM SectionPref$, SectionNumber%, SectionTag$, SectionName$
  3127.    DIM ExistingProgPath$, ExistingDataPath$, ExistingUserPath$, ExistingFilterPath$
  3128.    DIM LotusAppIniPath$,chk%
  3129.  
  3130.    
  3131.  
  3132.    gSharedIniFile$ = Lot_GetSharedIniPathName()
  3133.    
  3134.  
  3135.    WinDir$=GetWindowsDir()
  3136.    
  3137.  
  3138.    
  3139.    
  3140.    ExistingCommonDir$ = Lot_LocalGetPathFromIni(gLotusIniPath$,"Lotus Applications", "Common Directory",NULLSTROK,INVALIDSTRERR)
  3141.    
  3142.    ExistingNetCommonDir$ = Lot_LocalGetPathFromIni(gLotusIniPath$,"Lotus Applications", "Net Common Directory",NULLSTROK,INVALIDSTROK)
  3143.    
  3144.  
  3145.    
  3146.    SectionPref$="section"
  3147.    SectionNumber%=1
  3148.    SectionTag$=SectionPref$+LTRIM$(STR(SectionNumber%))
  3149.    
  3150.    
  3151.    SectionName$ = GetIniKeyString(gSharedIniFile$,"Sections", SectionTag$)
  3152.    
  3153.  
  3154.    
  3155.    DO
  3156.  
  3157.       
  3158.  
  3159.       
  3160.       
  3161.       ExistingProgPath$ = Lot_LocalGetPathFromIni(gLotusIniPath$,SectionName$, "Program Path",NULLSTROK,INVALIDSTROK)
  3162.       
  3163.       chk%=Lot_ChkLotusIniSizePath(ExistingProgPath$,ExistingNetCommonDir$,WinDir$,newLotusappDir$)
  3164.       IF chk% = 1 THEN
  3165.          gMoveSize&=Lot_GetFileSize(ExistingProgPath$,gSharedIniFile$,SectionName$+" Program",gMoveSize&)
  3166.          
  3167.       END IF 
  3168.  
  3169.       
  3170.       
  3171.       ExistingDataPath$ = Lot_LocalGetPathFromIni(gLotusIniPath$,SectionName$, "Data Path",NULLSTROK,INVALIDSTROK)
  3172.       
  3173.       chk%=Lot_ChkLotusIniSizePath(ExistingDataPath$,ExistingNetCommonDir$,WinDir$,newLotusappDir$)
  3174.       IF chk% = 1 THEN
  3175.          gMoveSize&=Lot_GetFileSize(ExistingDataPath$,gSharedIniFile$,SectionName$+" Program",gMoveSize&)
  3176.          
  3177.       END IF 
  3178.    
  3179.       
  3180.       
  3181.       ExistingUserPath$ = Lot_LocalGetPathFromIni(gLotusIniPath$,SectionName$, "User Path",NULLSTROK,INVALIDSTROK)
  3182.       
  3183.       chk%=Lot_ChkLotusIniSizePath(ExistingUserPath$,ExistingNetCommonDir$,WinDir$,newLotusappDir$)
  3184.       IF chk% = 1 THEN
  3185.          gMoveSize&=Lot_GetFileSize(ExistingUserPath$,gSharedIniFile$,SectionName$+" Program",gMoveSize&)
  3186.          
  3187.       END IF 
  3188.  
  3189.       
  3190.       
  3191.       ExistingFilterPath$ = Lot_LocalGetPathFromIni(gLotusIniPath$,SectionName$, "Filter Path",NULLSTROK,INVALIDSTROK)
  3192.       
  3193.       chk%=Lot_ChkLotusIniSizePath(ExistingFilterPath$,ExistingNetCommonDir$,WinDir$,newLotusappDir$)
  3194.       IF chk% = 1 THEN
  3195.          gMoveSize&=Lot_GetFileSize(ExistingFilterPath$,gSharedIniFile$,SectionName$+" Program",gMoveSize&)
  3196.          
  3197.       END IF 
  3198.  
  3199.       SectionNumber% = SectionNumber% + 1
  3200.       SectionTag$=SectionPref$+LTRIM$(STR(SectionNumber%))
  3201.       
  3202.       
  3203.       SectionName$ = GetIniKeyString(gSharedIniFile$,"Sections", SectionTag$)
  3204.       
  3205.    LOOP UNTIL SectionName$ = ""
  3206.  
  3207.    Lot_GetInLotusIniSizeOfFilesToMove=gMoveSize&
  3208.    
  3209. END FUNCTION
  3210.  
  3211.  
  3212. FUNCTION Lot_GetSizeOfFilesInLotusappIni(LotusappIniPath$,ExistingCommonDir$,ExistingNetCommonDir$,gConsolidateSize&) AS LONG
  3213.  
  3214.  
  3215.  
  3216.  
  3217.  
  3218.  
  3219.  
  3220.  
  3221.  
  3222.  
  3223.    DIM gSharedIniFile$, WinDir$, SectionPref$
  3224.    DIM SectionNumber%, SectionTag$, SectionName$
  3225.      DIM recordedpath$, existingprogpath$, existingdatapath$, existinguserpath$
  3226.      DIM existingfilterpath$
  3227.  
  3228.    gSharedIniFile$ = Lot_GetSharedIniPathName()
  3229.  
  3230.    
  3231.    WinDir$=GetWindowsDir()
  3232.  
  3233.  
  3234.    
  3235.    SectionPref$="section"
  3236.    SectionNumber%=1
  3237.    SectionTag$=SectionPref$+LTRIM$(STR(SectionNumber%))
  3238.    
  3239.    
  3240.    SectionName$ = GetIniKeyString(gSharedIniFile$,"Sections", SectionTag$)
  3241.    
  3242.  
  3243.    
  3244.    DO
  3245.  
  3246.       
  3247.  
  3248.       
  3249.       
  3250.  
  3251.  
  3252.       RecordedPath$ = GetIniKeyString(LotusappIniPath$,SectionName$, "Program Path")
  3253.  
  3254.       ExistingProgPath$ = Lot_MakeAPathFromLotusappIni(RecordedPath$,ExistingCommonDir$,WinDir$)
  3255.  
  3256.  
  3257.       IF ExistingNetCommonDir$ <>"" THEN
  3258.          IF (ExistingProgPath$ <> "" AND _
  3259.             ExistingProgPath$ <> WinDir$ AND _
  3260.             MID$(ExistingProgPath$,1,LEN(ExistingNetCommonDir$)) <> ExistingNetCommonDir$ AND _
  3261.             MID$(ExistingProgPath$,1,LEN(ExistingCommonDir$)) <> ExistingCommonDir$) OR _
  3262.             ValidCommDir% <> 1 THEN
  3263.             
  3264.             gConsolidateSize&=Lot_GetFileSize(ExistingProgPath$,gSharedIniFile$,SectionName$+" Program",gConsolidateSize&)
  3265.  
  3266.          END IF
  3267.       ELSE
  3268.          IF (ExistingProgPath$ <> "" AND _
  3269.             ExistingProgPath$ <> WinDir$ AND _
  3270.             MID$(ExistingProgPath$,1,LEN(ExistingCommonDir$)) <> ExistingCommonDir$) OR _
  3271.             ValidCommDir% <> 1 THEN
  3272.             
  3273.             gConsolidateSize&=Lot_GetFileSize(ExistingProgPath$,gSharedIniFile$,SectionName$+" Program",gConsolidateSize&)
  3274.  
  3275.          END IF
  3276.       END IF 
  3277.       
  3278.       
  3279.       RecordedPath$ = GetIniKeyString(LotusappIniPath$,SectionName$, "Data Path")
  3280.  
  3281.       ExistingDataPath$ = Lot_MakeAPathFromLotusappIni(RecordedPath$,ExistingCommonDir$,WinDir$)
  3282.  
  3283.  
  3284.       IF ExistingNetCommonDir$ <>"" THEN
  3285.          IF (ExistingDataPath$ <> "" AND _
  3286.             ExistingDataPath$ <> WinDir$ AND _
  3287.             MID$(ExistingDataPath$,1,LEN(ExistingNetCommonDir$)) <> ExistingNetCommonDir$ AND _
  3288.             MID$(ExistingDataPath$,1,LEN(ExistingCommonDir$)) <> ExistingCommonDir$) OR _
  3289.             ValidCommDir% <> 1 THEN
  3290.             gConsolidateSize&=Lot_GetFileSize(ExistingDataPath$,gSharedIniFile$,SectionName$+" Data",gConsolidateSize&)
  3291.          END IF
  3292.       ELSE
  3293.          IF (ExistingDataPath$ <> "" AND _
  3294.             ExistingDataPath$ <> WinDir$ AND _
  3295.             MID$(ExistingDataPath$,1,LEN(ExistingCommonDir$)) <> ExistingCommonDir$) OR _
  3296.             ValidCommDir% <> 1 THEN
  3297.             gConsolidateSize&=Lot_GetFileSize(ExistingDataPath$,gSharedIniFile$,SectionName$+" Data",gConsolidateSize&)
  3298.          END IF
  3299.       END IF
  3300.    
  3301.       
  3302.       
  3303.       RecordedPath$ = GetIniKeyString(LotusappIniPath$,SectionName$, "User Path")
  3304.       ExistingUserPath$ = Lot_MakeAPathFromLotusappIni(RecordedPath$,ExistingCommonDir$,WinDir$)
  3305.  
  3306.       IF ExistingNetCommonDir$ <>"" THEN
  3307.          IF (ExistingUserPath$ <> "" AND _
  3308.             ExistingUserPath$ <> WinDir$ AND _
  3309.             MID$(ExistingUserPath$,1,LEN(ExistingNetCommonDir$)) <> ExistingNetCommonDir$ AND _
  3310.             MID$(ExistingUserPath$,1,LEN(ExistingCommonDir$)) <> ExistingCommonDir$) OR _
  3311.             ValidCommDir% <> 1 THEN
  3312.             gConsolidateSize&=Lot_GetFileSize(ExistingUserPath$,gSharedIniFile$,SectionName$+" User",gConsolidateSize&)
  3313.          END IF
  3314.       ELSE
  3315.          IF (ExistingUserPath$ <> "" AND _
  3316.             ExistingUserPath$ <> WinDir$ AND _
  3317.             MID$(ExistingUserPath$,1,LEN(ExistingCommonDir$)) <> ExistingCommonDir$) OR _
  3318.             ValidCommDir% <> 1 THEN
  3319.             gConsolidateSize&=Lot_GetFileSize(ExistingUserPath$,gSharedIniFile$,SectionName$+" User",gConsolidateSize&)
  3320.          END IF
  3321.       END IF
  3322.  
  3323.       
  3324.       
  3325.       RecordedPath$ = GetIniKeyString(LotusappIniPath$,SectionName$, "Filter Path")
  3326.       ExistingFilterPath$ = Lot_MakeAPathFromLotusappIni(RecordedPath$,ExistingCommonDir$,WinDir$)
  3327.  
  3328.       IF ExistingNetCommonDir$ <>"" THEN
  3329.          IF (ExistingFilterPath$ <> "" AND _
  3330.             ExistingFilterPath$ <> WinDir$ AND _
  3331.             MID$(ExistingFilterPath$,1,LEN(ExistingNetCommonDir$)) <> ExistingNetCommonDir$ AND _
  3332.             MID$(ExistingFilterPath$,1,LEN(ExistingCommonDir$)) <> ExistingCommonDir$) OR _
  3333.             ValidCommDir% <> 1 THEN
  3334.             gConsolidateSize&=Lot_GetFileSize(ExistingFilterPath$,gSharedIniFile$,SectionName$+" Filter",gConsolidateSize&)
  3335.          END IF
  3336.       ELSE
  3337.          IF (ExistingFilterPath$ <> "" AND _
  3338.             ExistingFilterPath$ <> WinDir$ AND _
  3339.             MID$(ExistingFilterPath$,1,LEN(ExistingCommonDir$)) <> ExistingCommonDir$) OR _
  3340.             ValidCommDir% <> 1 THEN
  3341.             gConsolidateSize&=Lot_GetFileSize(ExistingFilterPath$,gSharedIniFile$,SectionName$+" Filter",gConsolidateSize&)
  3342.          END IF
  3343.       END IF
  3344.       
  3345.       SectionNumber% = SectionNumber% + 1
  3346.       SectionTag$=SectionPref$+LTRIM$(STR(SectionNumber%))
  3347.       
  3348.       
  3349.       SectionName$ = GetIniKeyString(gSharedIniFile$,"Sections", SectionTag$)
  3350.       
  3351.    LOOP UNTIL SectionName$ = ""
  3352.  
  3353.    Lot_GetSizeOfFilesInLotusappIni=gConsolidateSize&
  3354.    
  3355. END FUNCTION
  3356.  
  3357.  
  3358. PUBLIC FUNCTION Lot_GetTheShareToolsSizeToMove (newLotusapp$) AS LONG
  3359.  
  3360.  
  3361.  
  3362.  
  3363.  
  3364.  
  3365.  
  3366.  
  3367.    DIM NetworkIns$, ret%,ret1%, SaveCursor%, ExistingCommonDir$, LotusAppIniPath$
  3368.    DIM result%, secResult%, FLWpath$, ImprovPath$, RC$, notused%,ExistingNetCommonDir$
  3369.  
  3370.    
  3371.    gMoveSize&=CLNG(0)
  3372.    
  3373.    
  3374.    IF Lot_AreShareToolsSupported()=1 THEN
  3375.       NetworkIns$ = GetSymbolValue(SYM_NETWORK$)
  3376.  
  3377.       IF NetworkIns$ <> gSERVER$ THEN
  3378.          
  3379.          ret% = DoesFileExist(gLotusIniPath$, femExists)
  3380.  
  3381.          IF ret% <> 0 THEN
  3382.             
  3383.             SaveCursor%=ShowWaitCursor()
  3384.             gMoveSize&=Lot_GetInLotusIniSizeOfFilesToMove(gLotusIniPath$,newLotusapp$,gMoveSize&)
  3385.             RestoreCursor SaveCursor%
  3386.  
  3387.             ExistingCommonDir$ = Lot_LocalGetPathFromIni(gLotusIniPath$,"Lotus Applications", "Common Directory",NULLSTROK,INVALIDSTRERR)
  3388.             LotusappIniPath$=MakePath(ExistingCommonDir$,gLOTUSAPPINI$)
  3389.             
  3390.  
  3391.             
  3392.             ret1% = DoesFileExist(gLotusappIniPath$, femExists)
  3393.             IF ret1% <> 0 THEN
  3394.                
  3395.                SaveCursor%=ShowWaitCursor()
  3396.                ExistingNetCommonDir$ = Lot_LocalGetPathFromIni(gLotusIniPath$,"Lotus Applications", "Net Common Directory",NULLSTROK,INVALIDSTROK)
  3397.                
  3398.  
  3399.                gMoveSize&=Lot_GetInLotusappIniSizeOfFilesToMove(gLotusIniPath$,ExistingCommonDir$,ExistingNetCommonDir$,newLotusapp$,gMoveSize&)
  3400.                RestoreCursor SaveCursor%
  3401.             END IF 
  3402.          END IF 
  3403.       END IF  
  3404.    End IF  
  3405. Lot_GetTheShareToolsSizeToMove=gMoveSize&
  3406. END FUNCTION
  3407.  
  3408. FUNCTION Lot_MakeAPathFromLotusappIni(RecordedPath$,ExistingCommonDir$,WinDir$) AS STRING
  3409.  
  3410.  
  3411.  
  3412.  
  3413.  
  3414.  
  3415.  
  3416. DIM ResultPath$
  3417.       IF RecordedPath$ = "" THEN
  3418.         ResultPath$ =""
  3419.       ELSEIF RecordedPath$ = ".\" THEN
  3420.         ResultPath$ = ExistingCommonDir$
  3421.       ELSEIF LCASE$(RecordedPath$)+"\" = WinDir$ THEN
  3422.         ResultPath$ = WinDir$
  3423.       ELSE 
  3424.         ResultPath$ = ExistingCommonDir$+LCASE$(MID$(RecordedPath$,3))
  3425.       END IF
  3426. Lot_MakeAPathFromLotusappIni=ResultPath$
  3427. END FUNCTION
  3428.  
  3429.  
  3430. FUNCTION Lot_GetInLotusappIniSizeOfFilesToMove(LotusappIniPath$,ExistingCommDir$,ExistingNetCommonDir$,newLotusappDir$,gMoveSize&) AS LONG
  3431.  
  3432.  
  3433.  
  3434.  
  3435.  
  3436.  
  3437.  
  3438.  
  3439.  
  3440.  
  3441.    DIM gSharedIniFile$, WinDir$, SectionPref$
  3442.    DIM SectionNumber%, SectionTag$, SectionName$
  3443.    DIM recordedpath$, existingprogpath$, existingdatapath$, existinguserpath$
  3444.    DIM existingfilterpath$,chk%
  3445.  
  3446.    gSharedIniFile$ = Lot_GetSharedIniPathName()
  3447.    
  3448.    WinDir$=GetWindowsDir()
  3449.  
  3450.    
  3451.    SectionPref$="section"
  3452.    SectionNumber%=1
  3453.    SectionTag$=SectionPref$+LTRIM$(STR(SectionNumber%))
  3454.    SectionName$ = GetIniKeyString(gSharedIniFile$,"Sections", SectionTag$)
  3455.  
  3456.    
  3457.    DO
  3458.  
  3459.       
  3460.  
  3461.       
  3462.       
  3463.  
  3464.       RecordedPath$ = GetIniKeyString(LotusappIniPath$,SectionName$, "Program Path")
  3465.  
  3466.       ExistingProgPath$ = Lot_MakeAPathFromLotusappIni(RecordedPath$,ExistingCommDir$,WinDir$)
  3467.  
  3468.  
  3469.       chk%=Lot_ChkLotusIniSizePath(ExistingProgPath$,ExistingNetCommonDir$,WinDir$,newLotusappDir$)
  3470.       IF chk% = 1 THEN
  3471.          gMoveSize&=Lot_GetFileSize(ExistingProgPath$,gSharedIniFile$,SectionName$+" Program",gMoveSize&)
  3472.          
  3473.       END IF 
  3474.  
  3475.       
  3476.       
  3477.       RecordedPath$ = GetIniKeyString(LotusappIniPath$,SectionName$, "Data Path")
  3478.  
  3479.       ExistingDataPath$ = Lot_MakeAPathFromLotusappIni(RecordedPath$,ExistingCommDir$,WinDir$)
  3480.  
  3481.  
  3482.       chk%=Lot_ChkLotusIniSizePath(ExistingDataPath$,ExistingNetCommonDir$,WinDir$,newLotusappDir$)
  3483.       IF chk% = 1 THEN
  3484.          gMoveSize&=Lot_GetFileSize(ExistingDataPath$,gSharedIniFile$,SectionName$+" Program",gMoveSize&)
  3485.          
  3486.       END IF 
  3487.  
  3488.      
  3489.       
  3490.       RecordedPath$ = GetIniKeyString(LotusappIniPath$,SectionName$, "User Path")
  3491.       ExistingUserPath$ = Lot_MakeAPathFromLotusappIni(RecordedPath$,ExistingCommDir$,WinDir$)
  3492.       
  3493.       chk%=Lot_ChkLotusIniSizePath(ExistingUserPath$,ExistingNetCommonDir$,WinDir$,newLotusappDir$)
  3494.       IF chk% = 1 THEN
  3495.          gMoveSize&=Lot_GetFileSize(ExistingUserPath$,gSharedIniFile$,SectionName$+" Program",gMoveSize&)
  3496.          
  3497.       END IF 
  3498.  
  3499.       
  3500.       
  3501.       RecordedPath$ = GetIniKeyString(LotusappIniPath$,SectionName$, "Filter Path")
  3502.       ExistingFilterPath$ =Lot_MakeAPathFromLotusappIni(RecordedPath$,ExistingCommDir$,WinDir$)
  3503.       chk%=Lot_ChkLotusIniSizePath(ExistingFilterPath$,ExistingNetCommonDir$,WinDir$,newLotusappDir$)
  3504.       IF chk% = 1 THEN
  3505.          gMoveSize&=Lot_GetFileSize(ExistingFilterPath$,gSharedIniFile$,SectionName$+" Program",gMoveSize&)
  3506.          
  3507.       END IF 
  3508.  
  3509.      SectionNumber% = SectionNumber% + 1
  3510.       SectionTag$=SectionPref$+LTRIM$(STR(SectionNumber%))
  3511.       
  3512.       
  3513.       SectionName$ = GetIniKeyString(gSharedIniFile$,"Sections", SectionTag$)
  3514.       
  3515.    LOOP UNTIL SectionName$ = ""
  3516.  
  3517.    Lot_GetInLotusappIniSizeOfFilesToMove=gMoveSize&
  3518.    
  3519. END FUNCTION
  3520.  
  3521.  
  3522. FUNCTION Lot_AddSectionToNodeList(DestPath$,EntryName$) AS INTEGER
  3523.  
  3524.  
  3525.  
  3526.  
  3527.  
  3528.  
  3529.  
  3530.  
  3531.  
  3532.  
  3533.  
  3534.    DIM entryflag$, currchpt$, sharedid$, chapterspec$, source$, dest$
  3535.    DIM FeatureName$,WinDir$,WinSysDir$
  3536.  
  3537.    
  3538.    
  3539.  
  3540.   
  3541.    WinDir$=GetWindowsDir()
  3542.    WinSysDir$ = GetSymbolValue(SYM_WINSYSDIR$)
  3543.  
  3544.    EntryFlag$=Lot_GetEntryFlag(EntryName$)
  3545.  
  3546.    
  3547.    IF EntryFlag$ <> "DATALENSDATA" THEN
  3548.  
  3549.      CurrChpt$ = Lot_GetFirst("", F_SHARE) 
  3550.      WHILE (CurrChpt$ <> "")
  3551.          SharedID$ = Lot_GetChapterValStr(CurrChpt$, F_SHARE)   
  3552.          FeatureName$ = Lot_GetChapterValStr(CurrChpt$, F_KEYWORD)
  3553.          IF SharedID$ = EntryFlag$ THEN
  3554.             IF Lot_IsTheFeatureInstalled(FeatureName$) = 1 AND _
  3555.                Lot_GetChapterValStr(CurrChpt$, F_DESTDIR) <> WinDir$ AND _
  3556.                Lot_GetChapterValStr(CurrChpt$, F_DESTDIR) <> WinSysDir$  THEN
  3557.                ChapterSpec$ = Lot_GetChapterValStr(CurrChpt$, F_NOTHING)
  3558.                
  3559.                Source$ = Lot_GetNetLotusappSource(CurrChpt$)
  3560.                Dest$ = Lot_GetLocalLotusappDest(EntryFlag$,DestPath$)
  3561.  
  3562.  
  3563.  
  3564.                AddSectionFilesToCopyList ChapterSpec$,Source$,Dest$
  3565.                
  3566.                AddListItem "REFRESHEDENTRIES", EntryFlag$
  3567.             END IF
  3568.          END IF
  3569.         CurrChpt$ = Lot_GetNext() 
  3570.      WEND
  3571.    END IF
  3572. Lot_AddSectionToNodeList = SUCCESS
  3573. END FUNCTION
  3574.  
  3575.  
  3576. FUNCTION Lot_GetLocalLotusappDest(EntryFlag$,DestPath$) AS STRING
  3577.  
  3578.  
  3579.  
  3580.  
  3581.  
  3582.  
  3583.  
  3584.     DIM subdestpath$,lendest%,lensub%,existingfilterpath$ 
  3585.  
  3586.  
  3587.  
  3588.             SELECT CASE EntryFlag$
  3589.  
  3590.                    
  3591.                    
  3592.                    case "SPELLCHECKERDATA"
  3593.                         SubDestPath$="spell\"
  3594.                         lenDest% = LEN(DestPath$)
  3595.                         lenSub%=LEN(SubDestPath$)
  3596.                         IF lenDest% > lenSub% AND _
  3597.                            MID$(DestPath$,lenDest%-lenSub%+1,lenDest%) = SubDestPath$ THEN
  3598.                            Lot_GetLocalLotusappDest = MID$(DestPath$, 1, lenDest%-lenSub%)
  3599.                         ELSE
  3600.                            Lot_GetLocalLotusappDest = DestPath$
  3601.                         END IF
  3602.   
  3603.                     case "SPELLCHECKERPROGRAM"
  3604.                         SubDestPath$="spell\"
  3605.                         lenDest% = LEN(DestPath$)
  3606.                         lenSub%=LEN(SubDestPath$)
  3607.                         IF lenDest% > lenSub% AND _
  3608.                            LCASE$(MID$(DestPath$,lenDest%-lenSub%+1,lenDest%)) = SubDestPath$ THEN
  3609.                            Lot_GetLocalLotusappDest = MID$(DestPath$, 1, lenDest%-lenSub%)
  3610.                         ELSE
  3611.                            Lot_GetLocalLotusappDest = DestPath$
  3612.                         END IF
  3613.   
  3614.                     case "SPELLCHECKERUSER"
  3615.                         
  3616.                         Lot_GetLocalLotusappDest = DestPath$
  3617.                     case "CONTAINERFILEPROGRAM"
  3618.                         Lot_GetLocalLotusappDest = DestPath$
  3619.  
  3620.                     case "INFOBOXPROGRAM"
  3621.                         Lot_GetLocalLotusappDest = DestPath$
  3622.  
  3623.                     case "TOOLSDATA"
  3624.                         Lot_GetLocalLotusappDest = DestPath$
  3625.  
  3626.                     case "ICONPALETTEPROGRAM"
  3627.                         Lot_GetLocalLotusappDest = DestPath$
  3628.  
  3629.                     case "STATUSBARPROGRAM"
  3630.                         Lot_GetLocalLotusappDest = DestPath$
  3631.  
  3632.                     case "TOOLSPROGRAM"
  3633.                         SubDestPath$="tools\"
  3634.                         lenDest% = LEN(DestPath$)
  3635.                         lenSub%=LEN(SubDestPath$)
  3636.                         IF lenDest% > lenSub% AND _
  3637.                            MID$(DestPath$,lenDest%-lenSub%+1,lenDest%) = SubDestPath$ THEN
  3638.                            Lot_GetLocalLotusappDest = MID$(DestPath$, 1, lenDest%-lenSub%)
  3639.                         ELSE
  3640.                            Lot_GetLocalLotusappDest = DestPath$
  3641.                         END IF
  3642.  
  3643.                     case "DATALENSPROGRAM"
  3644.                         SubDestPath$="datalens\"
  3645.                         lenDest% = LEN(DestPath$)
  3646.                         lenSub%=LEN(SubDestPath$)
  3647.                         IF lenDest% > lenSub% AND _
  3648.                            MID$(DestPath$,lenDest%-lenSub%+1,lenDest%) = SubDestPath$ THEN
  3649.                            Lot_GetLocalLotusappDest = MID$(DestPath$, 1, lenDest%-lenSub%)
  3650.                         ELSE
  3651.                            Lot_GetLocalLotusappDest = DestPath$
  3652.                         END IF
  3653.  
  3654.                     case "DATALENSDATA"
  3655.                         SubDestPath$="datalens\"
  3656.                         lenDest% = LEN(DestPath$)
  3657.                         lenSub%=LEN(SubDestPath$)
  3658.                         IF lenDest% > lenSub% AND _
  3659.                            MID$(DestPath$,lenDest%-lenSub%+1,lenDest%) = SubDestPath$ THEN
  3660.                            Lot_GetLocalLotusappDest = MID$(DestPath$, 1, lenDest%-lenSub%)
  3661.                         ELSE
  3662.                            Lot_GetLocalLotusappDest = DestPath$
  3663.                         END IF
  3664.  
  3665.  
  3666.                     case "DIALOGEDITORPROGRAM"
  3667.                         SubDestPath$="dialoged\"
  3668.                         lenDest% = LEN(DestPath$)
  3669.                         lenSub%=LEN(SubDestPath$)
  3670.                         IF lenDest% > lenSub% AND _
  3671.                            MID$(DestPath$,lenDest%-lenSub%+1,lenDest%) = SubDestPath$ THEN
  3672.                            Lot_GetLocalLotusappDest = MID$(DestPath$, 1, lenDest%-lenSub%)
  3673.                         ELSE
  3674.                            Lot_GetLocalLotusappDest = DestPath$
  3675.                         END IF
  3676.  
  3677.  
  3678.                     case "USERNAMESERVICESPROGRAM"
  3679.                         SubDestPath$="uns\"
  3680.                         lenDest% = LEN(DestPath$)
  3681.                         lenSub%=LEN(SubDestPath$)
  3682.                         IF lenDest% > lenSub% AND _
  3683.                            MID$(DestPath$,lenDest%-lenSub%+1,lenDest%) = SubDestPath$ THEN
  3684.                            Lot_GetLocalLotusappDest = MID$(DestPath$, 1, lenDest%-lenSub%)
  3685.                         ELSE
  3686.                            Lot_GetLocalLotusappDest = DestPath$
  3687.                         END IF
  3688.  
  3689.                     case "MULTIMEDIAPROGRAM"
  3690.  
  3691.                         SubDestPath$="multimed\"
  3692.                         lenDest% = LEN(DestPath$)
  3693.                         lenSub%=LEN(SubDestPath$)
  3694.                         IF lenDest% > lenSub% AND _
  3695.                            MID$(DestPath$,lenDest%-lenSub%+1,lenDest%) = SubDestPath$ THEN
  3696.                            Lot_GetLocalLotusappDest = MID$(DestPath$, 1, lenDest%-lenSub%)
  3697.                         ELSE
  3698.                            Lot_GetLocalLotusappDest = DestPath$
  3699.                         END IF
  3700.  
  3701.                     case "MULTIMEDIADATA"
  3702.                         SubDestPath$="multimed\"
  3703.                         lenDest% = LEN(DestPath$)
  3704.                         lenSub%=LEN(SubDestPath$)
  3705.                         IF lenDest% > lenSub% AND _
  3706.                            MID$(DestPath$,lenDest%-lenSub%+1,lenDest%) = SubDestPath$ THEN
  3707.                            Lot_GetLocalLotusappDest = MID$(DestPath$, 1, lenDest%-lenSub%)
  3708.                         ELSE
  3709.                            Lot_GetLocalLotusappDest = DestPath$
  3710.                         END IF
  3711.  
  3712.                     case "GRAPHICSFILEFILTERSPROGRAM"
  3713.                         SubDestPath$="filters\"
  3714.                         lenDest% = LEN(DestPath$)
  3715.                         lenSub%=LEN(SubDestPath$)
  3716.                         IF lenDest% > lenSub% AND _
  3717.                            MID$(DestPath$,lenDest%-lenSub%+1,lenDest%) = SubDestPath$ THEN
  3718.                            Lot_GetLocalLotusappDest = MID$(DestPath$, 1, lenDest%-lenSub%)
  3719.                         ELSE
  3720.                            Lot_GetLocalLotusappDest = DestPath$
  3721.                         END IF
  3722.  
  3723.                     case "GRAPHICSFILEFILTERSFILTER"
  3724.                         
  3725.                         
  3726.                         ExistingFilterPath$ = Lot_LocalGetPathFromIni(gLotusIniPath$,"Graphics File Filters", "Filter Path",NULLSTROK,INVALIDSTROK)
  3727.  
  3728.                         IF ExistingFilterPath$="" THEN
  3729.                            
  3730.                            SubDestPath$="filters\"
  3731.                         ELSE
  3732.                            SubDestPath$="gphflt\"
  3733.                         END IF
  3734.                         lenDest% = LEN(DestPath$)
  3735.                         lenSub%=LEN(SubDestPath$)
  3736.                         IF lenDest% > lenSub% AND _
  3737.                            MID$(DestPath$,lenDest%-lenSub%+1,lenDest%) = SubDestPath$ THEN
  3738.                            Lot_GetLocalLotusappDest = MID$(DestPath$, 1, lenDest%-lenSub%)
  3739.                         ELSE
  3740.                            Lot_GetLocalLotusappDest = DestPath$
  3741.                         END IF
  3742.  
  3743.  
  3744.                     case "DOCUMENTFILEFILTERSPROGRAM"
  3745.                         SubDestPath$="excelflt\"
  3746.                         lenDest% = LEN(DestPath$)
  3747.                         lenSub%=LEN(SubDestPath$)
  3748.                         IF lenDest% > lenSub% AND _
  3749.                            MID$(DestPath$,lenDest%-lenSub%+1,lenDest%) = SubDestPath$ THEN
  3750.                            Lot_GetLocalLotusappDest = MID$(DestPath$, 1, lenDest%-lenSub%)
  3751.                         ELSE
  3752.                            Lot_GetLocalLotusappDest = DestPath$
  3753.                         END IF
  3754.  
  3755.                    case "DOCUMENTFILEFILTERSFILTER"
  3756.                         SubDestPath$="docflt\"
  3757.                         lenDest% = LEN(DestPath$)
  3758.                         lenSub%=LEN(SubDestPath$)
  3759.                         IF lenDest% > lenSub% AND _
  3760.                            MID$(DestPath$,lenDest%-lenSub%+1,lenDest%) = SubDestPath$ THEN
  3761.                            Lot_GetLocalLotusappDest = MID$(DestPath$, 1, lenDest%-lenSub%)
  3762.                         ELSE
  3763.                            Lot_GetLocalLotusappDest = DestPath$
  3764.                         END IF
  3765.  
  3766.                     case "HELPPROGRAM"
  3767.                         SubDestPath$="help\"
  3768.                         lenDest% = LEN(DestPath$)
  3769.                         lenSub%=LEN(SubDestPath$)
  3770.                         IF lenDest% > lenSub% AND _
  3771.                            MID$(DestPath$,lenDest%-lenSub%+1,lenDest%) = SubDestPath$ THEN
  3772.                            Lot_GetLocalLotusappDest = MID$(DestPath$, 1, lenDest%-lenSub%)
  3773.                         ELSE
  3774.                            Lot_GetLocalLotusappDest = DestPath$
  3775.                         END IF
  3776.  
  3777.                      case "HELPDATA"
  3778.                         SubDestPath$="help\"
  3779.                         lenDest% = LEN(DestPath$)
  3780.                         lenSub%=LEN(SubDestPath$)
  3781.                         IF lenDest% > lenSub% AND _
  3782.                            MID$(DestPath$,lenDest%-lenSub%+1,lenDest%) = SubDestPath$ THEN
  3783.                            Lot_GetLocalLotusappDest = MID$(DestPath$, 1, lenDest%-lenSub%)
  3784.                         ELSE
  3785.                            Lot_GetLocalLotusappDest = DestPath$
  3786.                         END IF
  3787.  
  3788.                     case "LOTUSSCRIPTPROGRAM"
  3789.                         SubDestPath$="script\"
  3790.                         lenDest% = LEN(DestPath$)
  3791.                         lenSub%=LEN(SubDestPath$)
  3792.                         IF lenDest% > lenSub% AND _
  3793.                            MID$(DestPath$,lenDest%-lenSub%+1,lenDest%) = SubDestPath$ THEN
  3794.                            Lot_GetLocalLotusappDest = MID$(DestPath$, 1, lenDest%-lenSub%)
  3795.                         ELSE
  3796.                            Lot_GetLocalLotusappDest = DestPath$
  3797.                         END IF
  3798.  
  3799.                     case "LOTUSDIALOGSPROGRAM"
  3800.                         Lot_GetLocalLotusappDest = DestPath$
  3801.  
  3802.                     case "MAILENABLINGPROGRAM"
  3803.                         Lot_GetLocalLotusappDest = DestPath$
  3804.  
  3805.                      case ""
  3806.  
  3807.                     
  3808.  
  3809.              END SELECT
  3810. END FUNCTION
  3811.  
  3812.  
  3813. FUNCTION Lot_MoveFiles(SourcePath$,gSharedIniFile$,EntryName$,DestPath$) AS INTEGER
  3814.  
  3815.  
  3816.  
  3817.  
  3818.  
  3819.  
  3820.  
  3821.  
  3822.  
  3823.  
  3824.      DIM entryflag$,filepref$,filenumber%,filetag$,filename$,funcret%
  3825.    DIM sourcepathlen%,filepath$,fileexist%,filesize&,subdestpath$,ret%
  3826.    DIM existingfilterpath$, tmpPath$
  3827.  
  3828.    
  3829.    
  3830.    
  3831.    
  3832.    
  3833.    
  3834.    
  3835.  
  3836.    
  3837.    EntryFlag$=Lot_GetEntryFlag(EntryName$)
  3838.  
  3839.    
  3840.    FilePref$ = "file"
  3841.    FileNumber% = 1
  3842.    FileTag$ = FilePref$+LTRIM$(STR(FileNumber%))
  3843.    
  3844.  
  3845.    FileName$ = GetIniKeyString(gSharedIniFile$, EntryName$, FileTag$)
  3846.    
  3847.  
  3848.    FuncRet%=0
  3849.  
  3850.    DO
  3851.       SourcePathLen% = LEN(SourcePath$)
  3852.       IF SourcePathLen% > 14 THEN
  3853.          IF UCASE$(RIGHT$(SourcePath$,13)) = "EXCELFLT.FLT\" THEN
  3854.             SourcePath$ = LEFT$(SourcePath$,SourcePathLen%-13)
  3855.          END IF
  3856.       END IF
  3857.       IF SourcePathLen% > 12 THEN
  3858.          IF UCASE$(RIGHT$(SourcePath$,11)) = "ISGDI9.DLL\" THEN
  3859.             SourcePath$ = LEFT$(SourcePath$,SourcePathLen%-11)
  3860.          END IF
  3861.       END IF
  3862.       IF FileName$ <> ""  THEN
  3863.          FilePath$ = MakePath(SourcePath$, FileName$)
  3864.       END IF
  3865.  
  3866.       
  3867.  
  3868.       IF FileName$<>"" AND FilePath$<>"" THEN
  3869.          FileExist% =  DoesFileExist(FilePath$, femExists)
  3870.          
  3871.  
  3872.          IF FileExist% = 1 THEN
  3873.  
  3874.             
  3875.             FileSize& = GetSizeOfFile(FilePath$)
  3876.             
  3877.  
  3878.             
  3879.             
  3880.  
  3881.             
  3882.             SELECT CASE EntryFlag$
  3883.                    case "SPELLCHECKERPROGRAM"
  3884.                         SubDestPath$=DestPath$+"spell\"
  3885.                         
  3886.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  3887.                         IF ret% = 1 THEN
  3888.                            FuncRet% = 1
  3889.                            
  3890.                         END IF
  3891.  
  3892.                    case "SPELLCHECKERDATA"
  3893.                         SubDestPath$=DestPath$+"spell\"
  3894.                         
  3895.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  3896.                         IF ret% = 1 THEN
  3897.                            FuncRet% = 1
  3898.                            
  3899.                         END IF
  3900.   
  3901.                     case "SPELLCHECKERUSER"
  3902.                         SubDestPath$=DestPath$+"spell\"
  3903.                         
  3904.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  3905.                         IF ret% = 1 THEN
  3906.                            FuncRet% = 1
  3907.                            
  3908.                         END IF
  3909.  
  3910.                     case "TOOLSPROGRAM"
  3911.                         SubDestPath$=DestPath$+"tools\"
  3912.                         
  3913.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  3914.                         IF ret% = 1 THEN
  3915.                            FuncRet% = 1
  3916.                            
  3917.                         END IF
  3918.  
  3919.  
  3920.                     case "TOOLSDATA"
  3921.  
  3922.  
  3923.                     case "CONTAINERFILEPROGRAM"
  3924.                         SubDestPath$=DestPath$
  3925.                         
  3926.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  3927.                         IF ret% = 1 THEN
  3928.                            FuncRet% = 1
  3929.                            
  3930.                         END IF
  3931.  
  3932.  
  3933.                     case "INFOBOXPROGRAM"
  3934.                         SubDestPath$=DestPath$
  3935.                         
  3936.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  3937.                         IF ret% = 1 THEN
  3938.                            FuncRet% = 1
  3939.                            
  3940.                         END IF
  3941.  
  3942.  
  3943.                     case "ICONPALETTEPROGRAM"
  3944.                         SubDestPath$=DestPath$
  3945.                         
  3946.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  3947.                         IF ret% = 1 THEN
  3948.                            FuncRet% = 1
  3949.                            
  3950.                         END IF
  3951.  
  3952.  
  3953.                     case "STATUSBARPROGRAM"
  3954.                         SubDestPath$=DestPath$
  3955.                         
  3956.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  3957.                         IF ret% = 1 THEN
  3958.                            FuncRet% = 1
  3959.                            
  3960.                         END IF
  3961.  
  3962.  
  3963.                     case "DATALENSPROGRAM"
  3964.                         SubDestPath$=DestPath$+"datalens\"
  3965.                         
  3966.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  3967.                         IF ret% = 1 THEN
  3968.                            FuncRet% = 1
  3969.                            
  3970.                         END IF
  3971.  
  3972.  
  3973.  
  3974.                     case "DATALENSDATA"
  3975.                         SubDestPath$=DestPath$+"datalens\"
  3976.                         
  3977.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  3978.                         IF ret% = 1 THEN
  3979.                            FuncRet% = 1
  3980.                            
  3981.                         END IF
  3982.  
  3983.  
  3984.                     case "DIALOGEDITORPROGRAM"
  3985.                         SubDestPath$=DestPath$+"dialoged\"
  3986.                         
  3987.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  3988.                         IF ret% = 1 THEN
  3989.                            FuncRet% = 1
  3990.                            
  3991.                         END IF
  3992.  
  3993.  
  3994.  
  3995.                     case "USERNAMESERVICESPROGRAM"
  3996.                         SubDestPath$=DestPath$+"uns\"
  3997.                         
  3998.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  3999.                         IF ret% = 1 THEN
  4000.                            FuncRet% = 1
  4001.                            
  4002.                         END IF
  4003.  
  4004.  
  4005.                     case "MULTIMEDIAPROGRAM"
  4006.                         SubDestPath$=DestPath$+"multimed\"
  4007.                         
  4008.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  4009.                         IF ret% = 1 THEN
  4010.                            FuncRet% = 1
  4011.                            
  4012.                         END IF
  4013.  
  4014.  
  4015.                     case "MULTIMEDIADATA"
  4016.                         SubDestPath$=DestPath$+"multimed\"
  4017.                         
  4018.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  4019.                         IF ret% = 1 THEN
  4020.                            FuncRet% = 1
  4021.                            
  4022.                         END IF
  4023.   
  4024.  
  4025.                     case "GRAPHICSFILEFILTERSPROGRAM"
  4026.                         SubDestPath$=DestPath$+"filters\"
  4027.                         
  4028.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  4029.                         IF ret% = 1 THEN
  4030.                            FuncRet% = 1
  4031.                            
  4032.                         END IF
  4033.   
  4034.  
  4035.                     case "GRAPHICSFILEFILTERSFILTER"
  4036.                         
  4037.                         
  4038.                         ExistingFilterPath$ = Lot_LocalGetPathFromIni(gLotusIniPath$,"Graphics File Filters", "Filter Path",NULLSTROK,INVALIDSTROK)
  4039.  
  4040.                         IF ExistingFilterPath$="" THEN
  4041.                            SubDestPath$=DestPath$+"filters\"
  4042.                         ELSE
  4043.                            SubDestPath$=DestPath$+"gphflt\"
  4044.                         END IF
  4045.                         
  4046.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  4047.                         IF ret% = 1 THEN
  4048.                            FuncRet% = 1
  4049.                            
  4050.                         END IF
  4051.  
  4052.                     case "DOCUMENTFILEFILTERSPROGRAM"
  4053.                         SubDestPath$=DestPath$+"excelflt\"
  4054.                         
  4055.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  4056.                         IF ret% = 1 THEN
  4057.                            FuncRet% = 1
  4058.                            
  4059.                         END IF
  4060.                     case "HELPPROGRAM"
  4061.                         SubDestPath$=DestPath$+"help\"
  4062.                         
  4063.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  4064.                         IF ret% = 1 THEN
  4065.                            FuncRet% = 1
  4066.                            
  4067.                         END IF
  4068.  
  4069.                     case "HELPDATA"
  4070.                         SubDestPath$=DestPath$+"help\"
  4071.                         
  4072.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  4073.                         IF ret% = 1 THEN
  4074.                            FuncRet% = 1
  4075.                            
  4076.                         END IF
  4077.  
  4078.                     case "LOTUSSCRIPTPROGRAM"
  4079.                         SubDestPath$=DestPath$+"script\"
  4080.                         
  4081.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  4082.                         IF ret% = 1 THEN
  4083.                            FuncRet% = 1
  4084.                            
  4085.                         END IF
  4086.  
  4087.                     case "LOTUSDIALOGSPROGRAM"
  4088.                         SubDestPath$=DestPath$
  4089.                         
  4090.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  4091.                         IF ret% = 1 THEN
  4092.                            FuncRet% = 1
  4093.                            
  4094.                         END IF
  4095.  
  4096.                     case "MAILENABLINGPROGRAM"
  4097.                         SubDestPath$=DestPath$
  4098.                         
  4099.                         ret% = Lot_DoVerDateValidation(SourcePath$,SubDestPath$,FileName$,FileSize&)
  4100.                         IF ret% = 1 THEN
  4101.                            FuncRet% = 1
  4102.                            
  4103.                         END IF
  4104.  
  4105.  
  4106.                     case ""
  4107.  
  4108.              END SELECT
  4109.           ELSE
  4110.              
  4111.           END IF
  4112.        END IF
  4113.  
  4114.        FileNumber% = FileNumber% + 1
  4115.        FileTag$ = FilePref$+LTRIM$(STR(FileNumber%))
  4116.        
  4117.  
  4118.        FileName$ = GetIniKeyString(gSharedIniFile$, EntryName$, FileTag$)
  4119.        
  4120.    LOOP UNTIL FileName$ =""
  4121.  
  4122.    Lot_MoveFiles=FuncRet%
  4123.    
  4124. END FUNCTION
  4125.  
  4126.  
  4127. FUNCTION Lot_GetEntryFlag(EntryName$) AS STRING
  4128.  
  4129.  
  4130.  
  4131.  
  4132.  
  4133. DIM entryflag$
  4134.  
  4135. IF EntryName$="Spell Checker Program" THEN
  4136.    EntryFlag$="SPELLCHECKERPROGRAM"
  4137.    
  4138.    
  4139. ELSEIF EntryName$="Spell Checker Data" THEN
  4140.    EntryFlag$="SPELLCHECKERDATA"
  4141.    
  4142.    
  4143. ELSEIF EntryName$="Spell Checker User" THEN
  4144.    EntryFlag$="SPELLCHECKERUSER"
  4145.    
  4146.    
  4147. ELSEIF EntryName$="TOOLS Program" THEN
  4148.    EntryFlag$="TOOLSPROGRAM"
  4149.    
  4150.    
  4151. ELSEIF EntryName$="TOOLS Data" THEN
  4152.    EntryFlag$="TOOLSDATA"
  4153.    
  4154.    
  4155. ELSEIF EntryName$="Container File Program" THEN
  4156.    EntryFlag$="CONTAINERFILEPROGRAM"
  4157.    
  4158.    
  4159. ELSEIF EntryName$="InfoBox Program" THEN
  4160.    EntryFlag$="INFOBOXPROGRAM"
  4161.    
  4162.    
  4163. ELSEIF EntryName$="Icon Palette Program" THEN
  4164.    EntryFlag$="ICONPALETTEPROGRAM"
  4165.    
  4166.    
  4167. ELSEIF EntryName$="Status Bar Program" THEN
  4168.    EntryFlag$="STATUSBARPROGRAM"
  4169.    
  4170.    
  4171. ELSEIF EntryName$="DataLens Program" THEN
  4172.    EntryFlag$="DATALENSPROGRAM"
  4173.    
  4174.    
  4175. ELSEIF EntryName$="DataLens Data" THEN
  4176.    EntryFlag$="DATALENSDATA"
  4177.    
  4178.    
  4179. ELSEIF EntryName$="Dialog Editor Program" THEN
  4180.    EntryFlag$="DIALOGEDITORPROGRAM"
  4181.    
  4182.    
  4183. ELSEIF EntryName$="User Name Service Program" THEN
  4184.    EntryFlag$="USERNAMESERVICESPROGRAM"
  4185.    
  4186.    
  4187. ELSEIF EntryName$="Multimedia Program" THEN
  4188.    EntryFlag$="MULTIMEDIAPROGRAM"
  4189.    
  4190.    
  4191. ELSEIF EntryName$="Multimedia Data" THEN
  4192.    EntryFlag$="MULTIMEDIADATA"
  4193.    
  4194.    
  4195. ELSEIF EntryName$="Graphics File Filters Program" THEN
  4196.    EntryFlag$="GRAPHICSFILEFILTERSPROGRAM"
  4197.    
  4198.    
  4199. ELSEIF EntryName$="Graphics File Filters Filter" THEN
  4200.    EntryFlag$="GRAPHICSFILEFILTERSFILTER"
  4201.    
  4202.    
  4203. ELSEIF EntryName$="Document File Filters Program" THEN
  4204.    EntryFlag$="DOCUMENTFILEFILTERSPROGRAM"
  4205.    
  4206.    
  4207. ELSEIF EntryName$="Help Program" THEN
  4208.    EntryFlag$="HELPPROGRAM"
  4209.    
  4210.    
  4211. ELSEIF EntryName$="Help Data" THEN
  4212.    EntryFlag$="HELPDATA"
  4213.    
  4214.    
  4215. ELSEIF EntryName$="LotusScript Program" THEN
  4216.    EntryFlag$="LOTUSSCRIPTPROGRAM"
  4217.    
  4218.    
  4219. ELSEIF EntryName$="Lotus Dialogs Program" THEN
  4220.    EntryFlag$="LOTUSDIALOGSPROGRAM"
  4221.    
  4222.    
  4223. ELSEIF EntryName$="Mail Enabling Program" THEN
  4224.    EntryFlag$="MAILENABLINGPROGRAM"
  4225.    
  4226.    
  4227. ELSE
  4228.    EntryFlag$=""
  4229.    
  4230.    
  4231. END IF
  4232.    Lot_GetEntryFlag=EntryFlag$
  4233.    
  4234. END FUNCTION
  4235.  
  4236.  
  4237. FUNCTION Lot_DoVerDateValidation(Path$,SubDestPath$,FileName$,FileSize&) AS INTEGER
  4238.  
  4239.  
  4240.  
  4241.  
  4242.  
  4243.  
  4244.  
  4245.  
  4246.  
  4247.  
  4248.    DIM sourcepath$,destinationpath$,sourcefileversion$,destfileversion$
  4249.    DIM sourcefiledate$,destfiledate$,sourceyear%,sourcemonth%,sourceday%
  4250.    DIM destyear%,destmonth%,destday%,ret%,sourcever1&,sourcever2&,sourcever3&
  4251.    DIM sourcever4&,destver1&,destver2&,destver3&,destver4&, notused%
  4252.  
  4253.    
  4254.    
  4255.    
  4256.    
  4257.    SourcePath$ = MakePath(Path$, FileName$)
  4258.  
  4259.    
  4260.    DestinationPath$ = MakePath(SubDestPath$, FileName$)
  4261.  
  4262.    
  4263.    
  4264.  
  4265.    
  4266.    IF DoesDirExist(SubDestPath$)=0 THEN
  4267.       CreateDir SubDestPath$, cmoNone
  4268.       IF DoesDirExist(SubDestPath$)=0 THEN
  4269.          ShowPathError SID_ERR_CREATEDIR, 0, SubDestPath$
  4270.          ERROR STFQUIT
  4271.       END IF
  4272.    END IF
  4273.  
  4274.    
  4275.    IF DoesFileExist(DestinationPath$,femExists)=1 THEN
  4276.  
  4277.       
  4278.       SourceFileVersion$=GetVersionOfFile(SourcePath$)
  4279.       DestFileVersion$=GetVersionOfFile(DestinationPath$)
  4280.  
  4281.       
  4282.       IF SourceFileVersion$="" OR DestFileVersion$="" THEN
  4283.  
  4284.          
  4285.          SourceFileDate$=GetDateOfFile(SourcePath$)
  4286.          DestFileDate$=GetDateOfFile(DestinationPath$)
  4287.  
  4288.          
  4289.          IF MID$(SourceFileDate$,1,10)<>MID$(DestFileDate$,1,10) THEN
  4290.             SourceYear%=GetYearFromDate(SourceFileDate$)
  4291.             SourceMonth%=GetMonthFromDate(SourceFileDate$)
  4292.             SourceDay%=GetDayFromDate(SourceFileDate$)
  4293.             DestYear%=GetYearFromDate(DestFileDate$)
  4294.             DestMonth%=GetMonthFromDate(DestFileDate$)
  4295.             DestDay%= GetDayFromDate(DestFileDate$)
  4296.  
  4297.             
  4298.             IF SourceYear% > DestYear% THEN
  4299.                Ret%= Lot_DoCopyDelete(SourcePath$,DestinationPath$,FileName$,FileSize&)
  4300.             ELSEIF SourceYear% = DestYear% AND _
  4301.                    SourceMonth% > DestMonth% THEN
  4302.                Ret%= Lot_DoCopyDelete(SourcePath$,DestinationPath$,FileName$,FileSize&)
  4303.             ELSEIF SourceYear% = DestYear% AND _
  4304.                    SourceMonth% = DestMonth% AND _
  4305.                    SourceDay% > DestDay% THEN
  4306.                Ret%= Lot_DoCopyDelete(SourcePath$,DestinationPath$,FileName$,FileSize&)
  4307.             ELSEIF SourceYear% = DestYear% AND _
  4308.                    SourceMonth% = DestMonth% AND _
  4309.                    SourceDay% = DestDay% THEN
  4310.                Ret%= Lot_DoCopyDelete(SourcePath$,DestinationPath$,FileName$,FileSize&)
  4311.              ELSE
  4312.                
  4313.                notused% = Lot_DoDelete(SourcePath$,FileName$)
  4314.                Ret%=1
  4315.             END IF
  4316.          
  4317.          ELSE
  4318.             notused% = Lot_DoDelete(SourcePath$,FileName$)
  4319.             Ret%=1
  4320.          END IF
  4321.       
  4322.       ELSE
  4323.          
  4324.          SourceVer1&=GetVersionNthField(SourceFileVersion$,1)
  4325.          SourceVer2&=GetVersionNthField(SourceFileVersion$,2)
  4326.          SourceVer3&=GetVersionNthField(SourceFileVersion$,3)
  4327.          SourceVer4&=GetVersionNthField(SourceFileVersion$,4)
  4328.          DestVer1&=GetVersionNthField(DestFileVersion$,1)
  4329.          DestVer2&=GetVersionNthField(DestFileVersion$,2)
  4330.          DestVer3&=GetVersionNthField(DestFileVersion$,3)
  4331.          DestVer4&=GetVersionNthField(DestFileVersion$,4)
  4332.  
  4333.          
  4334.          IF SourceVer1& > DestVer1& THEN
  4335.             Ret%= Lot_DoCopyDelete(SourcePath$,DestinationPath$,FileName$,FileSize&)
  4336.          ELSEIF SourceVer1& = DestVer1& AND _
  4337.                 SourceVer2& > DestVer2& THEN
  4338.             Ret%= Lot_DoCopyDelete(SourcePath$,DestinationPath$,FileName$,FileSize&)
  4339.          ELSEIF SourceVer1& = DestVer1& AND _
  4340.                 SourceVer2& = DestVer2& AND _
  4341.                 SourceVer3& > DestVer3& THEN
  4342.             Ret%= Lot_DoCopyDelete(SourcePath$,DestinationPath$,FileName$,FileSize&)
  4343.          ELSEIF SourceVer1& = DestVer1& AND _
  4344.                 SourceVer2& = DestVer2& AND _
  4345.                 SourceVer3& = DestVer3& AND _
  4346.                 SourceVer4& > DestVer4& THEN
  4347.             Ret%= Lot_DoCopyDelete(SourcePath$,DestinationPath$,FileName$,FileSize&)
  4348.          ELSEIF SourceVer1& = DestVer1& AND _
  4349.                 SourceVer2& = DestVer2& AND _
  4350.                 SourceVer3& = DestVer3& AND _
  4351.                 SourceVer4& = DestVer4& THEN
  4352.             
  4353.             notused% = Lot_DoDelete(SourcePath$,FileName$)
  4354.             Ret%=1
  4355.          ELSE
  4356.             
  4357.             notused% = Lot_DoDelete(SourcePath$,FileName$)
  4358.             Ret% = 1
  4359.          END IF
  4360.  
  4361.       END IF
  4362.    
  4363.    ELSE
  4364.       Ret%= Lot_DoCopyDelete(SourcePath$,DestinationPath$,FileName$,FileSize&)
  4365.    END IF
  4366.    Lot_DoVerDateValidation=Ret%
  4367. END FUNCTION
  4368.  
  4369.  
  4370. FUNCTION Lot_DoDelete(SourcePath$,FileName$) AS INTEGER
  4371.  
  4372.  
  4373.  
  4374.  
  4375.  
  4376.  
  4377.  
  4378.         DIM fileexist%
  4379.  
  4380.       
  4381.       IF GetSymbolValue("SYM_MOVE") = "1" THEN
  4382.          RemoveFile SourcePath$, cmoNone
  4383.       END IF
  4384.  
  4385.       
  4386.       FileExist%=DoesFileExist(SourcePath$,femExists)
  4387.       IF FileExist%=1 THEN
  4388.          
  4389.          
  4390.          
  4391.          Lot_DoDelete=0
  4392.       ELSE
  4393.          Lot_DoDelete=1
  4394.       END IF
  4395. END FUNCTION
  4396.  
  4397.  
  4398. FUNCTION Lot_DoCopyDelete(SourcePath$,DestinationPath$,FileName$,SourceFileSize&) AS INTEGER
  4399.  
  4400.  
  4401.  
  4402.  
  4403.  
  4404.  
  4405.  
  4406.  
  4407.  
  4408.  
  4409.    DIM sourcefiledate$,destfilesize&,thedateisset%,fileexist%
  4410.  
  4411.    
  4412.    SourceFileDate$=GetDateOfFile(SourcePath$)
  4413.    
  4414.  
  4415.    
  4416.    
  4417.    
  4418.    CopyFile SourcePath$, DestinationPath$, cmoCopy, 0
  4419.    
  4420.    
  4421.    DestFileSize&=GetSizeOfFile(DestinationPath$)
  4422.  
  4423.    IF DestFileSize&=SourceFileSize& THEN
  4424.       
  4425.       theDateIsSet%=Lot_SetDateOfFile(DestinationPath$, SourceFileDate$)
  4426.  
  4427.  
  4428.       
  4429.       IF theDateIsSet% = 0 THEN
  4430.  
  4431.  
  4432.       END IF
  4433.  
  4434.       
  4435.       IF GetSymbolValue("SYM_MOVE") = "1" THEN
  4436.          RemoveFile SourcePath$, cmoNone
  4437.       END IF
  4438.  
  4439.       
  4440.       FileExist%=DoesFileExist(SourcePath$,femExists)
  4441.       IF FileExist%=1 THEN
  4442.          
  4443.          
  4444.          
  4445.       END IF
  4446.       Lot_DoCopyDelete=1
  4447.    ELSE
  4448.       Lot_DoCopyDelete=0
  4449.  
  4450.    END IF
  4451.  
  4452. END FUNCTION
  4453.  
  4454.  
  4455. FUNCTION Lot_SaveShareConfigInInstallIni() AS INTEGER
  4456.  
  4457.  
  4458.  
  4459.  
  4460.  
  4461.  
  4462.  
  4463.      DIM networkins$,proddir$,ginstallinifile$,commondir$,proddrv$,commdrv$
  4464.  
  4465.    
  4466.    NetworkIns$ = GetSymbolValue(SYM_NETWORK$)
  4467.  
  4468.    IF NetworkIns$=gSERVER$ THEN
  4469.  
  4470.       
  4471.       prodDir$ = Lot_GetInstallDir()
  4472.       gInstallIniFile$ = MakePath(prodDir$,gINSTALLINI$)
  4473.  
  4474.       
  4475.       commonDir$ = GetSymbolValue(SYM_LOTUSAPPDIR$)
  4476.       CreateIniKeyValue gInstallIniFile$, "Server Configuration of Shared Tools", SYM_LOTUSAPPDIR$, Lot_TrimEndSlash(commonDir$), cmoOverwrite
  4477.  
  4478.       
  4479.       prodDrv$ = LCASE$(MID$(prodDir$,1,1))
  4480.       commDrv$ = LCASE$(MID$(commonDir$,1,1))
  4481.       IF prodDrv$ = commDrv$ THEN
  4482.          CreateIniKeyValue gInstallIniFile$, "Server Configuration of Shared Tools", "SameDriveFlag", "1", cmoOverwrite
  4483.       ELSE
  4484.          CreateIniKeyValue gInstallIniFile$, "Server Configuration of Shared Tools", "SameDriveFlag", "0", cmoOverwrite
  4485.       END IF
  4486.  
  4487.    END IF
  4488.    Lot_SaveShareConfigInInstallIni = SUCCESS
  4489. END FUNCTION
  4490.  
  4491.  
  4492.  
  4493. FUNCTION Lot_GetFileSize(Path$,gSharedIniFile$,EntryName$,gConsolidateSize&) AS LONG
  4494.  
  4495.  
  4496.  
  4497.  
  4498.  
  4499.  
  4500.  
  4501.  
  4502.  
  4503.    DIM fileexist%,filepref$,filenumber%,filetag$,filename$,filepath$,filesize&
  4504.  
  4505.    
  4506.    
  4507.    
  4508.    FileExist% =  DoesFileExist(gSharedIniFile$, femExists)
  4509.    
  4510.  
  4511.    
  4512.    FilePref$ = "file"
  4513.    FileNumber% = 1
  4514.    FileTag$ = FilePref$+LTRIM$(STR(FileNumber%))
  4515.    
  4516.    FileName$ = GetIniKeyString(gSharedIniFile$, EntryName$, FileTag$)
  4517.    
  4518.  
  4519.    
  4520.  
  4521.    DO
  4522.       IF UCASE$(FileName$) = "EXCELFLT.FLT" OR _
  4523.          UCASE$(FileName$) = "ISGDI9.DLL" THEN
  4524.          FilePath$ = Path$
  4525.       ELSEIF FileName$ <> ""  THEN
  4526.          FilePath$ = MakePath(Path$, FileName$)
  4527.       END IF
  4528.  
  4529.          
  4530.  
  4531.       IF FileName$<>"" AND FilePath$<>"" THEN
  4532.          FileExist% =  DoesFileExist(FilePath$, femExists)
  4533.  
  4534.          IF FileExist% = 1 THEN
  4535.             
  4536.             FileSize& = GetSizeOfFile(FilePath$)
  4537.             
  4538.             
  4539.  
  4540.             gConsolidateSize& = gConsolidateSize& + FileSize&
  4541.  
  4542.  
  4543.          ELSE
  4544.             
  4545.          END IF
  4546.       END IF
  4547.       FileNumber% = FileNumber% + 1
  4548.       FileTag$ = FilePref$+LTRIM$(STR(FileNumber%))
  4549.       
  4550.  
  4551.       FileName$ = GetIniKeyString(gSharedIniFile$, EntryName$, FileTag$)
  4552.       
  4553.  
  4554.    LOOP UNTIL FileName$ =""
  4555.  
  4556.    Lot_GetFileSize=gConsolidateSize&
  4557.    
  4558. END FUNCTION
  4559.  
  4560.  
  4561. FUNCTION Lot_GetAllSharedInstalled() AS INTEGER
  4562.  
  4563.  
  4564.  
  4565.  
  4566.  
  4567.  
  4568.  
  4569.  
  4570.  
  4571.    DIM network$,currchpt$,sharedid$
  4572.  
  4573.    network$ = GetSymbolValue(SYM_NETWORK$)
  4574.    IF network$ = gSTANDARD$ THEN
  4575.       
  4576.  
  4577.       CurrChpt$ = Lot_GetFirst("", F_SHARE+F_INOROUT) 
  4578.       WHILE (CurrChpt$ <> "")
  4579.          SharedID$ = Lot_GetChapterValStr(CurrChpt$, F_SHARE)   
  4580.          
  4581.          IF SharedID$ <> "" THEN
  4582.             
  4583.             AddListItem SYM_INIENTRY$,SharedID$
  4584.          END IF
  4585.          CurrChpt$ = Lot_GetNext() 
  4586.       WEND
  4587.       Lot_GetAllSharedInstalled = SUCCESS
  4588.  
  4589.       
  4590.  
  4591.    ELSEIF network$ = gNODE$ THEN
  4592.       IF Lot_IsTheFeatureInstalled("SHRUNS") THEN
  4593.          AddListItem SYM_INIENTRY$,"USERNAMESERVICESPROGRAM"
  4594.       END IF
  4595.       IF Lot_IsTheFeatureInstalled("SHRDLGPRG") THEN
  4596.          AddListItem SYM_INIENTRY$,"DIALOGEDITORPROGRAM"
  4597.       END IF
  4598.       IF Lot_IsTheFeatureInstalled("SHRSPELLPRG") THEN
  4599.          AddListItem SYM_INIENTRY$,"SPELLCHECKERPROGRAM"
  4600.       END IF
  4601.       IF Lot_IsTheFeatureInstalled("SHRSPELLDIC") OR _
  4602.          Lot_IsTheFeatureInstalled("SHRSPELLSPDIC") OR _
  4603.          Lot_IsTheFeatureInstalled("SHRSPELLPODIC") OR _
  4604.          Lot_IsTheFeatureInstalled("SHRSPELLFRDIC") THEN
  4605.          AddListItem SYM_INIENTRY$,"SPELLCHECKERDATA"
  4606.       END IF
  4607.       IF Lot_IsTheFeatureInstalled("SHRSTATUSBAR") THEN
  4608.          AddListItem SYM_INIENTRY$,"STATUSBARPROGRAM"
  4609.       END IF
  4610.       IF Lot_IsTheFeatureInstalled("SHRICONPALETTE") THEN
  4611.          AddListItem SYM_INIENTRY$,"ICONPALETTEPROGRAM"
  4612.       END IF
  4613.       IF Lot_IsTheFeatureInstalled("SHRDBASEPRG") OR _
  4614.          Lot_IsTheFeatureInstalled("SHRPARADOXPRG") OR _
  4615.          Lot_IsTheFeatureInstalled("SHRSQLPRG") OR _
  4616.          Lot_IsTheFeatureInstalled("SHRINFORMIXPRG") OR _
  4617.          Lot_IsTheFeatureInstalled("SHRIBMPRG") OR _
  4618.          Lot_IsTheFeatureInstalled("SHRSPREADSHEETPRG") OR _
  4619.          Lot_IsTheFeatureInstalled("SHRIBMDB2PRG") OR _
  4620.          Lot_IsTheFeatureInstalled("SHRDB2SQLDSPRG") OR _
  4621.          Lot_IsTheFeatureInstalled("SHRDB2_SQL400PRG") OR _
  4622.          Lot_IsTheFeatureInstalled("SHRIBM_DDCS_2PRG") OR _
  4623.          Lot_IsTheFeatureInstalled("SHRODBCDRVRPRG") OR _
  4624.          Lot_IsTheFeatureInstalled("SHRODBCWKSPRG") OR _
  4625.          Lot_IsTheFeatureInstalled("SHRODBCTEXTPRG") OR _
  4626.          Lot_IsTheFeatureInstalled("SHRORACLEPRG") OR _
  4627.          Lot_IsTheFeatureInstalled("SHRODBCBTRIEVEPRG") OR _
  4628.          Lot_IsTheFeatureInstalled("SHRODBCFOXBASEPRG") OR _
  4629.          Lot_IsTheFeatureInstalled("SHRODBCACCESSPRG") OR _
  4630.          Lot_IsTheFeatureInstalled("SHRODBCPARADOXPRG") OR _
  4631.          Lot_IsTheFeatureInstalled("SHRODBCDB2PRG") OR _
  4632.          Lot_IsTheFeatureInstalled("SHRODBCORACLEPRG") OR _
  4633.          Lot_IsTheFeatureInstalled("SHRODBCSQLSVRPRG") OR _
  4634.          Lot_IsTheFeatureInstalled("SHRNOTESSQLPRG") THEN
  4635.          AddListItem SYM_INIENTRY$,"DATALENSPROGRAM"
  4636.          AddListItem SYM_INIENTRY$,"DATALENSDATA"
  4637.       END IF
  4638.       IF Lot_IsTheFeatureInstalled("SHRMM") OR _
  4639.          Lot_IsTheFeatureInstalled("SHRSCRNCAM") THEN
  4640.          AddListItem SYM_INIENTRY$,"MULTIMEDIAPROGRAM"
  4641.          AddListItem SYM_INIENTRY$,"MULTIMEDIADATA"
  4642.       END IF
  4643.       IF Lot_IsTheFeatureInstalled("SHRHELPPRG") THEN
  4644.          AddListItem SYM_INIENTRY$,"HELPPROGRAM"
  4645.       END IF
  4646.       IF Lot_IsTheFeatureInstalled("SHRHELPDATA") THEN
  4647.          AddListItem SYM_INIENTRY$,"HELPDATA"
  4648.       END IF
  4649.       IF Lot_IsTheFeatureInstalled("SHRLOTUSSCRIPTPRG") THEN
  4650.          AddListItem SYM_INIENTRY$,"LOTUSSCRIPTPROGRAM"
  4651.       END IF
  4652.       IF Lot_IsTheFeatureInstalled("SHRLOTUSDIALOGSPRG") THEN
  4653.          AddListItem SYM_INIENTRY$,"LOTUSDIALOGSPROGRAM"
  4654.       END IF
  4655.       IF Lot_IsTheFeatureInstalled("SHRMAILENABLINGPRG") THEN
  4656.          AddListItem SYM_INIENTRY$,"MAILENABLINGPROGRAM"
  4657.       END IF
  4658.       IF Lot_IsTheFeatureInstalled("BENTO") THEN
  4659.          AddListItem SYM_INIENTRY$,"CONTAINERFILEPROGRAM"
  4660.       END IF
  4661.       IF Lot_IsTheFeatureInstalled("DOCFILTERS") THEN
  4662.          AddListItem SYM_INIENTRY$,"DOCUMENTFILEFILTERSPROGRAM"
  4663.       END IF
  4664.       IF Lot_IsTheFeatureInstalled("SHRINFOBOXPRG") THEN
  4665.          AddListItem SYM_INIENTRY$,"INFOBOXPROGRAM"
  4666.       END IF
  4667.       IF Lot_IsTheFeatureInstalled("SHRSTATUSBAR") THEN
  4668.          AddListItem SYM_INIENTRY$,"STATUSBARPROGRAM"
  4669.       END IF
  4670.  
  4671.  
  4672.       
  4673.    END IF
  4674.  
  4675. END FUNCTION
  4676.  
  4677.  
  4678. FUNCTION Lot_WriteLotusBcfFile()AS INTEGER
  4679.  
  4680.  
  4681.  
  4682.  
  4683.  
  4684.    DIM bufdn$,bufdl$,bufdd$,bufdc$,bufac$,sqlservername$,networkinfo$, notused%
  4685.  
  4686.  
  4687.    IF Lot_IsInformixSelected() = 1 THEN
  4688.  
  4689.      bufDN$ = LdString(SID_DATALENS_INFORMIX_DN)
  4690.      bufDL$ = LdString(SID_DATALENS_INFORMIX_DL)
  4691.      bufDD$ = LdString(SID_DATALENS_INFORMIX_DD)
  4692.      notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,"","",bufDD$)
  4693.    ELSE
  4694.  
  4695.    END IF
  4696.  
  4697.    IF Lot_IsSQLSelected() =1 THEN
  4698.  
  4699.      bufDN$ = LdString(SID_DATALENS_SQL_DN)
  4700.      bufDL$ = LdString(SID_DATALENS_SQL_DL)
  4701.      bufDC$ = LdString(SID_DATALENS_SQL_DC)
  4702.      bufAC$ = LdString(SID_DATALENS_SQL_AC)
  4703.      bufDD$ = LdString(SID_DATALENS_SQL_DD)
  4704.  
  4705.      sqlServerName$= GetSymbolValue(SYM_SQLSERVERNAME$)
  4706.      bufDN$=bufDN$+sqlServerName$
  4707.      IF LEN(bufDN$) > 80 THEN
  4708.         bufDN$=MID$(bufDN$,1,80)         
  4709.      END IF
  4710.  
  4711.      bufDC$=bufDC$+sqlServerName$
  4712.      IF LEN(bufDC$) > 255 THEN
  4713.         bufDC$=MID$(bufDC$,1,255)
  4714.      END IF
  4715.      notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,bufDC$,bufAC$,bufDD$)
  4716.    ELSE
  4717.  
  4718.    END IF
  4719.  
  4720.    IF Lot_IsParadoxSelected() =1 THEN
  4721.  
  4722.      bufDN$ = LdString(SID_DATALENS_PARADOX_DN)
  4723.      bufDL$ = LdString(SID_DATALENS_PARADOX_DL)
  4724.      bufDD$ = LdString(SID_DATALENS_PARADOX_DD)
  4725.      
  4726.      
  4727.  
  4728.      bufDC$=GetSymbolValue(SYM_PARADOXNETWORKINFO$)
  4729.      IF LEN(bufDC$) > 255 THEN
  4730.         bufDC$=MID$(bufDC$,1,255)
  4731.      END IF
  4732.      notused% =  BcfMod(gLotusBcfDir,bufDN$,bufDL$,bufDC$,"",bufDD$)
  4733.    ELSE
  4734.  
  4735.    END IF
  4736.  
  4737.    IF Lot_IsdBaseSelected() =1 THEN
  4738.  
  4739.      bufDN$ = LdString(SID_DATALENS_DBASE_DN)
  4740.      bufDL$ = LdString(SID_DATALENS_DBASE_DL)
  4741.      bufDC$ = LdString(SID_DATALENS_DBASE_DC)
  4742.      bufDD$ = LdString(SID_DATALENS_DBASE_DD)
  4743.      notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,bufDC$,"",bufDD$)
  4744.    ELSE
  4745.  
  4746.    END IF
  4747.  
  4748.    IF Lot_IsIBMdBaseManagerSelected() = 1 THEN
  4749.  
  4750.      bufDN$ = LdString(SID_DATALENS_EEDM_DN)
  4751.  
  4752.      bufDL$ = LdString(SID_DATALENS_EEDM_DL)
  4753.      bufDC$ = LdString(SID_DATALENS_EEDM_DC)
  4754.      bufDD$ = LdString(SID_DATALENS_EEDM_DD)
  4755.      bufAC$ = LdString(SID_DATALENS_EEDM_AC)
  4756.      notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,bufDC$,bufAC$,bufDD$)
  4757.    ELSE
  4758.  
  4759.    END IF
  4760.    IF Lot_IsNotesSQLSelected() = 1 THEN
  4761.  
  4762.      bufDN$ = LdString(SID_DATALENS_NOTESSQL_DN)
  4763.  
  4764.      bufDL$ = LdString(SID_DATALENS_NOTESSQL_DL)
  4765.      bufDC$ = LdString(SID_DATALENS_NOTESSQL_DC)
  4766.      bufDD$ = LdString(SID_DATALENS_NOTESSQL_DD)
  4767.  
  4768.      notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,bufDC$,"",bufDD$)
  4769.    ELSE
  4770.  
  4771.    END IF
  4772.    IF Lot_IsSpreadSheetSelected () = 1 THEN
  4773.       bufDN$ = LdString(SID_DATALENS_SPREADSHEET_DN)
  4774.       
  4775.       bufDL$ = LdString(SID_DATALENS_SPREADSHEET_DL)
  4776.       bufDC$ = LdString(SID_DATALENS_SPREADSHEET_DC)
  4777.       bufDD$ = LdString(SID_DATALENS_SPREADSHEET_DD)
  4778.       
  4779.       notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,bufDC$,"",bufDD$)
  4780.    ELSE
  4781.       
  4782.    END IF
  4783.  
  4784.    IF Lot_IsIBM_DB2Selected () = 1 THEN
  4785.       bufDN$ = LdString(SID_DATALENS_IBM_DB2_DN)
  4786.       
  4787.       bufDL$ = LdString(SID_DATALENS_IBM_DB2_DL)
  4788.       bufDC$ = LdString(SID_DATALENS_IBM_DB2_DC)
  4789.       bufDD$ = LdString(SID_DATALENS_IBM_DB2_DD)
  4790.       bufAC$ = LdString(SID_DATALENS_IBM_DB2_AC)
  4791.       notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,bufDC$,bufAC$,bufDD$)
  4792.    ELSE
  4793.       
  4794.    END IF
  4795.    IF Lot_IsDB2_SQLDS_Selected () = 1 THEN
  4796.       bufDN$ = LdString(SID_DATALENS_DB2_SQLDS_DN)
  4797.       
  4798.       bufDL$ = LdString(SID_DATALENS_DB2_SQLDS_DL)
  4799.       bufDC$ = LdString(SID_DATALENS_DB2_SQLDS_DC)
  4800.       bufDD$ = LdString(SID_DATALENS_DB2_SQLDS_DD)
  4801.       bufAC$ = LdString(SID_DATALENS_DB2_SQLDS_AC)
  4802.       notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,bufDC$,bufAC$,bufDD$)
  4803.    ELSE
  4804.       
  4805.    END IF
  4806.    IF Lot_IsDB2_SQL400_Selected () = 1 THEN
  4807.       bufDN$ = LdString(SID_DATALENS_DB2_SQL400_DN)
  4808.       
  4809.       bufDL$ = LdString(SID_DATALENS_DB2_SQL400_DL)
  4810.       bufDC$ = LdString(SID_DATALENS_DB2_SQL400_DC)
  4811.       bufDD$ = LdString(SID_DATALENS_DB2_SQL400_DD)
  4812.       bufAC$ = LdString(SID_DATALENS_DB2_SQL400_AC)
  4813.       notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,bufDC$,bufAC$,bufDD$)
  4814.    ELSE
  4815.       
  4816.    END IF
  4817.    IF Lot_IsIBM_DDCS2_Selected () = 1 THEN
  4818.       bufDN$ = LdString(SID_DATALENS_IBM_DDCS_2_DN)
  4819.       
  4820.       bufDL$ = LdString(SID_DATALENS_IBM_DDCS_2_DL)
  4821.       bufDC$ = LdString(SID_DATALENS_IBM_DDCS_2_DC)
  4822.       bufDD$ = LdString(SID_DATALENS_IBM_DDCS_2_DD)
  4823.       bufAC$ = LdString(SID_DATALENS_IBM_DDCS_2_AC)
  4824.       notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,bufDC$,bufAC$,bufDD$)
  4825.    ELSE
  4826.       
  4827.    END IF
  4828.    IF Lot_IsODBCDriverSelected () = 1 THEN
  4829.       bufDN$ = LdString(SID_DATALENS_ODBCD_DN)
  4830.       
  4831.       bufDL$ = LdString(SID_DATALENS_ODBCD_DL)
  4832.       
  4833.       bufDD$ = LdString(SID_DATALENS_ODBCD_DD)
  4834.       
  4835.       notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,"","",bufDD$)
  4836.    ELSE
  4837.       
  4838.    END IF
  4839.    IF Lot_IsODBCSpreadSheetSelected () = 1 THEN
  4840.       bufDN$ = LdString(SID_ODBC_SPREADSHEET_DN)
  4841.       
  4842.       bufDL$ = LdString(SID_ODBC_SPREADSHEET_DL)
  4843.       bufDC$ = LdString(SID_ODBC_SPREADSHEET_DC)
  4844.       bufDD$ = LdString(SID_ODBC_SPREADSHEET_DD)
  4845.       
  4846.       notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,bufDC$,"",bufDD$)
  4847.    ELSE
  4848.       
  4849.    END IF
  4850.    IF Lot_IsODBCTextDriverSelected () = 1 THEN
  4851.       bufDN$ = LdString(SID_ODBC_TEXTDRVR_DN)
  4852.       
  4853.       bufDL$ = LdString(SID_ODBC_TEXTDRVR_DL)
  4854.       bufDC$ = LdString(SID_ODBC_TEXTDRVR_DC)
  4855.       bufDD$ = LdString(SID_ODBC_TEXTDRVR_DD)
  4856.       
  4857.       notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,bufDC$,"",bufDD$)
  4858.    ELSE
  4859.       
  4860.    END IF
  4861.    IF Lot_IsOracleSelected () = 1 THEN
  4862.       bufDN$ = LdString(SID_DATALENS_ORACLE_DN)
  4863.       
  4864.       bufDL$ = LdString(SID_DATALENS_ORACLE_DL)
  4865.       
  4866.       bufDD$ = LdString(SID_DATALENS_ORACLE_DD)
  4867.       
  4868.       notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,"","",bufDD$)
  4869.    ELSE
  4870.       
  4871.    END IF
  4872.  
  4873.    IF Lot_IsODBCBtrieveSelected () = 1 THEN
  4874.       bufDN$ = LdString(SID_ODBC_BTRIEVE_DN)
  4875.       
  4876.       bufDL$ = LdString(SID_ODBC_BTRIEVE_DL)
  4877.       
  4878.       bufDD$ = LdString(SID_ODBC_BTRIEVE_DD)
  4879.       
  4880.       notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,"","",bufDD$)
  4881.    ELSE
  4882.       
  4883.    END IF
  4884.    IF Lot_IsODBCDB2Selected () = 1 THEN
  4885.       bufDN$ = LdString(SID_ODBC_DB2_DN)
  4886.       
  4887.       bufDL$ = LdString(SID_ODBC_DB2_DL)
  4888.       bufDC$ = LdString(SID_ODBC_DB2_DC)
  4889.       bufDD$ = LdString(SID_ODBC_DB2_DD)
  4890.       
  4891.       notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,bufDC$,"",bufDD$)
  4892.    ELSE
  4893.       
  4894.    END IF
  4895.    IF Lot_IsODBCFoxbaseSelected () = 1 THEN
  4896.       bufDN$ = LdString(SID_ODBC_FOXBASE_DN)
  4897.       
  4898.       bufDL$ = LdString(SID_ODBC_FOXBASE_DL)
  4899.       
  4900.       bufDD$ = LdString(SID_ODBC_FOXBASE_DD)
  4901.       
  4902.       notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,"","",bufDD$)
  4903.    ELSE
  4904.       
  4905.    END IF
  4906.    IF Lot_IsODBCAccessSelected () = 1 THEN
  4907.       bufDN$ = LdString(SID_ODBC_ACCESS_DN)
  4908.       
  4909.       bufDL$ = LdString(SID_ODBC_ACCESS_DL)
  4910.       
  4911.       bufDD$ = LdString(SID_ODBC_ACCESS_DD)
  4912.       
  4913.       notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,"","",bufDD$)
  4914.    ELSE
  4915.       
  4916.    END IF
  4917.    IF Lot_IsODBCParadoxSelected () = 1 THEN
  4918.       bufDN$ = LdString(SID_ODBC_PARADOX_DN)
  4919.       
  4920.       bufDL$ = LdString(SID_ODBC_PARADOX_DL)
  4921.       
  4922.       bufDD$ = LdString(SID_ODBC_PARADOX_DD)
  4923.       
  4924.       notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,"","",bufDD$)
  4925.    ELSE
  4926.       
  4927.    END IF
  4928.    IF Lot_IsODBCOracleSelected () = 1 THEN
  4929.       bufDN$ = LdString(SID_ODBC_ORACLE_DN)
  4930.       
  4931.       bufDL$ = LdString(SID_ODBC_ORACLE_DL)
  4932.       
  4933.       bufDD$ = LdString(SID_ODBC_ORACLE_DD)
  4934.       
  4935.       notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,"","",bufDD$)
  4936.    ELSE
  4937.       
  4938.    END IF
  4939.       
  4940.    IF Lot_IsODBCSQLServerSelected () = 1 THEN
  4941.       bufDN$ = LdString(SID_ODBC_SQLSERVER_DN)
  4942.       
  4943.       bufDL$ = LdString(SID_ODBC_SQLSERVER_DL)
  4944.       
  4945.       bufDD$ = LdString(SID_ODBC_SQLSERVER_DD)
  4946.       
  4947.       notused% = BcfMod(gLotusBcfDir,bufDN$,bufDL$,"","",bufDD$)
  4948.    ELSE
  4949.       
  4950.    END IF
  4951.  
  4952. Lot_WriteLotusBcfFile = SUCCESS
  4953. END FUNCTION
  4954.  
  4955.  
  4956. FUNCTION Lot_BackupLotusBcfFile()AS INTEGER
  4957.  
  4958.  
  4959.  
  4960.  
  4961.  
  4962.  
  4963.    DIM dest$,network$,filepath$,backuppath$
  4964.  
  4965.    Dest$=GetSymbolValue(SYM_LOTUSAPPDIR$)+"\datalens"
  4966.    network$ = GetSymbolValue(SYM_NETWORK$)
  4967.    FilePath$=MakePath(Dest$,gLOTUSBCF$)
  4968.    BackupPath$=Makepath(Dest$,"lotus.bak")
  4969.  
  4970.    IF network$=gNODE$ THEN
  4971.  
  4972.       IF Lot_IsTheFeatureInstalled("SHRDBASEPRG")=1 OR _
  4973.          Lot_IsTheFeatureInstalled("SHRPARADOXPRG")=1 OR _
  4974.          Lot_IsTheFeatureInstalled("SHRSQLPRG")=1 OR _
  4975.          Lot_IsTheFeatureInstalled("SHRINFORMIXPRG")=1 OR _
  4976.          Lot_IsTheFeatureInstalled("SHRIBMPRG")=1 OR _
  4977.          Lot_IsTheFeatureInstalled("SHRSPREADSHEETPRG")=1 OR _
  4978.          Lot_IsTheFeatureInstalled("SHRIBMDB2PRG")=1 OR _
  4979.          Lot_IsTheFeatureInstalled("SHRDB2SQLDSPRG")=1 OR _
  4980.          Lot_IsTheFeatureInstalled("SHRDB2_SQL400PRG")=1 OR _
  4981.          Lot_IsTheFeatureInstalled("SHRIBM_DDCS_2PRG")=1 OR _
  4982.          Lot_IsTheFeatureInstalled("SHRODBCDRVRPRG")=1 OR _
  4983.          Lot_IsTheFeatureInstalled("SHRODBCWKSPRG")=1 OR _
  4984.          Lot_IsTheFeatureInstalled("SHRODBCTEXTPRG")=1 OR _
  4985.          Lot_IsTheFeatureInstalled("SHRORACLEPRG")=1 OR _
  4986.          Lot_IsTheFeatureInstalled("SHRODBCBTRIEVEPRG")=1 OR _
  4987.          Lot_IsTheFeatureInstalled("SHRODBCFOXBASEPRG")=1 OR _
  4988.          Lot_IsTheFeatureInstalled("SHRODBCACCESSPRG")=1 OR _
  4989.          Lot_IsTheFeatureInstalled("SHRODBCPARADOXPRG")=1 OR _
  4990.          Lot_IsTheFeatureInstalled("SHRODBCDB2PRG")=1 OR _
  4991.          Lot_IsTheFeatureInstalled("SHRODBCORACLEPRG")=1 OR _
  4992.          Lot_IsTheFeatureInstalled("SHRODBCSQLSVRPRG")=1 OR _
  4993.          Lot_IsTheFeatureInstalled("SHRNOTESSQLPRG")=1 THEN
  4994.  
  4995.  
  4996.          IF DoesFileExist(FilePath$,femExists) =1 THEN
  4997.            CopyFile FilePath$, BackupPath$, cmoCopy, 1
  4998.            RemoveFile FilePath$, cmoNone
  4999.          END IF
  5000.  
  5001.       END IF
  5002.  
  5003.    ELSEIF network$=gSTANDARD$ THEN
  5004.  
  5005.       IF Lot_IsInformixSelected() = 1 OR _
  5006.          Lot_IsSQLSelected() =1 OR _
  5007.          Lot_IsParadoxSelected() =1 OR _
  5008.          Lot_IsdBaseSelected() =1 OR _
  5009.          Lot_IsIBMdBaseManagerSelected() = 1 OR _
  5010.          Lot_IsSpreadSheetSelected () = 1 OR _
  5011.          Lot_IsIBM_DB2Selected () = 1 OR _
  5012.          Lot_IsDB2_SQLDS_Selected () = 1 OR _
  5013.          Lot_IsDB2_SQL400_Selected () = 1 OR _
  5014.          Lot_IsIBM_DDCS2_Selected () = 1 OR _
  5015.          Lot_IsODBCDriverSelected () = 1 OR _
  5016.          Lot_IsODBCSpreadSheetSelected () = 1 OR _
  5017.          Lot_IsODBCTextDriverSelected () = 1 OR _
  5018.          Lot_IsOracleSelected () = 1 OR _
  5019.          Lot_IsODBCBtrieveSelected () = 1 OR _
  5020.          Lot_IsODBCDB2Selected () = 1 OR _
  5021.          Lot_IsODBCFoxbaseSelected () = 1 OR _
  5022.          Lot_IsODBCAccessSelected () = 1 OR _
  5023.          Lot_IsODBCParadoxSelected () = 1 OR _
  5024.          Lot_IsODBCOracleSelected () = 1 OR _
  5025.          Lot_IsODBCSQLServerSelected () = 1 OR _
  5026.          Lot_IsNotesSQLSelected()=1 THEN
  5027.          IF DoesFileExist(FilePath$,femExists) =1 THEN
  5028.            CopyFile FilePath$, BackupPath$, cmoCopy, 1
  5029.            RemoveFile FilePath$, cmoNone
  5030.          END IF
  5031.  
  5032.       END IF
  5033.  
  5034.    END IF
  5035. Lot_BackupLotusBcfFile = SUCCESS
  5036. END FUNCTION
  5037.  
  5038.  
  5039.  
  5040. FUNCTION Lot_WriteIniFiles() AS INTEGER
  5041.  
  5042.  
  5043.  
  5044.  
  5045.  
  5046.  
  5047.    DIM inientrylistlen%,network$,entrycount%,entry$,notused%
  5048.    
  5049.    
  5050.    IniEntryListLen% = GetListLength(SYM_INIENTRY$)
  5051.    
  5052.  
  5053.    IF IniEntryListLen%<>0  THEN
  5054.       
  5055.       CreateIniKeyValue gLotusIniPath$, "Lotus Applications", "Common Directory", Lot_TrimEndSlash(gLotusappDir$), cmoOverwrite
  5056.    END IF
  5057.  
  5058.    network$ = GetSymbolValue(SYM_NETWORK$)
  5059.    IF network$ = gNODE$ THEN
  5060.       
  5061.       CreateIniKeyValue gLotusIniPath$, "Lotus Applications", "Net Common Directory", Lot_TrimEndSlash(GetSymbolValue(SYM_NETLOTUSAPP$)), cmoOverwrite
  5062.    END IF
  5063.  
  5064.    
  5065.    FOR EntryCount% = 1 TO IniEntryListLen%
  5066.       
  5067.       Entry$ = GetListItem(SYM_INIENTRY$,EntryCount%)
  5068.       
  5069.       IF Entry$<>"" THEN
  5070.          notused% = Lot_WriteEntry(Entry$,0)
  5071.       END IF
  5072.    Next
  5073.    Lot_WriteIniFiles = SUCCESS
  5074. END FUNCTION
  5075.  
  5076.  
  5077. FUNCTION Lot_WriteEntry(Entry$,FromPreConfigFlag%) AS INTEGER
  5078.  
  5079.  
  5080.  
  5081.  
  5082.  
  5083.  
  5084.    DIM network$,gnetlotusappdir$,theentrywasrefreshed as integer, retstr$
  5085.    DIM retdatastr$, retuserstr$,notused%,MailApplication$
  5086.  
  5087.    network$ = GetSymbolValue(SYM_NETWORK$)
  5088.    
  5089.    gLotusappDir$=GetSymbolValue(SYM_LOTUSAPPDIR$)
  5090.    gNetLotusappDir$=GetSymbolValue(SYM_NETLOTUSAPP$)
  5091.    
  5092.    
  5093.  
  5094.    IF network$=gNODE$ THEN
  5095.        TheEntryWasRefreshed = Lot_TheEntryWasRefreshed(Entry$)
  5096.    END IF
  5097.  
  5098.  
  5099.    SELECT CASE Entry$
  5100.  
  5101.       case "IVCPROGRAM"
  5102.                 IF network$=gSTANDARD$ OR _
  5103.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5104.                    
  5105.                    
  5106.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5107.                    
  5108.                    
  5109.                 END IF
  5110.  
  5111.            case "CONTAINERFILEPROGRAM" 
  5112.                 IF network$=gSTANDARD$ OR _
  5113.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5114.                    
  5115.                    CreateIniKeyValue gLotusIniPath$, "Container File", "Program Path", Lot_TrimEndSlash(gLotusappDir$), cmoOverwrite
  5116.                    
  5117.                    
  5118.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5119.                    
  5120.                    CreateIniKeyValue gLotusIniPath$, "Container File", "Program Path", Lot_TrimEndSlash(gNetLotusappDir$), cmoOverwrite
  5121.                    
  5122.                    
  5123.                 END IF
  5124.  
  5125.           case "DATALENSPROGRAM" 
  5126.                 IF network$=gSTANDARD$ OR _
  5127.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5128.                    
  5129.                    CreateIniKeyValue gLotusIniPath$, "DataLens", "Program Path", gLotusappDir$+"datalens", cmoOverwrite
  5130.                    
  5131.                    
  5132.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5133.                    
  5134.                    CreateIniKeyValue gLotusIniPath$, "DataLens", "Program Path", gNetLotusappDir$+"datalens", cmoOverwrite
  5135.                    
  5136.                    
  5137.                 END IF
  5138.  
  5139.           case "DATALENSDATA" 
  5140.                 IF network$=gSTANDARD$ OR _
  5141.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5142.                    
  5143.                    CreateIniKeyValue gLotusIniPath$, "DataLens", "Data Path", gLotusappDir$+"datalens", cmoOverwrite
  5144.                    
  5145.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5146.                    
  5147.                    CreateIniKeyValue gLotusIniPath$, "DataLens", "Data Path", gLotusappDir$+"datalens", cmoOverwrite
  5148.                    
  5149.                 END IF
  5150.  
  5151.          case "DIALOGEDITORPROGRAM"
  5152.                IF network$=gSTANDARD$ OR _
  5153.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5154.                    
  5155.                    CreateIniKeyValue gLotusIniPath$, "Dialog Editor", "Program Path", gLotusappDir$+"dialoged", cmoOverwrite
  5156.                    
  5157.                    
  5158.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5159.                    
  5160.                    CreateIniKeyValue gLotusIniPath$, "Dialog Editor", "Program Path", _
  5161.                             gNetLotusappDir$+"dialoged", cmoOverwrite
  5162.                    
  5163.                    
  5164.                 END IF
  5165.  
  5166.           case "DESKTOP"
  5167.                IF network$=gSTANDARD$ OR _
  5168.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5169.                    
  5170.                    
  5171.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5172.                    
  5173.                    
  5174.                 END IF
  5175.  
  5176.           case "DOCUMENTFILEFILTERSPROGRAM" 
  5177.                IF network$=gSTANDARD$ OR _
  5178.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5179.                    
  5180.                    CreateIniKeyValue gLotusIniPath$, "Document File Filters", "Program Path", _
  5181.                         gLotusappDir$+"excelflt\excelflt.flt", cmoOverwrite
  5182.                    
  5183.                    
  5184.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5185.                    
  5186.                    CreateIniKeyValue gLotusIniPath$, "Document File Filters", "Program Path", _
  5187.                         gNetLotusappDir$+"excelflt\excelflt.flt", cmoOverwrite
  5188.                    
  5189.                    
  5190.                 END IF
  5191.  
  5192.           case "GRAPHICSFILEFILTERSPROGRAM" 
  5193.                IF network$=gSTANDARD$ OR _
  5194.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5195.                   
  5196.                    CreateIniKeyValue gLotusIniPath$, "Graphics File Filters", "Program Path", _
  5197.                         gLotusappDir$+"filters\isgdi9.dll",cmoOverwrite
  5198.                    
  5199.                    
  5200.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5201.                   
  5202.                    CreateIniKeyValue gLotusIniPath$, "Graphics File Filters", "Program Path", _
  5203.                          gNetLotusappDir$+"filters\isgdi9.dll",cmoOverwrite
  5204.                    
  5205.                    
  5206.                 END IF
  5207.  
  5208.  
  5209.           case "GRAPHICSFILEFILTERSFILTER" 
  5210.                 IF network$=gSTANDARD$ OR _
  5211.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5212.                    IF FromPreConfigFlag% = 1 THEN
  5213.                       retstr$ = Lot_LocalGetPathFromIni(gLotusIniPath$, "Graphics File Filters", "Filter Path",NULLSTROK,INVALIDSTROK)
  5214.                       
  5215.                       IF retstr$<>"" THEN
  5216.                          CreateIniKeyValue gLotusIniPath$, "Graphics File Filters", "Filter Path", _
  5217.                                gLotusappDir$+"gphflt", cmoOverwrite
  5218.                          
  5219.                          
  5220.                       END IF
  5221.                    ELSE
  5222.                       
  5223.                       CreateIniKeyValue gLotusIniPath$, "Graphics File Filters", "Filter Path", _
  5224.                             gLotusappDir$+"gphflt", cmoOverwrite
  5225.                       
  5226.                       
  5227.                    END IF
  5228.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5229.                    
  5230.                    CreateIniKeyValue gLotusIniPath$, "Graphics File Filters", "Filter Path", _
  5231.                         gLotusappDir$+"gphflt", cmoOverwrite
  5232.                    
  5233.                    
  5234.                 END IF
  5235.  
  5236.  
  5237.           case "ICONPALETTEPROGRAM" 
  5238.                 IF network$=gSTANDARD$ OR _
  5239.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5240.                    
  5241.                    CreateIniKeyValue gLotusIniPath$, "Icon Palette", "Program Path", Lot_TrimEndSlash(gLotusappDir$), cmoOverwrite
  5242.                    
  5243.                    
  5244.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5245.                    
  5246.                    CreateIniKeyValue gLotusIniPath$, "Icon Palette", "Program Path", Lot_TrimEndSlash(gNetLotusappDir$), cmoOverwrite
  5247.                    
  5248.                    
  5249.                 END IF
  5250.  
  5251.           case "INFOBOXPROGRAM" 
  5252.                 IF network$=gSTANDARD$ OR _
  5253.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5254.                    
  5255.                    CreateIniKeyValue gLotusIniPath$, "InfoBox", "Program Path", Lot_TrimEndSlash(gLotusappDir$), cmoOverwrite
  5256.                    
  5257.                    
  5258.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5259.                    
  5260.                    CreateIniKeyValue gLotusIniPath$, "InfoBox", "Program Path", Lot_TrimEndSlash(gNetLotusappDir$), cmoOverwrite
  5261.                    
  5262.                    
  5263.                 END IF
  5264.  
  5265.           case "SCRIPTPROGRAM" 
  5266.                 IF network$=gSTANDARD$ OR _
  5267.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5268.                    
  5269.                    CreateIniKeyValue gLotusIniPath$, "LotusScript", "Program Path", gLotusappDir$+"script", cmoOverwrite
  5270.                    
  5271.                    
  5272.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5273.                    
  5274.                    CreateIniKeyValue gLotusIniPath$, "LotusScript", "Program Path", gNetLotusappDir$+"script", cmoOverwrite
  5275.                    
  5276.                    
  5277.                 END IF
  5278.  
  5279.           case "MULTIMEDIAPROGRAM" 
  5280.                 IF network$=gSTANDARD$ OR _
  5281.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5282.                    
  5283.                    CreateIniKeyValue gLotusIniPath$, "Multimedia", "Program Path", gLotusappDir$+"multimed", cmoOverwrite
  5284.                    
  5285.            
  5286.                    
  5287.                    
  5288.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5289.                    
  5290.                    CreateIniKeyValue gLotusIniPath$, "Multimedia", "Program Path", gNetLotusappDir$+"multimed", cmoOverwrite
  5291.                    
  5292.            
  5293.                    
  5294.                    
  5295.                 END IF
  5296.  
  5297.                 IF network$=gSTANDARD$ OR network$=gNODE$ THEN
  5298.                     
  5299.                    notused%=Lot_WriteOLERegForShare(Entry$,FromPreConfigFlag%) 
  5300.                 END IF
  5301.  
  5302.           case "MULTIMEDIADATA" 
  5303.                 IF network$=gSTANDARD$ OR _
  5304.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5305.                    
  5306.                    CreateIniKeyValue gLotusIniPath$, "Multimedia", "Data Path", gLotusappDir$+"multimed", cmoOverwrite
  5307.                    
  5308.                    
  5309.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5310.                    
  5311.                    CreateIniKeyValue gLotusIniPath$, "Multimedia", "Data Path", gNetLotusappDir$+"multimed", cmoOverwrite
  5312.                    
  5313.                    
  5314.                 END IF
  5315.  
  5316.           case "SPELLCHECKERPROGRAM" 
  5317.                 IF network$=gSTANDARD$ OR _
  5318.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5319.                   
  5320.                    CreateIniKeyValue gLotusIniPath$, "Spell Checker", "Program Path", gLotusappDir$+"spell", cmoOverwrite
  5321.                    
  5322.                    
  5323.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5324.                    
  5325.                    CreateIniKeyValue gLotusIniPath$, "Spell Checker", "Program Path", gNetLotusappDir$+"spell", cmoOverwrite
  5326.                    
  5327.                    
  5328.                 END IF
  5329.  
  5330.           case "SPELLCHECKERDATA" 
  5331.                 IF network$=gSTANDARD$ OR _
  5332.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5333.                    
  5334.                    CreateIniKeyValue gLotusIniPath$, "Spell Checker", "Data Path", gLotusappDir$+"spell", cmoOverwrite
  5335.                    
  5336.                    
  5337.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5338.                    
  5339.                    CreateIniKeyValue gLotusIniPath$, "Spell Checker", "Data Path", gNetLotusappDir$+"spell", cmoOverwrite
  5340.                    
  5341.                    
  5342.                 END IF
  5343.  
  5344.           case "SPELLCHECKERUSER" 
  5345.                 IF FromPreConfigFlag% = 0 THEN
  5346.                    
  5347.                    retstr$ = Lot_LocalGetPathFromIni(gLotusIniPath$, "Spell Checker", "User Path",NULLSTROK,INVALIDSTROK)
  5348.  
  5349.                    IF retstr$="" THEN
  5350.                        CreateDir gLotusappDir$+"spell", cmoNone
  5351.                        CreateIniKeyValue gLotusIniPath$, "Spell Checker", "User Path", gLotusappDir$+"spell", cmoOverwrite
  5352.                    END IF
  5353.                 ELSE
  5354.                    
  5355.                    CreateDir gLotusappDir$+"spell", cmoNone
  5356.                    CreateIniKeyValue gLotusIniPath$, "Spell Checker", "User Path", gLotusappDir$+"spell", cmoOverwrite
  5357.                 END IF
  5358.  
  5359.           case "STATUSBARPROGRAM" 
  5360.                 IF network$=gSTANDARD$ OR _
  5361.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5362.                    
  5363.                    CreateIniKeyValue gLotusIniPath$, "Status Bar", "Program Path", Lot_TrimEndSlash(gLotusappDir$), cmoOverwrite
  5364.                    
  5365.                    
  5366.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5367.                    
  5368.                    CreateIniKeyValue gLotusIniPath$, "Status Bar", "Program Path", Lot_TrimEndSlash(gNetLotusappDir$), cmoOverwrite
  5369.                    
  5370.                    
  5371.                 END IF
  5372.  
  5373.  
  5374.           case "TOOLSPROGRAM" 
  5375.                 IF network$=gSTANDARD$ OR _
  5376.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5377.                    
  5378.                    CreateIniKeyValue gLotusIniPath$, "TOOLS", "Program Path", gLotusappDir$+"tools", cmoOverwrite
  5379.                    
  5380.                    
  5381.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5382.                    
  5383.                    CreateIniKeyValue gLotusIniPath$, "TOOLS", "Program Path", gNetLotusappDir$+"tools", cmoOverwrite
  5384.                    
  5385.                    
  5386.                 END IF
  5387.  
  5388.           case "TOOLSDATA" 
  5389.                 IF network$=gSTANDARD$ OR _
  5390.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5391.                    
  5392.                    CreateIniKeyValue gLotusIniPath$, "TOOLS", "Data Path", Lot_TrimEndSlash(GetSymbolValue(SYM_WINDIR$)), cmoOverwrite
  5393.                    
  5394.                    
  5395.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5396.                    
  5397.                    CreateIniKeyValue gLotusIniPath$, "TOOLS", "Data Path", Lot_TrimEndSlash(GetSymbolValue(SYM_WINDIR$)), cmoOverwrite
  5398.                    
  5399.                    
  5400.                 END IF
  5401.  
  5402.           case "USERNAMESERVICESPROGRAM" 
  5403.                 IF network$=gSTANDARD$ OR _
  5404.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5405.                    
  5406.                    CreateIniKeyValue gLotusIniPath$, "User Name Service", "Program Path", gLotusappDir$+"uns", cmoOverwrite
  5407.                    
  5408.                    
  5409.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5410.                    
  5411.                    CreateIniKeyValue gLotusIniPath$, "User Name Service", "Program Path", gNetLotusappDir$+"uns", cmoOverwrite
  5412.                    
  5413.                    
  5414.                 END IF
  5415.  
  5416.                 
  5417.                 retstr$ = Lot_LocalGetPathFromIni(gLotusIniPath$, "User Name Service", "AliasUser",NULLSTROK,INVALIDSTROK)
  5418.                 IF retstr$="" THEN
  5419.                    CreateIniKeyValue gLotusIniPath$, "User Name Service", "AliasUser", GetSymbolValue(SYM_NAME$), cmoOverwrite
  5420.                 END IF
  5421.  
  5422.           case "FILTERS" 
  5423.                 IF network$=gSTANDARD$ OR _
  5424.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5425.                    
  5426.                    
  5427.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5428.                    
  5429.                    
  5430.                  END IF
  5431.  
  5432.           case "EXCELFLT" 
  5433.                 IF network$=gSTANDARD$ OR _
  5434.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5435.                    
  5436.                    
  5437.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5438.                    
  5439.                    
  5440.                  END IF
  5441.  
  5442.           case "HELPPROGRAM" 
  5443.                 IF network$=gSTANDARD$ OR _
  5444.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5445.                    
  5446.                    CreateIniKeyValue gLotusIniPath$, "Help", "Program Path", gLotusappDir$+"help", cmoOverwrite
  5447.                    
  5448.                    
  5449.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5450.                    
  5451.                    CreateIniKeyValue gLotusIniPath$, "Help", "Program Path", gNetLotusappDir$+"help", cmoOverwrite
  5452.                    
  5453.                    
  5454.                 END IF
  5455.  
  5456.           case "HELPDATA" 
  5457.                 IF network$=gSTANDARD$ OR _
  5458.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5459.                    
  5460.                    CreateIniKeyValue gLotusIniPath$, "Help", "Data Path", gLotusappDir$+"help", cmoOverwrite
  5461.                    
  5462.                    
  5463.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5464.                    
  5465.                    CreateIniKeyValue gLotusIniPath$, "Help", "Data Path", gNetLotusappDir$+"help", cmoOverwrite
  5466.                    
  5467.                    
  5468.                 END IF
  5469.  
  5470.          case "LOTUSSCRIPTPROGRAM"
  5471.                IF network$=gSTANDARD$ OR _
  5472.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5473.                    
  5474.                    CreateIniKeyValue gLotusIniPath$, "LotusScript", "Program Path", gLotusappDir$+"script", cmoOverwrite
  5475.                    
  5476.                    
  5477.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5478.                    
  5479.                    CreateIniKeyValue gLotusIniPath$, "LotusScript", "Program Path", _
  5480.                             gNetLotusappDir$+"script", cmoOverwrite
  5481.                    
  5482.                    
  5483.                 END IF
  5484.  
  5485.          case "LOTUSDIALOGSPROGRAM"
  5486.                IF network$=gSTANDARD$ OR _
  5487.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5488.                    
  5489.                    CreateIniKeyValue gLotusIniPath$, "Lotus Dialogs", "Program Path", Lot_TrimEndSlash(gLotusappDir$), cmoOverwrite
  5490.                    
  5491.                    
  5492.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5493.                    
  5494.                    CreateIniKeyValue gLotusIniPath$, "Lotus Dialogs", "Program Path", _
  5495.                             Lot_TrimEndSlash(gNetLotusappDir$), cmoOverwrite
  5496.                    
  5497.                    
  5498.                 END IF
  5499.  
  5500.          case "MAILENABLINGPROGRAM"
  5501.                IF network$=gSTANDARD$ OR _
  5502.                    (network$=gNODE$ AND TheEntryWasRefreshed=1) THEN
  5503.                    
  5504.                    CreateIniKeyValue gLotusIniPath$, "Mail Enabling", "Program Path", Lot_TrimEndSlash(gLotusappDir$), cmoOverwrite
  5505.                    
  5506.                    
  5507.                 ELSEIF network$=gNODE$ AND TheEntryWasRefreshed=0 THEN
  5508.                    
  5509.                    CreateIniKeyValue gLotusIniPath$, "Mail Enabling", "Program Path", _
  5510.                             Lot_TrimEndSlash(gNetLotusappDir$), cmoOverwrite
  5511.                    
  5512.                    
  5513.                 END IF
  5514.  
  5515.  
  5516.            END SELECT
  5517.  
  5518.    
  5519.    
  5520.    retDataStr$ = Lot_LocalGetPathFromIni(gLotusIniPath$, "Spell Checker", "Data Path",NULLSTROK,INVALIDSTROK)
  5521.    retUserStr$ = Lot_LocalGetPathFromIni(gLotusIniPath$, "Spell Checker", "User Path",NULLSTROK,INVALIDSTROK)
  5522.  
  5523.    IF retDataStr$ <> "" AND retUserStr$ = "" THEN
  5524.       CreateIniKeyValue gLotusIniPath$, "Spell Checker", "User Path", gLotusappDir$+"spell", cmoOverwrite
  5525.       CreateDir gLotusappDir$+"spell", cmoNone
  5526.    END IF
  5527.  
  5528.    Lot_WriteEntry = SUCCESS
  5529. END FUNCTION
  5530.  
  5531.  
  5532. FUNCTION Lot_TheEntryWasRefreshed(Entry$) AS INTEGER
  5533.  
  5534.  
  5535.  
  5536.  
  5537.  
  5538.  
  5539.  
  5540.  
  5541.    DIM RefreshListLen%,EntryCount%,RefreshEntry$
  5542.  
  5543.    
  5544.    RefreshListLen% = GetListLength("REFRESHEDENTRIES")
  5545.    
  5546.  
  5547.    IF RefreshListLen%=0  THEN
  5548.       
  5549.       Lot_TheEntryWasRefreshed = 0
  5550.    ELSE
  5551.        FOR EntryCount%=1 TO RefreshListLen%
  5552.            RefreshEntry$ = GetListItem("REFRESHEDENTRIES",EntryCount%)
  5553.            IF RefreshEntry$=Entry$ THEN
  5554.                Lot_TheEntryWasRefreshed = 1
  5555.                Exit Function
  5556.            END IF
  5557.        Next
  5558.        Lot_TheEntryWasRefreshed = 0
  5559.    END IF
  5560.  
  5561. END FUNCTION
  5562.  
  5563.  
  5564.  
  5565. FUNCTION Lot_WriteOLERegForShare(Entry$,FromPreConfigFlag%) AS INTEGER
  5566.  
  5567.  
  5568.  
  5569.  
  5570.  
  5571.    DIM LotusAppDir$,NetLotusAppDir$,NetworkIns$
  5572.  
  5573.    
  5574.    
  5575.    LotusAppDir$ = GetSymbolValue(SYM_LOTUSAPPDIR$)
  5576.    NetLotusAppDir$ = GetSymbolValue(SYM_NETLOTUSAPP$)
  5577.    NetworkIns$ = GetSymbolValue(SYM_NETWORK$)
  5578.  
  5579.  
  5580.    SELECT CASE Entry$
  5581.  
  5582.      case "IVCPROGRAM"
  5583.      case "CONTAINERFILEPROGRAM" 
  5584.      case "DATALENSPROGRAM" 
  5585.      case "DATALENSDATA" 
  5586.      case "DIALOGEDITORPROGRAM"
  5587.      case "DESKTOP"
  5588.      case "DOCUMENTFILEFILTERSPROGRAM" 
  5589.       case "GRAMMARCHECKERPROGRAM" 
  5590.       case "GRAMMARCHECKERDATA" 
  5591.       case "GRAPHICSFILEFILTERSPROGRAM" 
  5592.       case "GRAPHICSFILEFILTERSFILTER" 
  5593.       case "HYPHENATIONPROGRAM" 
  5594.       case "HYPHENATIONDATA" 
  5595.       case "ICONPALETTEPROGRAM" 
  5596.       case "INFOBOXPROGRAM" 
  5597.       case "SCRIPTPROGRAM" 
  5598.       case "MULTIMEDIAPROGRAM" 
  5599.  
  5600.             
  5601.  
  5602.             
  5603.             
  5604.             
  5605.             IF  NetworkIns$ = gSTANDARD THEN
  5606.                IF  DoesFileExist(LotusAppDir$+"MULTIMED\LOTUSSND.EXE",femExists)=1 THEN
  5607.                   SetRegKeyValue LdString(SID_LOTUSSOUND_STR), LdString(SID_LOTUSSOUND_VAL)
  5608.                   SetRegKeyValue LdString(SID_LOTUSSOUND_SHELL_STR), LdString(SID_LOTUSSOUND_SHELL_VAL)
  5609.                   SetRegKeyValue LdString(SID_LOTUSSOUND_PROT_V2_STR), LdString(SID_LOTUSSOUND_PROT_V2_VAL)
  5610.                   SetRegKeyValue LdString(SID_LOTUSSOUND_PROT_V1_STR), LdString(SID_LOTUSSOUND_PROT_V1_VAL)
  5611.                   SetRegKeyValue LdString(SID_LOTUSSOUND_PROT_V0_STR), LdString(SID_LOTUSSOUND_PROT_V0_VAL)
  5612.                   SetRegKeyValue LdString(SID_LOTUSSOUND_PROT_SRV_STR), LotusAppDir$+LdString(SID_LOTUSSOUND_PROT_SRV_VAL)
  5613.                END IF
  5614.             
  5615.             ELSEIF NetworkIns$ = gNODE THEN
  5616.                IF  DoesFileExist(NetLotusAppDir$+"MULTIMED\LOTUSSND.EXE",femExists)=1 THEN
  5617.                   SetRegKeyValue LdString(SID_LOTUSSOUND_STR), LdString(SID_LOTUSSOUND_VAL)
  5618.                   SetRegKeyValue LdString(SID_LOTUSSOUND_SHELL_STR), LdString(SID_LOTUSSOUND_SHELL_VAL)
  5619.                   SetRegKeyValue LdString(SID_LOTUSSOUND_PROT_V2_STR), LdString(SID_LOTUSSOUND_PROT_V2_VAL)
  5620.                   SetRegKeyValue LdString(SID_LOTUSSOUND_PROT_V1_STR), LdString(SID_LOTUSSOUND_PROT_V1_VAL)
  5621.                   SetRegKeyValue LdString(SID_LOTUSSOUND_PROT_V0_STR), LdString(SID_LOTUSSOUND_PROT_V0_VAL)
  5622.                   SetRegKeyValue LdString(SID_LOTUSSOUND_PROT_SRV_STR), NetLotusAppDir$+LdString(SID_LOTUSSOUND_PROT_SRV_VAL)
  5623.                ELSEIF  DoesFileExist(LotusAppDir$+"MULTIMED\LOTUSSND.EXE",femExists)=1 THEN
  5624.                   SetRegKeyValue LdString(SID_LOTUSSOUND_STR), LdString(SID_LOTUSSOUND_VAL)
  5625.                   SetRegKeyValue LdString(SID_LOTUSSOUND_SHELL_STR), LdString(SID_LOTUSSOUND_SHELL_VAL)
  5626.                   SetRegKeyValue LdString(SID_LOTUSSOUND_PROT_V2_STR), LdString(SID_LOTUSSOUND_PROT_V2_VAL)
  5627.                   SetRegKeyValue LdString(SID_LOTUSSOUND_PROT_V1_STR), LdString(SID_LOTUSSOUND_PROT_V1_VAL)
  5628.                   SetRegKeyValue LdString(SID_LOTUSSOUND_PROT_V0_STR), LdString(SID_LOTUSSOUND_PROT_V0_VAL)
  5629.                   SetRegKeyValue LdString(SID_LOTUSSOUND_PROT_SRV_STR), LotusAppDir$+LdString(SID_LOTUSSOUND_PROT_SRV_VAL)
  5630.                END IF
  5631.             END IF
  5632.             
  5633.             
  5634.             
  5635.             IF  NetworkIns$ = gSTANDARD THEN
  5636.                IF  DoesFileExist(LotusAppDir$+"MULTIMED\MEDMAN.EXE",femExists)=1 THEN
  5637.                   SetRegKeyValue LdString(SID_LOTUSMEDIA_STR), LdString(SID_LOTUSMEDIA_VAL)
  5638.                   SetRegKeyValue LdString(SID_LOTUSMEDIA_SHELL_STR), LotusAppDir$+"MULTIMED\"+LdString(SID_LOTUSMEDIA_SHELL_VAL)
  5639.                   SetRegKeyValue LdString(SID_LOTUSMEDIA_PROT_HDLR_STR),LotusAppDir$+LdString(SID_LOTUSMEDIA_PROT_HDLR_VAL)
  5640.                   SetRegKeyValue LdString(SID_LOTUSMEDIA_PROT_V1_STR), LdString(SID_LOTUSMEDIA_PROT_V1_VAL)
  5641.                   SetRegKeyValue LdString(SID_LOTUSMEDIA_PROT_V0_STR), LdString(SID_LOTUSMEDIA_PROT_V0_VAL)
  5642.                   SetRegKeyValue LdString(SID_LOTUSMEDIA_PROT_SRV_STR), LotusAppDir$+LdString(SID_LOTUSMEDIA_PROT_SRV_VAL)
  5643.                END IF
  5644.             
  5645.             ELSEIF NetworkIns$ = gNODE THEN
  5646.                IF  DoesFileExist(NetLotusAppDir$+"MULTIMED\MEDMAN.EXE",femExists)=1 THEN
  5647.                   SetRegKeyValue LdString(SID_LOTUSMEDIA_STR), LdString(SID_LOTUSMEDIA_VAL)
  5648.                   SetRegKeyValue LdString(SID_LOTUSMEDIA_SHELL_STR), NetLotusAppDir$+"MULTIMED\"+LdString(SID_LOTUSMEDIA_SHELL_VAL)
  5649.                   SetRegKeyValue LdString(SID_LOTUSMEDIA_PROT_HDLR_STR),NetLotusAppDir$+LdString(SID_LOTUSMEDIA_PROT_HDLR_VAL)
  5650.                   SetRegKeyValue LdString(SID_LOTUSMEDIA_PROT_V1_STR), LdString(SID_LOTUSMEDIA_PROT_V1_VAL)
  5651.                   SetRegKeyValue LdString(SID_LOTUSMEDIA_PROT_V0_STR), LdString(SID_LOTUSMEDIA_PROT_V0_VAL)
  5652.                   SetRegKeyValue LdString(SID_LOTUSMEDIA_PROT_SRV_STR), NetLotusAppDir$+LdString(SID_LOTUSMEDIA_PROT_SRV_VAL)
  5653.                ELSEIF DoesFileExist(LotusAppDir$+"MULTIMED\MEDMAN.EXE",femExists)=1 THEN
  5654.                   SetRegKeyValue LdString(SID_LOTUSMEDIA_STR), LdString(SID_LOTUSMEDIA_VAL)
  5655.                   SetRegKeyValue LdString(SID_LOTUSMEDIA_SHELL_STR), LotusAppDir$+"MULTIMED\"+LdString(SID_LOTUSMEDIA_SHELL_VAL)
  5656.                   SetRegKeyValue LdString(SID_LOTUSMEDIA_PROT_HDLR_STR),LotusAppDir$+LdString(SID_LOTUSMEDIA_PROT_HDLR_VAL)
  5657.                   SetRegKeyValue LdString(SID_LOTUSMEDIA_PROT_V1_STR), LdString(SID_LOTUSMEDIA_PROT_V1_VAL)
  5658.                   SetRegKeyValue LdString(SID_LOTUSMEDIA_PROT_V0_STR), LdString(SID_LOTUSMEDIA_PROT_V0_VAL)
  5659.                   SetRegKeyValue LdString(SID_LOTUSMEDIA_PROT_SRV_STR), LotusAppDir$+LdString(SID_LOTUSMEDIA_PROT_SRV_VAL)
  5660.                END IF
  5661.             END IF
  5662.             
  5663.             
  5664.             
  5665.             IF  NetworkIns$ = gSTANDARD THEN
  5666.                 IF  DoesFileExist(LotusAppDir$+"MULTIMED\ANNOTATE.EXE",femExists)=1 THEN
  5667.                    SetRegKeyValue LdString(SID_LOTANNOTE_STR), LdString(SID_LOTANNOTE_VAL)
  5668.                    SetRegKeyValue LdString(SID_LOTANNOTE_PROT_V0_STR), LdString(SID_LOTANNOTE_PROT_V0_VAL)
  5669.                    SetRegKeyValue LdString(SID_LOTANNOTE_PROT_SRV_STR), LotusAppDir$+LdString(SID_LOTANNOTE_PROT_SRV_VAL)
  5670.                 END IF
  5671.             
  5672.             ELSEIF NetworkIns$ = gNODE THEN
  5673.                 IF  DoesFileExist(NetLotusAppDir$+"MULTIMED\ANNOTATE.EXE",femExists)=1 THEN
  5674.                    SetRegKeyValue LdString(SID_LOTANNOTE_STR), LdString(SID_LOTANNOTE_VAL)
  5675.                    SetRegKeyValue LdString(SID_LOTANNOTE_PROT_V0_STR), LdString(SID_LOTANNOTE_PROT_V0_VAL)
  5676.                    SetRegKeyValue LdString(SID_LOTANNOTE_PROT_SRV_STR), NetLotusAppDir$+LdString(SID_LOTANNOTE_PROT_SRV_VAL)
  5677.                 ELSEIF  DoesFileExist(LotusAppDir$+"MULTIMED\ANNOTATE.EXE",femExists)=1 THEN
  5678.                    SetRegKeyValue LdString(SID_LOTANNOTE_STR), LdString(SID_LOTANNOTE_VAL)
  5679.                    SetRegKeyValue LdString(SID_LOTANNOTE_PROT_V0_STR), LdString(SID_LOTANNOTE_PROT_V0_VAL)
  5680.                    SetRegKeyValue LdString(SID_LOTANNOTE_PROT_SRV_STR), LotusAppDir$+LdString(SID_LOTANNOTE_PROT_SRV_VAL)
  5681.                 END IF
  5682.             END IF
  5683.       case "MULTIMEDIADATA" 
  5684.       case "SPELLCHECKERPROGRAM" 
  5685.       case "SPELLCHECKERDATA" 
  5686.       case "SPELLCHECKERUSER" 
  5687.       case "STATUSBARPROGRAM" 
  5688.       case "THESAURUSPROGRAM" 
  5689.       case "THESAURUSDATA" 
  5690.       case "TOOLSPROGRAM" 
  5691.       case "TOOLSDATA" 
  5692.       case "USERNAMESERVICESPROGRAM" 
  5693.       case "FILTERS" 
  5694.       case "EXCELFLT" 
  5695.       case "HELPPROGRAM" 
  5696.       case "HELPDATA" 
  5697.       case "LOTUSSCRIPTPROGRAM" 
  5698.       case "LOTUSDIALOGSPROGRAM" 
  5699.       case "MAILENABLINGPROGRAM" 
  5700.  
  5701.    END SELECT
  5702.    Lot_WriteOLERegForShare = SUCCESS
  5703. END FUNCTION
  5704.  
  5705.  
  5706. FUNCTION Lot_GetLotusiniPath(gLotusIniPath$) AS INTEGER
  5707.  
  5708.  
  5709.  
  5710.  
  5711.  
  5712.  
  5713.    
  5714.    gLotusIniPath$ = MakePath( GetWindowsDir(), gLOTUSINI$)
  5715.  
  5716.    
  5717.    
  5718.  
  5719.    Lot_GetLotusiniPath = SUCCESS
  5720.  
  5721. END FUNCTION
  5722.  
  5723.  
  5724. FUNCTION Lot_GetLotusappiniPath(gLotusappIniPath$, gLotusappDir$, gLotusBcfDir$) AS INTEGER
  5725.  
  5726.  
  5727.  
  5728.  
  5729.  
  5730.  
  5731.    
  5732.     gLotusappIniPath$=gLotusappDir$+"lotusapp.ini"
  5733.    
  5734.    gLotusBcfDir$ = gLotusappDir$+"datalens\"+ gLOTUSBCF$
  5735.  
  5736.  
  5737.    Lot_GetLotusappiniPath = SUCCESS
  5738.  
  5739. END FUNCTION
  5740.  
  5741.  
  5742.  
  5743. SUB CONSOLIDATELOTUSAPPDIRCB (hDlg%, CtrlId%, Classes$, Inst%)
  5744.  
  5745.  
  5746.  
  5747.  
  5748.  
  5749. STATIC gDriveIndex%, dirChanged%
  5750. DIM display$,dirToChange$,drive$,yesno%
  5751.  
  5752.   SELECT CASE Classes$
  5753.     case "__DLGINIT"
  5754.        dirChanged%=FALSE
  5755.        AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT2)      
  5756.        AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT3)      
  5757.        AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT4)
  5758.        AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT5)
  5759.        AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
  5760.  
  5761.        display$ ="("+LdString(SID_SPACENEEDED)+STR$(gConsolidateSize&\1024)+gStrK$+")"
  5762.        SetListItem "IDC_TEXT", 6, display$
  5763.        AddListItem SYM_UPDATELIST$, "IDC_TEXT6"
  5764.  
  5765.        Lot_GetDriveFreeSpaceList "IDC_COMBO1"
  5766.        AddListItem "UPDATELIST","IDC_COMBO1"
  5767.        
  5768.        dirToChange$ = LCASE$(GetSymbolValue(SYM_LOTUSAPPDIR$))
  5769.        gDriveIndex%=SelectDriveCombo ("IDC_COMBO1",dirToChange$)
  5770.  
  5771.        SetListItem "IDC_EDIT", 1, Lot_ExtractDirectory(dirToChange$)
  5772.        AddListItem SYM_UPDATELIST$, "IDC_EDIT1"
  5773.  
  5774.  
  5775.    case "IDC_COMBO1"
  5776.        dirChanged%=TRUE
  5777.        gDriveIndex% = Inst%
  5778.  
  5779.    case "IDC_EDIT"
  5780.       dirChanged% = TRUE
  5781.  
  5782.    case "IDC_OK"
  5783.          dirToChange$ = LCASE$(MID$(GetListItem("IDC_COMBO1",gDriveIndex%), 1, 2)+ _
  5784.                         GetListItem("IDC_EDIT", 1))
  5785.          
  5786.             IF ValidatePath(dirToChange$) = FALSE THEN
  5787.                SetListItem "__LASTSTATUS", 1, "Q"
  5788.                GOTO EXIT_CONSOLIDATELOTUSAPPDIR
  5789.             ELSE
  5790.                
  5791.                IF GetFreeSpaceForDrive(MID$(dirToChange$,1,1)) < gConsolidateSize& THEN
  5792.                   ShowPathError SID_DRV_NOTENOUGHSPACE, 0, dirToChange$
  5793.                   SetListItem "__LASTSTATUS", 1, "Q"
  5794.                   GOTO EXIT_CONSOLIDATELOTUSAPPDIR
  5795.                END IF
  5796.                
  5797.                IF dirToChange$ = GetSymbolValue(SYM_EXISTINGNETCOMMDIR$) THEN
  5798.                   ShowPathError SID_ERR_SHARE_NETEQLOCAL1, SID_ERR_SHARE_NETEQLOCAL2, dirToChange$
  5799.                   SetListItem "__LASTSTATUS", 1, "Q"
  5800.                   GOTO EXIT_CONSOLIDATELOTUSAPPDIR
  5801.                END IF
  5802.              END IF
  5803.          
  5804.          
  5805.          yesno% = DoMsgBox(LdString(SID_SHAREDCONFIRMATION1) + "     " + dirToChange$ + _
  5806.             LdString(SID_SHAREDCONFIRMATION2),LdString(SID_SHAREDCONFIRMATION0), _
  5807.             MB_YESNO)
  5808.          If yesno% = 7 Then 
  5809.             SetListItem "__LASTSTATUS", 1, "Q"
  5810.             GOTO EXIT_CONSOLIDATELOTUSAPPDIR
  5811.          End if
  5812.  
  5813.         
  5814.         SetSymbolValue "SYM_MOVE", "1"
  5815.         SetSymbolValue "SYM_COPY", "0"
  5816.         
  5817.         
  5818.         SetSymbolValue SYM_LOTUSAPPDIR$, dirToChange$
  5819.         SetSymbolValue SYM_LOTUSAPPEXISTS$,"1"
  5820.         CreateDir dirToChange$, cmoNone
  5821.         Lot_RefreshDestination(SYM_LOTUSAPPDIR$)
  5822.         DL_SetNotesDataPath
  5823.         DL_SetOraclePath
  5824.         GOTO EXIT_CONSOLIDATELOTUSAPPDIR
  5825.  
  5826.    case "IDC_CONTINUE"
  5827.          
  5828.          dirToChange$ = LCASE$(MID$(GetListItem("IDC_COMBO1",gDriveIndex%), 1, 2)+ _
  5829.                       GetListItem("IDC_EDIT", 1))
  5830.          
  5831.             IF ValidatePath(dirToChange$) = FALSE THEN
  5832.                SetListItem "__LASTSTATUS", 1, "Q"
  5833.             ELSE
  5834.                
  5835.                IF GetFreeSpaceForDrive(MID$(dirToChange$,1,1)) < gConsolidateSize& THEN
  5836.                   ShowPathError SID_DRV_NOTENOUGHSPACE, 0, dirToChange$
  5837.                   SetListItem "__LASTSTATUS", 1, "Q"
  5838.                   GOTO EXIT_CONSOLIDATELOTUSAPPDIR
  5839.                END IF
  5840.                
  5841.                IF dirToChange$ = GetSymbolValue(SYM_EXISTINGNETCOMMDIR$) THEN
  5842.                   ShowPathError SID_ERR_SHARE_NETEQLOCAL1, SID_ERR_SHARE_NETEQLOCAL2, dirToChange$
  5843.                   SetListItem "__LASTSTATUS", 1, "Q"
  5844.                   GOTO EXIT_CONSOLIDATELOTUSAPPDIR
  5845.                END IF
  5846.             END IF
  5847.          
  5848.          
  5849.          yesno% = DoMsgBox(LdString(SID_SHAREDCONFIRMATION1) + "     " + dirToChange$ + _
  5850.             LdString(SID_SHAREDCONFIRMATION2),LdString(SID_SHAREDCONFIRMATION0), _
  5851.             MB_YESNO)
  5852.  
  5853.          If yesno% = 7 Then 
  5854.             SetListItem "__LASTSTATUS", 1, "Q"
  5855.             GOTO EXIT_CONSOLIDATELOTUSAPPDIR
  5856.          End if
  5857.  
  5858.          
  5859.          SetSymbolValue "SYM_MOVE", "0"
  5860.          SetSymbolValue "SYM_COPY", "1"
  5861.  
  5862.          SetSymbolValue SYM_LOTUSAPPDIR$, dirToChange$
  5863.          SetSymbolValue SYM_LOTUSAPPEXISTS$,"1"
  5864.          CreateDir dirToChange$, cmoNone
  5865.          Lot_RefreshDestination(SYM_LOTUSAPPDIR$)
  5866.          DL_SetNotesDataPath
  5867.          DL_SetOraclePath
  5868.  
  5869.  
  5870.   END SELECT    
  5871. EXIT_CONSOLIDATELOTUSAPPDIR:
  5872.  
  5873. END SUB
  5874.  
  5875.  
  5876. SUB CONSOLIDATEMOVECOPYCB (hDlg%, CtrlId%, Classes$, Inst%)
  5877.  
  5878.  
  5879.  
  5880.  
  5881.  
  5882. STATIC gDriveIndex%, dirChanged%
  5883. DIM display$,dirToChange$,drive$,yesno%
  5884.  
  5885.   SELECT CASE Classes$
  5886.     case "__DLGINIT"
  5887.        dirChanged%=FALSE
  5888.        AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT2)      
  5889.        AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT3)      
  5890.        AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT4)
  5891.        AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT5)
  5892.        AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
  5893.  
  5894.        display$ ="("+LdString(SID_SPACENEEDED)+STR$(gConsolidateSize&\1024)+gStrK$+")"
  5895.        SetListItem "IDC_TEXT", 6, display$
  5896.        AddListItem SYM_UPDATELIST$, "IDC_TEXT6"
  5897.  
  5898.  
  5899.     case "IDC_OK"
  5900.          
  5901.          
  5902.          SetSymbolValue "SYM_MOVE", "1"
  5903.          SetSymbolValue "SYM_COPY", "0"
  5904.          GOTO EXIT_CONSOLIDATEMOVECOPY
  5905.  
  5906.     case "IDC_CONTINUE"
  5907.           
  5908.           
  5909.          SetSymbolValue "SYM_MOVE", "0"
  5910.          SetSymbolValue "SYM_COPY", "1"
  5911.          GOTO EXIT_CONSOLIDATEMOVECOPY
  5912.  
  5913.   END SELECT    
  5914. EXIT_CONSOLIDATEMOVECOPY:
  5915.  
  5916. END SUB
  5917.  
  5918.  
  5919.  
  5920. SUB ISTHISNETLOTUSAPPCB (hDlg%, CtrlId%, Classes$, Inst%)
  5921.  
  5922.  
  5923.  
  5924.  
  5925.  
  5926. STATIC gDriveIndex%, dirChanged%, ExistingCommonDir$
  5927. DIM display$,dirToChange$,drive$,yesno%
  5928.  
  5929.   SELECT CASE Classes$
  5930.     case "__DLGINIT"
  5931.        ExistingCommonDir$ = Lot_LocalGetPathFromIni(gLotusIniPath$,"Lotus Applications", "Common Directory",NULLSTROK,INVALIDSTRERR)
  5932.        SetListItem "IDC_TEXT", 3, ExistingCommonDir$
  5933.        AddListItem SYM_UPDATELIST$, "IDC_TEXT3"
  5934.        AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT2)      
  5935.        AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT4)
  5936.        AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT5)
  5937.        AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT6)
  5938.        AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT7)
  5939.        AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT8)
  5940.        AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT9)
  5941.        AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT10)
  5942.        AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
  5943.  
  5944.  
  5945.     case "IDC_CONTINUE"
  5946.          
  5947.          
  5948.          GOTO EXIT_ISTHISNETLOTUSAPP
  5949.  
  5950.     case "IDC_OK"
  5951.           
  5952.          
  5953.           CreateIniKeyValue gLotusIniPath$, "Lotus Applications", "Net Common Directory", Lot_TrimEndSlash(ExistingCommonDir$), cmoOverwrite
  5954.           RemoveIniKey gLotusIniPath$, "Lotus Applications", "Common Directory", cmoVital
  5955.           GOTO EXIT_ISTHISNETLOTUSAPP
  5956.  
  5957.   END SELECT    
  5958. EXIT_ISTHISNETLOTUSAPP:
  5959.  
  5960. END SUB
  5961.  
  5962.  
  5963.  
  5964.  
  5965. SUB SQLSERVERNAMECB (hDlg%, CtrlId%, Classes$, Inst%)
  5966.  
  5967.  
  5968.  
  5969.  
  5970.  
  5971.   DIM tempbuf$
  5972.  
  5973.   SELECT CASE Classes$
  5974.     case "__DLGINIT"
  5975.           AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT1)
  5976.           AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
  5977.  
  5978.           tempbuf$ = GetSymbolValue (SYM_SQLSERVERNAME$)
  5979.           SetListItem "IDC_EDIT",1,tempbuf$
  5980.           AddListItem "UPDATELIST","IDC_EDIT1"
  5981.       
  5982.     case "IDC_OK"
  5983.       IF LEN( GetListItem ("IDC_EDIT", 1)) > 0 THEN
  5984.          SetSymbolValue SYM_SQLSERVERNAME$, GetListItem ("IDC_EDIT", 1)
  5985.       END IF
  5986.  
  5987.     END SELECT    
  5988. END SUB
  5989.  
  5990.  
  5991. SUB PARADOXNETWORKINFOCB (hDlg%, CtrlId%, Classes$, Inst%)
  5992.  
  5993.  
  5994.  
  5995.  
  5996.  
  5997.   DIM tempbuf$,buttonsetting$, notused%
  5998.  
  5999.   SELECT CASE Classes$
  6000.     case "__DLGINIT"
  6001.          AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT2)
  6002.          AddListItem SYM_NORMALFONT$, STR$(IDC_TEXT3)
  6003.          AddListItem SYM_UPDATELIST$, SYM_NORMALFONT$
  6004.  
  6005.          tempbuf$ = GetSymbolValue (SYM_PARADOXNETWORKINFO$)
  6006.          If tempbuf$ = "" Then
  6007.             SetListItem "IDC_B", 1, "F"
  6008.             SetListItem "IDC_B", 2, "F"
  6009.  
  6010.             notused% = EnableWindow(GetDlgItem(hDlg%,IDC_GROUP1),0)
  6011.             notused% = EnableWindow(GetDlgItem(hDlg%,IDC_B2),0)
  6012.             notused% = EnableWindow(GetDlgItem(hDlg%,IDC_TEXT1),0)
  6013.             notused% = EnableWindow(GetDlgItem(hDlg%,IDC_EDIT1),0)
  6014.  
  6015.           else
  6016.              SetListItem "IDC_B", 1, "T"
  6017.              SetListItem "IDC_B", 2, "T"
  6018.              notused% = EnableWindow(GetDlgItem(hDlg%,IDC_GROUP1),1)
  6019.              notused% = EnableWindow(GetDlgItem(hDlg%,IDC_B2),1)
  6020.              notused% = EnableWindow(GetDlgItem(hDlg%,IDC_TEXT1),1)
  6021.              notused% = EnableWindow(GetDlgItem(hDlg%,IDC_EDIT1),1)
  6022.              SetListItem "IDC_EDIT",1,tempbuf$
  6023.           end if 
  6024.  
  6025.          AddListItem "UPDATELIST", "IDC_B1"
  6026.          AddListItem "UPDATELIST", "IDC_B2"
  6027.          AddListItem "UPDATELIST", "IDC_EDIT1"
  6028.  
  6029.     case "IDC_B"
  6030.         ButtonSetting$ = GetListItem ("IDC_B", 1)
  6031.         IF Inst%=1 THEN
  6032.            IF ButtonSetting$ = "T" THEN
  6033.               notused% = EnableWindow(GetDlgItem(hDlg%,IDC_GROUP1),1)
  6034.               notused% = EnableWindow(GetDlgItem(hDlg%,IDC_B2),1)
  6035.               notused% = EnableWindow(GetDlgItem(hDlg%,IDC_TEXT1),1)
  6036.               notused% = EnableWindow(GetDlgItem(hDlg%,IDC_EDIT1),1)
  6037.  
  6038.            ELSEIF ButtonSetting$ = "F" THEN
  6039.               SetListItem "IDC_B", 2, "F"
  6040.               SetListItem "IDC_EDIT",1, " "
  6041.               AddListItem "UPDATELIST", "IDC_B2"
  6042.               AddListItem "UPDATELIST", "IDC_EDIT1"
  6043.  
  6044.               notused% = EnableWindow(GetDlgItem(hDlg%,IDC_GROUP1),0)
  6045.               notused% = EnableWindow(GetDlgItem(hDlg%,IDC_B2),0)
  6046.               notused% = EnableWindow(GetDlgItem(hDlg%,IDC_TEXT1),0)
  6047.               notused% = EnableWindow(GetDlgItem(hDlg%,IDC_EDIT1),0)
  6048.  
  6049.             END IF
  6050.  
  6051.         ELSEIF Inst%=2 THEN
  6052.         END IF
  6053.  
  6054.     case "IDC_OK"
  6055.          IF LEN( GetListItem ("IDC_EDIT", 1)) > 0 AND _
  6056.             GetListItem ("IDC_B", 1) ="T" AND _
  6057.             GetListItem ("IDC_B", 2) ="T" THEN
  6058.             SetSymbolValue SYM_PARADOXNETWORKINFO$, GetListItem ("IDC_EDIT", 1)
  6059.          ELSEIF LEN( GetListItem ("IDC_EDIT", 1)) = 0 OR _
  6060.             GetListItem ("IDC_B", 1) ="F" OR _
  6061.             GetListItem ("IDC_B", 2) ="F" THEN
  6062.             SetSymbolValue SYM_PARADOXNETWORKINFO$, ""
  6063.          END IF
  6064.  
  6065.     END SELECT    
  6066. END SUB
  6067.  
  6068.  
  6069. FUNCTION Lot_WriteODBCINST() AS INTEGER
  6070.  
  6071.  
  6072.  
  6073.  
  6074.  
  6075.    DIM DL_DriverDesc$, DL_DriverPath$, DL_SetupPath$
  6076.    DIM ODBC20_SQLLvl$, ODBC20_APILvl$, ODBC20_FUsage$, ODBC20_FExtns$
  6077.    DIM ODBC20_DrvVer$, ODBC20_Connct$
  6078.    DIM DL_AdminPath$, DL_AdminSect$, DL_AdminKey$, DL_AdminVal$ 
  6079.    DIM TmpWinSysPath$, TmpWinPath$, TmpIniPath$
  6080.    DIM ODBCInstalled%
  6081.    DIM XLAT_Sect$, XLAT_Inst$, XLAT_KEY$, XLAT_Name$, XLAT_DLL$
  6082.    DIM XLAT_Setup$, XLAT_SetupKey$
  6083.    DIM notused%
  6084.    
  6085.    TmpWinPath$ = GetWindowsDir()
  6086.    TmpWinSysPath$ = GetSymbolValue(SYM_WINSYSDIR$)
  6087.    
  6088.    ODBCInstalled% = 0
  6089.  
  6090.    IF Lot_IsTheFeatureInstalled("SHRDBASEPRG") = 1 THEN
  6091.       DL_DriverDesc$ = LdString( SID_DATALENS_DBDESC )
  6092.       DL_DriverPath$ = TmpWinSysPath$ + LdString( SID_DATALENS_DBPATH )
  6093.       DL_SetupPath$ =  TmpWinSysPath$ + LdString( SID_DATALENS_DBSETUP )
  6094.       WriteODBCINST DL_DriverDesc$, DL_DriverPath$, DL_SetupPath$
  6095.       notused% = Lot_ModifyODBC()
  6096.       notused% = Lot_ModifyDataLensIni()
  6097.       ODBCInstalled% = 1
  6098.    END IF
  6099.  
  6100.    IF Lot_IsTheFeatureInstalled("SHRNOTESSQLPRG") = 1 THEN
  6101.       DL_DriverDesc$ = LdString( SID_DATALENS_NSQLDESC )
  6102.       DL_DriverPath$ = TmpWinSysPath$ + LdString( SID_DATALENS_NSQLPATH )
  6103.       DL_SetupPath$ =  TmpWinSysPath$ + LdString( SID_DATALENS_NSQLSETU )
  6104.       WriteODBCINST DL_DriverDesc$, DL_DriverPath$, DL_SetupPath$
  6105.       ODBCInstalled% = 1
  6106.    END IF
  6107.    
  6108.    
  6109.    IF Lot_IsTheFeatureInstalled("SHRODBCWKSPRG") = 1 THEN
  6110.       DL_DriverDesc$ = LdString( SID_ODBC_SSDESC )
  6111.       DL_DriverPath$ = TmpWinSysPath$ + LdString( SID_ODBC_SSPATH )
  6112.       DL_SetupPath$ =  TmpWinSysPath$ + LdString( SID_ODBC_SSSETUP )
  6113.       WriteODBCINST DL_DriverDesc$, DL_DriverPath$, DL_SetupPath$
  6114.       ODBCInstalled% = 1
  6115.    END IF
  6116.  
  6117.    
  6118.    IF Lot_IsTheFeatureInstalled("SHRODBCTEXTPRG") = 1 THEN
  6119.       DL_DriverDesc$ = LdString( SID_ODBC_TEXTDESC )
  6120.       DL_DriverPath$ = TmpWinSysPath$ + LdString( SID_ODBC_TEXTPATH )
  6121.       DL_SetupPath$ =  TmpWinSysPath$ + LdString( SID_ODBC_TEXTSETUP )
  6122.       WriteODBCINST DL_DriverDesc$, DL_DriverPath$, DL_SetupPath$
  6123.       ODBC20_SQLLvl$ = LdString( SID_ODBC_TEXT_SQLLVL )
  6124.       ODBC20_APILvl$ = LdString( SID_ODBC_TEXT_APILVL )
  6125.       ODBC20_FUsage$ = LdString( SID_ODBC_TEXT_USAGE )
  6126.       ODBC20_FExtns$ = LdString( SID_ODBC_TEXT_EXT )
  6127.       ODBC20_DrvVer$ = LdString( SID_ODBC_TEXT_VER )
  6128.       ODBC20_Connct$ = LdString( SID_ODBC_TEXT_CONNECT )
  6129.       WriteODBC20INST DL_DriverDesc$, ODBC20_SQLLvl$, ODBC20_APILvl$, _
  6130.                       ODBC20_FUsage$, ODBC20_FExtns$, _
  6131.                       ODBC20_DrvVer$, ODBC20_Connct$
  6132.       ODBCInstalled% = 1
  6133.    END IF
  6134.  
  6135.    
  6136.    IF Lot_IsTheFeatureInstalled("SHRODBCBTRIEVEPRG") = 1 THEN
  6137.       DL_DriverDesc$ = LdString( SID_ODBC_BTRIEVEDESC )
  6138.       DL_DriverPath$ = TmpWinSysPath$ + LdString( SID_ODBC_BTRIEVEPATH )
  6139.       DL_SetupPath$ =  TmpWinSysPath$ + LdString( SID_ODBC_BTRIEVESETUP )
  6140.       WriteODBCINST DL_DriverDesc$, DL_DriverPath$, DL_SetupPath$
  6141.       ODBC20_SQLLvl$ = LdString( SID_ODBC_BTRIEVE_SQLLVL )
  6142.       ODBC20_APILvl$ = LdString( SID_ODBC_BTRIEVE_APILVL )
  6143.       ODBC20_FUsage$ = LdString( SID_ODBC_BTRIEVE_USAGE )
  6144.       ODBC20_FExtns$ = LdString( SID_ODBC_BTRIEVE_EXT )
  6145.       ODBC20_DrvVer$ = LdString( SID_ODBC_BTRIEVE_VER )
  6146.       ODBC20_Connct$ = LdString( SID_ODBC_BTRIEVE_CONNECT )
  6147.       WriteODBC20INST DL_DriverDesc$, ODBC20_SQLLvl$, ODBC20_APILvl$, _
  6148.                       ODBC20_FUsage$, ODBC20_FExtns$, _
  6149.                       ODBC20_DrvVer$, ODBC20_Connct$
  6150.       ODBCInstalled% = 1
  6151.     END IF
  6152.  
  6153.    
  6154.     IF Lot_IsTheFeatureInstalled("SHRODBCFOXBASEPRG") = 1 THEN
  6155.        DL_DriverDesc$ = LdString( SID_ODBC_FOXBASEDESC )
  6156.        DL_DriverPath$ = TmpWinSysPath$ + LdString( SID_ODBC_FOXBASEPATH )
  6157.        DL_SetupPath$ =  TmpWinSysPath$ + LdString( SID_ODBC_FOXBASESETUP )
  6158.        WriteODBCINST DL_DriverDesc$, DL_DriverPath$, DL_SetupPath$
  6159.        ODBC20_SQLLvl$ = LdString( SID_ODBC_FOXBASE_SQLLVL )
  6160.        ODBC20_APILvl$ = LdString( SID_ODBC_FOXBASE_APILVL )
  6161.        ODBC20_FUsage$ = LdString( SID_ODBC_FOXBASE_USAGE )
  6162.        ODBC20_FExtns$ = LdString( SID_ODBC_FOXBASE_EXT )
  6163.        ODBC20_DrvVer$ = LdString( SID_ODBC_FOXBASE_VER )
  6164.        ODBC20_Connct$ = LdString( SID_ODBC_FOXBASE_CONNECT )
  6165.        WriteODBC20INST DL_DriverDesc$, ODBC20_SQLLvl$, ODBC20_APILvl$, _
  6166.                        ODBC20_FUsage$, ODBC20_FExtns$, _
  6167.                        ODBC20_DrvVer$, ODBC20_Connct$
  6168.        ODBCInstalled% = 1
  6169.    END IF
  6170.  
  6171.    
  6172.    IF Lot_IsTheFeatureInstalled("SHRODBCACCESSPRG") = 1 THEN
  6173.       DL_DriverDesc$ = LdString( SID_ODBC_ACCESSDESC )
  6174.       DL_DriverPath$ = TmpWinSysPath$ + LdString( SID_ODBC_ACCESSPATH )
  6175.       DL_SetupPath$ =  TmpWinSysPath$ + LdString( SID_ODBC_ACCESSSETUP )
  6176.       WriteODBCINST DL_DriverDesc$, DL_DriverPath$, DL_SetupPath$
  6177.       ODBC20_SQLLvl$ = LdString( SID_ODBC_ACCESS_SQLLVL )
  6178.       ODBC20_APILvl$ = LdString( SID_ODBC_ACCESS_APILVL )
  6179.       ODBC20_FUsage$ = LdString( SID_ODBC_ACCESS_USAGE )
  6180.       ODBC20_FExtns$ = LdString( SID_ODBC_ACCESS_EXT )
  6181.       ODBC20_DrvVer$ = LdString( SID_ODBC_ACCESS_VER )
  6182.       ODBC20_Connct$ = LdString( SID_ODBC_ACCESS_CONNECT )
  6183.       WriteODBC20INST DL_DriverDesc$, ODBC20_SQLLvl$, ODBC20_APILvl$, _
  6184.                       ODBC20_FUsage$, ODBC20_FExtns$, _
  6185.                       ODBC20_DrvVer$, ODBC20_Connct$
  6186.     ODBCInstalled% = 1
  6187.     END IF
  6188.  
  6189.    
  6190.    IF Lot_IsTheFeatureInstalled("SHRODBCPARADOXPRG") = 1 THEN
  6191.       DL_DriverDesc$ = LdString( SID_ODBC_PARADOXDESC )
  6192.       DL_DriverPath$ = TmpWinSysPath$ + LdString( SID_ODBC_PARADOXPATH )
  6193.       DL_SetupPath$ =  TmpWinSysPath$ + LdString( SID_ODBC_PARADOXSETUP )
  6194.       WriteODBCINST DL_DriverDesc$, DL_DriverPath$, DL_SetupPath$
  6195.       ODBC20_SQLLvl$ = LdString( SID_ODBC_PARADOX_SQLLVL )
  6196.       ODBC20_APILvl$ = LdString( SID_ODBC_PARADOX_APILVL )
  6197.       ODBC20_FUsage$ = LdString( SID_ODBC_PARADOX_USAGE )
  6198.       ODBC20_FExtns$ = LdString( SID_ODBC_PARADOX_EXT )
  6199.       ODBC20_DrvVer$ = LdString( SID_ODBC_PARADOX_VER )
  6200.       ODBC20_Connct$ = LdString( SID_ODBC_PARADOX_CONNECT )
  6201.       WriteODBC20INST DL_DriverDesc$, ODBC20_SQLLvl$, ODBC20_APILvl$, _
  6202.                       ODBC20_FUsage$, ODBC20_FExtns$, _
  6203.                       ODBC20_DrvVer$, ODBC20_Connct$
  6204.       ODBCInstalled% = 1
  6205.    END IF
  6206.   
  6207.    
  6208.    IF Lot_IsTheFeatureInstalled("SHRODBCDB2PRG") = 1 THEN
  6209.       DL_DriverDesc$ = LdString( SID_ODBC_DB2DESC )
  6210.       DL_DriverPath$ = TmpWinSysPath$ + LdString( SID_ODBC_DB2PATH )
  6211.       DL_SetupPath$ =  TmpWinSysPath$ + LdString( SID_ODBC_DB2SETUP )
  6212.       WriteODBCINST DL_DriverDesc$, DL_DriverPath$, DL_SetupPath$
  6213.       ODBCInstalled% = 1
  6214.    END IF
  6215.  
  6216.    
  6217.    IF Lot_IsTheFeatureInstalled("SHRODBCORACLEPRG") = 1 THEN
  6218.       DL_DriverDesc$ = LdString( SID_ODBC_ORADESC )
  6219.       DL_DriverPath$ = TmpWinSysPath$ + LdString( SID_ODBC_ORAPATH )
  6220.       DL_SetupPath$ =  TmpWinSysPath$ + LdString( SID_ODBC_ORASETUP )
  6221.       WriteODBCINST DL_DriverDesc$, DL_DriverPath$, DL_SetupPath$
  6222.       ODBCInstalled% = 1
  6223.    END IF
  6224.  
  6225.    
  6226.    IF Lot_IsTheFeatureInstalled("SHRODBCSQLSVRPRG") = 1 THEN
  6227.       DL_DriverDesc$ = LdString( SID_ODBC_SQLDESC )
  6228.       DL_DriverPath$ = TmpWinSysPath$ + LdString( SID_ODBC_SQLPATH )
  6229.       DL_SetupPath$ =  TmpWinSysPath$ + LdString( SID_ODBC_SQLSETUP )
  6230.       WriteODBCINST DL_DriverDesc$, DL_DriverPath$, DL_SetupPath$
  6231.       ODBCInstalled% = 1
  6232.       XLAT_Sect$ = LdString( SID_ODBC_XLAT_SECTION )
  6233.       XLAT_Inst$ = LdString( SID_ODBC_XLAT_INSTALLED )
  6234.       XLAT_Name$ = LdString( SID_ODBC_XLAT_NAME )
  6235.       XLAT_KEY$  = LdString( SID_ODBC_XLAT_KEYWORD )
  6236.       XLAT_DLL$ = TmpWinSysPath$ + LdString( SID_ODBC_XLAT_DLL )
  6237.       XLAT_Setup$ = TmpWinSysPath$ + LdString( SID_ODBC_XLAT_SETUP )
  6238.       XLAT_SetupKey$ = LdString( SID_DATALENS_ODBCINST_SET )
  6239.       TmpIniPath$ = GetWindowsDir() + LdString(SID_DATALENS_ODBCINST_PATH)
  6240.       CreateIniKeyValue TmpIniPath$, XLAT_Sect$, XLAT_Name$, _
  6241.                      XLAT_Inst$, cmoOverwrite
  6242.       CreateIniKeyValue TmpIniPath$, XLAT_Name$, XLAT_KEY$, XLAT_DLL$, _
  6243.                      cmoOverwrite
  6244.       CreateIniKeyValue TmpIniPath$, XLAT_Name$, XLAT_SetupKey$, _
  6245.                      XLAT_Setup$,  cmoOverwrite
  6246.    END IF
  6247.    
  6248.    IF ODBCInstalled% = 1 THEN
  6249.       DL_AdminPath$ = TmpWinPath$ + LdString( SID_ODBC_ADMIN_INIFILE )
  6250.       
  6251.       DL_AdminSect$ = LdString( SID_ODBC_ADMIN_SECTION )
  6252.       
  6253.       DL_AdminKey$  = LdString( SID_ODBC_ADMIN_KEYWORD )
  6254.       
  6255.       DL_AdminVal$  = TmpWinSysPath$ + LdString( SID_ODBC_ADMIN_PRG )
  6256.       
  6257.       CreateIniKeyValue DL_AdMinPath$, DL_AdminSect$, DL_AdminKey$, _
  6258.                         DL_AdminVal$, cmoOverwrite
  6259.    END IF
  6260.    
  6261. Lot_WriteODBCINST = SUCCESS
  6262. END FUNCTION
  6263.  
  6264. SUB WriteODBCINST ( DriverDesc$, DriverPath$, SetupPath$ )
  6265.  
  6266.  
  6267.  
  6268.  
  6269.  
  6270.    DIM TmpIniPath$
  6271.    DIM ODBCINSTPath$, ODBCDriverSection$, ODBCInstallKeyword$
  6272.    DIM ODBCDriverKeyword$, ODBCSetupKeyword$
  6273.  
  6274.    ODBCINSTPath$ = LdString(SID_DATALENS_ODBCINST_PATH)
  6275.    ODBCDriverSection$ = LdString(SID_DATALENS_ODBCINST_ODBC)
  6276.    ODBCInstallKeyword$ = LdString(SID_DATALENS_ODBCINST_INST)
  6277.    ODBCDriverKeyword$ = LdString(SID_DATALENS_ODBCINST_DRVR)
  6278.    ODBCSetupKeyword$ = LdString(SID_DATALENS_ODBCINST_SET)
  6279.  
  6280.    TmpIniPath$ = GetWindowsDir() + ODBCINSTPath$
  6281.    
  6282.    CreateIniKeyValue TmpIniPath$, ODBCDriverSection$, DriverDesc$, _
  6283.                      ODBCInstallKeyword$, cmoOverwrite
  6284.    CreateIniKeyValue TmpIniPath$, DriverDesc$, ODBCDriverKeyword$, _
  6285.                      DriverPath$,  cmoOverwrite
  6286.    CreateIniKeyValue TmpIniPath$, DriverDesc$, ODBCSetupKeyword$, _
  6287.                      SetupPath$,  cmoOverwrite
  6288.  
  6289. END SUB
  6290.  
  6291.  
  6292. SUB WriteODBC20INST ( DriverDesc$, SQLLvl$, APILvl$,  Usage$, Ext$, DrvVer$, Cnnct$ )
  6293.  
  6294.  
  6295.  
  6296.  
  6297.  
  6298.    DIM TmpIniPath$
  6299.    DIM ODBCINSTPath$, ODBCDriverSection$
  6300.    
  6301.    DIM ODBCSQLLevelKeyword$, ODBCAPILevelKeyword$
  6302.    DIM ODBCFileUsageKeyword$, ODBCFileExtnsKeyword$
  6303.    DIM ODBCDriverVerKeyword$, ODBCConnectKeyword$
  6304.  
  6305.    ODBCINSTPath$ = LdString(SID_DATALENS_ODBCINST_PATH)
  6306.    ODBCDriverSection$ = LdString(SID_DATALENS_ODBCINST_ODBC)
  6307.  
  6308.    ODBCSQLLevelKeyword$ = LdString(SID_DATALENS_ODBCINST_SQLLVL)
  6309.    ODBCAPILevelKeyword$ = LdString(SID_DATALENS_ODBCINST_APILVL)
  6310.    ODBCFileUsageKeyword$ = LdString(SID_DATALENS_ODBCINST_USAGE)
  6311.    ODBCFileExtnsKeyword$ = LdString(SID_DATALENS_ODBCINST_EXT)
  6312.    ODBCDriverVerKeyword$ = LdString(SID_DATALENS_ODBCINST_VER)
  6313.    ODBCConnectKeyword$ = LdString(SID_DATALENS_ODBCINST_CONNECT)
  6314.  
  6315.    TmpIniPath$ = GetWindowsDir() + ODBCINSTPath$
  6316.    CreateIniKeyValue TmpIniPath$, DriverDesc$, _
  6317.                      ODBCSQLLevelKeyword$, _
  6318.                      SQLLvl$, _
  6319.                      cmoOverwrite
  6320.    CreateIniKeyValue TmpIniPath$, DriverDesc$, _
  6321.                      ODBCAPILevelKeyword$, _
  6322.                      APILvl$, _
  6323.                      cmoOverwrite
  6324.    CreateIniKeyValue TmpIniPath$, DriverDesc$, _
  6325.                      ODBCFileUsageKeyword$, _
  6326.                      Usage$, _
  6327.                      cmoOverwrite
  6328.    CreateIniKeyValue TmpIniPath$, DriverDesc$, _
  6329.                      ODBCFileExtnsKeyword$, _
  6330.                      Ext$, _
  6331.                      cmoOverwrite
  6332.    CreateIniKeyValue TmpIniPath$, DriverDesc$, _
  6333.                      ODBCDriverVerKeyword$, _
  6334.                      DrvVer$, _
  6335.                      cmoOverwrite
  6336.    CreateIniKeyValue TmpIniPath$, DriverDesc$, _
  6337.                      ODBCConnectKeyword$, _
  6338.                      Cnnct$, _
  6339.                      cmoOverwrite
  6340. END SUB
  6341.  
  6342.  
  6343.  
  6344. FUNCTION Lot_ModifyODBC() AS INTEGER
  6345.  
  6346.  
  6347.  
  6348.  
  6349.  
  6350.  
  6351.  
  6352.    DIM TmpIniPath$
  6353.    DIM ODBCPath$, ODBCSection1$, ODBCKeyword1$, ODBCReplacement1$
  6354.    DIM ODBCSection2$, ODBCKeyword2$, ODBCReplacement2$
  6355.    DIM notused%
  6356.        
  6357.    ODBCPath$ = LdString(SID_DATALENS_ODBCINI_PATH)
  6358.    ODBCSection1$ = LdString(SID_DATALENS_ODBCINI_SECT1)
  6359.    ODBCKeyword1$ = LdString(SID_DATALENS_ODBCINI_KEY1)
  6360.    ODBCReplacement1$ = LdString(SID_DATALENS_ODBCINI_REPL1)
  6361.    ODBCSection2$ = LdString(SID_DATALENS_ODBCINI_SECT2)
  6362.    ODBCKeyword2$ = LdString(SID_DATALENS_ODBCINI_KEY2)
  6363.    ODBCReplacement2$ = LdString(SID_DATALENS_ODBCINI_REPL2)
  6364.  
  6365.    TmpIniPath$ = GetWindowsDir() + ODBCPath$
  6366.  
  6367.    notused% = FixODBCiniSources( TmpIniPath$, _
  6368.                      ODBCSection1$, ODBCKeyword1$, ODBCReplacement1$, _
  6369.               ODBCSection2$, ODBCKeyword2$, ODBCReplacement2$ )
  6370.    Lot_ModifyODBC = SUCCESS
  6371.  
  6372. END FUNCTION
  6373.  
  6374.  
  6375.  
  6376. FUNCTION Lot_ModifyDataLensIni() AS INTEGER
  6377.  
  6378.  
  6379.  
  6380.  
  6381.  
  6382.  
  6383.     DIM    InFileNum, OutFileNum, n as Integer
  6384.     DIM    nextline as string
  6385.     DIM tmp$, OldDll$, NewDll$, IniFile$, BakFile$, IniPath$
  6386.  
  6387.     ON ERROR GOTO MOD_DL_ErrHandler
  6388.     
  6389.     OldDLL$ = LdString(SID_DATALENS_ODBCINI_KEY2)     
  6390.     NewDLL$ = LdString(SID_DATALENS_ODBCINI_REPL2)     
  6391.     IniFile$ = "DATALENS.INI"
  6392.     BakFile$ = "DATALENS.BAK"
  6393.     IniPath$ = Lot_LocalGetPathFromIni(gLotusIniPath$,"DataLens", "Data Path",NULLSTROK,INVALIDSTRERR)
  6394.  
  6395.     If IniPath$ = "" Then goto MOD_DL_EndFunction
  6396.     
  6397.     
  6398.     filecopy IniPath$ & IniFile$, IniPath$ & BakFile$
  6399.     
  6400.     InFileNum = FREEFILE
  6401.     OPEN IniPath$ & BakFile$ For INPUT AS InFileNum
  6402.     OutFileNum = FREEFILE
  6403.     OPEN IniPath$ & IniFile$ For Output AS OutFileNum
  6404.     DO UNTIL EOF(InFileNum)
  6405.     LINE INPUT #InFileNum, nextline
  6406.         n = instr( 1, nextline, OldDLL$, 1 )
  6407.         If n > 0 Then 
  6408.                
  6409.             tmp$ = left$( nextline, n - 1 )
  6410.             tmp$ = tmp$ & NewDLL$
  6411.             tmp$ = tmp$ & mid$( nextline, n + len(OldDLL$) , len( nextline ) - n )
  6412.             print #OutFileNum, tmp$
  6413.         else
  6414.             print #OutFileNum, nextline
  6415.         End If
  6416.     LOOP
  6417.     
  6418.     CLOSE 
  6419.     
  6420.     goto MOD_DL_EndFunction
  6421. MOD_DL_ErrHandler:
  6422.     
  6423.     exit function
  6424.     
  6425. MOD_DL_EndFunction:
  6426.    Lot_ModifyDataLensIni = SUCCESS
  6427.  
  6428. END FUNCTION
  6429.  
  6430.  
  6431. FUNCTION Lot_LocalGetPathFromIni(szFile$,szSect$,szKey$,nullflag%,invalidpathflag%) AS STRING
  6432.  
  6433.  
  6434.  
  6435.  
  6436.  
  6437.  
  6438.  
  6439.  
  6440.  
  6441.  
  6442.  
  6443.   DIM rstring$, rv%, errText$
  6444.  
  6445.    Lot_LocalGetPathFromIni = ""
  6446.    rstring$ = GetIniKeyString(szFile$, szSect$, szKey$)
  6447.  
  6448.    If rstring$ <> "" Then
  6449.       rv% = Lot_CleanPath(rstring$)
  6450.  
  6451.       if rv% <> 0 Then
  6452.          Lot_LocalGetPathFromIni = rstring$
  6453.       elseif invalidpathflag% <> FALSE then
  6454.             Lot_LocalGetPathFromIni = ""
  6455.             EXIT FUNCTION
  6456.          end if 
  6457.  
  6458.       elseif nullflag% <> FALSE then
  6459.          Lot_LocalGetPathFromIni = ""
  6460.          EXIT FUNCTION
  6461.  
  6462.    else
  6463.       Lot_LocalGetPathFromIni = ""
  6464.    end if 
  6465.  
  6466. END FUNCTION
  6467.  
  6468.  
  6469.