Редакция 184 | Редакция 186 | К новейшей редакции | Весь файл | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS
Редакция 184 | Редакция 185 | ||
---|---|---|---|
Строка 248... | Строка 248... | ||
248 | case '4': |
248 | case '4': |
249 | // Работа с репозиториями
|
249 | // Работа с репозиториями
|
250 | switch ($act) { |
250 | switch ($act) { |
251 | case '0': |
251 | case '0': |
252 | // Выбор дистрибутива
|
252 | // Выбор дистрибутива
|
253 | $dist =& $db->query("SELECT * FROM distribution d JOIN version v ON v.dist_id=d.dist_id ORDER BY d.dist_id,v.version_id ASC"); |
253 | $dist =& $db->query("SELECT * FROM `repository` LEFT JOIN origin ON repository.orig_id=origin.orig_id LEFT JOIN root ON repository.root_id=root.root_id"); |
254 | $display = "<div class='modulename'>Имеются репозитории для:</div>\n"; |
254 | $display = "<div class='modulename'>Репозитории:</div>\n"; |
255 | $display .= "<table><tr><th>Репозиторий</th></tr>\n"; |
255 | $display .= "<table><tr><th>Репозиторий</th><th>Действие</th><th>Корень</th><th>Источник</th></tr>\n"; |
256 | while ($dist->fetchInto($info, DB_FETCHMODE_ASSOC)) { |
256 | while ($dist->fetchInto($info, DB_FETCHMODE_ASSOC)) { |
- | 257 | $display .= "<tr><td>".$info["repname"]."</td>"; |
|
257 | $display .= "<tr><td><a href='".$admin."?mode=".$mode."&action=1&uid=".$info["version_id"]."'>".stripslashes($info["distname"])." ".stripslashes($info["version"])." “".stripslashes($info["vname"])."”</a></td></tr>"; |
258 | $display .= "<td><a href='".$admin."?mode=".$mode."&action=2&uid=".$info["rep_id"]."' class='nodec'><img src='img/edt.png' width='16' height='16' title='Редактировать'></a>"; |
- | 259 | $display .= "<a href='".$admin."?mode=".$mode."&action=3&uid=".$info["rep_id"]."'><img title='Удалить' src='img/del.png' width='16' height='16'></a></td>\n"; |
|
- | 260 | $display .= "<td>".$info["root_folder"]."</td>"; |
|
- | 261 | $display .= "<td>".$info["origin"]."</td></tr>"; |
|
258 | }
|
262 | }
|
259 | $display .= "</table>"; |
263 | $display .= "</table><p><a href='".$admin."?mode=".$mode."&action=2&uid=".$uid."'><img src='img/add.png' width='16' height='16'>Добавить новый репозиторий</a></p>"; |
260 | break; |
264 | break; |
261 | case '1': |
265 | case '1': |
262 | // Список доступных репозиториев для конкретной версии дистрибутива
|
- | |
263 | $reps =& $db->query("SELECT * FROM repository r JOIN ver2rep a ON a.rep_id=r.rep_id WHERE a.ver_id='$uid'"); |
- | |
264 | $display = "<div class='modulename'><a href='admin.php?mode=".$mode.">Репозитории</a> :: Доступные репозитории для выбранного дистрибутива</div> <ul id='replist'>"; |
- | |
265 | if ($reps->numRows()>0) { |
- | |
266 | while ($reps->fetchInto($info, DB_FETCHMODE_ASSOC)) { |
- | |
267 | $display .= "<li><a href='".$admin."?mode=".$mode."&action=3&uid=".$info["rep_id"]."' class='edit'><img title='Редактировать' src='img/edt.png' width='16' height='16'></a><a href='".$admin."?mode=4&action=4&uid=".$info["rep_id"]."' class='delete'><img title='Удалить' src='img/del.png' width='16' height='16'></a> ".stripslashes($info["repname"])." — ".stripslashes($info["repdescribe"])."</li>"; |
- | |
268 | }
|
- | |
269 | }
|
- | |
270 | $display .= "</ul><p><a href='".$admin."?mode=".$mode."&action=2&uid=".$uid."'><img src='img/add.png' width='16' height='16'>Добавить новый репозиторий</a></p>"; |
- | |
271 | break; |
- | |
272 | case '2': |
- | |
273 | // Новый репозиторий
|
266 | // Новый репозиторий
|
274 | $rep =& $db->query("SELECT * FROM distribution d JOIN version v ON v.dist_id=d.dist_id WHERE v.version_id='$uid'"); |
267 | $rep =& $db->query("SELECT * FROM distribution d JOIN version v ON v.dist_id=d.dist_id WHERE v.version_id='$uid'"); |
275 | $rep->fetchInto($dist, DB_FETCHMODE_ASSOC); |
268 | $rep->fetchInto($dist, DB_FETCHMODE_ASSOC); |
276 | $dist_id = $dist["dist_id"]; |
269 | $dist_id = $dist["dist_id"]; |
277 | $dist_vname = stripslashes($dist["distname"])." ".stripslashes($dist["version"])." “".stripslashes($dist["vname"])."”"; |
270 | $dist_vname = stripslashes($dist["distname"])." ".stripslashes($dist["version"])." “".stripslashes($dist["vname"])."”"; |
Строка 279... | Строка 272... | ||
279 | $rscheme = "<select name='scheme'>"; |
272 | $rscheme = "<select name='scheme'>"; |
280 | while ($dtype->fetchInto($dtinfo, DB_FETCHMODE_ASSOC)) { |
273 | while ($dtype->fetchInto($dtinfo, DB_FETCHMODE_ASSOC)) { |
281 | $rscheme .= "<option value='".$dtinfo["scheme_id"]."'>".stripslashes($dtinfo["scheme"])."</option>"; |
274 | $rscheme .= "<option value='".$dtinfo["scheme_id"]."'>".stripslashes($dtinfo["scheme"])."</option>"; |
282 | }
|
275 | }
|
283 | $rscheme .= "</select>"; |
276 | $rscheme .= "</select>"; |
284 | $rtype =& $db->query("SELECT * FROM rtype"); |
277 | $origin_q =& $db->query("SELECT * FROM origin"); |
285 | $reptype = "<select name='rtype'>"; |
278 | $origin = "<select name='origin'>"; |
286 | while ($rtype->fetchInto($rtinfo, DB_FETCHMODE_ASSOC)) { |
279 | while ($origin_q->fetchInto($origin_info, DB_FETCHMODE_ASSOC)) { |
287 | $reptype .= "<option value='".$rtinfo["rtype_id"]."'>".stripslashes($rtinfo["rtype"])."</option>"; |
280 | $origin .= "<option value='".$origin_info["orig_id"]."'>".stripslashes($origin_info["origin"])."</option>"; |
288 | }
|
281 | }
|
289 | $reptype .= "</select>\n"; |
282 | $origin .= "</select>\n"; |
290 | $sect =& $db->query("SELECT * FROM section s JOIN sect2dist d ON d.sect_id=s.sect_id WHERE d.dist_id='$dist_id'"); |
283 | $sect =& $db->query("SELECT * FROM section s JOIN sect2dist d ON d.sect_id=s.sect_id WHERE d.dist_id='$dist_id'"); |
291 | $list = ""; |
284 | $list = ""; |
292 | while ($sect->fetchInto($slist, DB_FETCHMODE_ASSOC)) { |
285 | while ($sect->fetchInto($slist, DB_FETCHMODE_ASSOC)) { |
293 | $list .= "<input type='checkbox' name='sect[]' value='".$slist["sect_id"]."'> <span title='".stripslashes($slist["sectinfo"])."'>".stripslashes($slist["sectname"])."</span> "; |
286 | $list .= "<input type='checkbox' name='sect[]' value='".$slist["sect_id"]."'> <span title='".stripslashes($slist["sectinfo"])."'>".stripslashes($slist["sectname"])."</span> "; |
294 | }
|
287 | }
|
Строка 305... | Строка 298... | ||
305 | $display .= "<input type='hidden' name='act' value='".$act."'>\n"; |
298 | $display .= "<input type='hidden' name='act' value='".$act."'>\n"; |
306 | $display .= "<input type='hidden' name='vers' value='$uid'>\n"; |
299 | $display .= "<input type='hidden' name='vers' value='$uid'>\n"; |
307 | $display .= "Название репозитория (codename): <input type='text' name='repName'><br>\n"; |
300 | $display .= "Название репозитория (codename): <input type='text' name='repName'><br>\n"; |
308 | $display .= "Описание репозитория:<br> <textarea name='repInfo'></textarea><br>\n"; |
301 | $display .= "Описание репозитория:<br> <textarea name='repInfo'></textarea><br>\n"; |
309 | $display .= "Схема репозитория: ".$rscheme."<br>"; |
302 | $display .= "Схема репозитория: ".$rscheme."<br>"; |
310 | $display .= "Тип репозитория: ".$reptype."<br>"; |
303 | $display .= "Источник репозитория: ".$origin."<br>"; |
311 | $display .= "Корневая папка репозитория: ".$rootfolder."<br>"; |
304 | $display .= "Корневая папка репозитория: ".$rootfolder."<br>"; |
312 | $display .= "Секции: ".$list; |
305 | $display .= "Секции: ".$list; |
313 | $display .= "<br><input type='submit' value='Создать'></form>\n"; |
306 | $display .= "<br><input type='submit' value='Создать'></form>\n"; |
314 | break; |
307 | break; |
315 | case '3': |
308 | case '2': |
316 | // Редактирование репозитория
|
309 | // Редактирование репозитория
|
317 | $rep =& $db->query("SELECT * FROM repository r JOIN ver2rep l ON l.rep_id=r.rep_id JOIN version v ON v.version_id=l.ver_id JOIN distribution d ON v.dist_id=d.dist_id JOIN root r2 ON r2.root_id=r.root_id WHERE r.rep_id='$uid'"); |
310 | $rep =& $db->query("SELECT * FROM repository r JOIN ver2rep l ON l.rep_id=r.rep_id JOIN version v ON v.version_id=l.ver_id JOIN distribution d ON v.dist_id=d.dist_id JOIN root r2 ON r2.root_id=r.root_id WHERE r.rep_id='$uid'"); |
318 | $rep->fetchInto($info, DB_FETCHMODE_ASSOC); |
311 | $rep->fetchInto($info, DB_FETCHMODE_ASSOC); |
319 | $dist_vname = stripslashes($info["distname"])." ".stripslashes($info["version"])." “".stripslashes($info["vname"])."”"; |
312 | $dist_vname = stripslashes($info["distname"])." ".stripslashes($info["version"])." “".stripslashes($info["vname"])."”"; |
320 | $tlist = "<select name='scheme'>"; |
313 | $tlist = "<select name='scheme'>"; |
Строка 325... | Строка 318... | ||
325 | } else { |
318 | } else { |
326 | $tlist .= "<option value='".$type["scheme_id"]."'>".stripslashes($type["scheme"])."</option>"; |
319 | $tlist .= "<option value='".$type["scheme_id"]."'>".stripslashes($type["scheme"])."</option>"; |
327 | }
|
320 | }
|
328 | }
|
321 | }
|
329 | $tlist .= "</select>"; |
322 | $tlist .= "</select>"; |
330 | $tlist2 = "<select name='rtype'>"; |
323 | $tlist2 = "<select name='origin'>"; |
331 | $sq =& $db->query("SELECT * FROM rtype"); |
324 | $sq =& $db->query("SELECT * FROM origin"); |
332 | while ($sq->fetchInto($type, DB_FETCHMODE_ASSOC)) { |
325 | while ($sq->fetchInto($type, DB_FETCHMODE_ASSOC)) { |
333 | if ($type["rtype_id"]==$info["rtype_id"]) { |
326 | if ($type["orig_id"]==$info["orig_id"]) { |
334 | $tlist2 .= "<option value='".$type["rtype_id"]."' selected>".stripslashes($type["rtype"])."</option>"; |
327 | $tlist2 .= "<option value='".$type["orig_id"]."' selected>".stripslashes($type["origin"])."</option>"; |
335 | } else { |
328 | } else { |
336 | $tlist2 .= "<option value='".$type["rtype_id"]."'>".stripslashes($type["rtype"])."</option>"; |
329 | $tlist2 .= "<option value='".$type["orig_id"]."'>".stripslashes($type["origin"])."</option>"; |
337 | }
|
330 | }
|
338 | }
|
331 | }
|
339 | $tlist2 .= "</select>"; |
332 | $tlist2 .= "</select>"; |
340 | $list = ""; |
333 | $list = ""; |
341 | $req =& $db->query("SELECT * FROM section s JOIN sect2rep r ON s.sect_id=r.sect_id WHERE r.rep_id='$uid'"); |
334 | $req =& $db->query("SELECT * FROM section s JOIN sect2rep r ON s.sect_id=r.sect_id WHERE r.rep_id='$uid'"); |
Строка 369... | Строка 362... | ||
369 | $display .= "<input type='hidden' name='act' value=".$act.">\n"; |
362 | $display .= "<input type='hidden' name='act' value=".$act.">\n"; |
370 | $display .= "<input type='hidden' name='rep' value='$uid'>\n"; |
363 | $display .= "<input type='hidden' name='rep' value='$uid'>\n"; |
371 | $display .= "Название репозитория (codename): <input type='text' name='repName' value='".stripslashes($info["repname"])."'><br>\n"; |
364 | $display .= "Название репозитория (codename): <input type='text' name='repName' value='".stripslashes($info["repname"])."'><br>\n"; |
372 | $display .= "Описание репозитория:<br> <textarea name='repInfo'>".stripslashes($info["repdescribe"])."</textarea><br>\n"; |
365 | $display .= "Описание репозитория:<br> <textarea name='repInfo'>".stripslashes($info["repdescribe"])."</textarea><br>\n"; |
373 | $display .= "Схема репозитория: ".$tlist."<br>"; |
366 | $display .= "Схема репозитория: ".$tlist."<br>"; |
374 | $display .= "Тип репозитория: ".$tlist2."<br>"; |
367 | $display .= "Источник репозитория: ".$tlist2."<br>"; |
375 | $display .= "Корневая папка репозитория: ".$rootfolder."<br>"; |
368 | $display .= "Корневая папка репозитория: ".$rootfolder."<br>"; |
376 | $display .= "Секции: ".$list; |
369 | $display .= "Секции: ".$list; |
377 | $display .= "<br><input type='submit' value='Править'></form>\n"; |
370 | $display .= "<br><input type='submit' value='Править'></form>\n"; |
378 | break; |
371 | break; |
379 | case '4': |
372 | case '3': |
380 | // Удаление репозитория
|
373 | // Удаление репозитория
|
381 | $rep =& $db->query("SELECT * FROM repository r JOIN ver2rep l ON l.rep_id=r.rep_id JOIN version v ON v.version_id=l.ver_id JOIN distribution d ON v.dist_id=d.dist_id WHERE r.rep_id='$uid'"); |
374 | $rep =& $db->query("SELECT * FROM repository r JOIN ver2rep l ON l.rep_id=r.rep_id JOIN version v ON v.version_id=l.ver_id JOIN distribution d ON v.dist_id=d.dist_id WHERE r.rep_id='$uid'"); |
382 | $rep->fetchInto($info, DB_FETCHMODE_ASSOC); |
375 | $rep->fetchInto($info, DB_FETCHMODE_ASSOC); |
383 | $dist_vname = stripslashes($info["distname"])." ".stripslashes($info["version"])." “".stripslashes($info["vname"])."”"; |
376 | $dist_vname = stripslashes($info["distname"])." ".stripslashes($info["version"])." “".stripslashes($info["vname"])."”"; |
384 | $display = "<div class='modulename'><a href='admin.php?mode=3'>Репозитории</a> :: Удаление репозитория ".$info["repname"]." для <em>".$dist_vname."</em></div>"; |
377 | $display = "<div class='modulename'><a href='admin.php?mode=3'>Репозитории</a> :: Удаление репозитория ".$info["repname"]." для <em>".$dist_vname."</em></div>"; |