Projekt

Obecné

Profil

Stáhnout (8.44 KB) Statistiky
| Větev: | Tag: | Revize:
1 6daefa8c Petr Lukašík
<?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 .= "&nbsp;</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]."&nbsp;".$spojeni->Record[1]."&nbsp;";
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é&nbsp;</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
?>