;*****************************************************************
;*****************************************************************
;** **
;** Kixstart Login Script **
;** **
;*****************************************************************
;*****************************************************************
;** **
;** Doel : Gebruikers aanmelden **
;** **
;** Naam : MIDLOGIN.KIX **
;** **
;** Auteur : Patrick Rutten **
;** Start : 09-03-1998 **
;** Versie : 1.0 **
;** **
;*****************************************************************
;*****************************************************************
;*****************************************************************
;Declaraties******************************************************
;Variabelen
$afd="" ;Afdelingsnaam
$cmd="" ;Gelezen batchnaam
$cr=chr(13) ;Carriage Return
$dollar=chr(36) ;$
$dquote=chr(34) ;"
$gt=chr(62) ;>
$key="" ;Ingelezen toets
$loc="" ;Locatie station
$lf=chr(10) ;Linefeed
$nl=$lf+$cr ;Nieuwe regel
$ond="" ;Onderdeelnaam
$qfile="" ;User bestand
$sfile="" ;Systeem bestand
$share="" ;Sharenaam
$squote=chr(39) ;'
$sysver="" ;Systeemversie
$teller=0 ;Teller
$tmp="" ;Temp var.
$userver="" ;Gebruikersversie
;Server benamingen
$server="\\midka01" ;Server naam
$servertern="\\midka04"
$timeserv="\\midka01"
$menuserv="\\midka01" ;menu
Point of crash: 
if ingroup ("MID-L-P-allen")
$shareserv1="\\midclu02dsk1" ;p, q
$shareserv2="\\midclu02dsk2" ;f, g, h
else
$shareserv1="\\midclu01dsk1" ;p, q
$shareserv2="\\midclu01dsk2" ;f, g, h
endif
;Netlogon share
if ingroup ("MID-L-K-tern") or ($loc="0") or ($loc="1")
$netlog=$servertern+"\netlogon"
else
$netlog=$shareserv1+"\netlogon" ;Netlogon share
endif
;Benamingen menu's
$acc="Accessoires" ;Startmap
$beh="Beheer" ;Startmap
$ber="Berekeningen" ;Startmap
$com="Communicatie" ;Startmap
$dat="Databanken" ;Startmap
$gra="Grafisch" ;Startmap
$inf="Informatievoorziening" ;Startmap
$lan="Landelijke systemen" ;Startmap
$ont="Ontwikkeling" ;Startmap
$tek="Tekstverwerking" ;Startmap
;Extra menu declaraties
$menudir=$menuserv+"\menu"+$dollar ;\\...\menu$
$menumap="" :Mapnaam
$pmenu="" ;Temp pmenu
$qbatch="q:\batchdir.txt" ;Q Lijstbestand
$qmenu="" ;Temp qmenu
$sbatch=$netlog+"\ver\batchdir.txt" ;S Lijstbestand
$smenu="" ;Temp systeemmenu
;P menu paden
$paccmenu="p:\netwerk\menu\Programma's\Accessoires"
$pbehmenu="p:\netwerk\menu\Programma's\Beheer"
$pbermenu="p:\netwerk\menu\Programma's\Berekeningen"
$pcommenu="p:\netwerk\menu\Programma's\Communicatie"
$pdatmenu="p:\netwerk\menu\Programma's\Databanken"
$pgramenu="p:\netwerk\menu\Programma's\Grafisch"
$pinfmenu="p:\netwerk\menu\Informatievoorziening"
$planmenu="p:\netwerk\menu\Programma's\Landelijke systemen"
$pontmenu="p:\netwerk\menu\Programma's\Ontwikkeling"
$ptekmenu="p:\netwerk\menu\Programma's\Tekstverwerking"
$ppromenu="p:\netwerk\menu\Programma's"
$pmenmenu="p:\netwerk\menu"
;Q menu paden
$qaccmenu="q:\menu\Programma's\Accessoires" ;Users accmenu
$qbehmenu="q:\menu\Programma's\Beheer" ;Users behmenu
$qbermenu="q:\menu\Programma's\Berekeningen" ;Users bermenu
$qcommenu="q:\menu\Programma's\Communicatie" ;Users commenu
$qdatmenu="q:\menu\Programma's\Databanken" ;Users datmenu
$qgramenu="q:\menu\Programma's\Grafisch" ;Users gramenu
$qinfmenu="q:\menu\Informatievoorziening" ;Users infmenu
$qlanmenu="q:\menu\Programma's\Landelijke systemen"
$qontmenu="q:\menu\Programma's\Ontwikkeling" ;Users ontmenu
$qtekmenu="q:\menu\Programma's\Tekstverwerking" ;Users tekmenu
$qpromenu="q:\menu\Programma's"
;Server menupaden
$saccmenu=$menudir+"\Programma's\Accessoires" ;Systeem accmenu
$sbehmenu=$menudir+"\Programma's\Beheer" ;Systeem behmenu
$sbermenu=$menudir+"\Programma's\Berekeningen" ;Systeem bermenu
$scommenu=$menudir+"\Programma's\Communicatie" ;Systeem commenu
$sdatmenu=$menudir+"\Programma's\Databanken" ;Systeem datmenu
$sgramenu=$menudir+"\Programma's\Grafisch" ;Systeem gramenu
$sinfmenu=$menudir+"\Informatievoorziening" ;Systeem infmenu
$slanmenu=$menudir+"\Programma's\Landelijke systemen"
$sontmenu=$menudir+"\Programma's\Ontwikkeling" ;Systeem ontmenu
$stekmenu=$menudir+"\Programma's\Tekstverwerking"
;Gebruiker Versie benamingen
$qacc="q:\acc.ver" ;Users accversie
$qbeh="q:\beh.ver" ;Users behversie
$qber="q:\ber.ver" ;Users berversie
$qcom="q:\com.ver" ;Users comversie
$qdat="q:\dat.ver" ;Users datversie
$qgra="q:\gra.ver" ;Users graversie
$qinf="q:\inf.ver" ;Users infversie
$qlan="q:\lan.ver" ;Users lanversie
$qont="q:\ont.ver" ;Users ontversie
$qtek="q:\tek.ver" ;Users tekversie
;Server Versie benamingen
$sacc=$netlog+"\ver\acc.ver" ;Systeem accversie
$sbeh=$netlog+"\ver\beh.ver" ;Systeem behversie
$sber=$netlog+"\ver\ber.ver" ;Systeem berversie
$scom=$netlog+"\ver\com.ver" ;Systeem comversie
$sdat=$netlog+"\ver\dat.ver" ;Systeem datversie
$sgra=$netlog+"\ver\gra.ver" ;Systeem graversie
$sinf=$netlog+"\ver\inf.ver" ;Systeem infversie
$slan=$netlog+"\ver\lan.ver" ;Systeem lanversie
$sont=$netlog+"\ver\ont.ver" ;Systeem ontversie
$stek=$netlog+"\ver\tek.ver" ;Systeem tekversie
;PC variabelen
$windir="c:\windows" ;Windows directory
$cmddir=$windir+"\command" ;Command directory
;Declaraties voor foutmeldingen
$arrow="==> " ;Alt205+Alt205+Alt17
$err="" ;Errorcontrole
$errorm="De volgende fout is opgetreden:"
$exclstyle=48 ;! msg
$foutm="Er is een fout opgetreden tijdens het aanmelden!!!"
$foutmessage="" ;Foutmelding
$helpd="Bel de helpdesk en meld de volgende storing!!!"
$hoofdsectie="" ;Hoofdsectienaam
$sectie="" ;Sectienaam
$stopstyle=16 ;Stopteken msg
$str="" ;Gelezen string
$subsectie="" ;Subsectienaam
$timeout=3600 ;Timeout = 3600 sec
$titel="" ;Titel msgbox
;*****************************************************************
;Inlogprocedure***************************************************
;Begin van de inlogprocedure
$sectie="' Begin van de procedure '."
;Venster instelling
if @userid = "RUTTENP1" or @userid = "ROOVERSJ"
setconsole("MAXIMIZE")
else
setconsole("HIDE")
endif
;setconsole("MAXIMIZE")
;setconsole("MINIMIZE")
;cls
;Tijd gelijkzetten met server
$sectie="' Tijd gelijkzetten '."
settime $timeserv
if @error
$err="(1) Errorcode = "+@error
gosub foutmelding
endif
;*****************************************************************
;Bepalen PC-locatie***********************************************
;Bepalen PC-locatie t.b.v. koppelen soft$
$hoofdsectie="' Bepalen van Lokatie '."
;Locatie bepalen
$loc=substr(@wksta,len(@wksta),1)
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Bepalen van werkstationsnaam."
$err="(1) Errorcode = "+@error
gosub foutmelding
endif
;Omzetten naar hoofdletter
$loc=ucase($loc)
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Omzetten werkstationsnaam."
$err="(2) Errorcode = "+@error
gosub foutmelding
endif
;*****************************************************************
;Gebruikersonafhankelijke drives**********************************
;Koppelen van drives die gebruikersonafhankelijk zijn
$hoofdsectie="' Koppelen van Arr. en Software shares '."
;Software share
if ingroup ("MID-L-K-tern") or ($loc="0") or ($loc="1")
$share=$servertern+"\soft"+$dollar
else
$share=$shareserv2+"\soft"+$dollar
endif
use f: /d
use f: $share
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Software schijf."
$err="(1) Errorcode = "+@error
gosub foutmelding
endif
;Arrondissement share
;$share=$shareserv2+"\arron"+$dollar
if ingroup ("MID-L-P-allen")
$share="\\midclu01dsk2"+"\arron"+$dollar
else
$share=$shareserv2+"\arron"+$dollar
endif
use i: /d
use i: $share
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Arrondissement schijf."
$err="(2) Errorcode = "+@error
gosub foutmelding
endif
;*****************************************************************
;Ond. Afd. bepaling***********************************************
;Bepalen van onderdeel en afdeling shares
select
;Bepalen of gebruiker binnen kanton valt
case ingroup ("MID-L-K-allen")
$ond="\ktg"
select
case ingroup ("MID-L-K-mburg")
$afd="\mburg"
case ingroup ("MID-L-K-tern")
$afd="\tern"
case ingroup ("MID-L-K-zzee")
$afd="\zzee"
endselect
;Bepalen of gebruiker binnen parket valt
case ingroup ("MID-L-P-allen")
$ond="\parket"
select
case ingroup ("MID-L-P-cb")
$afd="\cb"
case ingroup ("MID-L-P-hovj")
$afd="\hovj"
case ingroup ("MID-L-P-kvi")
$afd="\kvi"
case ingroup ("MID-L-P-so")
$afd="\so"
endselect
;Bepalen of gebruiker binnen rechtbank valt
case ingroup ("MID-L-R-allen")
$ond="\rb"
select
case ingroup ("MID-L-R-bestuu")
$afd="\bestuu"
case ingroup ("MID-L-R-civiel")
$afd="\civiel"
case ingroup ("MID-L-R-dbg")
$afd="\dbg"
case ingroup ("MID-L-R-pres")
$afd="\pres"
case ingroup ("MID-L-R-rc")
$afd="\rc"
case ingroup ("MID-L-R-straf")
$afd="\straf"
endselect
;Bepalen of gebruiker binnen staf valt
case ingroup ("MID-L-S-allen")
$ond="\staf"
select
case ingroup ("MID-L-S-autom")
$afd="\autom"
case ingroup ("MID-L-S-ds")
$afd="\ds"
case ingroup ("MID-L-S-faz")
$afd="\faz"
case ingroup ("MID-L-S-fez")
$afd="\fez"
case ingroup ("MID-L-S-info")
$afd="\info"
case ingroup ("MID-L-S-or")
$afd="\or"
case ingroup ("MID-L-S-pz")
$afd="\pz"
endselect
;Bepalen of gebruiker binnen extern valt
case ingroup ("MID-L-E-allen")
$ond="\extern"
select
case ingroup ("MID-L-E-gasten")
$afd="\gasten"
case ingroup ("MID-L-E-parkpol")
$afd="\parkpol"
endselect
endselect
;*****************************************************************
;Koppelen Ond.,Afd. en Extra**************************************
;Koppelen van onderdeel en afdeling drives
$hoofdsectie="' Koppelen van Ond., Afd. en Extra shares '."
;Onderdeel share
$share=$shareserv2+$ond+$dollar
use h: /d
use h: $share
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Onderdeel schijf."
$err="(1) Errorcode = "+@error
gosub foutmelding
endif
;Afdeling share
if ingroup ("MID-L-K-tern")
$share=$servertern+$afd+$dollar
else
$share=$shareserv2+$afd+$dollar
endif
use g: /d
use g: $share
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Afdeling schijf."
$err="(2) Errorcode = "+@error
gosub foutmelding
endif
;Koppelen van extra shares
if ingroup ("Administrators")
goto "nocd"
endif
;Bepalen of gebruiker binnen Osiris valt
if ingroup ("MID-L-SO-osiris")
$share="\\mid01\osiris"
use o: /d
use o: $share
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Osiris schijf."
$err="(3) Errorcode = "+@error
gosub foutmelding
endif
endif
;Bepalen of gebruiker binnen Arc valt
if ingroup ("MID-L-SO-arc")
$share="\\mid01\arc"
use m: /d
use m: $share
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Arc schijf."
$err="(4) Errorcode = "+@error
gosub foutmelding
endif
endif
;Bepalen of gebruiker binnen BOS valt
if ingroup ("MID-L-SO-bosnt")
$share="\\mid01\@userid"
use n: /d
use n: $share
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Bos NT schijf."
$err="(5) Errorcode = "+@error
gosub foutmelding
endif
endif
;Bepalen of gebruiker binnen Kluwer valt
if ingroup ("MID-L-SO-kluwer")
;Adw
$share="\\midcd02\adw"
use l: /d
use l: $share
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Adw CD."
$err="(8) Errorcode = "+@error
gosub foutmelding
endif
;Arbeid
$share="\\midcd02\arbeid"
use r: /d
use r: $share
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Arbeid CD."
$err="(9) Errorcode = "+@error
gosub foutmelding
endif
;Huur
$share="\\midcd02\huur"
use s: /d
use s: $share
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Huur CD."
$err="(10) Errorcode = "+@error
gosub foutmelding
endif
;Straf
$share="\\midcd02\Straf"
use t: /d
use t: $share
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Strafrecht CD."
$err="(11) Errorcode = "+@error
gosub foutmelding
endif
endif
;Bepalen of gebruiker binnen FMIS valt
if ingroup ("MID-L-SO-fmis")
;Applic
$share="\\midfmis01\fmis$"
use v: /d
use v: $share
if @error
$sectie=$hoofdsectie+$nl+$arrow+"FMIS Applicatie."
$err="(12) Errorcode = "+@error
gosub foutmelding
endif
;Oracle
$share="\\midfmis01\oracle$"
use w: /d
use w: $share
if @error
$sectie=$hoofdsectie+$nl+$arrow+"FMIS Oracle."
$err="(13) Errorcode = "+@error
gosub foutmelding
endif
endif
:nocd
;*****************************************************************
;Koppelen P en Q**************************************************
;Koppelen van gebruiker drives
$hoofdsectie="' Koppelen van Gebruiker shares '."
;Persoonlijke data share
if ingroup ("MID-L-K-tern")
$share=$servertern+"\@userid"+$dollar
else
$share=$shareserv1+"\@userid"+$dollar
endif
$sectie=$hoofdsectie+$nl+$arrow+"Persoonlijke Data schijf."
use p: /d
use p: $share
if @error
$err="(1) Errorcode = "+@error
gosub foutmelding
endif
;Persoonlijke systeem share
if ingroup ("MID-L-K-tern")
$share=$servertern+"\_@userid"+$dollar
else
$share=$shareserv1+"\_@userid"+$dollar
endif
$sectie=$hoofdsectie+$nl+$arrow+"Persoonlijk Systeem schijf."
use q: /d
use q: $share
if @error
$err="(2) Errorcode = "+@error
gosub foutmelding
endif
;*****************************************************************
;Controle Wachtwoord**********************************************
;Controleren of wachtwoord nog niet verlopen is.
$hoofdsectie="' Wachtwoord leeftijd controle '."
if ingroup ("Administrators") or ucase(@userid)="MIDUPDATE"
$str=""
else
; $str="Wachtwoord leeftijd is "+@pwage+" dagen"
; $titel="Debug Window"
; messagebox($str,$titel,$exclstyle)
select
;Infinite loop als pwage > 60
case @pwage >= 60
$titel="Wachtwoord verlopen"
$str="Uw wachtwoord is verlopen. U kunt geen gebruik meer maken"+$nl
$str=$str+"van het netwerk. Neem contact op met de helpdesk." messagebox($str,$titel,$exclstyle)
while @pwage > 60
messagebox($str,$titel,$exclstyle)
loop
;Alleen winpass in het menu
case @pwage >= 30
$titel="Wachtwoord verlopen"
$str="Uw wachtwoord is verlopen."+$nl+$nl
$str=$str+'Gebruik "Wachtwoorden Wijzigen" in het menu "Beheer"'+$nl
$str=$str+"om uw wachtwoorden te wijzigen."+$nl+$nl
$str=$str+"Niet wijzigen levert problemen met het netwerk op!!!"
messagebox($str,$titel,$exclstyle)
$qmenu="q:\menu\Programma's"
;omgekeerde quote's
shell $cmddir+'\deltree -y "'+$qmenu+'"'
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Verwijderen programma's."
$err="(1) Errorcode = "+@error
gosub foutmelding
endif
$qmenu="q:\menu\Informatievoorziening"
;omgekeerde quote's
shell $cmddir+'\deltree -y "'+$qmenu+'"'
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Verwijderen informatievoorziening."
$err="(2) Errorcode = "+@error
gosub foutmelding
endif
$pmenu="p:\netwerk\menu"
;omgekeerde quote's
shell $cmddir+'\deltree -y "'+$qmenu+'"'
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Verwijderen P menu."
$err="(3) Errorcode = "+@error
gosub foutmelding
endif
;Versie bestanden
$qmenu="q:\*.ver"
;omgekeerde quote's
shell $cmddir+'\deltree -y "'+$qmenu+'"'
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Verwijderen versiebestanden."
$err="(4) Errorcode = "+@error
gosub foutmelding
endif
;Winpass in beheer zetten
$qmenu=$qbehmenu
md $qpromenu
md $qmenu
;Tijdelijk menudir sharen
$share=$menudir
use x: /d
use x: $share
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Tijdelijke schijf koppelen."
$err="(5) Errorcode = "+@error
gosub foutmelding
endif
$menumap=$beh
$cmd="Wachtwoorden Wijzigen.bat"
shell '"x:\aclbatch\'+$menumap+'\'+$cmd+'"'
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Uitvoeren "+$cmd+"."
$err="(6) Errorcode = "+@error
gosub foutmelding
endif
;Menudir share verwijderen
use x: /d
gosub einde
;Melding dat wachtwoord over 2 dagen verloopt
case (@pwage + 3) > 30
$str=30-@pwage
$titel="Wachtwoord verlopen"
$str="Uw wachtwoord verloopt over "+$str+" dagen."+$nl+$nl
$str=$str+'Gebruik "Wachtwoorden Wijzigen" in het menu "Beheer"'+$nl
$str=$str+"om uw wachtwoorden te wijzigen."+$nl+$nl
$str=$str+"Niet wijzigen levert problemen met het netwerk op!!!"
messagebox($str,$titel,$exclstyle)
endselect
$str=""
endif
;*****************************************************************
;Controleren Startmenu********************************************
;Versie van startmenu controleren
:chkstart
$hoofsectie="Opbouwen startmenu."
;Tijdelijk menudir sharen
$share=$menudir
use x: /d
use x: $share
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Tijdelijke schijf koppelen."
$err="(1) Errorcode = "+@error
gosub foutmelding
endif
$subsectie="Accessoires '."
$qfile=$qacc
$sfile=$sacc
$pmenu=$paccmenu
$qmenu=$qaccmenu
$smenu=$saccmenu
$menumap=$acc
gosub "ctrlmenu"
$subsectie="Beheer '."
$qfile=$qbeh
$sfile=$sbeh
$pmenu=$pbehmenu
$qmenu=$qbehmenu
$smenu=$sbehmenu
$menumap=$beh
gosub "ctrlmenu"
$subsectie="Berekeningen '."
$qfile=$qber
$sfile=$sber
$pmenu=$pbermenu
$qmenu=$qbermenu
$smenu=$sbermenu
$menumap=$ber
gosub "ctrlmenu"
$subsectie="Communicatie '."
$qfile=$qcom
$sfile=$scom
$pmenu=$pcommenu
$qmenu=$qcommenu
$smenu=$scommenu
$menumap=$com
gosub "ctrlmenu"
$subsectie="Databanken '."
$qfile=$qdat
$sfile=$sdat
$pmenu=$pdatmenu
$qmenu=$qdatmenu
$smenu=$sdatmenu
$menumap=$dat
gosub "ctrlmenu"
$subsectie="Grafisch '."
$qfile=$qgra
$sfile=$sgra
$pmenu=$pgramenu
$qmenu=$qgramenu
$smenu=$sgramenu
$menumap=$gra
gosub "ctrlmenu"
$subsectie="Informatievoorziening '."
$qfile=$qinf
$sfile=$sinf
$pmenu=$pinfmenu
$qmenu=$qinfmenu
$smenu=$sinfmenu
$menumap=$inf
gosub "ctrlmenu"
$subsectie="Landelijke systemen '."
$qfile=$qlan
$sfile=$slan
$pmenu=$planmenu
$qmenu=$qlanmenu
$smenu=$slanmenu
$menumap=$lan
gosub "ctrlmenu"
$subsectie="Ontwikkeling '."
$qfile=$qont
$sfile=$sont
$pmenu=$pontmenu
$qmenu=$qontmenu
$smenu=$sontmenu
$menumap=$ont
gosub "ctrlmenu"
$subsectie="Tekstverwerking '."
$qfile=$qtek
$sfile=$stek
$pmenu=$ptekmenu
$qmenu=$qtekmenu
$smenu=$stekmenu
$menumap=$tek
gosub "ctrlmenu"
;Menudir share verwijderen
use x: /d
;*****************************************************************
;Rutteninfo script
if @userid="RUTTENP1"
$hoofdsectie="' Informatie weergeven mbt Inloggen '."
$str=$netlog+"\rutteninfo.kix"
call $str
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Uitvoeren Rutteninfo script."
$err="(1) Errorcode = "+@error
gosub foutmelding
endif
endif
;*****************************************************************
;Einde************************************************************
$hoofdsectie="' Einde MIDLogin script '."
;Einde script
:einde
;Tijdelijk netlogondir sharen
$share=$netlog
use x: /d
use x: $share
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Tijdelijke net logonschijf koppelen."
$err="(1) Errorcode = "+@error
gosub foutmelding
endif
;?""
;?""
;?"Test pause - Midlogin"
;get $key
;?""
;?""
cookie1
exit 1
;*****************************************************************
;Functie versiecontrole*******************************************
;*****************************************************************
;*****************************************************************
;Versie van startmenu controleren
;Open de versie bestanden en kijk naar de teller die hierin staat
:ctrlmenu
$hoofdsectie="' Controleren van "+$subsectie+" '."
if open (1,$qfile,2) = 0
$userver=readline(1)
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Lezen gebruikersversie."
$err="(1) Errorcode = "+@error
gosub foutmelding
goto "gebruik"
endif
close(1)
if open (2,$sfile,2) = 0
$sysver=readline(2)
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Lezen systeemversie."
$err="(2) Errorcode = "+@error
gosub foutmelding
goto "systeem"
endif
close(2)
if $sysver > $userver
gosub "menucopy"
else
$key=""
endif
else
:systeem
;Als er een leesfout is, altijd menu aanmaken
; if @error
; $err="(3) Errorcode = "+@error
; gosub foutmelding
; endif
gosub "menucopy"
endif
else
:gebruik
;Als er een leesfout is, altijd menu aanmaken
; if @error
; $err="(4) Errorcode = "+@error
; gosub foutmelding
; endif
gosub "menucopy"
endif
return
;*****************************************************************
;Functie menucopy*************************************************
;Sub menucopy
:menucopy
$hoofdsectie="' Maken van "+$subsectie+" '."
;Startmap verwijderen
;omgekeerde quote's
shell $cmddir+'\deltree -y "'+$qmenu+'"'
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Verwijderen van "+$menumap+" op persoonlijk systeem."
$err="(1) Errorcode = "+@error
gosub foutmelding
endif
;omgekeerde quote's
shell $cmddir+'\deltree -y "'+$pmenu+'"'
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Verwijderen van "+$menumap+" op persoonlijke data."
$err="(2) Errorcode = "+@error
gosub foutmelding
endif
;Batchdir aanmaken op q
copy $sbatch $qbatch
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Aanmaken lijstbestand."
$err="(3) Errorcode = "+@error
gosub foutmelding
endif
;Batchdir vullen met batchcommando's uit aclbatch startmap
;omgekeerde quote's
shell $windir+'\command.com /c dir /b /-p /o "x:\aclbatch\'+$menumap+'" >> '+$qbatch
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Lijstbestand vullen."
$err="(4) Errorcode = "+@error
gosub foutmelding
endif
if open(3, $qbatch,2) = 0
;Startmap maken
if $subsectie <> "Informatievoorziening '."
md $pmenmenu
md $ppromenu
md $pmenu
md $qpromenu
md $qmenu
else
md $pmenu
md $qmenu
endif
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Aanmaken startmenu entry."
$err="(5) Errorcode = "+@error
gosub foutmelding
endif
;Lege regel lezen
$cmd=readline(3)
;Eerste commando of eof lezen
$cmd=readline(3)
if @error and @error <> -1
$sectie=$hoofdsectie+$nl+$arrow+"Eerste item uit lijst lezen."
$err="(6) Errorcode = "+@error
gosub foutmelding
endif
$teller=0
;Zolang nog niet eof
while @error=0
;Commando uitvoeren
;omgekeerde quote's
shell '"x:\aclbatch\'+$menumap+'\'+$cmd+'"'
;geen toegang
if @error <> 5
;Goed uitgevoerd
;if @error <> 0
$teller=$teller+1
else
$key=""
endif
;Volgend commando lezen
$cmd=readline(3)
if @error and @error <> -1
$sectie=$hoofdsectie+$nl+$arrow+"Volgend item uit lijst lezen."
$err="(7) Errorcode = "+@error
gosub foutmelding
endif
loop
;Startmap verwijderen als geen enkele prog in startmap
if $teller=0
;omgekeerde quote's
shell $cmddir+'\deltree -y "'+$qmenu+'"'
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Verwijderen van "+$menumap+" op persoonlijk systeem."
$err="(8) Errorcode = "+@error
gosub foutmelding
endif
;omgekeerde quote's
shell $cmddir+'\deltree -y "'+$pmenu+'"'
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Verwijderen van "+$menumap+" op persoonlijke data."
$err="(9) Errorcode = "+@error
gosub foutmelding
endif
endif
close(3)
del $qbatch
else
$key=""
endif
;Versie bestand kopieren
copy $sfile $qfile
if @error
$sectie=$hoofdsectie+$nl+$arrow+"Gelijkmaken van gebruikers en systeem versie: "+$menumap+"."
$err="(10) Errorcode = "+@error
gosub foutmelding
endif
return
;*****************************************************************
;Functie foutmelding**********************************************
;Sub foutmelding
:foutmelding
$titel="Fout tijdens aanmelden"
$foutmessage=$foutm+$nl+$helpd+$nl+$nl+$nl+$errorm+$nl+$nl+$sectie+$nl+$nl+$err
;Foutmelding weergeven
messagebox($foutmessage,$titel,$stopstyle,$timeout)
return
;*****************************************************************
;*****************************************************************