teach-2000-overhoor-script
Gesponsorde koppelingen
PHP script bestanden
--== index.php ==--
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
<?php
/*
Auteur: Mark Damen
Naam: index.php
Beschrijving: Een overzicht van alle t2k bestanden
Datum: 11-11-2006
*/
session_start();
function open()
{
//foutmeldingen uitsluiten
if (is_array($_SESSION['questions'])){
//hier een lus om r=te kijken of de sessie die nog openstaat nog echt vragen bevat
foreach(@$_SESSION['questions'] as $key => $value)
{
//als de 3key die aangeeft of ie al beantwoord 0 is is er dus 1 die nog niet is beantwoord
if ($_SESSION['questions'][$key]['already_answered'] == 0)
{
//open op true zetten
$return = true;
//we hebben ons antwoord al dus de lus verder laten gaan slurpt geheugen
break;
}
}
//als return nog niet is gemaakt dit alsnog doen en de waarde false geven
if (!isset($return))
{
$return = false;
}
//return
return $return;
}
else
{
//false returnen als questions niet bestaat
return false;
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<link href="styles/style.css" rel="stylesheet" type="text/css" media="screen">
<title>
Kies uw woordenlijst
</title>
</head>
<body>
<div class="container">
<div class="header">
<div class="text">
Kies een woordenlijst
</div>
</div>
<div class="content">
<?php
//als er nog een sessie met vragen bestaat die niet zijn beantwoord dit even weergeven
if (isset($_SESSION['questions']))
{
$open = open();
//als open op true staat
if (@$open == true)
{
echo "<div class=\"note\">";
echo "<b>Let op</b>: Er staat nog een woordenlijst open van het vorige bezoek. ";
echo "Als u een andere woordenlijst kiest wordt deze gewist. ";
echo "Wilt u verder gaan aan uw vorige woordenlijst?<br /><br />";
echo "<a href=\"form.php\">Doorgaan</a>";
echo "</div>";
}
}
echo "<div class=\"small\">In het dropdown menu \"Vragen\" betekent V-B ook wel \"Vreemd-Bekend\" en B-V ook wel \"Bekend-Vreemd\"</div>";
//de uitleg boven elk kopje
echo "<div class=\"filename\"><b>Bestandsnaam</b></div>";
echo "<div class=\"checkboxb\"><b>Negeren</b></div>";
echo "<div class=\"orderb\"><b>Vragen</b></div>";
echo "<div class=\"typeb\"><b>In Volgorde</b></div>";
echo "<div class=\"typeb\"><b>Willekeurig</b></div><br />";
//alle bestanden selecteren uit de map lists
$files = glob("lists/*.t2k");
//de lijsten sorteren
natsort($files);
//checken of er wel woordenlijsten zijn
if ($files != false)
{
//alle bestanden met de extensie .t2k in een foreach doen
foreach($files as $file)
{
$file = stripslashes($file);
$file = explode("/",$file);
$file = $file[1];
echo "<form action=\"make.php\" method=\"get\">";
//de bestandsnaam
echo "<div class=\"filename\">" . $file . "</div>";
//de dropdown voor het negeren van leestekens enzo
echo "<div class=\"checkbox\">";
echo "<select name=\"ignore\">";
echo "<option value=\"none\">Niks negeren</a>";
echo "<option value=\"capitals\">Hoofdletters</a>";
echo "<option value=\"signs\">Leestekens</a>";
echo "<option value=\"both\">Hoofdletters en leestekens</a>";
echo "</select>";
echo "</div>";
//de dropdown voor Vreemd-Bekend en Bekend-Vreemd
echo "<div class=\"order\">";
echo "<select name=\"order\">";
echo "<option value=\"B-V\">B-V</a>";
echo "<option value=\"V-B\">V-B</a>";
echo "</select>";
echo "</div>";
//een hidden input-veld die de bestandsnaam meesturrt
echo "<input type=\"hidden\" name=\"file\" value=\"" . $file . "\">";
//de knoppen voor In Volgorde en Door elkaar
echo "<div class=\"type\"><input type=\"submit\" value=\"In Volgorde\" /></div>";
echo "<div class=\"type\"><input type=\"submit\" name=\"type\" value=\"Door Elkaar\" /></div><br />";
echo "</form>";
//teller ophogen
$i++;
}
}
//als er geen woordenlijsten zijn
else
{
echo "Er zijn geen woordelijsten gevonden";
}
?>
</div>
</div>
</body>
</html>
/*
Auteur: Mark Damen
Naam: index.php
Beschrijving: Een overzicht van alle t2k bestanden
Datum: 11-11-2006
*/
session_start();
function open()
{
//foutmeldingen uitsluiten
if (is_array($_SESSION['questions'])){
//hier een lus om r=te kijken of de sessie die nog openstaat nog echt vragen bevat
foreach(@$_SESSION['questions'] as $key => $value)
{
//als de 3key die aangeeft of ie al beantwoord 0 is is er dus 1 die nog niet is beantwoord
if ($_SESSION['questions'][$key]['already_answered'] == 0)
{
//open op true zetten
$return = true;
//we hebben ons antwoord al dus de lus verder laten gaan slurpt geheugen
break;
}
}
//als return nog niet is gemaakt dit alsnog doen en de waarde false geven
if (!isset($return))
{
$return = false;
}
//return
return $return;
}
else
{
//false returnen als questions niet bestaat
return false;
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<link href="styles/style.css" rel="stylesheet" type="text/css" media="screen">
<title>
Kies uw woordenlijst
</title>
</head>
<body>
<div class="container">
<div class="header">
<div class="text">
Kies een woordenlijst
</div>
</div>
<div class="content">
<?php
//als er nog een sessie met vragen bestaat die niet zijn beantwoord dit even weergeven
if (isset($_SESSION['questions']))
{
$open = open();
//als open op true staat
if (@$open == true)
{
echo "<div class=\"note\">";
echo "<b>Let op</b>: Er staat nog een woordenlijst open van het vorige bezoek. ";
echo "Als u een andere woordenlijst kiest wordt deze gewist. ";
echo "Wilt u verder gaan aan uw vorige woordenlijst?<br /><br />";
echo "<a href=\"form.php\">Doorgaan</a>";
echo "</div>";
}
}
echo "<div class=\"small\">In het dropdown menu \"Vragen\" betekent V-B ook wel \"Vreemd-Bekend\" en B-V ook wel \"Bekend-Vreemd\"</div>";
//de uitleg boven elk kopje
echo "<div class=\"filename\"><b>Bestandsnaam</b></div>";
echo "<div class=\"checkboxb\"><b>Negeren</b></div>";
echo "<div class=\"orderb\"><b>Vragen</b></div>";
echo "<div class=\"typeb\"><b>In Volgorde</b></div>";
echo "<div class=\"typeb\"><b>Willekeurig</b></div><br />";
//alle bestanden selecteren uit de map lists
$files = glob("lists/*.t2k");
//de lijsten sorteren
natsort($files);
//checken of er wel woordenlijsten zijn
if ($files != false)
{
//alle bestanden met de extensie .t2k in een foreach doen
foreach($files as $file)
{
$file = stripslashes($file);
$file = explode("/",$file);
$file = $file[1];
echo "<form action=\"make.php\" method=\"get\">";
//de bestandsnaam
echo "<div class=\"filename\">" . $file . "</div>";
//de dropdown voor het negeren van leestekens enzo
echo "<div class=\"checkbox\">";
echo "<select name=\"ignore\">";
echo "<option value=\"none\">Niks negeren</a>";
echo "<option value=\"capitals\">Hoofdletters</a>";
echo "<option value=\"signs\">Leestekens</a>";
echo "<option value=\"both\">Hoofdletters en leestekens</a>";
echo "</select>";
echo "</div>";
//de dropdown voor Vreemd-Bekend en Bekend-Vreemd
echo "<div class=\"order\">";
echo "<select name=\"order\">";
echo "<option value=\"B-V\">B-V</a>";
echo "<option value=\"V-B\">V-B</a>";
echo "</select>";
echo "</div>";
//een hidden input-veld die de bestandsnaam meesturrt
echo "<input type=\"hidden\" name=\"file\" value=\"" . $file . "\">";
//de knoppen voor In Volgorde en Door elkaar
echo "<div class=\"type\"><input type=\"submit\" value=\"In Volgorde\" /></div>";
echo "<div class=\"type\"><input type=\"submit\" name=\"type\" value=\"Door Elkaar\" /></div><br />";
echo "</form>";
//teller ophogen
$i++;
}
}
//als er geen woordenlijsten zijn
else
{
echo "Er zijn geen woordelijsten gevonden";
}
?>
</div>
</div>
</body>
</html>
--== make.php ==--
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
<?php
/*
Auteur: Mark Damen
Naam: make.php
Beschrijving: Een t2k bestand wordt als xml opgeslagen
en zo halen we er data uit. Vervolgens
worden er verschillende antwoorden uitgehaalt.
Datum: 11-11-2006
*/
session_start();
error_reporting(E_ALL);
ini_set("display_errors", 1);
header('Content-type: text/html; charset=utf-8');
//de directory waar de t2k bestanden staan
$dir = "lists/";
//kijken of het opgevraagde bestand bestaat
if (file_exists($dir . $_GET['file']))
{
//de bestandsnaam die is opgevraagd in een variabele zetten
$filename = $_GET['file'];
//alle data uit het bestand halen en exploden zodat we voor elke vraag incl antwoorden een waarde krijgen
$file = file_get_contents($dir . $filename);
$file = explode('<item id="',$file);
//alvast een array maken voor de vragen
$questions = array();
//de for lus waar alle geslitste stukken uit het bestand in gaan
for($i=1; $i<count($file); $i++)
{
//de vragen selecteren
preg_match_all('/<question>(.*?)<\/question>/',$file[$i],$question1[$i]);
preg_match_all('/<alt_questions>(.*?)<\/alt_questions>/s',$file[$i],$alt_question[$i]);
//de opmerkingen selecteren
preg_match_all('/<remarks>(.*?)<\/remarks>/',$file[$i],$remarks[$i]);
//selecteren of het multiple_choise is
preg_match_all('/<is_multiplechoice>(.*?)<\/is_multiplechoice>/',$file[$i],$multiple[$i]);
preg_match_all('/<mc_answers>(.*?)<\/mc_answers>/',$file[$i],$multiple_answers[$i]);
//de antwoorden uit de variabele halen
preg_match_all('/<answer>(.*?)<\/answer>/s',$file[$i],$answer[$i]); //het antwoord dat altijd bestaat
preg_match_all('/<second_answer>(.*?)<\/second_answer>/s',$file[$i],$second_answer[$i]); //het antwoordt dat soms bestaat en als second_answer in de xml staat
preg_match_all('/<alt_answers>(.*?)<\/alt_answers>/s',$file[$i],$alt_answers[$i]); //de antwoorden die in de alt_answers staan
//variabelen maken voor de vraag
$question = $question1[$i][1][0];
$alt_questions = @explode("\n", $alt_question[$i][1][0]);
$question_final = @array_merge(array($question), $alt_questions);
//de opmerkingen
$remarks_final = @$remarks[$i][1][0];
//multiple_choise
$multiple_final = $multiple[$i][1][0];
$mc_answers = @$multiple_answers[$i][1][0];
$mc_answers = explode("<mc_answer id=", $mc_answers);
$multiplechoise_answers = array();
//een foreach om alle meerkeuzevragen weer eruit te halen
foreach($mc_answers as $mc_answer)
{
preg_match_all('/>(.*?)<\/mc_answer>/',$mc_answer,$multiple_answer);
$multiplechoise_answers[] = @$multiple_answer[1][0];
}
//de eerste waarde is leeg en kan dus weg
array_shift($multiplechoise_answers);
//variabelen maken voor de antwoorden
$answer1 = $answer[$i][1][0];
$answer2 = @$second_answer[$i][1][0];
$answer3 = @explode("\n",$alt_answers[$i][1][0]);
//een array maken met de antwoorden van $1 en $2 en 1 met de overige antwoorden
$answers1 = array($answer1,$answer2);
$answers2 = $answer3;
//samenvoegen van arrays zodat we een overzichtelijke array krijgen
$answers = array_merge($answers1,$answers2);
//als er is gekozen voor Vreemd-Bekend, de meerkeuze worden niet omgedraaid, om vage vragen te voorkomen
if ($_GET['order'] == "V-B" AND $multiple_final == "N")
{
//een tijdelijke variabele maken waarin gegevens omgekeerd opgeslagen staan
$answers_temp = $question_final;
$question_temp = $answers;
//temps weggooien
unset($question_final);
unset($answers);
//de uiteindelijke waardes vullen
$answers = $answers_temp;
$question_final = $question_temp;
//temps weggooien
unset($question_temp);
unset($answers_temp);
}
//toevoegen aan vragen array
$questions[] =
array("id" => $i,
"multiple" => $multiple_final,
"multiple_answers" => $multiplechoise_answers,
"questions" => $question_final,
"remarks" => $remarks_final,
"answers" => $answers,
"already_answered" => 0,
"wrong_answer" => 0
);
}
//als er voor shuffle is gekozen
if (isset($_GET['type']) AND $_GET['type'] == "Door Elkaar")
{
//shuffelen
shuffle($questions);
//een waarde aan de vragen array plakken die aangeeft of er sprake is van random volgorde
$settings["random"] = 1;
}
else
{
//als er niet is gekozen voor random ook even aangeven
$settings["random"] = 0;
}
//als er is gekozen leestekens te negeren
if (isset($_GET['ignore']))
{
switch($_GET['ignore'])
{
case 'signs':
//een waarde in de settings sessie maken de hoofdletters niet moeten worden genegeerd
$settings['signs'] = 1;
$settings['capitals'] = 0;
break;
case 'capitals':
//een waarde in de settings sessie maken de leestekens niet moeten worden genegeerd
$settings['signs'] = 0;
$settings['capitals'] = 1;
break;
case 'both':
//een waarde in de settings sessie maken de leestekens en de hoofdletters moeten worden genegeerd
$settings['signs'] = 1;
$settings['capitals'] = 1;
break;
case 'none':
//een waarde in de settings sessie maken waarin de leestekens en de hoofdletters niet moeten worden genegeerd
$settings['signs'] = 0;
$settings['capitals'] = 0;
break;
}
}
//als er is gekozen voor Vreemd-Bekend
if ($_GET['order'] == "V-B")
{
//een waarde in de settings sessie
$settings["order"] = "V-B";
}
else
{
//een waarde in de settings sessie
$settings["order"] = "B-V";
}
//als de sessie status nog bestaat deze even legen
if (isset($_SESSION['status']))
{
//sessie legen
unset($_SESSION['status']);
}
//het opgevraagde bestand nog in de settings array zetten
$settings['filename'] = $filename;
//de sessie maken met de settings
$_SESSION['settings'] = $settings;
//de vragen array in een sessie zetten
$_SESSION['questions'] = $questions;
//redirect naar de pagina waar je de vragen beantwoordt
header("Location: form.php");
}
else
{
echo "Het opgevraagde bestand bestaat niet";
}
?>
/*
Auteur: Mark Damen
Naam: make.php
Beschrijving: Een t2k bestand wordt als xml opgeslagen
en zo halen we er data uit. Vervolgens
worden er verschillende antwoorden uitgehaalt.
Datum: 11-11-2006
*/
session_start();
error_reporting(E_ALL);
ini_set("display_errors", 1);
header('Content-type: text/html; charset=utf-8');
//de directory waar de t2k bestanden staan
$dir = "lists/";
//kijken of het opgevraagde bestand bestaat
if (file_exists($dir . $_GET['file']))
{
//de bestandsnaam die is opgevraagd in een variabele zetten
$filename = $_GET['file'];
//alle data uit het bestand halen en exploden zodat we voor elke vraag incl antwoorden een waarde krijgen
$file = file_get_contents($dir . $filename);
$file = explode('<item id="',$file);
//alvast een array maken voor de vragen
$questions = array();
//de for lus waar alle geslitste stukken uit het bestand in gaan
for($i=1; $i<count($file); $i++)
{
//de vragen selecteren
preg_match_all('/<question>(.*?)<\/question>/',$file[$i],$question1[$i]);
preg_match_all('/<alt_questions>(.*?)<\/alt_questions>/s',$file[$i],$alt_question[$i]);
//de opmerkingen selecteren
preg_match_all('/<remarks>(.*?)<\/remarks>/',$file[$i],$remarks[$i]);
//selecteren of het multiple_choise is
preg_match_all('/<is_multiplechoice>(.*?)<\/is_multiplechoice>/',$file[$i],$multiple[$i]);
preg_match_all('/<mc_answers>(.*?)<\/mc_answers>/',$file[$i],$multiple_answers[$i]);
//de antwoorden uit de variabele halen
preg_match_all('/<answer>(.*?)<\/answer>/s',$file[$i],$answer[$i]); //het antwoord dat altijd bestaat
preg_match_all('/<second_answer>(.*?)<\/second_answer>/s',$file[$i],$second_answer[$i]); //het antwoordt dat soms bestaat en als second_answer in de xml staat
preg_match_all('/<alt_answers>(.*?)<\/alt_answers>/s',$file[$i],$alt_answers[$i]); //de antwoorden die in de alt_answers staan
//variabelen maken voor de vraag
$question = $question1[$i][1][0];
$alt_questions = @explode("\n", $alt_question[$i][1][0]);
$question_final = @array_merge(array($question), $alt_questions);
//de opmerkingen
$remarks_final = @$remarks[$i][1][0];
//multiple_choise
$multiple_final = $multiple[$i][1][0];
$mc_answers = @$multiple_answers[$i][1][0];
$mc_answers = explode("<mc_answer id=", $mc_answers);
$multiplechoise_answers = array();
//een foreach om alle meerkeuzevragen weer eruit te halen
foreach($mc_answers as $mc_answer)
{
preg_match_all('/>(.*?)<\/mc_answer>/',$mc_answer,$multiple_answer);
$multiplechoise_answers[] = @$multiple_answer[1][0];
}
//de eerste waarde is leeg en kan dus weg
array_shift($multiplechoise_answers);
//variabelen maken voor de antwoorden
$answer1 = $answer[$i][1][0];
$answer2 = @$second_answer[$i][1][0];
$answer3 = @explode("\n",$alt_answers[$i][1][0]);
//een array maken met de antwoorden van $1 en $2 en 1 met de overige antwoorden
$answers1 = array($answer1,$answer2);
$answers2 = $answer3;
//samenvoegen van arrays zodat we een overzichtelijke array krijgen
$answers = array_merge($answers1,$answers2);
//als er is gekozen voor Vreemd-Bekend, de meerkeuze worden niet omgedraaid, om vage vragen te voorkomen
if ($_GET['order'] == "V-B" AND $multiple_final == "N")
{
//een tijdelijke variabele maken waarin gegevens omgekeerd opgeslagen staan
$answers_temp = $question_final;
$question_temp = $answers;
//temps weggooien
unset($question_final);
unset($answers);
//de uiteindelijke waardes vullen
$answers = $answers_temp;
$question_final = $question_temp;
//temps weggooien
unset($question_temp);
unset($answers_temp);
}
//toevoegen aan vragen array
$questions[] =
array("id" => $i,
"multiple" => $multiple_final,
"multiple_answers" => $multiplechoise_answers,
"questions" => $question_final,
"remarks" => $remarks_final,
"answers" => $answers,
"already_answered" => 0,
"wrong_answer" => 0
);
}
//als er voor shuffle is gekozen
if (isset($_GET['type']) AND $_GET['type'] == "Door Elkaar")
{
//shuffelen
shuffle($questions);
//een waarde aan de vragen array plakken die aangeeft of er sprake is van random volgorde
$settings["random"] = 1;
}
else
{
//als er niet is gekozen voor random ook even aangeven
$settings["random"] = 0;
}
//als er is gekozen leestekens te negeren
if (isset($_GET['ignore']))
{
switch($_GET['ignore'])
{
case 'signs':
//een waarde in de settings sessie maken de hoofdletters niet moeten worden genegeerd
$settings['signs'] = 1;
$settings['capitals'] = 0;
break;
case 'capitals':
//een waarde in de settings sessie maken de leestekens niet moeten worden genegeerd
$settings['signs'] = 0;
$settings['capitals'] = 1;
break;
case 'both':
//een waarde in de settings sessie maken de leestekens en de hoofdletters moeten worden genegeerd
$settings['signs'] = 1;
$settings['capitals'] = 1;
break;
case 'none':
//een waarde in de settings sessie maken waarin de leestekens en de hoofdletters niet moeten worden genegeerd
$settings['signs'] = 0;
$settings['capitals'] = 0;
break;
}
}
//als er is gekozen voor Vreemd-Bekend
if ($_GET['order'] == "V-B")
{
//een waarde in de settings sessie
$settings["order"] = "V-B";
}
else
{
//een waarde in de settings sessie
$settings["order"] = "B-V";
}
//als de sessie status nog bestaat deze even legen
if (isset($_SESSION['status']))
{
//sessie legen
unset($_SESSION['status']);
}
//het opgevraagde bestand nog in de settings array zetten
$settings['filename'] = $filename;
//de sessie maken met de settings
$_SESSION['settings'] = $settings;
//de vragen array in een sessie zetten
$_SESSION['questions'] = $questions;
//redirect naar de pagina waar je de vragen beantwoordt
header("Location: form.php");
}
else
{
echo "Het opgevraagde bestand bestaat niet";
}
?>
--== form.php ==--
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<?php
/*
Auteur: Mark Damen
Naam: form.php
Beschrijving: Het bestand waarin het antwoord op
de vraag wordt ingevuld en vervolgens
wordt de bezoeker doorgestuurt naar
check.php waar het antwoord wordt
gecontroleerd.
Datum: 11-11-2006
*/
session_start();
error_reporting(E_ALL);
header('Content-type: text/html; charset=utf-8');
//de functie die de goede vraag selecteert en wat gegevens achterhaalt includen
include 'functions/implode.func.php';
//de functie die de goede vraag selecteert en wat gegevens achterhaalt includen
include 'functions/forms.func.php';
//de functie die de goede vraag selecteert en wat gegevens achterhaalt includen
include 'getstuff.php';
//kijken of de sessie wel bestaat
if(!isset($_SESSION['questions']))
{
exit("De benodigde sessie bestaat niet.");
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<link href="styles/style.css" rel="stylesheet" type="text/css" media="screen">
<title>
Overhoren | <?php echo $_SESSION['settings']['filename']; ?>
</title>
</head>
<body onLoad="document.form.answer.focus()">
<div class="container">
<div class="header">
<div class="select">
<?php
echo (($_SESSION['settings']['random'] == 1) ? "Willekeurig" : "In Volgorde");
?>
</div>
<div class="select">
<?php
if ($_SESSION['settings']['signs'] == 0 AND $_SESSION['settings']['capitals'] == 1) echo "Negeer hoofdletters";
if ($_SESSION['settings']['signs'] == 1 AND $_SESSION['settings']['capitals'] == 0) echo "Negeer leestekens";
if ($_SESSION['settings']['signs'] == 1 AND $_SESSION['settings']['capitals'] == 1) echo "Negeer hoofdletters en leestekens";
if ($_SESSION['settings']['signs'] == 0 AND $_SESSION['settings']['capitals'] == 0) echo "Exact";
?>
</div>
<div class="count">
Nog <?php echo $count; ?> vragen<br />
<?php echo $false; ?> vragen fout van de <?php echo $alreadyhad; ?>
</div>
</div>
<div class="content">
<?php
if ($count > 0)
{
?>
<div class="question">
Vraag <?php echo $_SESSION['questions'][$qkey]["id"] . ": " . implode_question(" <span class=\"small\">of</span> ", $_SESSION['questions'][$qkey]["questions"]); ?>
</div>
<?php
echo $_SESSION['questions'][$qkey]["remarks"];
echo genform($qkey, $_SESSION['questions'][$qkey]["multiple"], $_SESSION['questions'][$qkey]["multiple_answers"]);
?>
<?php
//als de sessie is geset
if (isset($_SESSION['status']))
{
//het laatset record in de array
$max = count($_SESSION['status'])-1;
//imploden van antwoorden
$the_answers = implode_question(" <span class=\"small\">of</span> ", $_SESSION['status'][$max]["session_answers"]);
//in de array is 1 goed 0 fout. Aan de hand van dit goed of fout weergeven
echo ($_SESSION['status'][$max]["status"] == 1 ? "Goed" : "<b>Fout.</b> Het moest zijn: " . $the_answers . "");
}
//een paar br's om het scherm wat hoger te maken
echo "<br /><br /><br /><br /><br /><br />";
}
else
{
//uitrekenen van percentage goed
$good = $alreadyhad - $false;
$percent = $good / $alreadyhad;
$percent = round($percent * 100);
//wat dingen om de woordenlijst opnieuw te starten met de waardes die zijn opgegeven bij het overhoren
if ($_SESSION['settings']['signs'] == 1 AND $_SESSION['settings']['capitals'] == 1) $ignore = "both";
if ($_SESSION['settings']['signs'] == 1 AND $_SESSION['settings']['capitals'] == 0) $ignore = "signs";
if ($_SESSION['settings']['signs'] == 0 AND $_SESSION['settings']['capitals'] == 1) $ignore = "capitals";
if ($_SESSION['settings']['signs'] == 0 AND $_SESSION['settings']['capitals'] == 0) $ignore = "none";
//nog wat dingen om de woordenlijst te herstarten
$order = $_SESSION['settings']['order'];
$file = $_SESSION['settings']['filename'];
//de link samenstellen
$link = "make.php?ignore=" . $ignore . "&order=" . $order . "&file=" . $file;
echo "Je hebt alle vragen beantwoord<br /><br />";
echo "Je score is " . $percent . "%<br /><br />";
echo "<a href=\"index.php\">Nieuwe lijst kiezen</a><br />";
echo "<a href=\"" . $link . "\">Deze lijst opnieuw starten</a><br /><br /><hr /><br />";
}
?>
</div>
</div>
</body>
</html>
/*
Auteur: Mark Damen
Naam: form.php
Beschrijving: Het bestand waarin het antwoord op
de vraag wordt ingevuld en vervolgens
wordt de bezoeker doorgestuurt naar
check.php waar het antwoord wordt
gecontroleerd.
Datum: 11-11-2006
*/
session_start();
error_reporting(E_ALL);
header('Content-type: text/html; charset=utf-8');
//de functie die de goede vraag selecteert en wat gegevens achterhaalt includen
include 'functions/implode.func.php';
//de functie die de goede vraag selecteert en wat gegevens achterhaalt includen
include 'functions/forms.func.php';
//de functie die de goede vraag selecteert en wat gegevens achterhaalt includen
include 'getstuff.php';
//kijken of de sessie wel bestaat
if(!isset($_SESSION['questions']))
{
exit("De benodigde sessie bestaat niet.");
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<link href="styles/style.css" rel="stylesheet" type="text/css" media="screen">
<title>
Overhoren | <?php echo $_SESSION['settings']['filename']; ?>
</title>
</head>
<body onLoad="document.form.answer.focus()">
<div class="container">
<div class="header">
<div class="select">
<?php
echo (($_SESSION['settings']['random'] == 1) ? "Willekeurig" : "In Volgorde");
?>
</div>
<div class="select">
<?php
if ($_SESSION['settings']['signs'] == 0 AND $_SESSION['settings']['capitals'] == 1) echo "Negeer hoofdletters";
if ($_SESSION['settings']['signs'] == 1 AND $_SESSION['settings']['capitals'] == 0) echo "Negeer leestekens";
if ($_SESSION['settings']['signs'] == 1 AND $_SESSION['settings']['capitals'] == 1) echo "Negeer hoofdletters en leestekens";
if ($_SESSION['settings']['signs'] == 0 AND $_SESSION['settings']['capitals'] == 0) echo "Exact";
?>
</div>
<div class="count">
Nog <?php echo $count; ?> vragen<br />
<?php echo $false; ?> vragen fout van de <?php echo $alreadyhad; ?>
</div>
</div>
<div class="content">
<?php
if ($count > 0)
{
?>
<div class="question">
Vraag <?php echo $_SESSION['questions'][$qkey]["id"] . ": " . implode_question(" <span class=\"small\">of</span> ", $_SESSION['questions'][$qkey]["questions"]); ?>
</div>
<?php
echo $_SESSION['questions'][$qkey]["remarks"];
echo genform($qkey, $_SESSION['questions'][$qkey]["multiple"], $_SESSION['questions'][$qkey]["multiple_answers"]);
?>
<?php
//als de sessie is geset
if (isset($_SESSION['status']))
{
//het laatset record in de array
$max = count($_SESSION['status'])-1;
//imploden van antwoorden
$the_answers = implode_question(" <span class=\"small\">of</span> ", $_SESSION['status'][$max]["session_answers"]);
//in de array is 1 goed 0 fout. Aan de hand van dit goed of fout weergeven
echo ($_SESSION['status'][$max]["status"] == 1 ? "Goed" : "<b>Fout.</b> Het moest zijn: " . $the_answers . "");
}
//een paar br's om het scherm wat hoger te maken
echo "<br /><br /><br /><br /><br /><br />";
}
else
{
//uitrekenen van percentage goed
$good = $alreadyhad - $false;
$percent = $good / $alreadyhad;
$percent = round($percent * 100);
//wat dingen om de woordenlijst opnieuw te starten met de waardes die zijn opgegeven bij het overhoren
if ($_SESSION['settings']['signs'] == 1 AND $_SESSION['settings']['capitals'] == 1) $ignore = "both";
if ($_SESSION['settings']['signs'] == 1 AND $_SESSION['settings']['capitals'] == 0) $ignore = "signs";
if ($_SESSION['settings']['signs'] == 0 AND $_SESSION['settings']['capitals'] == 1) $ignore = "capitals";
if ($_SESSION['settings']['signs'] == 0 AND $_SESSION['settings']['capitals'] == 0) $ignore = "none";
//nog wat dingen om de woordenlijst te herstarten
$order = $_SESSION['settings']['order'];
$file = $_SESSION['settings']['filename'];
//de link samenstellen
$link = "make.php?ignore=" . $ignore . "&order=" . $order . "&file=" . $file;
echo "Je hebt alle vragen beantwoord<br /><br />";
echo "Je score is " . $percent . "%<br /><br />";
echo "<a href=\"index.php\">Nieuwe lijst kiezen</a><br />";
echo "<a href=\"" . $link . "\">Deze lijst opnieuw starten</a><br /><br /><hr /><br />";
}
?>
</div>
</div>
</body>
</html>
--== check.php ==--
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?php
/*
Auteur: Mark Damen
Naam: check.php
Beschrijving: Op deze pagina worden opgegeven antwoorden
uit een formulier gecheckt en vervolgens
worden er dingen gewijzigd in de sessie
waaraan je kunt zien of de vraag al goed
is beantwoord. Zo niet kun je het aantal
fouten eruit halen.
Datum: 11-11-2006
*/
session_start();
error_reporting(E_ALL);
ini_set("display_errors", 1);
header('Content-type: text/html; charset=utf-8');
//de file met de functie voor de leestekens includen
include 'reading_signs.php';
//als er daadwerkelijk is verzonden
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
//als alle benodigde gegevens er wel zijn
if (is_numeric($_POST['key']) && isset($_POST['answer']))
{
//variabelen aanmaken
$key = $_POST['key'];
$answer = trim($_POST['answer']);
//sessie in variabele zetten
$session = @$_SESSION['questions']; //dit is een array
//de sessie verwijderen
unset($_SESSION['questions']);
//de leestekens strippen uit het antwoord als daarvoor is gekozen
if (@$_SESSION['settings']['signs'] == 1)
{
$answer = reading_signs($answer);
}
//het antwoord converteren naar kleine letters als hofdletters moeten worden genegeerd
if (@$_SESSION['settings']['capitals'] == 1)
{
//het antwoord strtolower maken
$answer = strtolower($answer);
//een lus maken om ook de antwoorden strtolower te maken
foreach($session[$key]['answers'] as $skey => $value)
{
$session[$key]['answers'][$skey] = strtolower($value);
}
}
//kijken of de opgevraagde waarde aan de hand van de key wel bestaat in de sessie
if (is_array($session) AND is_array($_SESSION['settings']))
{
$status = @$_SESSION['status'];
//controleren of het ingevulde antwoord voorkomt in de antwoorden array van de sessie
if (in_array($answer, $session[$key]['answers']) AND $answer != "")
{
//de sessie setten waarin staat of het antwoord goed was
$status[] = array("key" => $key+1, "question" => $session[$key]['questions'], "user_answer" => $answer, "session_answers" => $session[$key]['answers'], "status" => 1);
//een waarde veranderen van 0 in 1 die aangeeft dat de vraag goed is beantwoord
$session[$key]['already_answered'] = 1;
}
else
{
//de sessie setten waarin staat of het antwoord fout was
$status[] = array("key" => $key+1, "question" => $session[$key]['questions'], "user_answer" => $answer, "session_answers" => $session[$key]['answers'], "status" => 0);
//aangeven dat de vraag nog niet goed is beantwoord
$session[$key]['already_answered'] = 0;
//de waarde waarin het aantal fouten staat met 1 ophogen
$session[$key]['wrong_answer'] = $session[$key]['wrong_answer']+1;
}
//als er is gekozen voor een willikeurige volgorde
if (@$_SESSION['settings']['random'] == 1)
{
//shuffelen
shuffle($session);
}
//de sessie opnieuw aamaken
$_SESSION['questions'] = $session;
$_SESSION['status'] = $status;
//redirecten naar form
header("Location: form.php");
}
else
{
echo "De opgevraagde waarde komt niet voor in de sessie";
}
}
else
{
//niet alle benodigde post-gegevens zijn er -> foutmelding
echo "De post-gegevens zijn niet volledig of niet correct";
}
}
?>
/*
Auteur: Mark Damen
Naam: check.php
Beschrijving: Op deze pagina worden opgegeven antwoorden
uit een formulier gecheckt en vervolgens
worden er dingen gewijzigd in de sessie
waaraan je kunt zien of de vraag al goed
is beantwoord. Zo niet kun je het aantal
fouten eruit halen.
Datum: 11-11-2006
*/
session_start();
error_reporting(E_ALL);
ini_set("display_errors", 1);
header('Content-type: text/html; charset=utf-8');
//de file met de functie voor de leestekens includen
include 'reading_signs.php';
//als er daadwerkelijk is verzonden
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
//als alle benodigde gegevens er wel zijn
if (is_numeric($_POST['key']) && isset($_POST['answer']))
{
//variabelen aanmaken
$key = $_POST['key'];
$answer = trim($_POST['answer']);
//sessie in variabele zetten
$session = @$_SESSION['questions']; //dit is een array
//de sessie verwijderen
unset($_SESSION['questions']);
//de leestekens strippen uit het antwoord als daarvoor is gekozen
if (@$_SESSION['settings']['signs'] == 1)
{
$answer = reading_signs($answer);
}
//het antwoord converteren naar kleine letters als hofdletters moeten worden genegeerd
if (@$_SESSION['settings']['capitals'] == 1)
{
//het antwoord strtolower maken
$answer = strtolower($answer);
//een lus maken om ook de antwoorden strtolower te maken
foreach($session[$key]['answers'] as $skey => $value)
{
$session[$key]['answers'][$skey] = strtolower($value);
}
}
//kijken of de opgevraagde waarde aan de hand van de key wel bestaat in de sessie
if (is_array($session) AND is_array($_SESSION['settings']))
{
$status = @$_SESSION['status'];
//controleren of het ingevulde antwoord voorkomt in de antwoorden array van de sessie
if (in_array($answer, $session[$key]['answers']) AND $answer != "")
{
//de sessie setten waarin staat of het antwoord goed was
$status[] = array("key" => $key+1, "question" => $session[$key]['questions'], "user_answer" => $answer, "session_answers" => $session[$key]['answers'], "status" => 1);
//een waarde veranderen van 0 in 1 die aangeeft dat de vraag goed is beantwoord
$session[$key]['already_answered'] = 1;
}
else
{
//de sessie setten waarin staat of het antwoord fout was
$status[] = array("key" => $key+1, "question" => $session[$key]['questions'], "user_answer" => $answer, "session_answers" => $session[$key]['answers'], "status" => 0);
//aangeven dat de vraag nog niet goed is beantwoord
$session[$key]['already_answered'] = 0;
//de waarde waarin het aantal fouten staat met 1 ophogen
$session[$key]['wrong_answer'] = $session[$key]['wrong_answer']+1;
}
//als er is gekozen voor een willikeurige volgorde
if (@$_SESSION['settings']['random'] == 1)
{
//shuffelen
shuffle($session);
}
//de sessie opnieuw aamaken
$_SESSION['questions'] = $session;
$_SESSION['status'] = $status;
//redirecten naar form
header("Location: form.php");
}
else
{
echo "De opgevraagde waarde komt niet voor in de sessie";
}
}
else
{
//niet alle benodigde post-gegevens zijn er -> foutmelding
echo "De post-gegevens zijn niet volledig of niet correct";
}
}
?>
--== getstuff.php ==--
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
//tellers op nul zetten
$count = 0;
$false = 0;
$alreadyhad = 0;
//de foreach van de sessie
foreach($_SESSION['questions'] as $key=>$value)
{
//als de 3de waarde 0 is moet de vraag nog gesteld worden
if ($_SESSION['questions'][$key]['already_answered'] == 0)
{
if (@$gotit != 1)
{
//variabele key maken
$qkey = $key;
//een waarde setten waardoor er geen tweede key kan komen
$gotit = 1;
}
//de teller ophogen voor de vragen die nog moeten
$count++;
}
else
{
//de teller ophogen voor het aantal vragen dat al is geweest
$alreadyhad++;
}
if ($_SESSION['questions'][$key]['wrong_answer'] > 0)
{
//de false variabele ophogen met het aantal fouten die in de waarde staan
$false = $false+$_SESSION['questions'][$key]['wrong_answer'];
//als er al 1 fout is is de vraag dus ook al beantwoord
$alreadyhad = $alreadyhad+$_SESSION['questions'][$key]['wrong_answer'];
}
}
?>
//tellers op nul zetten
$count = 0;
$false = 0;
$alreadyhad = 0;
//de foreach van de sessie
foreach($_SESSION['questions'] as $key=>$value)
{
//als de 3de waarde 0 is moet de vraag nog gesteld worden
if ($_SESSION['questions'][$key]['already_answered'] == 0)
{
if (@$gotit != 1)
{
//variabele key maken
$qkey = $key;
//een waarde setten waardoor er geen tweede key kan komen
$gotit = 1;
}
//de teller ophogen voor de vragen die nog moeten
$count++;
}
else
{
//de teller ophogen voor het aantal vragen dat al is geweest
$alreadyhad++;
}
if ($_SESSION['questions'][$key]['wrong_answer'] > 0)
{
//de false variabele ophogen met het aantal fouten die in de waarde staan
$false = $false+$_SESSION['questions'][$key]['wrong_answer'];
//als er al 1 fout is is de vraag dus ook al beantwoord
$alreadyhad = $alreadyhad+$_SESSION['questions'][$key]['wrong_answer'];
}
}
?>
--== reading_signs.php ==--
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
function reading_signs($input)
{
//hier moet je dus even in de bovenste array de leestekens zetten en in de onderste array hetgene waardoor ze vervangen moeten worden
$signs = array("!", ",", ".","'");
$replace = array("", "", "", "");
$output = str_replace($signs, $replace, $input);
return $output;
}
?>
function reading_signs($input)
{
//hier moet je dus even in de bovenste array de leestekens zetten en in de onderste array hetgene waardoor ze vervangen moeten worden
$signs = array("!", ",", ".","'");
$replace = array("", "", "", "");
$output = str_replace($signs, $replace, $input);
return $output;
}
?>
--== login.php ==--
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
/*
Auteur: Mark Damen
Naam: login.php
Beschrijving: De login pagina voor de admin
Datum: 11-11-2006
*/
session_start();
//de login functie includen
include 'functions/login.func.php';
//een array met username en password
$user = array("username", "password");
//als er is verzonden
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
//de login functie uitvoeren
login($_POST['username'], $_POST['password'], $user);
}
else
{
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<link href="styles/style.css" rel="stylesheet" type="text/css" media="screen">
<title>
Kies uw woordenlijst
</title>
</head>
<body>
<div class="container">
<div class="header">
<div class="text">
Beheerders Login
</div>
</div>
<div class="content">
<form action="login.php" method="post">
Gebruikersnaam:<br />
<input type="text" name="username"><br /><br />
Wachtwoord:<br />
<input type="password" name="password"><br /><br />
<input type="submit" value="Inloggen">
</form>
</div>
</div>
</body>
</html>
<?php
}
?>
/*
Auteur: Mark Damen
Naam: login.php
Beschrijving: De login pagina voor de admin
Datum: 11-11-2006
*/
session_start();
//de login functie includen
include 'functions/login.func.php';
//een array met username en password
$user = array("username", "password");
//als er is verzonden
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
//de login functie uitvoeren
login($_POST['username'], $_POST['password'], $user);
}
else
{
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<link href="styles/style.css" rel="stylesheet" type="text/css" media="screen">
<title>
Kies uw woordenlijst
</title>
</head>
<body>
<div class="container">
<div class="header">
<div class="text">
Beheerders Login
</div>
</div>
<div class="content">
<form action="login.php" method="post">
Gebruikersnaam:<br />
<input type="text" name="username"><br /><br />
Wachtwoord:<br />
<input type="password" name="password"><br /><br />
<input type="submit" value="Inloggen">
</form>
</div>
</div>
</body>
</html>
<?php
}
?>
--== functions/login.func.php ==--
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
function login($username, $password, $good)
{
//als gebruikersnaam en wachtwoord kloppen
if (($username == $good[0]) AND ($password == $good[1]))
{
//een sessie setten
$_SESSION['logged_in'] = true;
header("Location: admin/index.php");
}
else
{
return "Deze combinatie van gebruikersnaam en wachtwoord is foutief";
}
}
?>
function login($username, $password, $good)
{
//als gebruikersnaam en wachtwoord kloppen
if (($username == $good[0]) AND ($password == $good[1]))
{
//een sessie setten
$_SESSION['logged_in'] = true;
header("Location: admin/index.php");
}
else
{
return "Deze combinatie van gebruikersnaam en wachtwoord is foutief";
}
}
?>
--== functions/forms.func.php ==--
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
function genform($key, $multiple, $posible)
{
//een deel van het formulier
$return = "<form action=\"check.php\" method=\"post\" name=\"form\">";
//als multiple choise Yes is, even een formpje gegereren
if ($multiple == "Y")
{
$return .= multiple($posible);
}
//het laatste deel van het formulier
$return .= "<br /><input type=\"text\" name=\"answer\" class=\"answer\">";
$return .= "<input type=\"hidden\" name=\"key\" value=\"" . $key ."\">";
$return .= "<input type=\"submit\" value=\"Controleer\" class=\"submit\"><br /><br />";
$return .= "</form>";
return $return;
}
function multiple($posibilitys)
{
//teller
$i = 0;
//letters in een array
$letter = range("A", "Z");
//$return op null zetten
$return = null;
//alle mogelijkheden doorlopen
foreach($posibilitys as $posible)
{
$return .= $letter[$i] . ": " . $posible . "<br />";
//teller ophogen
$i++;
}
//return
return $return;
}
?>
function genform($key, $multiple, $posible)
{
//een deel van het formulier
$return = "<form action=\"check.php\" method=\"post\" name=\"form\">";
//als multiple choise Yes is, even een formpje gegereren
if ($multiple == "Y")
{
$return .= multiple($posible);
}
//het laatste deel van het formulier
$return .= "<br /><input type=\"text\" name=\"answer\" class=\"answer\">";
$return .= "<input type=\"hidden\" name=\"key\" value=\"" . $key ."\">";
$return .= "<input type=\"submit\" value=\"Controleer\" class=\"submit\"><br /><br />";
$return .= "</form>";
return $return;
}
function multiple($posibilitys)
{
//teller
$i = 0;
//letters in een array
$letter = range("A", "Z");
//$return op null zetten
$return = null;
//alle mogelijkheden doorlopen
foreach($posibilitys as $posible)
{
$return .= $letter[$i] . ": " . $posible . "<br />";
//teller ophogen
$i++;
}
//return
return $return;
}
?>
--== implode.func.php ==--
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
function implode_question($spacer, $array)
{
//variabele return aanmaken zonder waarde
$return = null;
//de teller op nul zetten
$i = 0;
//de foreachlus
foreach($array as $value)
{
//als de teller niet 0 is
if ($i != 0 && !empty($value))
{
$return .= "<span class=\"small\">" . $spacer . "</span>" . $value;
}
elseif($i == 0 && !empty($value))
{
$return .= $value;
}
//teller ophogen
$i++;
}
return $return;
}
?>
function implode_question($spacer, $array)
{
//variabele return aanmaken zonder waarde
$return = null;
//de teller op nul zetten
$i = 0;
//de foreachlus
foreach($array as $value)
{
//als de teller niet 0 is
if ($i != 0 && !empty($value))
{
$return .= "<span class=\"small\">" . $spacer . "</span>" . $value;
}
elseif($i == 0 && !empty($value))
{
$return .= $value;
}
//teller ophogen
$i++;
}
return $return;
}
?>
--== admin/index.php ==--
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?php
/*
Auteur: Mark Damen
Naam: index.php
Beschrijving: Een overzicht van alle t2k bestanden die
kunnen worden verwijderd en er kunnen
woordenlijsten worden toegevoegd
Datum: 11-11-2006
*/
session_start();
//de functie includen om een bestand te uploaden
include 'functions/upload.func.php';
//als er is ingelogd
if ($_SESSION['logged_in'] == true)
{
//als er is verzonden
if ($_SERVER['REQUEST_METHOD'] == "POST")
{
//als de functie upload "ext" teruggeeft
if(upload() == "ext")
{
//een foutmelding geven dat de extensie niet is toegestaan
echo "Het opgegeven bestand had een verkeerde extensie<br /><br />";
}
//als de functie upload "upload" teruggeeft
elseif(upload() == "upload")
{
//de foutmelding die komt als het uploaden foutging
echo "Er ging iets fout bij het uploaden<br /><br />";
}
}
else
{
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<link href="style.css" rel="stylesheet" type="text/css" media="screen">
<link href="../styles/style.css" rel="stylesheet" type="text/css" media="screen">
<title>
Admin ControlPanel
</title>
</head>
<body>
<div class="container">
<div class="header">
<div class="text">
Admin ControlPanel
</div>
</div>
<div class="content">
<a href="logout.php">Uitloggen</a><br /><br />
Uploaden woordenlijst
<form action="index.php" enctype="multipart/form-data" method="post">
<input type="file" name="file" /><br />
<input type="submit" value="OK" /><br />
</form><br />
<b>Bestandsnaam</b><br />
<?php
//alle bestanden selecteren uit de map lists
$files = glob("../lists/*.t2k");
//de lijsten sorteren
natsort($files);
//checken of er wel woordenlijsten zijn
if ($files != false)
{
//alle bestanden met de extensie .t2k in een foreach doen
foreach($files as $file)
{
//form openen
echo "<form action=\"unlink.php\" method=\"post\">";
//namen van directroy's hoeven we niet. Even eruit filteren
$file = stripslashes($file);
$file = explode("/",$file);
$file = $file[2];
//de bestandsnamen weergeven
echo "<input type=\"checkbox\" name=\"del[]\" value=\"" . $file . "\"><a href=\"download.php?file=" . $file . "\">" . $file . "</a><br />";
}
//de submit-knop en het fprmuliertje sluiten
echo "<br /><input type=\"submit\" value=\"Verwijderen\">";
echo "</form>";
}
else
{
echo "Geen bestanden gevonden<br />";
}
?>
</div>
</div>
</body>
</html>
<?php
}
}
//als er niet is ingelogd
else
{
header("Location: ../login.php");
}
?>
/*
Auteur: Mark Damen
Naam: index.php
Beschrijving: Een overzicht van alle t2k bestanden die
kunnen worden verwijderd en er kunnen
woordenlijsten worden toegevoegd
Datum: 11-11-2006
*/
session_start();
//de functie includen om een bestand te uploaden
include 'functions/upload.func.php';
//als er is ingelogd
if ($_SESSION['logged_in'] == true)
{
//als er is verzonden
if ($_SERVER['REQUEST_METHOD'] == "POST")
{
//als de functie upload "ext" teruggeeft
if(upload() == "ext")
{
//een foutmelding geven dat de extensie niet is toegestaan
echo "Het opgegeven bestand had een verkeerde extensie<br /><br />";
}
//als de functie upload "upload" teruggeeft
elseif(upload() == "upload")
{
//de foutmelding die komt als het uploaden foutging
echo "Er ging iets fout bij het uploaden<br /><br />";
}
}
else
{
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<link href="style.css" rel="stylesheet" type="text/css" media="screen">
<link href="../styles/style.css" rel="stylesheet" type="text/css" media="screen">
<title>
Admin ControlPanel
</title>
</head>
<body>
<div class="container">
<div class="header">
<div class="text">
Admin ControlPanel
</div>
</div>
<div class="content">
<a href="logout.php">Uitloggen</a><br /><br />
Uploaden woordenlijst
<form action="index.php" enctype="multipart/form-data" method="post">
<input type="file" name="file" /><br />
<input type="submit" value="OK" /><br />
</form><br />
<b>Bestandsnaam</b><br />
<?php
//alle bestanden selecteren uit de map lists
$files = glob("../lists/*.t2k");
//de lijsten sorteren
natsort($files);
//checken of er wel woordenlijsten zijn
if ($files != false)
{
//alle bestanden met de extensie .t2k in een foreach doen
foreach($files as $file)
{
//form openen
echo "<form action=\"unlink.php\" method=\"post\">";
//namen van directroy's hoeven we niet. Even eruit filteren
$file = stripslashes($file);
$file = explode("/",$file);
$file = $file[2];
//de bestandsnamen weergeven
echo "<input type=\"checkbox\" name=\"del[]\" value=\"" . $file . "\"><a href=\"download.php?file=" . $file . "\">" . $file . "</a><br />";
}
//de submit-knop en het fprmuliertje sluiten
echo "<br /><input type=\"submit\" value=\"Verwijderen\">";
echo "</form>";
}
else
{
echo "Geen bestanden gevonden<br />";
}
?>
</div>
</div>
</body>
</html>
<?php
}
}
//als er niet is ingelogd
else
{
header("Location: ../login.php");
}
?>
--== admin/download.php ==--
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
/*
Auteur: Mark Damen
Naam: download.php
Beschrijving: Deze pagina is ervoor om alle t2k bestanden ter download aan te bieden onder de admin
Datum: 11-11-2006
Met dank aan: PHP Newbie
*/
session_start();
//als er is ingelogd
if ($_SESSION['logged_in'] == true)
{
//als het opgegeven bestand bestaat in de map lists
if (file_exists("../lists/" . $_GET['file']))
{
//de header verzenden die ervoor zorgen dat er wordt gedownload
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=" . $_GET['file']);
}
//als het opgegeven bestand niet bestaat
else
{
echo "Het opgevraagde bestand bestaat niet.";
exit();
}
}
else
{
//als er niet is ingelogd
header("Location: ../login.php");
}
?>
/*
Auteur: Mark Damen
Naam: download.php
Beschrijving: Deze pagina is ervoor om alle t2k bestanden ter download aan te bieden onder de admin
Datum: 11-11-2006
Met dank aan: PHP Newbie
*/
session_start();
//als er is ingelogd
if ($_SESSION['logged_in'] == true)
{
//als het opgegeven bestand bestaat in de map lists
if (file_exists("../lists/" . $_GET['file']))
{
//de header verzenden die ervoor zorgen dat er wordt gedownload
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=" . $_GET['file']);
}
//als het opgegeven bestand niet bestaat
else
{
echo "Het opgevraagde bestand bestaat niet.";
exit();
}
}
else
{
//als er niet is ingelogd
header("Location: ../login.php");
}
?>
--== admin/unlink.php ==--
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
//als er is verzonden
if ($_SERVER['REQUEST_METHOD'] == "POST")
{
//alle opgegeven bestanden doorlopen
foreach($_POST['del'] as $del)
{
//als het bestand bestaat
if (file_exists("../lists/" . $del))
{
//verwijderen van het bestand
unlink("../lists/" . $del);
}
}
//redirecten naar pagina met woordenlijsten
header("Location: index.php");
}
else
{
//als er niet op verzonden is gedouwd hebben we hier niets te zoeken -> terug naar admin-page
header("Location: index.php");
}
?>
//als er is verzonden
if ($_SERVER['REQUEST_METHOD'] == "POST")
{
//alle opgegeven bestanden doorlopen
foreach($_POST['del'] as $del)
{
//als het bestand bestaat
if (file_exists("../lists/" . $del))
{
//verwijderen van het bestand
unlink("../lists/" . $del);
}
}
//redirecten naar pagina met woordenlijsten
header("Location: index.php");
}
else
{
//als er niet op verzonden is gedouwd hebben we hier niets te zoeken -> terug naar admin-page
header("Location: index.php");
}
?>
--== admin/logout.php ==--
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
session_start();
//als er is ingelogd
if ($_SESSION['logged_in'] == true)
{
session_unset();
header("Location: ../login.php");
}
else
{
header("Location: ../login.php");
}
?>
session_start();
//als er is ingelogd
if ($_SESSION['logged_in'] == true)
{
session_unset();
header("Location: ../login.php");
}
else
{
header("Location: ../login.php");
}
?>
--== admin/functions/upload.func.php ==--
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
/*
Auteur: Mark Damen
Naam: upload.func.php
Beschrijving: De upload-functie
Datum: 11-11-2006
*/
function upload()
{
//een rijtje met de toegestane extensies
$extensions = array("t2k");
//we hebben de extensie wel nodig. Want plaatjes hebben we niet nodig tussen de woordenlijsten
$extension = strrev($_FILES['file']['name']);
$extension = explode(".", $extension);
$extension = strrev($extension[0]);
//als extensie een toegelaten bestand is
if (in_array($extension, $extensions))
{
if (is_uploaded_file($_FILES['file']['tmp_name']))
{
if (move_uploaded_file($_FILES['file']['tmp_name'], "../lists/" . $_FILES['file']['name']))
{
//de pagina opnieuw laden, dan zien we meteen de nieuwe woordenlijst in het rijtje
header("Location: index.php");
}
else
{
//return upload, dan weten we waar het fout ging
return "upload";
}
}
else
{
//return upload, dan weten we waar het fout ging
return "upload";
}
}
//return ext, dan weten we waar het fout ging
return "ext";
}
?>
/*
Auteur: Mark Damen
Naam: upload.func.php
Beschrijving: De upload-functie
Datum: 11-11-2006
*/
function upload()
{
//een rijtje met de toegestane extensies
$extensions = array("t2k");
//we hebben de extensie wel nodig. Want plaatjes hebben we niet nodig tussen de woordenlijsten
$extension = strrev($_FILES['file']['name']);
$extension = explode(".", $extension);
$extension = strrev($extension[0]);
//als extensie een toegelaten bestand is
if (in_array($extension, $extensions))
{
if (is_uploaded_file($_FILES['file']['tmp_name']))
{
if (move_uploaded_file($_FILES['file']['tmp_name'], "../lists/" . $_FILES['file']['name']))
{
//de pagina opnieuw laden, dan zien we meteen de nieuwe woordenlijst in het rijtje
header("Location: index.php");
}
else
{
//return upload, dan weten we waar het fout ging
return "upload";
}
}
else
{
//return upload, dan weten we waar het fout ging
return "upload";
}
}
//return ext, dan weten we waar het fout ging
return "ext";
}
?>