1
|
<?php
|
2
|
require_once("./functions/dictionary.php");
|
3
|
|
4
|
/**
|
5
|
* Pomocna funkce, vraci do tabulky zformatovane slovo
|
6
|
*
|
7
|
* @param $Record polozka slovniku nactena z db
|
8
|
* @return do tabulky zformatovany zaznam
|
9
|
*/
|
10
|
|
11
|
//NOVE2504
|
12
|
function get_row_of_table($Record, $od = 1, $do = 2) {
|
13
|
$navrat .= "<tr class=\"akt\">\n ";
|
14
|
$navrat .= '<td><input type="checkbox" name="smaz['.$Record[0].']" /></td>';
|
15
|
$navrat .= '<td><a href="?nav_id=edit_source&source_id='.$Record[0].'">uprav</a></td>';
|
16
|
for($j=$od;$j<$do;$j++) {
|
17
|
$navrat .= "<td>";
|
18
|
$navrat .= "$Record[$j]";
|
19
|
$navrat .= " </td>\n";
|
20
|
}
|
21
|
$navrat .= "<td>".get_authors_of_source($Record[0])."</td>\n";
|
22
|
$navrat .= "<td><a href=\"?nav_id=add_author_of_source&source_id=".$Record[0]."\">Přidej autora</a></td>";
|
23
|
$navrat .= "</tr> \n ";
|
24
|
return $navrat;
|
25
|
}
|
26
|
|
27
|
function get_authors_of_source($IDsource) {
|
28
|
require_once("./classes/db.php");
|
29
|
$spojeni = new DB_Sql();
|
30
|
$dotaz = "SELECT a.name, a.surname, a.\"IDauthor\"
|
31
|
FROM author_of_source f, author a
|
32
|
WHERE f.\"IDsource\" = '$IDsource'
|
33
|
AND f.\"IDauthor\" = a.\"IDauthor\"";
|
34
|
$spojeni->query($dotaz);
|
35
|
$navrat = "";
|
36
|
while ($spojeni->next_record()) {
|
37
|
$navrat .= $spojeni->Record[0]." ".$spojeni->Record[1]." ";
|
38
|
$navrat .= '<a href="?nav_id=delete_author_of_source&author_id='.
|
39
|
$spojeni->Record[2].'&source_id='.$IDsource.'">odeber</a><br />';
|
40
|
}
|
41
|
return $navrat;
|
42
|
}
|
43
|
|
44
|
function get_pocet_zdroju() {
|
45
|
require_once("./classes/db.php");
|
46
|
$spojeni = new DB_Sql();
|
47
|
$dotaz = "SELECT \"IDsource\" FROM source ";
|
48
|
$spojeni->query($dotaz);
|
49
|
return $spojeni->num_rows();
|
50
|
}
|
51
|
|
52
|
function get_razeni($l_order = "IDsource", $l_od = 0, $l_limit = 30) {
|
53
|
global $order;
|
54
|
global $od;
|
55
|
global $limit;
|
56
|
|
57
|
$order = $l_order;
|
58
|
$od = $l_od;
|
59
|
$limit = $l_limit;
|
60
|
$pocet_zdroju = get_pocet_zdroju();
|
61
|
$nav = "list_source";
|
62
|
|
63
|
$navrat = "<p class=\"akt\"></p>";
|
64
|
$navrat .= "<table>
|
65
|
<tr class=\"nadpis_sekce\"><td><form action\"\" method=\"post\" name=\"razeni\">
|
66
|
Zobrazeno $limit zdrojů od $od. (Ve slovniku celkem $pocet_zdroju)<br />
|
67
|
Řadit podle
|
68
|
<select name=\"order\">
|
69
|
<option value=\"IDsource\">Identifikátor</option>
|
70
|
<option value=\"title\">titul</option>
|
71
|
<option value=\"subtitle\">podtitul</option>
|
72
|
<option value=\"place\">místo</option>
|
73
|
<option value=\"publication\">publikace</option>
|
74
|
<option value=\"publication_no\">publikační číslo</option>
|
75
|
<option value=\"language\">jazyk</option>
|
76
|
<option value=\"year\">rok</option>
|
77
|
</select>
|
78
|
od: <input type=\"text\" name=\"od\" value=\"$od\" size=\"5\" />
|
79
|
počet: <input type=\"text\" name=\"limit\" value=\"$limit\" size=\"5\" />
|
80
|
<input type=\"submit\" name=\"serad\" value=\"Zobraz\" /> </form>
|
81
|
</td></tr>
|
82
|
<tr class=\"nadpis_sekce\"><td align=\"center\">
|
83
|
<a href=\"?nav_id=$nav&serad=true&order=$order&od=0&limit=$limit\">
|
84
|
Na začátek </a> | ";
|
85
|
if ($od-$limit >= 0)
|
86
|
$navrat .="<a href=\"?nav_id=$nav&serad=true&order=$order&od=".
|
87
|
($od-$limit)."&limit=$limit\">
|
88
|
Předchozích $limit </a> | ";
|
89
|
if ($od+$limit < $pocet_zdroju)
|
90
|
$navrat .="<a href=\"?nav_id=$nav&serad=true&order=$order&od=".
|
91
|
($od+$limit)."&limit=$limit\">
|
92
|
Dalších $limit </a> | ";
|
93
|
$navrat .="<a href=\"?nav_id=$nav&serad=true&order=$order&od=".
|
94
|
($pocet_zdroju-$limit)."&limit=$limit\">
|
95
|
Na konec </a></td>
|
96
|
";
|
97
|
$navrat .= "</td></tr></table>";
|
98
|
return $navrat;
|
99
|
}
|
100
|
|
101
|
//NOVE2504
|
102
|
function get_header_of_table() {
|
103
|
return "<tr class=\"nadpis_sekce\">
|
104
|
<td>Vybrané </td>
|
105
|
<td></td>
|
106
|
<td>titul</td>
|
107
|
<td>podtitul</td>
|
108
|
<td>místo</td>
|
109
|
<td>publikace</td>
|
110
|
<td>publikační číslo</td>
|
111
|
<td>od strany</td>
|
112
|
<td>do strany</td>
|
113
|
<td>jazyk</td>
|
114
|
<td>rok</td>
|
115
|
<td>autori</td>
|
116
|
<td></td>
|
117
|
</tr>";
|
118
|
}
|
119
|
|
120
|
function get_foot_of_table() {
|
121
|
return '<tr class="nadpis_sekce"><td> <input type="submit" name="delete" value="Smaž"></td>
|
122
|
<td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>';
|
123
|
}
|
124
|
|
125
|
function print_table_of_source($order = "IDsource", $od = 0, $limit = 30) {
|
126
|
require_once("./classes/db.php");
|
127
|
$spojeni = new DB_Sql();
|
128
|
$dotaz = "SELECT * FROM source ORDER BY \"$order\" OFFSET $od LIMIT $limit";
|
129
|
$radky = $spojeni->query($dotaz);
|
130
|
$navrat = "<h3 class=\"nadpis2\">Výpis zdrojů</h3>";
|
131
|
$navrat .= get_razeni($order, $od, $limit);
|
132
|
$navrat .= "<table><form action=\"\" method=\"post\">";
|
133
|
$navrat .= get_header_of_table();
|
134
|
while ($spojeni->next_record()) {
|
135
|
$navrat .= get_row_of_table($spojeni->Record, 1, 10);
|
136
|
}
|
137
|
$navrat .= get_foot_of_table();
|
138
|
$navrat .= '<input type="hidden" name="action" value="delete_source">';
|
139
|
$navrat .= "</form></table>";
|
140
|
echo $navrat;
|
141
|
|
142
|
|
143
|
}
|
144
|
|
145
|
|
146
|
function insert_source($title,$subtitle,$place,$publication,$publication_no,$from_page,$to_page,$language,$year) {
|
147
|
require_once("./classes/db.php");
|
148
|
$spojeni = new DB_Sql();
|
149
|
|
150
|
$dotaz = "INSERT INTO source (\"title\",
|
151
|
\"subtitle\",
|
152
|
\"place\",
|
153
|
\"publication\",
|
154
|
\"publication_no\",
|
155
|
\"from_page\",
|
156
|
\"to_page\",
|
157
|
\"language\",
|
158
|
\"year\")
|
159
|
VALUES ('$title',
|
160
|
'$subtitle',
|
161
|
'$place',
|
162
|
'$publication',
|
163
|
'$publication_no',
|
164
|
'$from_page',
|
165
|
'$to_page',
|
166
|
'$language',
|
167
|
'$year')";
|
168
|
$spojeni->query($dotaz);
|
169
|
if ($spojeni->Errno != 0) {
|
170
|
print_hlasku("Bohužel, zdroj '$title' se nepodařilo přidat.");
|
171
|
return false;
|
172
|
}
|
173
|
print_hlasku ("Zdroj '$title' přidán..");
|
174
|
return true;
|
175
|
}
|
176
|
|
177
|
function possible_to_delete_source($source_id) {
|
178
|
$jedna = false;
|
179
|
$dva = false;
|
180
|
|
181
|
require_once("./classes/db.php");
|
182
|
$spojeni = new DB_Sql();
|
183
|
$dotaz = "SELECT * FROM author_of_source WHERE \"IDsource\" = '$source_id'";
|
184
|
$spojeni->query($dotaz);
|
185
|
if ($spojeni->Errno != 0) {
|
186
|
print_hlasku($spojeni->$Error);
|
187
|
return false;
|
188
|
}
|
189
|
if ($spojeni->num_rows() == 0)
|
190
|
$jedna = true;
|
191
|
|
192
|
$dotaz = "SELECT * FROM dict WHERE source = '$source_id'";
|
193
|
$spojeni->query($dotaz);
|
194
|
if ($spojeni->Errno != 0) {
|
195
|
print_hlasku($spojeni->$Error);
|
196
|
return false;
|
197
|
}
|
198
|
if ($spojeni->num_rows() == 0)
|
199
|
$dva = true;
|
200
|
|
201
|
return $jedna && $dva;
|
202
|
}
|
203
|
|
204
|
function delete_source($ID) {
|
205
|
if (!possible_to_delete_source($ID)) {
|
206
|
print_hlasku("Kontrola integrity hlásí: Nelze smazat");
|
207
|
return false;
|
208
|
}
|
209
|
require_once("./classes/db.php");
|
210
|
$spojeni = new DB_Sql();
|
211
|
$dotaz = "DELETE FROM source WHERE \"IDsource\" = $ID";
|
212
|
$spojeni->query($dotaz);
|
213
|
if ($spojeni->Errno != 0) {
|
214
|
return false;
|
215
|
}
|
216
|
$dotaz = "DELETE FROM author_of_source WHERE \"IDsource\" = $ID";
|
217
|
$spojeni->query($dotaz);
|
218
|
if ($spojeni->Errno != 0) {
|
219
|
return false;
|
220
|
}
|
221
|
return true;
|
222
|
}
|
223
|
|
224
|
//NOVE 2504
|
225
|
function update_source($title, $subtitle, $place, $publication, $publication_no,
|
226
|
$from_page, $to_page, $language, $year, $source_id) {
|
227
|
require_once("./classes/db.php");
|
228
|
$spojeni = new DB_Sql();
|
229
|
$dotaz = "UPDATE source SET title = '$title',
|
230
|
subtitle = '$subtitle',
|
231
|
place = '$place',
|
232
|
publication = '$publication',
|
233
|
publication_no = '$publication_no',
|
234
|
from_page = '$from_page',
|
235
|
to_page = '$to_page',
|
236
|
language = '$language',
|
237
|
year = '$year'
|
238
|
WHERE \"IDsource\" = $source_id";
|
239
|
$spojeni->query($dotaz);
|
240
|
if ($spojeni->Errno != 0) {
|
241
|
print_hlasku("Zdroj se nepodařilo upravit.");
|
242
|
echo_zpet_do_zdroju();
|
243
|
return false;
|
244
|
}
|
245
|
print_hlasku("Zdroj změněn.");
|
246
|
echo_zpet_do_zdroju();
|
247
|
return true;
|
248
|
}
|
249
|
|
250
|
//NOVE2504
|
251
|
function get_source($source_id) {
|
252
|
require_once("./classes/db.php");
|
253
|
$spojeni = new DB_Sql();
|
254
|
$dotaz = "SELECT * FROM source WHERE \"IDsource\" LIKE '$source_id'";
|
255
|
$radky = $spojeni->query($dotaz);
|
256
|
|
257
|
$spojeni->next_record();
|
258
|
|
259
|
return $spojeni->Record;
|
260
|
}
|
261
|
|
262
|
|
263
|
|
264
|
?>
|