De Stedelijke Nijverheids- en Taalleergangen Brugge (hierna ook "SNT" genoemd) geeft u als gebruiker voor de door ons ontwikkelde software het recht deze software op meerdere computers te gebruiken.
Bovenstaande licentieregeling geldt uiteraard niet voor alle overige software zoals de GPL-software.
Voor de licentievoorwaarden van de software van derden verwijzen wij naar de desbetreffende softwarefabrikanten.
Dit pakket bevat een verzameling van verschillende programma's.
Vele daarvan kunnen alleen onder specifieke omstandigheden worden gebruikt.
Wij waarschuwen uitdrukkelijk tegen het gebruik van de programma's zonder grondige kennis van hun eigenschappen.
De SNT geeft geen enkele garantie betreffende het correct functioneren in willekeurig wat voor omgeving en aanvaardt ook geen enkele aansprakelijkheid voor schade ontstaan door het uitvallen van computers, gegevensverlies, beschadigingen of andere oorzaken, noch voor een uit een schadegeval voortvloeiende verdere schade van wat voor aard dan ook.
Het gebruik van de programma's gebeurt dus uitsluitend op eigen risico.
Copyright van de programma's berust bij de auteurs.
Alle overige programma's: copyright (c) 2011 Stedelijke Nijverheids- en Taalleergangen, Arsenaalstraat 4, 8000 Brugge (België).
Alle rechten voorbehouden.
Deze webserver gebruikt openSUSE 11.4 en VMware Player.
Copyright (C) 2011 Dany Pinoy voor SNT Brugge.
De webserver kun je installeren op zowel Linux als op Windows. Voor Windows is er een installatieprogramma (enkel getest op Windows 7 64 bits). Het Windows installatie programma kun je hier downloaden. Naast het installatie programma heb je zowel voor Linux als Windows het Webserver Archief nodig. Het Webserver Archief kun je hier downloaden (ca. 407 MB). De webserver heeft het programma VMware Player nodig. De versies voor Linux en Windows kun je na registratie hier gratis downloaden en gebruiken. Linux gebruikers kunnen de cursus Linux raadplegen om de VMware Player en de webserver uit te pakken en te installeren. De Windows gebruikers kunnen het uitpakken van het Webserver Archief (7-Zip) en het installeren van de VMware Player manueel uitvoeren of gebruik maken van het installatieprogramma.
Download alle onderdelen naar de map Downloads van Windows 7. Start het installatieprogramma "WebserverSetup". Klik op de knop Ja om in het dialoogvenster Gebruikersaccountbeheer het installatieprogramma WebserverSetup.exe toestemming te geven om wijzigingen aan uw computer aan te brengen. Open in het volgende dialoogvenster de gedownloade VMware Player Installer (deze stap is enkel nodig indien de VMware Player nog niet op de computer geïnstalleerd is). Open in het volgende dialoogvenster het gedownloade Webserver Archief webserver.tar.bz2. Daarna verschijnt het venster waarin webserver.tar wordt uitgepakt. Daarna verschijnt het venster om de webserver onderdelen uit te pakken. Nadat het installatieprogramma aangeeft dat de installatie voltooid is, wordt de VMware Player Setup automatisch opgestart (enkel indien de VMware Player nog niet op de computer geïnstalleerd is). Werk de VMware Player Setup af door alle vensters te bevestigen. De computer moet op het einde van de installatie herstart worden.
Naast het gebruik van het installatieprogramma kun je zowel de VMware Player en de webserver afzonderlijk installeren. Dit is vooral handig voor mensen die niet werken met Windows 7 64 bits of mensen die zelf willen bepalen waar de bestanden van de virtuele computer op hun computer terecht komen.
Installeer de VMware Player door het installatieprogramma te starten. De dialoogvensters van het installatieprogramma kun je allemaal bevestigen met de standaard voorgestelde instellingen. Na de installatie moet je Windows laten herstarten om de installatie te voltooien.
De webserver bestaat uit een ingepakte map in het bestand webserver.tar.bz2. Je moet dus een programma bezitten om tar.bz2 bestanden uit te pakken. Dit kan met 7-Zip of PeaZip. Dit verloopt in twee stappen: eerst wordt het bz2 uitgepakt naar een tar bestand, daarna wordt het tar bestand uitgepakt naar de verschillende bestanden die samen de virtuele webserver bevatten. Deze bestanden zitten in het tar bestand in de map vmware/Webserver.
Het uitpakken van dit bestand kan naargelang de snelheid van uw computer veel tijd in beslag nemen.
Mensen die liever VirtualBox dan VMware gebruiken kunnen de webserver in OVF formaat downloaden. VirtualBox is voor Mac OS X gebruikers de enige manier om gratis virtuele computers te starten.
Start in het Startmenu de toepassing Alle programma's > Pinda > Webserver verwijderen en volg de instructies van de assistent. Na het verwijderen van de webserver van de computer blijft het programma VMware Player op de computer staan. Dit programma kun je via het Configuratiescherm > Een Programma verwijderen van de computer verwijderen.
Start in het Startmenu de toepassing Alle programma's > Pinda > Webserver.
Je kunt de webserver ook starten door dubbel te klikken op het bestand Webserver.vmx (heeft een pictogram met 3 vierkanten) in de uitgepakte vmware/Webserver map.
Bij de eerste start van de VMware Player moet je de Licence Agreement accepteren.
Bij elke start verschijnt het venster Software Updates waarmee je de VMware Tools for Linux kunt downloaden.
Deze software heb je voor de webserver niet nodig en mag je negeren door op de knop Remind Me Later te klikken.
Indien er verwisselbare apparaten op uw computer aangesloten zijn, verschijnt het dialoogvenster Removable Devices.
Ook deze verwisselbare apparaten worden door de webserver niet gebruikt.
Om dit dialoogvenster bij de volgende start van de webserver niet meer te krijgen, plaats je een vinkje bij de optie Never show this hint when starting a VM en klik je op de knop OK.
Na het starten verschijnt een venster zoals in de afbeelding hieronder.
Let daarbij op de regel Voor meer informatie surf je naar http:// gevolgd door het IP adres van de webserver.
Dit venster mag je minimaliseren, de webserver blijft werken in geminimaliseerde weergave.
Mocht je toevallig op het zwarte vlak geklikt hebben, werkt het toetsenbord en de muis enkel nog in de virtuele webserver.
Om de muis en het toetsenbord terug in Windows te kunnen gebruiken, druk je de toetscombinatie Ctrl+Alt.

Klik op de knop Webserver afsluiten bovenaan rechts op deze webpagina om de webserver af te sluiten. Daarbij kan de browser een foutmelding tonen waarmee de browser duidelijk maakt dat de pas afgesloten webserver niet meer bereikbaar is.
Je kan de Webserver ook afsluiten door op het zwarte scherm van de virtuele computer het VMware venster te klikken.
Daarna typ je de login root gevolgd door Enter in.
Als wachtwoord gebruik je snt+456 gevolgd door Enter.
Typ daarna de opdracht halt gevolgd door Enter.
Daarna wacht je tot de virtuele computer afgesloten wordt en het VMware venster zich automatisch sluit.
Opgelet: Sluit de Webserver niet af via de sluitknop in de titelbalk van het VMware venster. Daardoor wordt de Webserver niet afgesloten, maar gaat deze in een slaaptoestand. Bij de volgende start van de Webserver ontwaakt de Webserver terug uit zijn slaaptoestand. Een uit zijn slaap ontwakende computer krijgt geen nieuw IP-adres en zal dus niet correct werken (bereikbaar zijn). Daarvoor sluit je de ontwaakte virtuele computer correct af (tweede methode) en herstart je de Webserver.
De webserver kun je altijd bereiken door te surfen naar http://IPadres waarbij je IPadres vervangt door het IP adres van de webserver.
Het IP adres van de webserver kun je aflezen op het zwarte scherm van de webserver in de regel
Voor meer informatie surf je naar http://10.0.0.138.In het voorbeeld hierboven is het IP adres van de webserver 10.0.0.138.
In de praktijk gebruikt men geen IP adressen maar domeinnamen. Je kan het gebruik van de domeinnaam users.webserver.snt (naar analogie met users.telenet.be en users.skynet.be) simuleren door de volgende werkwijze op alle computers die de domeinnaam willen gebruiken uit te voeren:
webserverhosts.vbs.webserverhosts.vbs.De FTP server kun je gebruiken om bestanden te publiceren.
De FTP server heeft standaard 20 gebruikers (van pc01 tot en met pc20) die enkel toegang krijgen via het wachtwoord snt+456 (hetzelfde wachtwoord voor alle gebruikers, eenvoudig voor de les).
Elke gebruiker heeft in de gedeelde map htdocs zijn eigen map (zie Bestandsbeheer).
De FTP server is bereikbaar via ftp://IPadres of ftp://users.webserver.snt (zie Werken met een domeinnaam) of in Dreamweaver via het dialoogvenster Sitedefinitie in de Categorie Externe informatie (zie afbeelding).
Let op het vinkje bij Passieve FTP gebruiken.

De FTP server start automatisch bij het opstarten van de webserver.
De mailserver bestaat uit een SMTP Server (om mails te verzenden) en een POP3/IMAP Server (om mails te verzamelen en ter beschikking van een mail-client te stellen, dus om mails te ontvangen). De mailserver kent standaard 20 gebruikers (van pc01@webserver.snt tot en met pc20@webserver.snt). Al deze gebruikers hebben hetzelfde wachtwoord (namelijk: snt+456). De mailserver start automatisch op bij het opstarten van de webserver. Elke gebruiker heeft in de gedeelde map htdocs zijn eigen map met daarin de map Mail met daarin de ontvangen, verstuurde en verwijderde mails (zie Bestandsbeheer). De map Mail wordt automatisch aangemaakt bij het eerste gebruik van de mailserver (verzenden of ontvangen van de eerste mail). Deze map wordt beheerd door de mailserver en kan dus niet door een FTP gebruiker verwijderd worden (kan dus ook niet verwijderd worden vanuit het publiceren venster van Dreamweaver).
Om tijdens de lessen webdesign op een eenvoudige manier de resultaten van een verzonden formulier te controleren, kun je de mailboxen ook raadplegen door te surfen naar de submap webmail (vb: http://IPadres/webmail of http://users.webserver.snt/webmail - zie Werken met een domeinnaam).
Vul de volgende zaken in:
Gebruikersnaam: pc01 (welke mailbox wil je raadplegen) Wachtwoord: snt+456En klik op de knop Aanmelden om mails te lezen.
Als cgi-script om formulieren te verwerken werd gekozen voor het script FormMail 8.28 van Tectite.com.
Er kunnen enkel mails gestuurd worden naar mailadressen die eindigen op @webserver.snt (zoals pc01@webserver.snt).
Het formulier moet bij het verzenden het script /cgi-bin/formmail.php oproepen (Actie) en gebruikt de POST methode. Het script om het formulier om te zetten naar een e-mail werkt enkel indien het formulier op de webserver staat. M.a.w. publiceer het formulier op de webserver alvorens het te testen.
Deze methode zal in de volgende versie van de webserver niet verder ondersteund worden.
Als cgi-script om formulieren te verwerken werd gekozen voor het script FormMail 1.93 van Matthew M. Wright.
Dit script wordt onder andere gebruikt door de providers Scarlet en One.com.
Er kunnen enkel mails gestuurd worden naar mailadressen die eindigen op @webserver.snt (zoals pc01@webserver.snt).
Het formulier moet bij het verzenden het script /cgi-bin/formmail oproepen (Actie) en gebruikt de POST methode. Het script om het formulier om te zetten naar een e-mail werkt enkel indien het formulier op de webserver staat. M.a.w publiceer het formulier op de webserver alvorens het te testen.
Het volgende veld (al dan niet verborgen) is noodzakelijk om het ingevulde formulier naar een @webserver.snt postbus te sturen:
De volgende velden zijn optioneel voor het script, maar zijn noodzakelijk om niet door spamfilters en/of webservers weerhouden te worden:
De volgende velden zijn optioneel:
Elke gebruiker (pc01 tot en met pc20 gebruiken als wachtwoord snt+456) heeft zijn eigen database (database01 tot en met database20).
De gebruikers kunnen hun eigen database naar believen manipuleren.
De root gebruiker (wachtwoord snt+456) kan alle databases manipuleren en beheren.
De eenvoudigste manier om de databases te beheren is via phpMyAdmin, bereikbaar via de webinterface http://IPadres/phpmyadmin of http://users.webserver.snt/phpmyadmin (zie Werken met een domeinnaam).
\\IPadres te typen, waarbij je IPadres vervangt door het IP adres van de webserver.
De CIFS verbinding gebruikt geen wachtwoord en heeft alle rechten (wees dus voorzichtig).Linux, Version: OpenSUSEWebserver/home/dany/Documenten/SNT/Linux/Distributies/openSUSE-11.4/openSUSE-11.4-NET-i586.isoOm de virtuele computer op andere systemen nieuwe netwerkverbindingen te laten aanmaken (meerdere virtuele webservers op één netwerk zijn daardoor mogelijk), moet bij de eerste start de virtuele computer als gekopieerd beschouwd worden.
Sluit daarvoor de VMware Player af.
Dit kun je als standaard instellen door de regel
uuid.action = "create"
toe te voegen aan het configuratiebestand vmware/Webserver/Webserver.vmx van de virtuele computer (linux opdracht: echo "uuid.action = \"create\"" >> vmware/Webserver/Webserver.vmx) (bron: sanbarrow.com).
Bij de eerste start van de virtuele computer klik je op het zwarte scherm van de virtuele computer om het toetsenbord en de muis aan de virtuele computer over te dragen. Daarna druk je bij het verschijnen van het VMware logo op de Esc toets om het opstartmenu te activeren. In het opstartmenu van de virtuele computer selecteer je met de pijl toetsen <Enter Setup>. Druk Return om de bios van de virtuele computer aan te passen. Bij de Keyboard Features kun je de NumLock optie met de spatiebalk instellen op On. Dit zorgt ervoor dat bij het opstarten van de virtuele computer de numerieke cijfertoetsen geactiveerd worden. Druk F10 om de instelling op te slaan en openSUSE 11.4 te installeren.
Tab-toets spring je naar de knop Verder, met Return druk je de knop Verder in)Tab naar Overige en selecteer met Spatie) en daarna Minimale server keuzemogelijkheid (Tekst modus)Spatie om het opstarten vanaf MBR in te schakelenSpatie om de SSH-service in te schakelen en de SSH-poort te openenhalt uit te voeren.root met het wachtwoord snt+456.zypper install cifs-utils.
De gedeelde map kun je gebruiken na het uitvoeren van de opdracht mount -t cifs //192.168.1.4/users/dany/Documenten/ /mnt/ -o user=danycp /mnt/SNT/Dreamweaver\ CS5/Webserver/pinda /etc/init.d/ plaats het script in de opstartmapchmod +x /etc/init.d/pinda maakt het script uitvoerbaarchkconfig --add pinda plaatst het script in de opstartprocedureyast > Network Devices > Network Settings > Tabblad Hostnaam/DNS(selecteren met de pijl-toetsen)
userswebserver.sntzypper install vsftpdchkconfig --add vsftpdjoe /etc/vsftpd.conf) het configuratiebestand van de FTP server als volgt aan:write_enable=NO te vervangen door write_enable=YES#local_enable=YES te vervangen door local_enable=YES (standaard in openSUSE 11.4).#local_umask=022 te vervangen door local_umask=022#chroot_local_user=YES te vervangen door chroot_local_user=YESyast2 firewall services add zone=EXT service=service:vsftpd/etc/init.d/vsftpd start (enkel nodig als je wilt testen zonder te herstarten).zypper install apache2 apache2-mod_php5 php5-mysql php5-bcmath php5-bz2 php5-calendar php5-ctype php5-curl php5-dom php5-ftp php5-gd php5-gettext php5-gmp php5-iconv php5-imap php5-ldap php5-mbstring php5-mcrypt php5-odbc php5-openssl php5-pcntl php5-pgsql php5-posix php5-shmop php5-snmp php5-soap php5-sockets php5-sqlite php5-sysvsem php5-tokenizer php5-wddx php5-xmlrpc php5-xsl php5-zlib php5-exif php5-fastcgi php5-pear php5-sysvmsg php5-sysvshmchkconfig --add apache2yast2 firewall services add zone=EXT service=service:apache2/etc/init.d/apache2 start (enkel nodig als je wilt testen zonder te herstarten).echo "<?php phpinfo(); ?>" > /srv/www/htdocs/info.phpIPadres/info.phpfor gebruiker in pc01 pc02 pc03 pc04 pc05 pc06 pc07 pc08 pc09 pc10 pc11 pc12 pc13 pc14 pc15 pc16 pc17 pc18 pc19 pc20; do
useradd $gebruiker -p snt+456 -d /srv/www/htdocs/$gebruiker -s /bin/false;
passwd $gebruiker <<EOF
snt+456
snt+456
EOF
mkdir /srv/www/htdocs/$gebruiker
chown $gebruiker:users /srv/www/htdocs/$gebruiker
done
Bij het intypen van deze opdracht verschijnen vanaf de tweede regel >-tekens voor de regels.joe /etc/postfix/main.cf) en vervang de regelhome_mailbox = Maildir/#home_mailbox = Maildir/echo "webserver.snt" >> /etc/postfix/virtual
for gebruiker in pc01 pc02 pc03 pc04 pc05 pc06 pc07 pc08 pc09 pc10 pc11 pc12 pc13 pc14 pc15 pc16 pc17 pc18 pc19 pc20; do
echo "$gebruiker@webserver.snt $gebruiker" >> /etc/postfix/virtual
done
postmap /etc/postfix/virtual naar een voor de mailserver verstaanbaar binair databaseformaat./etc/init.d/postfix restart (enkel nodig als je wilt testen zonder te herstarten).zypper install mailx
echo "Bericht van dany" | mail -s "Testbericht" pc01@webserver.snt
mail -u pc01cp /mnt/SNT/Dreamweaver\ CS5/Webserver/formmail/formmail.php /srv/www/cgi-bin/cp /mnt/SNT/Dreamweaver\ CS5/Webserver/formmail/language_nl.inc /srv/www/cgi-bin/language.incjoe /srv/www/cgi-bin/formmail.php) als volgt aan:$TARGET_EMAIL = array(EMAIL_NAME."@yourhost\.com$")$TARGET_EMAIL = array(EMAIL_NAME."@webserver\.snt$");define("DEF_ALERT","");define("DEF_ALERT","root@localhost");IPadres/cgi-bin/formmail.php?testalert=1.mail of de beheerder de testmail ontvangen heeft.cp /mnt/SNT/Dreamweaver\ CS5/Webserver/formmail/Oud/FormMail.pl /srv/www/cgi-bin/formmailchmod +x /srv/www/cgi-bin/formmailjoe /srv/www/cgi-bin/formmail) als volgt aan:@referers = ('scriptarchive.com','72.52.156.109');@referers = ('scriptarchive.com','72.52.156.109','webserver.snt');&check_url;#&check_url;zypper install dovecot20joe /etc/dovecot/conf.d/10-auth.conf) als volgt aan:
#disable_plaintext_auth = yesdisable_plaintext_auth = nojoe /etc/dovecot/conf.d/10-mail.conf) als volgt aan:
#mail_location =mail_location = mbox:~/Mail:INBOX=/var/spool/mail/%ujoe /etc/dovecot/conf.d/10-ssl.conf) als volgt aan:
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem#ssl_cert = </etc/ssl/certs/dovecot.pem
#ssl_key = </etc/ssl/private/dovecot.pemecho '@reboot root /usr/sbin/dovecot' >> /etc/crontab/etc/init.d/dovecot start (enkel nodig als je wilt testen zonder te herstarten).echo '* * * * * root if ( ! /usr/bin/lsof -Pni :143 -s TCP:LISTEN 2>&1 > /dev/null ); then /etc/init.d/dovecot restart; fi' >> /etc/crontabtelnet localhost 143
1 login pc01 snt+456
1 select inbox
1 logout
tar xvzf /mnt/SNT/Dreamweaver\ CS5/Webserver/squirrelmail-1.4.21.tar.gz -C /srv/www/htdocs/mv /srv/www/htdocs/squirrelmail-1.4.21 /srv/www/htdocs/webmailtar xvzf /mnt/SNT/Dreamweaver\ CS5/Webserver/nl_NL-1.4.18-20090526.tar.gz -C /srv/www/htdocs/webmail//srv/www/htdocs/webmail/config/conf.pl en pas SquirrelMail als volgt aan:
webserver.sntSendmailnl_NLmkdir -p /var/local/squirrelmail/data/
chown wwwrun:www /var/local/squirrelmail/data/
chmod 730 /var/local/squirrelmail/data/
mkdir -p /var/local/squirrelmail/attach/
chown wwwrun:www /var/local/squirrelmail/attach/
chmod 730 /var/local/squirrelmail/attach/IPadres/webmail/src/configtest.phpzypper install mysql-community-server mysql-community-server-clientjoe /etc/init.d/mysql) als volgt aan:
# Default-Start: 2 3 5# Default-Start: 3 5chkconfig --add mysql/etc/init.d/mysql start (enkel nodig als je wilt testen zonder te herstarten).mysql_secure_installation uit te voeren.
Doorloop de assistent en bevestig daarbij alle aanbevolen beveiligingsinstellingen. Gebruik als root wachtwoord snt+456.mysql -p < /mnt/SNT/Dreamweaver\ CS5/Webserver/pinda.sql de MySQL gebruikers en hun database aan.tar xvjf /mnt/SNT/Dreamweaver\ CS5/Webserver/phpMyAdmin-3.4.2-all-languages.tar.bz2 -C /srv/www/htdocs/mv /srv/www/htdocs/phpMyAdmin-3.4.2-all-languages/ /srv/www/htdocs/phpmyadmincp /srv/www/htdocs/phpmyadmin/config.sample.inc.php /srv/www/htdocs/phpmyadmin/config.inc.phpjoe /srv/www/htdocs/phpmyadmin/config.inc.php) de volgende regel$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */$cfg['blowfish_secret'] = 'Geheime schatkamer vol met gouden sleutels'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! *//* User used to manipulate with storage */
$cfg['Servers'][$i]['controluser'] = 'root';
$cfg['Servers'][$i]['controlpass'] = 'snt+456';
/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma_userconfig';
mysql -p < /srv/www/htdocs/phpmyadmin/scripts/create_tables.sqlDROP USER pc01@localhost;DROP DATABASE database01;mysqldump --add-drop-table -u pc01 -p database01 > backup.sqlzypper install samba. Bij de volgende probleemmelding
Probleem: samba-3.5.7-1.17.1.i586 vereist samba-client >= 3.5.7, Maar aan deze eis kan niet voldaan worden
niet-installeerbare aanbieders: samba-client-3.5.7-1.17.1.i586[openSUSE-11.4-11.4-0]
Oplossing 1: deïnstallatie van patterns-openSUSE-minimal_base-11.4-6.9.1.i586
Oplossing 2: samba-3.5.7-1.17.1.i586 niet installeren
Oplossing 3: breek samba door enige van zijn afhankelijkheden te negeren
Kies uit de bovenstaande oplossingen door een nummer of annuleren [1/2/3/a] (a): 1
koos ik voor oplossing 1 (bekende bug in het patterns-openSUSE-minimal_base-11.4-6.9.1 pakket).sed -i.ori -e '/workgroup/a\\tsecurity = share' /etc/samba/smb.confecho -e '[htdocs]\n\tcomment = htdocs\n\tpath = /srv/www/htdocs\n\tread only = no\n\tpublic = yes\n\thide dot files = no\n\tforce user = root\n' >> /etc/samba/smb.conf.
Daarbij krijgt de gedeelde map lees- en schrijfrechten, is deze voor iedereen toegankelijk, worden verborgen mappen en bestanden getoond en wordt de aangemelde gebruiker root (met alle systeembeheerrechten) (zie Beveiliging)chkconfig --add smb/etc/init.d/smb start (enkel nodig als je wilt testen zonder te herstarten).yast2 firewall services add zone=EXT service=service:samba-servercp /mnt/SNT/Dreamweaver\ CS5/Webserver/webserver.html /srv/www/htdocs/index.htmlcp /mnt/SNT/Dreamweaver\ CS5/Webserver/tips11.css /mnt/SNT/Dreamweaver\ CS5/Webserver/webserverhosts.vbs.skel /srv/www/htdocs/mkdir /srv/www/htdocs/webservercp /mnt/SNT/Dreamweaver\ CS5/Webserver/webserver/*.png /srv/www/htdocs/webserverecho '#!/bin/bash' > /srv/www/cgi-bin/halt
echo 'echo "snt+456" | su -c "halt"' >> /srv/www/cgi-bin/halt
chmod +x /srv/www/cgi-bin/haltzypper install bindchkconfig --add namedyast2 firewall services add zone=EXT service=service:bind/etc/init.d/named start (enkel nodig als je wilt testen zonder te herstarten).dig @IPadres www.google.be, liefst vanaf een andere computer.
Voer deze opdracht tweemaal uit en vergelijk de zoektijd (Query time).
Met andere woorden de DNS server werkt als een proxy voor het opzoeken van ip adressen.zypper install squid3chkconfig --add squidyast2 firewall services add zone=EXT tcpport=3128joe /etc/squid/squid.conf) als volgt aan:
#cache_dir ufs /var/cache/squid 100 16 256cache_dir ufs /var/cache/squid 1000 16 256/etc/init.d/squid start (enkel nodig als je wilt testen zonder te herstarten).export http_proxy=http://IPadres:3128/;wget http://linux.pindanet.be, liefst vanaf een andere computer.
Voer deze opdracht tweemaal uit en vergelijk de downloadsnelheid in KB/s of MB/s.zypper ar -c -f -n "server:proxy" http://download.opensuse.org/repositories/server:/proxy/openSUSE_11.4/ "server:proxy"
zypper install squidviewumount /mnt/zypper refreshzypper upzypper cleantar cvjf webserver.tar.bz2 vmware/Webserver/#!/bin/sh # # Template SUSE system startup script for oefenwebserver voor lokaal gebruik # Copyright (C) 2011 Dany Pinoy for openSUSE # # This library is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published by # the Free Software Foundation; either version 2.1 of the License, or (at # your option) any later version. # # This library is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, # USA. # # /etc/init.d/pinda # ### BEGIN INIT INFO # Provides: pinda # Required-Start: $syslog $remote_fs # Should-Start: # Required-Stop: $syslog $remote_fs # Should-Stop: # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Short-Description: webserver # Description: Start de oefenwebserver voor een lokaal netwerk ### END INIT INFO . /etc/rc.status # Reset status of this service rc_reset case "$1" in start) echo -n "Starting Pinda " /usr/bin/setterm -blank 0 # Schakel de schermbeveiliging uit # aanpassen welkomsbericht na het opstarten van het systeem if [ ! -e /etc/issue.ori ]; then cp /etc/issue /etc/issue.ori fi ipadres="`/sbin/ifconfig eth0 | grep 'inet ' | cut -d : -f2 | cut -d ' ' -f1`" if [ ! $ipadres ]; then ipadres="`/sbin/ifconfig eth1 | grep 'inet ' | cut -d : -f2 | cut -d ' ' -f1`" fi echo "Welkom op de oefenwebserver - Kernel \r" > /etc/issue echo "Voor meer informatie surf je naar http://$ipadres." >> /etc/issue echo "Copyright (C) 2011 Dany Pinoy voor SNT Brugge" >> /etc/issue echo >> /etc/issue /usr/bin/sed "s/webserveripadres/$ipadres/" /srv/www/htdocs/webserverhosts.vbs.skel > /srv/www/htdocs/webserverhosts.vbs # Remember status and be verbose rc_status -v ;; stop) echo -n "Shutting down Pinda " # Remember status and be verbose rc_status -v ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac rc_exit
CREATE USER 'pc01'@'localhost' IDENTIFIED BY 'snt+456'; GRANT USAGE ON * . * TO 'pc01'@'localhost' IDENTIFIED BY 'snt+456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `database01` ; GRANT ALL PRIVILEGES ON `database01` . * TO 'pc01'@'localhost'; CREATE USER 'pc02'@'localhost' IDENTIFIED BY 'snt+456'; GRANT USAGE ON * . * TO 'pc02'@'localhost' IDENTIFIED BY 'snt+456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `database02` ; GRANT ALL PRIVILEGES ON `database02` . * TO 'pc02'@'localhost'; CREATE USER 'pc03'@'localhost' IDENTIFIED BY 'snt+456'; GRANT USAGE ON * . * TO 'pc03'@'localhost' IDENTIFIED BY 'snt+456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `database03` ; GRANT ALL PRIVILEGES ON `database03` . * TO 'pc03'@'localhost'; CREATE USER 'pc04'@'localhost' IDENTIFIED BY 'snt+456'; GRANT USAGE ON * . * TO 'pc04'@'localhost' IDENTIFIED BY 'snt+456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `database04` ; GRANT ALL PRIVILEGES ON `database04` . * TO 'pc04'@'localhost'; CREATE USER 'pc05'@'localhost' IDENTIFIED BY 'snt+456'; GRANT USAGE ON * . * TO 'pc05'@'localhost' IDENTIFIED BY 'snt+456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `database05` ; GRANT ALL PRIVILEGES ON `database05` . * TO 'pc05'@'localhost'; CREATE USER 'pc06'@'localhost' IDENTIFIED BY 'snt+456'; GRANT USAGE ON * . * TO 'pc06'@'localhost' IDENTIFIED BY 'snt+456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `database06` ; GRANT ALL PRIVILEGES ON `database06` . * TO 'pc06'@'localhost'; CREATE USER 'pc07'@'localhost' IDENTIFIED BY 'snt+456'; GRANT USAGE ON * . * TO 'pc07'@'localhost' IDENTIFIED BY 'snt+456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `database07` ; GRANT ALL PRIVILEGES ON `database07` . * TO 'pc07'@'localhost'; CREATE USER 'pc08'@'localhost' IDENTIFIED BY 'snt+456'; GRANT USAGE ON * . * TO 'pc08'@'localhost' IDENTIFIED BY 'snt+456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `database08` ; GRANT ALL PRIVILEGES ON `database08` . * TO 'pc08'@'localhost'; CREATE USER 'pc09'@'localhost' IDENTIFIED BY 'snt+456'; GRANT USAGE ON * . * TO 'pc09'@'localhost' IDENTIFIED BY 'snt+456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `database09` ; GRANT ALL PRIVILEGES ON `database09` . * TO 'pc09'@'localhost'; CREATE USER 'pc10'@'localhost' IDENTIFIED BY 'snt+456'; GRANT USAGE ON * . * TO 'pc10'@'localhost' IDENTIFIED BY 'snt+456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `database10` ; GRANT ALL PRIVILEGES ON `database10` . * TO 'pc10'@'localhost'; CREATE USER 'pc11'@'localhost' IDENTIFIED BY 'snt+456'; GRANT USAGE ON * . * TO 'pc11'@'localhost' IDENTIFIED BY 'snt+456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `database11` ; GRANT ALL PRIVILEGES ON `database11` . * TO 'pc11'@'localhost'; CREATE USER 'pc12'@'localhost' IDENTIFIED BY 'snt+456'; GRANT USAGE ON * . * TO 'pc12'@'localhost' IDENTIFIED BY 'snt+456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `database12` ; GRANT ALL PRIVILEGES ON `database12` . * TO 'pc12'@'localhost'; CREATE USER 'pc13'@'localhost' IDENTIFIED BY 'snt+456'; GRANT USAGE ON * . * TO 'pc13'@'localhost' IDENTIFIED BY 'snt+456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `database13` ; GRANT ALL PRIVILEGES ON `database13` . * TO 'pc13'@'localhost'; CREATE USER 'pc14'@'localhost' IDENTIFIED BY 'snt+456'; GRANT USAGE ON * . * TO 'pc14'@'localhost' IDENTIFIED BY 'snt+456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `database14` ; GRANT ALL PRIVILEGES ON `database14` . * TO 'pc14'@'localhost'; CREATE USER 'pc15'@'localhost' IDENTIFIED BY 'snt+456'; GRANT USAGE ON * . * TO 'pc15'@'localhost' IDENTIFIED BY 'snt+456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `database15` ; GRANT ALL PRIVILEGES ON `database15` . * TO 'pc15'@'localhost'; CREATE USER 'pc16'@'localhost' IDENTIFIED BY 'snt+456'; GRANT USAGE ON * . * TO 'pc16'@'localhost' IDENTIFIED BY 'snt+456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `database16` ; GRANT ALL PRIVILEGES ON `database16` . * TO 'pc16'@'localhost'; CREATE USER 'pc17'@'localhost' IDENTIFIED BY 'snt+456'; GRANT USAGE ON * . * TO 'pc17'@'localhost' IDENTIFIED BY 'snt+456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `database17` ; GRANT ALL PRIVILEGES ON `database17` . * TO 'pc17'@'localhost'; CREATE USER 'pc18'@'localhost' IDENTIFIED BY 'snt+456'; GRANT USAGE ON * . * TO 'pc18'@'localhost' IDENTIFIED BY 'snt+456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `database18` ; GRANT ALL PRIVILEGES ON `database18` . * TO 'pc18'@'localhost'; CREATE USER 'pc19'@'localhost' IDENTIFIED BY 'snt+456'; GRANT USAGE ON * . * TO 'pc19'@'localhost' IDENTIFIED BY 'snt+456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `database19` ; GRANT ALL PRIVILEGES ON `database19` . * TO 'pc19'@'localhost'; CREATE USER 'pc20'@'localhost' IDENTIFIED BY 'snt+456'; GRANT USAGE ON * . * TO 'pc20'@'localhost' IDENTIFIED BY 'snt+456' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; CREATE DATABASE IF NOT EXISTS `database20` ; GRANT ALL PRIVILEGES ON `database20` . * TO 'pc20'@'localhost';
' DNS oplossing voor webserver
' Bron: http://www.ericphelps.com/scripting/samples/Hosts/
' Copyright (C) Dany Pinoy voor SNT Brugge 2011
'Define globals
Const WindowsFolder = 0
Const SystemFolder = 1
Const ForWriting = 2
Const ForAppending = 8
Dim gstrHostsFile 'The location of the computer's "hosts" file
Dim fs 'File System Object
Dim WshShell
Dim WshSysEnv
Dim profilesIni
Dim profilePath
'Make sure the system has the basics
If Not HasScripting() Then WScript.Quit
' http://www.computerperformance.co.uk/Logon/code/code_800A000D.htm
' Enkel op school
On Error Resume Next
'Prompt for admin rights if needed
If NeedsUAC() Then
If MsgBox("Dit script heeft administratieve rechten nodig " _
& "om uw ""hosts"" bestand aan te passen. " _
& "Als uw computer voor deze actie vraagt om wijzigingen aan de computer aan te brengen, moet je deze toestaan." _
& "", vbOkCancel , "Administratieve Rechten") <> vbOk Then
WScript.Quit
End If
UAC
End If
Set fs = CreateObject("Scripting.FileSystemObject")
'Find the location of the computer's hosts file
If fs.FolderExists(fs.BuildPath(fs.GetSpecialFolder(SystemFolder), "drivers\etc")) Then
gstrHostsFile = fs.BuildPath(fs.GetSpecialFolder(SystemFolder), "drivers\etc\hosts")'WinNT, Win2000, WinXP, Vista
Else
gstrHostsFile = fs.BuildPath(fs.GetSpecialFolder(WindowsFolder), "hosts")'Win98
End If
'Back up the existing hosts file
If Not fs.FileExists(gstrHostsFile & ".pinda.bak") Then
If fs.FileExists(gstrHostsFile) Then
fs.CopyFile gstrHostsFile, gstrHostsFile & ".pinda.bak", True
End If
End If
fs.CopyFile gstrHostsFile & ".pinda.bak", gstrHostsFile, True
fs.OpenTextFile(gstrHostsFile, ForAppending, True).WriteLine ""
fs.OpenTextFile(gstrHostsFile, ForAppending, True).WriteLine "# Webserver voor Dreamweaver, Dany Pinoy, SNT Brugge"
fs.OpenTextFile(gstrHostsFile, ForAppending, True).WriteLine "webserveripadres users.webserver.snt"
Wscript.Echo "De webserver is nu bereikbaar via http://users.webserver.snt."
'*********************************************************
'**** UAC (User Access Control) code below this point ****
'*********************************************************
Function NeedsUAC()
'Returns False if UAC not needed (Win9x or Win2K/XP with logged on admin)
'Returns True if UAC needed (Win2K/XP with no admin or every instance of Vista)
If IsAdmin(UserName()) Then
If OsVersion() < 6 Then
NeedsUAC = False
Else
NeedsUAC = True
End If
Else
NeedsUAC = True
End If
End Function
Sub UAC()
'Run this subroutine FIRST THING on any script that may require admin
'priveleges. It will generate a "User Access Control" prompt on Vista
'or generate a "Run As" prompt for admin priveleges on 2K/XP (if the
'2K/XP user isn't an admin). It will do nothing on Win9x systems or
'on Win2K/XP systems with a logged-in admin.
Const FOR_WRITING = 2
Const TEMP_FOLDER = 2
Dim ws, fs, ts, wmi, col, obj
Dim strData, strUacFile, strArg, strArgs, strOsVersion, strUserName, strGroup, strMember
Dim lngArg, lngOsVersion
Dim blnIsAdmin, blnHasAdmins
'See if we can create needed objects
On Error Resume Next
Err.Clear
Set fs = CreateObject("Scripting.FileSystemObject")
Set ws = CreateObject("WScript.Shell")
Set wmi = GetObject("winmgmts:\\.\root\CIMV2")
If Err.Number <> 0 Then Exit Sub 'Reasonable assumption it's Win9x?
On Error Goto 0
'Define the name of the special script that will re-launch this one for UAC if needed.
'Can't use %TEMP% or other per-user folder, can't use script folder because it might be
'in protected area.
strUacFile = ""
If strUacFile = "" Then
'First try to use "shared docs" because everyone can get to it.
strUacFile = ws.RegRead("HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Common Documents")
If strUacFile <> "" Then
If fs.FolderExists(strUacFile) Then
strUacFile = fs.BuildPath(strUacFile, "~" & fs.GetBaseName(WScript.ScriptName) & ".vbs")
Else
strUacFile = ""
End If
End If
End If
If strUacFile = "" Then
'Next choice is all users desktop.
strUacFile = ws.SpecialFolders("AllUsersDesktop")
If strUacFile <> "" Then
If fs.FolderExists(strUacFile) Then
strUacFile = fs.BuildPath(strUacFile, "~" & fs.GetBaseName(WScript.ScriptName) & ".vbs")
Else
strUacFile = ""
End If
End If
End If
If strUacFile = "" Then
'Last choice is the drive root. At least we know it exists!
strUacFile = fs.BuildPath(fs.GetDriveName(WScript.Path) & "\", "~" & WScript.ScriptName)
End If
'If the UAC script exists, we can assume it launched this one! It should be deleted.
If fs.FileExists(strUacFile) Then
fs.DeleteFile strUacFile
Exit Sub
End If
'Find the Operating System major version
Set col = wmi.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", 48)
strOsVersion = "0.0"
For Each obj In col : strOsVersion = obj.Version : Next
If Instr(strOsVersion, ".") Then strOsVersion = Left(strOsVersion, Instr(strOsVersion, ".") - 1)
lngOsVersion = CLng(strOsVersion)
'If the OS is less than W2K, everybody is an admin and no UAC prompt is needed
If lngOsVersion < 5 Then Exit Sub
'Find the user name (needed to see if the user is an admin)
Set col = wmi.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", 48)
strUserName = ""
For Each obj In col : strUserName = obj.UserName : Next
If Instr(strUserName, "\") Then strUserName = Mid(strUserName, Instr(strUserName, "\") + 1)
'See if the user is an admin
blnIsAdmin = False
blnHasAdmins = False
Set col = wmi.ExecQuery("SELECT * FROM Win32_GroupUser", "WQL", 48)
For Each obj In col
strGroup = obj.GroupComponent
strGroup = Split(strGroup, "=")
If strGroup(UBound(strGroup)) = """Administrators""" Then
blnHasAdmins = True
strMember = obj.PartComponent
strMember = Split(strMember, "=")
If strMember(UBound(strMember)) = """" & strUserName & """" Then
blnIsAdmin = True
End If
End If
Next
If blnHasAdmins = False Then blnIsAdmin = True 'If no admin group then everybody is an admin?
'Final test. No UAC prompt is needed if user is admin on something less than Vista
If ((lngOsVersion < 6) And (blnIsAdmin)) Then Exit Sub
'This is definitely a directly-run script. We need to re-launch it to get a UAC.
'First collect any arguments the script has so we can re-launch it exactly the same.
For lngArg = 0 To WScript.Arguments.Count - 1
If strArgs <> "" Then strArgs = strArgs & " "
strArg = WScript.Arguments(lngArg)
If ((InStr(strArg, " ") <> 0) Or (InStr(strArg, vbTab) <> 0)) Then
strArg = """" & """" & strArg & """" & """"
End If
strArgs = strArgs & strArg
Next
'Now build the actual command that will re-launch the script with a UAC prompt
strData = "CreateObject(""Shell.Application"").ShellExecute "
strData = strData & """" & """" & """" & Wscript.FullName & """" & """" & """"
strData = strData & ", "
strData = strData & """" & """" & """" & WScript.ScriptFullName & """" & """"
If strArgs = "" Then
strData = strData & """, "
Else
strData = strData & " " & strArgs & """, "
End If
strData = strData & """" & """" & """" & fs.GetParentFolderName(WScript.ScriptFullName) & """" & """" & """"
strData = strData & ", "
strData = strData & """runas"""
strData = strData & ", 1"
'Save the UAC command in a separate script
Set ts = fs.OpenTextFile(strUacFile, FOR_WRITING, True)
ts.Write strData
ts.Close
'Show a message
' Wscript.Echo "Dit script heeft administratieve rechten nodig."
'Launch the UAC script
ws.Run "wscript.exe" & " """ & strUacFile & """", 1, False
'We MUST exit at this point and let the UAC script re-launch us.
WScript.Quit
End Sub
Function HasScripting()
'Returns True if able to create common scripting objects (some WinXP can fail!)
Dim fs, ws, sa, lngErrNum
Err.Clear
lngErrNum = 0
Set ws = CreateObject("WScript.Shell")
lngErrNum = lngErrNum + Err.Number
Set fs = CreateObject("Scripting.FileSystemObject")
lngErrNum = lngErrNum + Err.Number
Set sa = CreateObject("Shell.Application")
lngErrNum = lngErrNum + Err.Number
If lngErrNum <> 0 Then
If MsgBox ("You seem to have a bad (or old) installation of Microsoft Windows Scripting. I'd like to take you to a Microsoft web page where you can download Scripting Version 5.6. May I launch your default browser to show you the download page?", vbYesNo, "Update Needed") = vbYes Then
ws.Run "http://www.microsoft.com/downloads/details.aspx?FamilyId=C717D943-7E4B-4622-86EB-95A22B832CAA&displaylang=en", 1, False
End If
HasScripting = False
Else
HasScripting = True
End If
End Function
Function OsVersion()
'Returns the base + minor version for the OS. Returns 0 on error.
'3.5=NT, 4.0=95, 4.1=98, 4.9=ME, 5.0=2K, 5.1=XP, 5.2=2003, 6.0=Vista
Dim strVersion, objWMI, colSystems, objOS
Dim ver, strVer, strVerMajor, strVerMinor, strMajor
strVersion = "0" 'Set a default of zero in case of error
On Error Resume Next
Set objWMI = GetObject("winmgmts:\\.\root\CIMV2")
Set colSystems = objWMI.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", 48)
For Each objOS In colSystems
strVersion = objOS.Version
Next
Set objWMI = Nothing
If InStr(strVersion, ".") > 0 Then
strVersion = Left(strVersion, InStr(strVersion, ".") + 1)
End If
'If WMI fails, try parsing output from the old "ver" command
If strVersion = "0" Then
Set ws = CreateObject("Wscript.Shell")
Set ver = ws.Exec("%comspec% /c ver")
Do While ver.Status = 0
WScript.Sleep 100
Loop
strVer = ver.StdOut.ReadAll
strVer = Split(strVer, ".")
'Get major version
strMajor = strVer(0)
strMajor = Split(strMajor, " ")
strVerMajor = strMajor(UBound(strMajor))
'Get minor version
strVerMinor = strVer(1)
strVerMinor = Left(strVerMinor, 1)
'Check results
If IsNumeric(strVerMajor) And IsNumeric(strVerMinor) Then
strVersion = strVerMajor & "." & strVerMinor
End If
End If
OsVersion = strVersion
End Function
Function UserName()
Dim objWMI, colComputers, objComputer, strUser, ws, env
On Error Resume Next
strUser = ""
Err.Clear
Set objWMI = GetObject("winmgmts:\\.\root\CIMV2")
Set colComputers = objWMI.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", 48)
If Err.Number <> 0 Then
'WMI Failure. Try environment
Set ws = CreateObject("Wscript.Shell")
Set env = ws.Environment("Process")
strUser = env.Item("USERNAME")
Else
For Each objComputer In colComputers
strUser = objComputer.UserName
Next
If Instr(strUser, "\") Then
strUser = Mid(strUser, Instr(strUser, "\") + 1)
End If
End If
Set objWMI = Nothing
UserName = strUser
End Function
Function IsAdmin(strUserName)
Dim objWMI, colUsers, objUser, strGroup, strUser, blnIsAdmin, blnHasAdmins
On Error Resume Next
Err.Clear
Set objWMI = GetObject("winmgmts:\\.\root\CIMV2")
Set colUsers = objWMI.ExecQuery("SELECT * FROM Win32_GroupUser", "WQL", 48)
If Err.Number <> 0 Then
'Assume WMI failure means Win9X, implying user is an Administrator
IsAdmin = True
Else
blnIsAdmin = False
blnHasAdmins = False
For Each objUser In colUsers
strGroup = objUser.GroupComponent
strGroup = Split(strGroup, "=")
If strGroup(UBound(strGroup)) = """Administrators""" Then
blnHasAdmins = True
strUser = objUser.PartComponent
strUser = Split(strUser, "=")
If strUser(UBound(strUser)) = """" & strUserName & """" Then
blnIsAdmin = True
End If
End If
Next
End If
If blnHasAdmins = False Then
'If there are no members of the Administrators group, assume everybody is an admin
IsAdmin = True
Else
IsAdmin = blnIsAdmin
End If
End Function
<?php
/*
* This is a language file for Tectite FormMail from www.tectite.com.
* Simply put this file in the same directory on your server as formmail.php
* and FormMail will automatically use messages from this file.
* The file must be called "language.inc".
*
* Therefore, to get French messages, upload "language_fr.inc"
* and rename it to "language.inc".
*
* Filename: language_nl.inc
* Language: Dutch
* Translated by: Dany Pinoy
* You can contact Dany at www.pindanet.be or by email
* to translations AT tectite DOT com.
* Version: 1.2 24-Apr-07
*
* Comments:
* This is a sample language file containing the builtin messages.
*
* Change History
* ~~~~~~~~~~~~~~
* Version 1.2: 15-Jun-11 Dany Pinoy
* Translation to dutch
* Version 1.2: 24-Apr-07 Russell Robinson
* Added new messages up to version 8.00 of FormMail.
*
* Version 1.1: 04-May-05 Russell Robinson
* Added new messages up to version 7.00 of FormMail.
*
* Version 1.0: 15-Dec-04 Russell Robinson
* Created.
*
*
* Instructions for Translators
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Here are the steps:
* 1. Fill in your details above including contact details,
* and version and date. Below, place your language's title
* in the $sLangID variable.
* 2. For each message, read the description above it and make note of
* the parameters require for each message. Translate
* the message and use single quotes ('). If you need to wrap
* lines, use the dot operator to concatenate strings. Use
* \n to indicate a newline. Place parameters in the appropriate
* place for the target language.
* For example,
* This alert has been filtered through "$FILTER" for security
* purposes.
* might be this in German:
* Diese Alarmbereitschaft ist "$FILTER" für Sicherheits Zwecke
* durchgesicket worden.
*
* Note that some messages include the $MNUM parameter. They do this
* to locate the message number (which looks like this: [M42]) in a
* logical place when the message consists of multiple lines or is
* concatenated with other information from FormMail.
*
* NOTE: if there are newlines (\n) at the end of a message, please
* ensure you keep them - these will be there for important formatting
* requirements.
* 3. You can leave untranslated messages in English simply by leaving
* them out of the file (or commenting the lines by placing //
* at the beginning of each line). The built-in English version is
* loaded by FormMail first, then the language.inc file
* overrides those messages.
* 4. You can compare your translation with the builtin version with
* these steps:
* a. upload your draft file to your server in the same
* directory as formmail.php
* b. open formmail in your browser like this:
* http://www.yoursite.com/formmail.php?testlang=1
* 5. Email to translations AT tectite DOT com for publishing.
*/
//
// the name of the language this file contains
//
$sLangID = "Nederlands";
// MSG_SCRIPT_VERSION is shown if the PHP version is too old to run
// FormMail
// Parameters:
// $PHPREQ is the minimum required PHP version
// $PHPVERS is the version the server currently has installed.
$aMessages[MSG_SCRIPT_VERSION] = 'Dit script vereist minstens PHP versie '.
'$PHPREQ. U gebruikt PHP versie $PHPVERS.';
// MSG_END_VERS_CHK is sent at the end of an Alert message when
// FormMail detects that there's a newer version available
// Parameters: none
$aMessages[MSG_END_VERS_CHK] = '***************************************************\n'.
'Als je tevreden bent met de huidige versie en je wenst\n'.
'deze herinneringen stoppen, pas formmail.php aan en\n'.
'zet CHECK_FOR_NEW_VERSION op false.\n'.
'***************************************************\n';
// MSG_VERS_CHK is sent in an Alert message when
// FormMail detects that there's a newer version available
// Parameters:
// $TECTITE the website to go to
// $FM_VERS the current FormMail version
// $NEWVERS the new FormMail version that's available
$aMessages[MSG_VERS_CHK] = 'Een recentere versie van FormMail is beschikbaar bij $TECTITE.\n'.
'Je gebruikt momenteel versie $FM_VERS.\n'.
'De nieuwe beschikbare versie is $NEWVERS.\n';
// MSG_CHK_FILE_ERROR is sent in an Alert message when
// FormMail cannot create a file to record the time of version check.
// Parameters:
// $FILE the file name that could not be created
// $ERROR the actual error message
$aMessages[MSG_CHK_FILE_ERROR] = 'Fout bij het aanmaken van het controlebestand "$FILE": $ERROR';
// MSG_UNK_VALUE_SPEC is sent in an Alert message when
// a form uses an unknown value specification in derive_fields.
// Parameters:
// $SPEC the unknown value specification
// $MSG additional message
$aMessages[MSG_UNK_VALUE_SPEC] = 'derive_fields: onbekende waarde opgegeven '.
'"$SPEC"$MSG';
// MSG_INV_VALUE_SPEC is sent in an Alert message when
// a form uses a value specification in derive_fields that's
// formatted incorrectly (missing terminating '%')
// Parameters:
// $SPEC the invalid value specification
$aMessages[MSG_INV_VALUE_SPEC] = 'derive_fields: ongeldige waarde opgegeven '.
'"$SPEC" (waarschijnlijk een "%" vergeten)';
// MSG_DERIVED_INVALID is sent in an Alert message when
// a form's derive_fields setting has errors
// Parameters: none
// A list of errors is appended on separate lines
$aMessages[MSG_DERIVED_INVALID] = 'Sommige derive_fields specificaties zijn ongeldig $MNUM:\n';
// MSG_INT_FORM_ERROR is sent in an Alert message and displayed
// to the form user
// Parameters: none
$aMessages[MSG_INT_FORM_ERROR] = 'Interne formulierfout';
// MSG_OPTIONS_INVALID is sent in an Alert message when
// a form's options settings are invalid. This applies to
// mail_options, filter_options, crm_options, and autorespond
// Parameters:
// $OPT the name of the options field
// A list of errors is appended on separate lines
$aMessages[MSG_OPTIONS_INVALID] = 'Sommige $OPT instellingen zijn niet gedefinieerd $MNUM:\n';
// MSG_PLSWAIT_REDIR is shown to the user for a redirect
// with JavaScript
// Parameters: none
$aMessages[MSG_PLSWAIT_REDIR] = 'Even geduld, u wordt doorverbonden...';
// MSG_IFNOT_REDIR is shown to the user for a redirect
// with JavaScript
// Parameters:
// $URL the URL to redirect to
$aMessages[MSG_IFNOT_REDIR] = 'Als je niet automatisch wordt doorverbonden, '.
'gelieve dan <a href="$URL">hier te klikken</a>.';
// MSG_PEAR_OBJ is shown to the user if the PEAR Mail object
// cannot be created
// Parameters: none
$aMessages[MSG_PEAR_OBJ] = 'Fout bij het aanmaken van PEAR Mail object';
// MSG_PEAR_ERROR is sent in an Alert message if the PEAR Mail processing
// reports an error
// Parameters:
// $MSG the error message from PEAR
$aMessages[MSG_PEAR_ERROR] = 'PEAR Mail fout: $MSG';
// MSG_NO_FOPT_ADDR is sent in an Alert message SendMailFOption is
// specified in the form and no email address has been provided
// Parameters: none
$aMessages[MSG_NO_FOPT_ADDR] = 'U heeft "SendMailFOption" in uw formulier gebruikt, '.
'maar er is geen e-mail adres om te gebruiken';
// MSG_MORE_INFO is sent in an Alert message on a line by itself, just
// before extra information about the FormMail processing that may have
// led to the alert message
// Parameters: none
$aMessages[MSG_MORE_INFO] = 'Meer informatie:';
// MSG_INFO_STOPPED is sent in an Alert message to say that extra
// alert information has been suppressed because of potential security
// problems with showing it.
// Parameters: none
$aMessages[MSG_INFO_STOPPED] = '(Extra alarm informatie onderdrukt wegens '.
'veiligheidsredenen. $MNUM)';
// MSG_FM_ALERT is sent as the subject line of an Alert message
// Parameters: none
$aMessages[MSG_FM_ALERT] = 'FormMail alarm';
// MSG_FM_ERROR is sent as the subject line of an Alert message
// Parameters: none
$aMessages[MSG_FM_ERROR] = 'FormMail script fout';
// MSG_FM_ERROR_LINE is sent in an Alert message on a
// separate line to introduce the actual error message
// Parameters: none
$aMessages[MSG_FM_ERROR_LINE] = 'De volgende fout is in FormMail opgetreden $MNUM:';
// MSG_USERDATA_STOPPED is sent in an Alert message to say that the
// user's data has been suppressed because of potential security
// problems with showing it.
// Parameters: none
$aMessages[MSG_USERDATA_STOPPED] = '(Gebruikers data onderdrukt wegens veiligheids'.
'redenen. $MNUM)';
// MSG_FILTERED is sent in an Alert message to show what filter
// has been used on the message
// Parameters:
// $FILTER the name of the filter
$aMessages[MSG_FILTERED] = 'Dit alarm werd wegens veiligheidsredenen door de filter "$FILTER" '.
'onderzocht.';
// MSG_TEMPLATES is sent in an Alert message when a form tries
// to use a template, but templates have not been configured in
// formmail.php
// Parameters: none
$aMessages[MSG_TEMPLATES] = 'Je moet TEMPLATEDIR of TEMPLATEURL '.
'in formmail.php instellen voor je '.
'templates in formulieren kunt gebruiken.';
// MSG_OPEN_TEMPLATE is sent in an Alert message when FormMail cannot
// open a template file
// Parameters:
// $NAME the name of the template file
// $ERROR information about the error
$aMessages[MSG_OPEN_TEMPLATE] = 'Het openen van het template "$NAME" is mislukt $MNUM: $ERROR';
// MSG_ERROR_PROC is shown to the user as part of an error
// page. This message introduces the error.
// Parameters: none
$aMessages[MSG_ERROR_PROC] = 'Een fout is opgetreden bij het verwerken van het '.
'formulier $MNUM.\n\n';
// MSG_ALERT_DONE is shown to the user as part of an error
// page if an Alert message has been sent to the website owner.
// Parameters: none
$aMessages[MSG_ALERT_DONE] = 'De beheerder van de webserver is op de hoogte gebracht van de fout met het nummer $MNUM.\n';
// MSG_PLS_CONTACT is shown to the user as part of an error
// page if an Alert message could *not* be sent to the website owner.
// Parameters: none
$aMessages[MSG_PLS_CONTACT] = 'Gelieve ons rechtstreeks te contacteren, want dit formulier '.
'werkt niet $MNUM.\n';
// MSG_APOLOGY is shown to the user as part of an error
// page as an apology for a problem with the form.
// Parameters: none
$aMessages[MSG_APOLOGY] = 'Wij verontschuldigen ons voor de ongemakken die deze fout '.
'veroorzaken.';
// MSG_ABOUT_FORMMAIL is shown to the user at the foot of pages
// generated by FormMail (e.g. the default "Thanks" page and default
// error page).
// Parameters:
// $FM_VERS the FormMail version number
// $TECTITE www.tectite.com
$aMessages[MSG_ABOUT_FORMMAIL] = 'Uw formulier is verwerkt door '.
'($FM_VERS), beschikbaar bij '.
'<a href="http://$TECTITE/">$TECTITE</a>.';
// MSG_PREG_FAILED is sent in an Alert message if the TectiteCRM
// system failed to return the expected result.
// Parameters: none
$aMessages[MSG_PREG_FAILED] = 'preg_match_all mislukt in FindCRMFields';
// MSG_URL_INVALID is sent in an Alert message if the specified
// URL for TectiteCRM is not valid according to the TARGET_URLS
// configuration setting
// Parameters:
// $URL the invalid URL
$aMessages[MSG_URL_INVALID] = 'De URL "$URL" om het Customer '.
'Relationship Management System (CRM) te bereiken is ongeldig '.
'(zie TARGET_URLS in formmail.php)';
// MSG_URL_OPEN is sent in an Alert message if the specified
// URL for TectiteCRM cannot be opened
// Parameters:
// $URL the invalid URL
// $ERROR information about the error
$aMessages[MSG_URL_OPEN] = 'Het openen van het Customer Relationship '.
'Management System is mislukt, met de URL "$URL" $MNUM: $ERROR';
// MSG_CRM_FAILED is sent in an Alert message if the TectiteCRM
// system doesn't return an OK message
// Parameters:
// $URL the invalid URL
// $MSG more information
$aMessages[MSG_CRM_FAILED] = 'Storings rapport van het Customer Relationship '.
'Management System (url="$URL") $MNUM: $MSG';
// MSG_CRM_FORM_ERROR is shown to the user if the information
// passed to TectiteCRM was not accepted
// Parameters: none
$aMessages[MSG_CRM_FORM_ERROR] = 'Uw formulier verwerking is niet aanvaard';
// MSG_AND is shown to the user; it shows two items separated
// by "and"
// Parameters:
// $ITEM1 the first item
// $ITEM2 the second item
$aMessages[MSG_AND] = '"$ITEM1" en "$ITEM2"';
// MSG_OR is shown to the user; it shows two items separated
// by "or"
// Parameters:
// $ITEM1 the first item
// $ITEM2 the second item
$aMessages[MSG_OR] = '"$ITEM1" of "$ITEM2"';
// MSG_NOT_BOTH is shown to the user; it shows two items that must
// be specified together
// Parameters:
// $ITEM1 the first item
// $ITEM2 the second item
$aMessages[MSG_NOT_BOTH] = 'niet beide "$ITEM1" en "$ITEM2"';
// MSG_XOR is shown to the user; it shows two items that must
// not be specified together
// Parameters:
// $ITEM1 the first item
// $ITEM2 the second item
$aMessages[MSG_XOR] = '"$ITEM1" of "$ITEM2" (maar niet beiden)';
// MSG_IS_SAME_AS is shown to the user; it shows two items that must
// not be the same value
// Parameters:
// $ITEM1 the first item
// $ITEM2 the second item
$aMessages[MSG_IS_SAME_AS] = '"$ITEM1" is hetzelfde als "$ITEM2"';
// MSG_IS_NOT_SAME_AS is shown to the user; it shows two items that must
// be the same value
// Parameters:
// $ITEM1 the first item
// $ITEM2 the second item
$aMessages[MSG_IS_NOT_SAME_AS] = '"$ITEM1" is niet hetzelfde als "$ITEM2"';
// MSG_REQD_OPER is sent in an Alert message when an unknown
// operator has been used in a "required" specification
// Parameters:
// $OPER the unknown operator
$aMessages[MSG_REQD_OPER] = 'Operator "$OPER" is niet geldig voor "required"';
// MSG_PAT_FAILED is sent in an Alert message when a "conditions" pattern
// match has not matched anything (this isn't necessarily an error)
// Parameters:
// $OPER the "conditions" operator
// $PAT the "conditions" pattern
// $VALUE the value that was searched
$aMessages[MSG_PAT_FAILED] = 'Patroon operator "$OPER" mislukt: patroon '.
'"$PAT", opgezochte waarde was "$VALUE".';
// MSG_COND_OPER is sent in an Alert message when a "conditions"
// operator is not value
// Parameters:
// $OPER the "conditions" operator
$aMessages[MSG_COND_OPER] = 'Operator "$OPER" is ongeldig voor "conditions"';
// MSG_INV_COND is sent in an Alert message when a "conditions"
// field is not valid
// Parameters:
// FLD the field name
$aMessages[MSG_INV_COND] = 'Ongeldig "conditions" veld "$FLD" - geen tekenreeks of reeks.';
// MSG_COND_CHARS is sent in an Alert message when a "conditions"
// field is missing the mandatory first 2 characters (the separators)
// Parameters:
// FLD the field name
// COND the conditions field value
$aMessages[MSG_COND_CHARS] = 'Het voorwaarden veld "$FLD" is ongeldig. '.
'Zorg voor de twee scheidingstekens '.
'in het begin. Je gebruikte "$COND".';
// MSG_COND_INVALID is sent in an Alert message when a "conditions"
// field has the wrong format
// Parameters:
// FLD the field name
// COND the conditions field value
// SEP the internal separator character for the field.
$aMessages[MSG_COND_INVALID] = 'Het voorwaarden veld "$FLD" is ongeldig. '.
'Er moeten minstens 5 onderdelen, '.
'gescheiden door "$SEP". Je gebruikte "$COND".';
// MSG_COND_TEST_LONG is sent in an Alert message when a "conditions"
// TEST value has too many components
// Parameters:
// FLD the field name
// COND the conditions field value
// SEP the list separator character for the field.
$aMessages[MSG_COND_TEST_LONG] = 'Veld "$FLD" bevat te veel onderdelen voor '.
'een "TEST" opdracht: "$COND".\nEr ontbreekt '.
'een "$SEP"?';
// MSG_COND_IF_SHORT is sent in an Alert message when a "conditions"
// IF value has too few components
// Parameters:
// FLD the field name
// COND the conditions field value
// SEP the internal separator character for the field.
$aMessages[MSG_COND_IF_SHORT] = 'Veld "$FLD" bevat te weinig onderdelen voor '.
'een "IF" opdracht: "$COND".\nEr moeten '.
'ten minste 6 onderdelen zijn, gescheiden door "$SEP"';
// MSG_COND_IF_LONG is sent in an Alert message when a "conditions"
// IF value has too many components
// Parameters:
// FLD the field name
// COND the conditions field value
// SEP the list separator character for the field.
$aMessages[MSG_COND_IF_LONG] = 'Veld "$FLD" bevat te veel onderdelen voor '.
'een "IF" opdracht: "$COND".\nEr ontbreekt '.
'een "$SEP"?';
// MSG_COND_UNK is sent in an Alert message when a "conditions"
// value has an unknown command
// Parameters:
// FLD the field name
// COND the conditions field value
// CMD the unknown command
$aMessages[MSG_COND_UNK] = 'Veld "$FLD" bevat een onbekende opdracht '.
'"$CMD": "$COND".';
// MSG_MISSING is sent in an Alert message when
// a socket filter is incorrectly defined
// Parameters:
// ITEM the missing item
$aMessages[MSG_MISSING] = '"$ITEM" ontbreekt';
// MSG_NEED_ARRAY is sent in an Alert message when
// a socket filter is incorrectly defined
// Parameters:
// ITEM the item that should be an array
$aMessages[MSG_NEED_ARRAY] = '"$ITEM" moet een reeks zijn';
// MSG_SUBM_FAILED is shown to the user when an internal error
// as occurred and that error is not to be shown
// Parameters: none
$aMessages[MSG_SUBM_FAILED] = 'De formulier verwerking is mislukt door '.
'een fout op onze server.';
// MSG_FILTER_WRONG is sent in an Alert message when
// a socket filter is incorrectly defined
// Parameters:
// FILTER the filter name
// ERRORS a string containing a list of errors
$aMessages[MSG_FILTER_WRONG] = 'De filter "$FILTER" is niet goed gedefineerd: '.
'$ERRORS';
// MSG_FILTER_CONNECT is sent in an Alert message when FormMail
// cannot connect to a socket filter
// Parameters:
// FILTER the filter name
// SITE the site
// ERRNUM socket error number
// ERRSTR socket error message
$aMessages[MSG_FILTER_CONNECT] = 'Geen verbinding met de site "$SITE" '.
'voor de filter "$FILTER" ($ERRNUM): $ERRSTR';
// MSG_FILTER_PARAM is sent in an Alert message when a socket
// filter has an invalid parameter specification
// Parameters:
// FILTER the filter name
// NUM parameter number
// NAME parameter name
$aMessages[MSG_FILTER_PARAM] = 'Filter "$FILTER" bevat een ongeldige parameter '.
'#$NUM: no "$NAME"';
// MSG_FILTER_OPEN_FILE is sent in an Alert message when a socket
// filter cannot open the required file
// Parameters:
// FILTER the filter name
// FILE the file that could not be opened
// ERROR the error message
$aMessages[MSG_FILTER_OPEN_FILE] = 'De filter "$FILTER" kan een bestand niet openen '.
'"$FILE": $ERROR';
// MSG_FILTER_FILE_ERROR is sent in an Alert message when a socket
// filter gets an error message during reading a file
// Parameters:
// FILTER the filter name
// FILE the file that could not be opened
// ERROR the error message
// NLINES the number of lines that were read successfully
$aMessages[MSG_FILTER_FILE_ERROR] = 'Filter "$FILTER": leesfout in bestand '.
'"$FILE" na $NLINES regels: $ERROR';
// MSG_FILTER_READ_ERROR is sent in an Alert message when a socket
// filter gets an error during reading from the socket
// Parameters:
// FILTER the filter name
// ERROR the error message
$aMessages[MSG_FILTER_READ_ERROR] = 'Filter "$FILTER" mislukt: leesfout: '.
'$ERROR';
// MSG_FILTER_NOT_OK is sent in an Alert message when a socket
// filter fails to return the agreed __OK__ indicator
// Parameters:
// FILTER the filter name
// DATA the data returned from the filter
$aMessages[MSG_FILTER_NOT_OK] = 'Filter "$FILTER" mislukt (ontbrekende '.
'__OK__ regel): $DATA';
// MSG_FILTER_UNK is sent in an Alert message
// when an unknown filter is specified by a form
// Parameters:
// FILTER the filter name
$aMessages[MSG_FILTER_UNK] = 'Onbekende filter "$FILTER"';
// MSG_FILTER_CHDIR is sent in an Alert message
// when FormMail cannot change to the filter's directory
// Parameters:
// FILTER the filter name
// DIR the directory name
// ERROR an error message from the system
$aMessages[MSG_FILTER_CHDIR] = 'Kan de map "$DIR" niet openen om de filter uit te voeren '.
'"$FILTER": $ERROR';
// MSG_FILTER_NOTFOUND is sent in an Alert message
// when FormMail cannot execute the filter
// Parameters:
// FILTER the filter name
// CMD the command line being executed
// ERROR an error message from the system
$aMessages[MSG_FILTER_NOTFOUND] = 'Kan de filter "$FILTER" niet uitvoeren met '.
'de opdracht "$CMD": $ERROR';
// MSG_FILTER_ERROR is sent in an Alert message
// when a filter returns a non-zero status
// Parameters:
// FILTER the filter name
// ERROR an error message from the system
// STATUS the status return from the command
$aMessages[MSG_FILTER_ERROR] = 'Filter "$FILTER" mislukt (status $STATUS): '.
'$ERROR';
// MSG_FLD_NOTFOUND is sent as part of an Alert message
// when a template refers to a non-existent form field
// Parameters:
// FIELD the field name
$aMessages[MSG_FLD_NOTFOUND] = '"$FIELD" is geen veld in het formulier';
// MSG_TEMPLATE_ERRORS is sent as part of an Alert message
// when a template has generated some errors. The message
// should end with a new line and the actual errors are
// output after it.
// Parameters:
// NAME the template name
$aMessages[MSG_TEMPLATE_ERRORS] = 'Sjabloon "$NAME" veroorzaakte '.
'de volgende fouten $MNUM:\n';
// MSG_TEMPLATE_FAILED is sent in an Alert message
// when processing a template has failed.
// Parameters:
// NAME the template name
$aMessages[MSG_TEMPLATE_FAILED] = 'Mislukte verwerking van het sjabloon "$NAME"';
// MSG_MIME_PREAMBLE is sent in the preamble of MIME emails
// Parameters: none
$aMessages[MSG_MIME_PREAMBLE] = '(Uw mail programma moet nu deze tekt tonen'.
'.\nZoniet, zorg dan voor modernere '.
'software.)';
// MSG_MIME_HTML is sent in the preamble of HTML emails
// Parameters:
// NAME the template name
$aMessages[MSG_MIME_HTML] = 'Dit bericht werd aangemaakt door FormMail '.
'door gebruik te maken van een HTML sjabloon\nmet de naam "$NAME". De '.
'tekst uit het formulier\nwerd '.
'hieronder opgenomen, uw mail programma toont enkel '.
'de HTML\nversie (tenzij het mail programma '.
'daar niet tot in staat is).';
// MSG_FILE_OPEN_ERROR is sent in an Alert message when FormMail
// cannot open a file
// Parameters:
// NAME the file name
// TYPE the type of file
// ERROR the system error message
$aMessages[MSG_FILE_OPEN_ERROR] = 'Mislukt openen van het $TYPE bestand "$NAME": $ERROR';
// MSG_ATTACH_DATA is sent in an Alert message when the file
// attachment through 'data' has gone wrong.
// Parameters: none
$aMessages[MSG_ATTACH_DATA] = 'Interne fout: AttachFile heeft '.
'"tmp_name" of "data" nodig';
// MSG_PHP_HTML_TEMPLATES is sent in an Alert message when an
// HTML template is used but the PHP version is too old.
// Parameters:
// $PHPVERS the current PHP version
$aMessages[MSG_PHP_HTML_TEMPLATES] = 'HTMLTemplate optie wordt enkel ondersteund '.
'met PHP versie 4.0.5 of hoger. De '.
'server gebruikt versie $PHPVERS.';
// MSG_PHP_FILE_UPLOADS is sent in an Alert message when
// file upload is used but the PHP version is too old.
// Parameters:
// $PHPVERS the current PHP version
$aMessages[MSG_PHP_FILE_UPLOADS] = 'Wegens veiligheidredenen, bestand verzenden is enkel '.
'toegelaten met PHP versie 4.0.3 of hoger. '.
'De server gebruikt versie $PHPVERS.';
// MSG_FILE_UPLOAD is sent in an Alert message when
// file upload is attempted but FormMail is not configured to allow
// it
// Parameters: none
$aMessages[MSG_FILE_UPLOAD] = 'Poging om bestand te verzenden genegeerd';
// MSG_FILE_UPLOAD_ATTACK is sent in an Alert message when
// possible file upload attack is detected
// Parameters:
// NAME file name
// TEMP temporary file name
// FLD name of the file upload field
$aMessages[MSG_FILE_UPLOAD_ATTACK] = 'Mogelijke bestand verzenden aanval '.
'gedetecteerd: veld="$FLD", naam="$NAME" '.
'voorlopige naam="$TEMP"';
// MSG_PHP_PLAIN_TEMPLATES is sent in an Alert message when a
// Plain template is used but the PHP version is too old.
// Parameters:
// $PHPVERS the current PHP version
$aMessages[MSG_PHP_PLAIN_TEMPLATES] = 'PlainTemplate optie wordt enkel ondersteund '.
'vanaf PHP versie 4.0.5. De '.
'server gebruikt versie $PHPVERS.';
// MSG_ATTACH_NAME is sent in an Alert message when a
// the form uses the Attach feature without specifying a file name
// Parameters: none
$aMessages[MSG_ATTACH_NAME] = 'filter_options: Attach moet een naam bevatten '.
'(vb. Attach=data.txt)';
// MSG_PHP_BCC is sent in an Alert message when a
// the form uses the BCC feature and the PHP version may not support it
// Parameters:
// $PHPVERS the current PHP version
$aMessages[MSG_PHP_BCC] = 'Waarschuwing: BCC wordt waarschijnlijk niet door uw '.
'PHP versie ($PHPVERS) ondersteund';
// MSG_CSVCOLUMNS is sent in an Alert message when a csvcolumns field
// is not correct
// Parameters:
// $VALUE the csvcolumns field value
$aMessages[MSG_CSVCOLUMNS] = 'De "csvcolumns" instelling is '.
'ongeldig: "$VALUE"';
// MSG_CSVFILE is sent in an Alert message when a csvfile field
// is not correct
// Parameters:
// $VALUE the csvfile field value
$aMessages[MSG_CSVFILE] = 'De "csvfile" instelling is ongeldig: "$VALUE"';
// MSG_TARG_EMAIL_PAT_START is sent in an Alert message when a
// $TARGET_EMAIL pattern is insecure because of a missing '^'
// at the beginning
// Parameters:
// $PAT the pattern
$aMessages[MSG_TARG_EMAIL_PAT_START] = 'Waarschuwing: Het TARGET_EMAIL patroon '.
'"$PAT" heeft aan het begin een ^ '.
'tekort.';
// MSG_TARG_EMAIL_PAT_END is sent in an Alert message when a
// $TARGET_EMAIL pattern is insecure because of a missing '$'
// at the end
// Parameters:
// $PAT the pattern
$aMessages[MSG_TARG_EMAIL_PAT_END] = 'Waarschuwing: Het TARGET_EMAIL patroon '.
'"$PAT" heeft op het einde een $ tekort.';
// MSG_CONFIG_WARN is sent in an Alert message when the FormMail
// configuration may have some problems. The messages are
// passed on separate lines, so the line terminations below
// are important.
// Parameters:
// $MESGS lines of messages
$aMessages[MSG_CONFIG_WARN] = 'In uw configuratie zijn de volgende potentiele problemen gevonden'.
':\n$MESGS\n\n'.
'Dit zijn niet noodzakelijk fouten, maar raadpleeg '.
'toch maar eens de documentatie\n'.
'in formmail.php. Indien je zeker bent dat de '.
'configuratie in orde is,\n'.
'kun je de bovenstaande berichten uitschakelen door '.
'de instelling CONFIG_CHECK aan te passen.';
// MSG_PHP_AUTORESP is sent in an Alert message when the PHP version
// does not support autoresponding
// Parameters:
// $PHPVERS current PHP version
$aMessages[MSG_PHP_AUTORESP] = 'Autorespond wordt enkel ondersteeund vanaf PHP '.
'versie 4.0.5. De server '.
'gebruikt versie $PHPVERS.';
// MSG_ALERT is the test alert message (formmail.php?testalert=1)
// Parameters:
// $LANG the language ID
// $PHPVERS PHP version
// $FM_VERS FormMail version
// $SERVER server type
// $DOCUMENT_ROOT PHP's DOCUMENT_ROOT value
// $SCRIPT_FILENAME PHP's SCRIPT_FILENAME value
// $PATH_TRANSLATED PHP's PATH_TRANSLATED value
// $REAL_DOCUMENT_ROOT the REAL_DOCUMENT_ROOT value
$aMessages[MSG_ALERT] = 'Dit is een test alarm bericht $MNUM\n'.
'Gebruikte taal: $LANG\n'.
'PHP versie: $PHPVERS\n'.
'FormMail versie: $FM_VERS\n'.
'Server type: $SERVER\n'.
'\n'.
'DOCUMENT_ROOT: $DOCUMENT_ROOT\n'.
'SCRIPT_FILENAME: $SCRIPT_FILENAME\n'.
'PATH_TRANSLATED: $PATH_TRANSLATED\n'.
'REAL_DOCUMENT_ROOT: $REAL_DOCUMENT_ROOT';
// MSG_NO_DEF_ALERT is displayed if you use the testalert feature
// and no DEF_ALERT setting has been provided.
// Parameters: none
$aMessages[MSG_NO_DEF_ALERT] = 'De DEF_ALERT waarde werd niet ingesteld.';
// MSG_TEST_SENT is displayed if when use the testalert feature
// Parameters: none
$aMessages[MSG_TEST_SENT] = 'Test bericht verzonden. Controleer uw e-mail.';
// MSG_TEST_FAILED is displayed if when use the testalert feature
// and the mail sending fails.
// Parameters: none
$aMessages[MSG_TEST_FAILED] = 'Het verzenden van een alarm bericht is MISLUKT. Controleer uw '.
'server error logs.';
// MSG_NO_DATA_PAGE is the page that's displayed if the user
// just opens the URL to FormMail directly.
// Parameters: none
$aMessages[MSG_NO_DATA_PAGE] = 'Deze URL is een formulier verwerkings programma.\n'.
'Het formulier lijkt niet correct te werken '.
'want er is geen data gevonden.\n'.
'Surf niet naar deze '.
'URL; gebruik het alleen in een formulier.';
// MSG_REQD_ERROR is displayed to the user as a default error
// message when they haven't supplied some required fields
// Parameters: none
$aMessages[MSG_REQD_ERROR] = 'Het formulier bevat niet alle noodzakelijke waarden.';
// MSG_COND_ERROR is displayed to the user as a default error
// message when some form conditions have failed
// Parameters: none
$aMessages[MSG_COND_ERROR] = 'Sommige opgegeven waarden zijn ongeldig.';
// MSG_CRM_FAILURE is displayed to the user when submission
// to the CRM has failed.
// Parameters: none
$aMessages[MSG_CRM_FAILURE] = 'De formulierverwerking is mislukt door '.
'een CRM storing.';
// MSG_FOPTION_WARN is sent in an Alert message when the form
// uses the superseded SendMailFOption feature
// Parameters:
// $LINE line number for SENDMAIL_F_OPTION
$aMessages[MSG_FOPTION_WARN] = 'Waarschuwing: Je gebruikt een SendMailFOption in '.
'"mail_options" in uw formulier. Dit werd '.
'teniet gedaan door een instelling in de configuratie '.
'in formmail.php. Pas de '.
'formmail.php configuratie aan (zoek naar '.
'SENDMAIL_F_OPTION op regel $LINE) en pas '.
'het aan naar "true", verwijder daarna de SendMailFOption '.
'in uw formulieren.';
// MSG_NO_ACTIONS is sent in an Alert message when there is no
// action to perform or email address to send to
// Parameters: none
$aMessages[MSG_NO_ACTIONS] = 'Het formulier bevat een interne fout - geen acties '.
'of recipients opgegeven.';
// MSG_NO_RECIP is sent in an Alert message when there are no
// valid recipients to send to
// Parameters: none
$aMessages[MSG_NO_RECIP] = 'Het formulier bevat een interne fout - ongeldige '.
'recipients opgegeven.';
// MSG_INV_EMAIL is sent in an Alert message when there are errors
// in the email addresses specified in the form
// Parameters:
// $ERRORS list of errors
$aMessages[MSG_INV_EMAIL] = 'Het formulier bevat ongeldige e-mail adressen '.
'$MNUM:\n$ERRORS';
// MSG_FAILED_SEND is sent in an Alert message when the mail sending fails.
// Parameters: none
$aMessages[MSG_FAILED_SEND] = 'E-mail verzenden is mislukt';
// MSG_ARESP_EMAIL is sent in an Alert message when
// no email address has been specified for an autoreponse
// Parameters: none
$aMessages[MSG_ARESP_EMAIL] = 'Geen "email" veld gevonden. Beantwoorden '.
'vereist een afzender e-mail adres.';
// MSG_ARESP_SUBJ is the default subject for the auto response email
// Parameters: none
$aMessages[MSG_ARESP_SUBJ] = 'Uw formulierverwerking';
// MSG_LOG_NO_VERIMG is written to the auto respond log file
// if no VerifyImgString session variable was found
// Parameters: none
$aMessages[MSG_LOG_NO_VERIMG] = 'Geen VerifyImgString in sessie';
// MSG_ARESP_NO_AUTH is shown to the user
// if no VerifyImgString session variable was found
// Parameters: none
$aMessages[MSG_ARESP_NO_AUTH] = 'Geen machtiging gekregen om e-mail de verzenden. '.
'Dit is meestal een fout op de server.';
// MSG_LOG_NO_MATCH is written to the auto respond log file
// if the user's entry did not match the image verification
// Parameters: none
$aMessages[MSG_LOG_NO_MATCH] = 'De invoer van de gebruiker kwam niet overeen met de afbeelding';
// MSG_ARESP_NO_MATCH is shown to the user
// if the user's entry did not match the image verification
// Parameters: none
$aMessages[MSG_ARESP_NO_MATCH] = 'Uw invoer kwam niet overeen met de afbeelding';
// MSG_LOG_FAILED is written to the auto respond log file
// if the autoresponding failed
// Parameters: none
$aMessages[MSG_LOG_FAILED] = 'Mislukt';
// MSG_ARESP_FAILED is sent in an Alert message
// if the autoresponding failed
// Parameters: none
$aMessages[MSG_ARESP_FAILED] = 'Autoresponder mislukt';
// MSG_LOG_OK is written to the auto respond log file
// if the autoresponding succeeded
// Parameters: none
$aMessages[MSG_LOG_OK] = 'OK';
// MSG_THANKS_PAGE is the default page that's displayed if the
// submission is successful
// Parameters: none
$aMessages[MSG_THANKS_PAGE] = 'Bedankt! Wij ontvingen uw informatie '.
'en, indien gewenst, nemen we '.
'binnenkort contact met U op.';
// MSG_LOAD_MODULE is sent in an alert message if a module
// could not be loaded.
// Parameters:
// $FILE the file name
// $ERROR the error message
$aMessages[MSG_LOAD_MODULE] = 'Kan de module niet laden uit het bestand \'$FILE\': $ERROR';
// MSG_LOAD_FMCOMPUTE is sent in an alert message if the form
// specifies at least one "fmcompute" field and the FMCompute
// module cannot be loaded.
// Parameters:
// $FILE the file name
// $ERROR the error message
$aMessages[MSG_LOAD_FMCOMPUTE] = 'Kan de module FMCompute niet laden uit het bestand '.
'\'$FILE\': $ERROR';
// MSG_REGISTER_MODULE is sent in an alert message if a module
// could not register with FMCompute
// Parameters:
// $NAME the name of the module
// $ERROR the error message
$aMessages[MSG_REGISTER_MODULE] = 'Ka de module $NAME niet registreren met '.
'FMCompute: $ERROR';
// MSG_COMP_PARSE is sent in an alert message if a parse error
// occurs in an fmcompute field
// Parameters:
// $CODE the code with an error
// $ERRORS the error messages
$aMessages[MSG_COMP_PARSE] = 'Deze vertaal fouten kwamen voor in de volgende '.
'code:\n$ERRORS\n$CODE';
// MSG_COMP_REG_DATA is sent in an alert message if FormMail cannot
// register a data field with the FMCompute module
// Parameters:
// $NAME the field name
// $ERROR the error message
$aMessages[MSG_COMP_REG_DATA] = 'Mislukt registreren van het data veld \'$NAME\': '.
'$ERROR';
// MSG_COMP_ALERT is sent in an alert message if the FMCompute
// module has generated some alert messages.
// Parameters:
// $ALERTS the alerts
$aMessages[MSG_COMP_ALERT] = 'De volgende alarm berichten werden gerapporteerd '.
'door de FMCompute module: $ALERTS';
// MSG_COMP_DEBUG is sent in an alert message if the FMCompute
// module has generated some debug messages.
// Parameters:
// $DEBUG the alerts
$aMessages[MSG_COMP_DEBUG] = 'De volgende debug berichten werden gerapporteerd '.
'door de FMCompute module: $DEBUG';
// MSG_COMP_EXEC is sent in an alert message if the FMCompute
// module has generated some error messages during execution
// Parameters:
// $ERRORS the errors
$aMessages[MSG_COMP_EXEC] = 'De volgende fout berichten werden gerapporteerd '.
'door de FMCompute module: $ERRORS';
// MSG_TEMPL_ALERT is sent in an alert message if Advanced Template
// Processing has generated some alert messages.
// Parameters:
// $ALERTS the alerts
$aMessages[MSG_TEMPL_ALERT] = 'De volgende alarm berichten werden gerapporteerd '.
'door de Advanced Template Processor: $ALERTS';
// MSG_TEMPL_DEBUG is sent in an alert message if Advanced Template
// Processing has generated some debug messages.
// Parameters:
// $DEBUG the alerts
$aMessages[MSG_TEMPL_DEBUG] = 'De volgende debug berichten werden gerapporteerd '.
'door de Advanced Template Processor: $DEBUG';
// MSG_TEMPL_PROC is sent in an alert message if Advanced Template Processing
// has generated some error messages during processing
// Parameters:
// $ERRORS the errors
$aMessages[MSG_TEMPL_PROC] = 'De volgende fout berichten werden gerapporteerd '.
'door de Advanced Template Processor: $ERRORS';
// MSG_REG_FMCOMPUTE is sent in an Alert message when FormMail
// cannot register an external function with FMCompute.
// Parameters:
// FUNC the function that could not be registered
// ERROR the error message
$aMessages[MSG_REG_FMCOMPUTE] = 'Kan de functie "$FUNC" niet registreren bij '.
'FMCompute: $ERROR';
// MSG_USER_ERRORS is shown as part of a user error when an FMCompute
// has called the "UserError" function one or more times.
// Parameters:
// NONE
$aMessages[MSG_USER_ERRORS] = 'Eén of meer fouten opgetreden bij de verwerking van uw formulier';
// MSG_CALL_PARAM_COUNT is sent in an alert when a call to a FormMail
// function from FMCompute has the wrong number of parameters
// Parameters:
// FUNC the function name
// COUNT the actual number of parameters passed
$aMessages[MSG_CALL_PARAM_COUNT] = 'FMCompute gebruikt de FormMail functie '.
'\'$FUNC\' met een foutief aantal '.
'parameters: $COUNT';
// MSG_CALL_UNK_FUNC is sent in an alert when FMCompute calls an
// unknown FormMail function
// Parameters:
// FUNC the function name
$aMessages[MSG_CALL_UNK_FUNC] = 'FMCompute gebruikt een onbekende FormMail functie '.
'\'$FUNC\'';
// MSG_SAVE_FILE is sent in an alert when saving a file to
// the server has failed
// Parameters:
// FILE the source file name (usually a temporary file name)
// DEST the destination file name
// ERR the error message
$aMessages[MSG_SAVE_FILE] = 'Mislukt opslaan van het bestand \'$FILE\' naar \'$DEST\': $ERR';
// MSG_SAVE_FILE_EXISTS is sent as part of an alert when saving a file to
// the repository ($FILE_REPOSITORY) has failed because the file
// already exists and FILE_OVERWRITE is set to false.
// Parameters:
// FILE the destination file name
$aMessages[MSG_SAVE_FILE_EXISTS] = 'Kan het bestand niet opslaan omdat dit het '.
'\'$FILE\' zou overschrijven en u heeft '.
'FILE_OVERWRITE ingesteld op false.';
// MSG_EMPTY_ADDRESSES is sent as part of an alert when a number of empty
// email addresses have been specified in recipients, cc, or bcc
// *and* there are no valid addresses provided
// in the list
// Parameters:
// COUNT the number of empty addresses
$aMessages[MSG_EMPTY_ADDRESSES] = '$COUNT lege adressen';
// MSG_CHMOD is sent in an alert when changing the protection
// mode of a file to has failed
// Parameters:
// FILE the file name
// MODE the mode
// ERR the error message
$aMessages[MSG_CHMOD] = 'Mislukt aanpassen van de rechten van het bestand \'$FILE\' '.
'naar $MODE: $ERR';
// MSG_VERIFY_MISSING is shown to the user image verification string
// was not found
// Parameters: none
$aMessages[MSG_VERIFY_MISSING] = 'Afbeeldings verificatie tekenreeks ontbreekt. Dit'.
' is waarschijnlijk te wijten aan een fout op de server.';
// MSG_VERIFY_MATCH is shown to the user
// if the user's entry did not match the image verification for the
// imgverify option
// Parameters: none
$aMessages[MSG_VERIFY_MATCH] = 'Uw invoer kwam niet overeen met de afbeelding';
// MSG_FILE_NAMES_INVALID is sent in an Alert message when
// a form's file_names setting has errors
// Parameters: none
// A list of errors is appended on separate lines
$aMessages[MSG_FILE_NAMES_INVALID] = 'Sommige file_names specificaties zijn ongeldig $MNUM:\n';
// MSG_FILE_NAMES_NOT_FILE is sent in an Alert message when
// a form's file_names setting refers to a file field that doesn't
// exist
// Parameters:
// NAME the name of the file field that doesn't exist
$aMessages[MSG_FILE_NAMES_NOT_FILE] = 'Uw file_names specificaties bevatten '.
'een fout. \'$NAME\' is geen naam '.
'van een veld om een bestand te versturen\n';
// MSG_NEXT_PLUS_GOOD is sent in an alert message if the form is
// ambiguous and specifies both "next_form" and "good_url" or
// "good_template"
// Parameters:
// $WHICH the "good_" field that was specified
$aMessages[MSG_NEXT_PLUS_GOOD] = 'Het formulier bevat zowel "next_form" '.
'en "$WHICH" velden - de uit te voeren actie '.
'is daardoor dubbelzinnig';
// MSG_MULTIFORM is sent in an Alert message when a form tries
// to use a multi-form template, but templates have not been configured in
// formmail.php
// Parameters: none
$aMessages[MSG_MULTIFORM] = 'Gebruik MULTIFORMDIR of MULTIFORMURL '.
'in formmail.php voor je gebruik kunt maken van '.
'formulieren met meerdere pagina\'s.';
// MSG_MULTIFORM_FAILED is sent in an Alert message
// when processing a multi-page form template has failed.
// Parameters:
// NAME the template name
$aMessages[MSG_MULTIFORM_FAILED] = 'Mislukte verwerking van een formulier sjabloon met meerdere pagina\'s "$NAME"';
// MSG_NEED_THIS_FORM is sent in an Alert message
// when a multi-page form does not specify the "this_form" field.
// Parameters:
// none
$aMessages[MSG_NEED_THIS_FORM] = 'Formulieren met meerdere pagina\'s vereisen het "this_form" veld';
// MSG_NO_PHP_SELF is sent in an Alert message
// when FormMail requires the "PHP_SELF" server variable and PHP is not
// providing it.
// Parameters:
// none
$aMessages[MSG_NO_PHP_SELF] = 'PHP op de server ondersteunt geen "PHP_SELF"';
// MSG_RETURN_URL_INVALID is sent in an Alert message
// when "this_form" is not a valid return URL. This occurs for
// multi-page forms.
// Parameters:
// URL the invalid URL
$aMessages[MSG_RETURN_URL_INVALID] = 'Terug (Return) URL "$URL" is ongeldig';
// MSG_GO_BACK is sent in an Alert message
// when "multi_go_back" has been submitted but this isn't part of a
// multi-page form.
// Parameters:
// none
$aMessages[MSG_GO_BACK] = 'Kan niet "Terug gaan" als je in een formulier met meerdere pagina\'s '.
'werkt of op de eerste pagina van een formulier '.
'met meerdere pagina\'s';
// MSG_OPEN_URL is sent in an Alert message when a URL cannot
// be opened.
// Parameters:
// URL the invalid URL
// ERROR error message
$aMessages[MSG_OPEN_URL] = 'Mislukt openen van de URL "$URL": $ERROR';
// MSG_CANNOT_RETURN is sent in an Alert message when an invalid return
// request is made in a multi-page form sequence.
// Parameters:
// TO the requested page index
// TOPINDEX the top page index
$aMessages[MSG_CANNOT_RETURN] = 'Kan niet terugkeren naar de pagina $TO. De bovenste pagina '.
'index is $TOPINDEX';
// MSG_ATTACK_DETECTED is sent in an Alert message when an attack on
// the server has been detected
// Parameters:
// ATTACK name or description of the attack
// INFO more information about the attack
$aMessages[MSG_ATTACK_DETECTED] = 'Server aanval "$ATTACK" opgemerkt. '.
'Uw server is veilig omdat FormMail '.
'onkwetsbaar is voor deze aanval. Je kunt '.
'dit bericht uitschakelen door de instelling '.
'ALERT_ON_ATTACK_DETECTION aan te passen naar false '.
'in FormMail\'s configuratie.'.
'\nMeer informatie:\n$INFO';
// MSG_ATTACK_PAGE is the contents of the browser page displayed to the
// user when an attack is detected
// Parameters:
// none
$aMessages[MSG_ATTACK_PAGE] = 'De formulier verwerking is verworpen '.
'omdat dit lijkt op een poging om de server te misbruiken. '.
'Voor meer informatie over deze fout, bezoek '.
'<a href="http://www.tectite.com/serverabuse.php" '.
' target="_blank">'.
'www.tectite.com/serverabuse.php</a>.';
// MSG_ATTACK_MIME_INFO is the contents of the INFO parameter
// to the MSG_ATTACK_DETECTED message for the MIME attack
// Parameters:
// FLD name of the field
// CONTENT the invalid content found in the field
$aMessages[MSG_ATTACK_MIME_INFO] = 'Het veld "$FLD" bevat ongeldige '.
'inhoud "$CONTENT"';
// MSG_ATTACK_DUP_INFO is the contents of the INFO parameter
// to the MSG_ATTACK_DETECTED message for the Duplicate Data attack
// Parameters:
// FLD1 name of the first field
// FLD2 name of the second field
$aMessages[MSG_ATTACK_DUP_INFO] = 'De velden "$FLD1" en "$FLD2" bevatten '.
'dezelfde data';
// MSG_ATTACK_SPEC_INFO is the contents of the INFO parameter
// to the MSG_ATTACK_DETECTED message for the Special Field attack
// Parameters:
// FLD name of the special field
$aMessages[MSG_ATTACK_SPEC_INFO] = 'Het speciale veld "$FLD" bevat een e-mail adres';
// MSG_ATTACK_MANYURL_INFO is the contents of the INFO parameter
// to the MSG_ATTACK_DETECTED message for the Many URLs attack
// Parameters:
// FLD name of the field
// NUM number of URLs detected
$aMessages[MSG_ATTACK_MANYURL_INFO] = 'Veld "$FLD" bevat $NUM URLs';
// MSG_ATTACK_MANYFIELDS_INFO is the contents of the INFO parameter
// to the MSG_ATTACK_DETECTED message for the Many Fields with URLs
// attack
// Parameters:
// NUM number of fields detected with URLs
// FLDS list of fields with URLs in them
$aMessages[MSG_ATTACK_MANYFIELDS_INFO] = '$NUM velden bevatten URL\'s: $FLDS';
// MSG_NEED_SCRATCH_PAD is an alert message when processing requires
// SCRATCH_PAD configuration for file upload processing. This occurs
// when you upload files in pages of a multi page form sequence.
// Parameters:
// none
$aMessages[MSG_NEED_SCRATCH_PAD] = 'Je moet SCRATCH_PAD instellen in de '.
'configuratie om '.
'bestanden te verzenden.';
// MSG_OPEN_SCRATCH_PAD is an alert message when the SCRATCH_PAD
// directory cannot be opened for cleanup.
// Parameters:
// DIR name of the directory
// ERR more error information
$aMessages[MSG_OPEN_SCRATCH_PAD] = 'Kan de SCRATCH_PAD map '.
'"$DIR" niet openen. Openen mislukt: $ERR';
// MSG_NO_NEXT_NUM_FILE is an alert message when a form tries to
// use the %nextnum% derivation feature but you haven't
// setup FormMail's configuration correctly.
// Parameters:
// none
$aMessages[MSG_NO_NEXT_NUM_FILE] = 'Je kunt de functie %nextnum% niet gebruiken: '.
'NEXT_NUM_FILE is niet ingesteld';
// MSG_NEXT_NUM_FILE is an alert message when a form tries to
// use the %nextnum% derivation feature but the next number file cannot
// be processed.
// Parameters:
// FILE name of the file
// ACT action
// ERR more error information
$aMessages[MSG_NEXT_NUM_FILE] = 'Kan het volgende bestand niet $ACT '.
'\'$FILE\': $ERR';
// MSG_MULTI_UPLOAD is an alert message when processing of uploaded
// fails during a multi-page form sequence
// Parameters:
// none
$aMessages[MSG_MULTI_UPLOAD] = 'Bestand verzenden tijdens het verwerken van '.
'een formulier met meerdere pagina\'s mislukt.';
// MSG_URL_PARSE is an error message when a URL to be opened
// cannot be parsed
// Parameters:
// none
$aMessages[MSG_URL_PARSE] = 'Ontleden van de URL is mislukt';
// MSG_URL_SCHEME is an error message when a URL to be opened
// has an unsupported "scheme" value
// Parameters:
// SCHEME the scheme that was seen
$aMessages[MSG_URL_SCHEME] = 'Het URL schema "$SCHEME" wordt niet ondersteund';
// MSG_SOCKET is an error message when opening a socket for a URL
// fails
// Parameters:
// ERRNO the error code
// ERRSTR the error string
// PHPERR the value of $php_errormsg
$aMessages[MSG_SOCKET] = 'Socket fout $ERRNO: $ERRSTR: $PHPERR';
// MSG_GETURL_OPEN is an error message when the web server reports
// a failure on opening a URL
// Parameters:
// STATUS the HTTP status value (number + string)
$aMessages[MSG_GETURL_OPEN] = 'Openen van URL is mislukt: $STATUS';
// MSG_FILE_UPLOAD_ERRn are the error messages corresponding to the
// PHP file upload error code n.
// Parameters:
// none
$aMessages[MSG_FILE_UPLOAD_ERR1] = 'Het verzonden bestand is groter dan de upload_max_filesize richtlijn in php.ini toelaat.';
$aMessages[MSG_FILE_UPLOAD_ERR2] = 'Het verzonden bestand is groter dan de MAX_FILE_SIZE richtlijn in html formulier toelaat.';
$aMessages[MSG_FILE_UPLOAD_ERR3] = 'Het verzonden bestand is gedeeltelijk verzonden.';
$aMessages[MSG_FILE_UPLOAD_ERR4] = 'Er is geen bestand verzonden.';
// MSG_FILE_UPLOAD_ERR_UNK is displayed when an unknown error code
// is provided by PHP for a file upload
// Parameters:
// ERRNO the error code
$aMessages[MSG_FILE_UPLOAD_ERR_UNK] = 'Onbekende fout melding bij het verzenden van een bestand $ERRNO';
// MSG_FILE_UPLOAD_SIZE is displayed when an uploaded file exceeds
// the configured maximum size
// Parameters:
// NAME the uploaded file's name
// SIZE the size of the uploaded file
// MAX the maximum size that was exceeded
$aMessages[MSG_FILE_UPLOAD_SIZE] = 'Verzonden bestand "$NAME" is te groot ('.
'$SIZE bytes). De maximale grootte '.
'is $MAX kilobytes.';
// MSG_DER_FUNC_ERROR is sent in an Alert message when
// a form uses a derive_fields function that's
// formatted incorrectly
// Parameters:
// $SPEC the invalid value specification
// $MSG a message describing the error or providing an example
$aMessages[MSG_DER_FUNC_ERROR] = 'derive_fields: ongeldige functie specificatie '.
'"$SPEC": $MSG';
// MSG_DER_FUNC_SIZE_FMT describes the right syntax for the "size" function
// Parameters:
// none
$aMessages[MSG_DER_FUNC_SIZE_FMT] = 'De "size" functie gebruikt je als volgt: '.
'size(file_field)';
// MSG_DER_FUNC_IF_FMT describes the right syntax for the "if" function
// Parameters:
// none
$aMessages[MSG_DER_FUNC_IF_FMT] = 'De "if" functie gebruik je als volgt: '.
'if(field;spec;spec)';
// MSG_DER_FUNC_NEXTNUM_FMT describes the right syntax for the "nextnum" function
// Parameters:
// none
$aMessages[MSG_DER_FUNC_NEXTNUM_FMT] = 'De "nextnum" functie gebruik je als volgt: '.
'nextnum(pad) of nextnum(pad;base). pad en base '.
'zijn getallen. base heeft een waarde van 2 tot en met 36';
// MSG_DER_FUNC_EXT_FMT describes the right syntax for the "ext" function
// Parameters:
// none
$aMessages[MSG_DER_FUNC_EXT_FMT] = 'De "ext" functie gebruik je als volgt: '.
'ext(file_field)';
// MSG_DER_FUNC1_FMT describes the right syntax for a function
// requiring one parameter
// Parameters:
// FUNC name of the function
$aMessages[MSG_DER_FUNC1_FMT] = 'De "$FUNC" functie gebruik je als volgt: '.
'$FUNC(fieldname)';
?>