[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 <?php 2 3 4 /** 5 6 * Permet configurer la sauvegarde (Backuppc) 7 * Ajout du support de NAS 8 * Ajaxification de la page 9 * @Version $Id: sauv.php 5125 2010-01-24 20:38:14Z plouf $ 10 11 * @Projet LCS / SambaEdu 12 13 * @auteurs Philippe Chadefaux Wawa MrT 14 15 * @Licence Distribue selon les termes de la licence GPL 16 17 * @note 18 * @sudo /usr/share/se3/sbin/testbackup.sh 19 20 */ 21 22 /** 23 24 * @Repertoire: sauvegarde 25 * file: sauv.php 26 27 */ 28 29 30 31 include "entete.inc.php"; 32 require ("config.inc.php"); 33 require ("ldap.inc.php"); 34 require ("ihm.inc.php"); 35 include ("fonction_backup.inc.php"); 36 37 require_once ("lang.inc.php"); 38 bindtextdomain('sauvegarde',"/var/www/se3/locale"); 39 textdomain ('sauvegarde'); 40 41 42 43 44 ############################################################################### 45 # Octobre 2008 46 # Ajout de parametrage en Ajax pour NAS Mrt@EquipeTice. 47 # Scripts systeme de wawa 48 ############################################################################### 49 ?> 50 51 <script type="text/javascript"> 52 53 var bck_user; 54 55 function IsNumeric(sText) 56 { 57 var ValidChars = "0123456789."; 58 var IsNumber=true; 59 var Char; 60 61 for (i = 0; i < sText.length && IsNumber == true; i++) { 62 Char = sText.charAt(i); 63 if (ValidChars.indexOf(Char) == -1) { 64 IsNumber = false; 65 } 66 } 67 return IsNumber; 68 } 69 70 71 function saveNAS(){ 72 var params ='?'; 73 var proto; 74 var sufX; 75 if ($('NAS_protocol1').checked) 76 proto ='cifs'; 77 if ($('NAS_protocol2').checked) 78 proto = 'nfs'; 79 80 if ($('NAS_suf1').checked) 81 sufX ='rien'; 82 if ($('NAS_suf2').checked) 83 sufX = 'pc'; 84 85 86 params += 'NAS_protocol='+proto; 87 params += '&NAS_ip='+$('NAS_ip').value; 88 params += '&NAS_share='+$('NAS_share').value; 89 params += '&NAS_login='+$('NAS_login').value; 90 params += '&NAS_pass='+$('NAS_pass').value; 91 params += '&NAS_mntsuffix='+sufX; 92 93 var url = './supports/saveNAS.php'; 94 var ajax2 = new Ajax.Request(url,{ method: 'get', parameters: params, onComplete: function(requester) { 95 alert(requester.responseText); 96 }}); 97 98 99 } 100 101 function bckSave(){ 102 if ($('bck_user1').checked) 103 bck_user = $('bck_user1').value; 104 if ($('bck_user2').checked) 105 bck_user = $('bck_user2').value; 106 107 var bck_uidnumber=$('bck_uidnumber').value; 108 109 if (IsNumeric(bck_uidnumber)) { 110 var params='?bck_user='+bck_user+'&bck_uidnumber='+bck_uidnumber; 111 112 var url = 'saveBackupPcSettings.php'; 113 var ajax16 = new Ajax.Request(url,{ method: 'post', parameters: params, onComplete: function(requester) { 114 alert(requester.responseText); 115 }}); 116 } 117 } 118 119 function manageSave(){ 120 var choix = $('bpcmediaNew').value; 121 122 var url = './supports/support'+choix+'.php'; 123 124 var ajax1 = new Ajax.Updater("bidon",url,{ method: 'post', onComplete: function(requester) { 125 126 //alert(requester.responseText); 127 128 var source = $('status_media').src; 129 var reg = new RegExp("enabled.png", "i"); 130 var supp = $('bpcmediaNew').value; 131 132 var source2 = $('bck_status').src; 133 var reg2= new RegExp("enabled.png", "i"); 134 135 136 if ($('NAS_protocol2')) { 137 138 if ($('NAS_protocol2').checked) { 139 140 Element.hide('ligne_nas_user'); 141 Element.hide('ligne_nas_passe'); 142 $('NAS_suf2').disabled = true; 143 $('NAS_suf1').checked = true; 144 145 } 146 147 148 $('NAS_protocol2').onclick = function(){ 149 $('NAS_suf2').disabled = true; 150 $('NAS_suf1').checked = true; 151 Element.hide('ligne_nas_user'); 152 Element.hide('ligne_nas_passe'); 153 } 154 } 155 156 if ($('NAS_protocol1')) { 157 158 if ($('NAS_protocol1').checked) { 159 160 Element.show('ligne_nas_user'); 161 Element.show('ligne_nas_passe'); 162 } 163 164 165 $('NAS_protocol1').onclick = function(){ 166 $('NAS_suf2').disabled = false; 167 Element.show('ligne_nas_user'); 168 Element.show('ligne_nas_passe'); 169 170 } 171 } 172 173 174 175 if ( $('bck_user1').checked) { 176 bck_user = $('bck_user1').value; 177 Element.hide('ligne_uid'); 178 } 179 if ( $('bck_user2').checked) { 180 181 bck_user = $('bck_user2').value; 182 if (!reg2.exec(source2)) { 183 Element.show('ligne_uid'); 184 185 } 186 } 187 188 var saved_uid ='<?php echo $bck_uidnumber; ?>'; 189 var params ='?user='+bck_user; 190 var ajax15 = new Ajax.Request('search_uidnumber.php',{ method: 'post', parameters: params, onComplete: function(requester) { 191 var rep = requester.responseText; 192 if ( rep != '-1') { 193 if (saved_uid && bck_user == 'backuppc') 194 $('bck_uidnumber').value = saved_uid; 195 else 196 $('bck_uidnumber').value = rep; 197 if (saved_uid == rep) 198 $('chk_uidnumber').src = '../elements/images/recovery.png'; 199 else 200 $('chk_uidnumber').src = '../elements/images/warning.png'; 201 202 $('chk_uidnumber').onmouseover = function() { 203 UnTip(); 204 Tip('Le systême a trouvé, l\'uidnumber '+rep+' pour l\'utilisateur '+bck_user); 205 this.onmouseout=function() {UnTip();} 206 } 207 208 } 209 }}); 210 211 // 212 213 214 215 216 217 if (reg.exec(source) == null) { 218 $('bpcmediaNew').style.display = 'block'; 219 Event.observe('wantSave','click',saveNAS, true); 220 $('info').innerHTML = ''; 221 222 223 224 } else { 225 var liste = document.getElementsByClassName('nas_config'); 226 for (var i = 0; i < liste.length; i++) { 227 $(liste[i]).style.display='none'; 228 } 229 $('bpcmediaNew').style.display = 'none'; 230 231 if (supp == 0) 232 $('info').innerHTML = '<strong>Autre</strong>'; 233 if (supp == 1) 234 $('info').innerHTML = '<strong>USB</strong>'; 235 if (supp == 2) 236 $('info').innerHTML = '<strong>Disque Dur</strong>'; 237 if (supp == 3) 238 $('info').innerHTML = '<strong>NAS</strong>'; 239 240 } 241 242 //tt_Init(); 243 244 245 }}); 246 247 } 248 249 function checkUidNumber() { 250 var test_uid = $('bck_uidnumber').value; 251 var params='?uidnumber='+test_uid; 252 var url= 'valid_uidnumber.php'; 253 if (IsNumeric(test_uid)) { 254 var ajax2 = new Ajax.Request(url,{ method: 'post', parameters: params, onComplete: function(requester) { 255 if (requester.responseText != 'erreur') { 256 if (requester.responseText == '') { 257 $('chk_uidnumber').src = '../elements/images/recovery.png'; 258 $('chk_uidnumber').onmouseover = function() { 259 UnTip(); 260 Tip('UidNumber libre'); 261 this.onmouseout=function() {UnTip();} 262 } 263 264 } else { 265 $('chk_uidnumber').src = '../elements/images/critical.png'; 266 $('chk_uidnumber').onmouseover = function() { 267 UnTip(); 268 Tip(requester.responseText); 269 this.onmouseout=function() {UnTip();} 270 } 271 } 272 } else { 273 $('chk_uidnumber').src = '../elements/images/info.png'; 274 $('chk_uidnumber').onmouseover = function() { 275 UnTip(); 276 Tip('Ce bouton vérifie la disponibilité de l\'UidNumber.'); 277 this.onmouseout=function() {UnTip();} 278 } 279 280 } 281 }}); 282 } else { 283 $('chk_uidnumber').src = '../elements/images/info.png'; 284 $('chk_uidnumber').onmouseover = function() { 285 UnTip(); 286 Tip('Merci de ne saisir que des chiffres'); 287 this.onmouseout=function() {UnTip();} 288 } 289 290 } 291 292 } 293 294 function init() { 295 296 Event.observe('bpcmediaNew','change',manageSave, true); 297 298 $('bpcmediaNew').value = <?php echo $bpcmedia; ?>; 299 300 manageSave(); 301 Event.observe('bck_uidnumber','keyup',checkUidNumber,true); 302 303 var source = $('bck_status').src; 304 var reg = new RegExp("enabled.png", "i"); 305 if (reg.exec(source) != null) { 306 Element.hide('ligne_user'); 307 Element.hide('ligne_uid'); 308 Element.hide('ligne_bouton'); 309 310 } 311 312 Event.observe('save_backup','click',bckSave, true); 313 Event.observe('bck_user1','click',manageSave, true); 314 Event.observe('bck_user2','click',manageSave, true); 315 316 317 } 318 319 320 321 Event.observe(window,'load',init,false); 322 323 </script> 324 <script type="text/javascript" src="../elements/js/wz_tooltip_new.js"></script> 325 <?php 326 ################################################################################ 327 328 329 330 // Verifie les droits 331 if (ldap_get_right("system_is_admin",$login)!="Y") 332 die (gettext("Vous n'avez pas les droits suffisants pour accéder à cette fonction")."</BODY></HTML>"); 333 334 //aide 335 $_SESSION["pageaide"]="Sauvegarde Backuppc"; 336 337 $drive = $_GET['drive']; 338 $space = $_GET['space']; 339 $action = $_GET['action']; 340 $bpcmediaNew = $_GET['bpcmediaNew']; 341 $usbdisk = $_GET['usbdisk']; 342 343 /***************************************************************************************************/ 344 if (isset($usbdisk) and ! isset ($action)) { 345 $sql="Delete from params where name='usbdisk';"; 346 mysql_query($sql); 347 $sql="Insert into params values ('', 'usbdisk', '".$usbdisk."', '5', '0', 'Disque de sauvegarde');"; 348 mysql_query($sql); 349 mysql_close(); 350 system("sudo /usr/share/se3/scripts/udev_disk_rule.sh ".$usbdisk); 351 umountUSB (); 352 } 353 354 if ($action == "format") { 355 $return=system("sudo /usr/share/se3/scripts/format_disk.sh ".$usbdisk); 356 echo $return; 357 } 358 359 if ($action == "start") { 360 if (file_exists("/etc/backuppc/restore.lck")) { 361 unlink("/etc/backuppc/restore.lck"); 362 } 363 startBackupPc(); 364 } 365 if ($action == "stop") { 366 if (!file_exists("/etc/backuppc/restore.lck")) { 367 touch("/etc/backuppc/restore.lck"); 368 } 369 stopBackupPc(); 370 371 } 372 373 if ($action == "key") { 374 CreeKey(); 375 } 376 377 if ($action == "modif") { 378 if ($drive!=$space) { 379 MoveRep($drive,$space); 380 } 381 } 382 383 if ($action == "disk") { 384 if ($bpcmediaNew=="") { $bpcmediaNew="0"; } 385 $authlink = mysql_connect($dbhost,$dbuser,$dbpass); 386 @mysql_select_db($dbname) or die(gettext("Impossible de se connecter a la base")); 387 $resultat=mysql_query("UPDATE params set value='$bpcmediaNew' where name='bpcmedia'"); 388 $bpcmedia=$bpcmediaNew; 389 } 390 391 /******************** Affichage de la page ******************************************/ 392 echo "<P><h1>".gettext("Gestion des sauvegardes")."</h1></P>"; 393 if ($action == "restoreUSB") { 394 if (file_exists("/etc/backuppc/restore.lck")) { 395 unlink("/etc/backuppc/restore.lck"); 396 } 397 echo "<PRE class=code>"; 398 restoreUSB(); 399 echo "</PRE>"; 400 } 401 if ($action == "umountUSB") { 402 if (!file_exists("/etc/backuppc/restore.lck")) { 403 touch("/etc/backuppc/restore.lck"); 404 } 405 echo "<PRE class=code>"; 406 umountUSB(); 407 echo "</PRE>"; 408 } 409 410 echo "<br><br>"; 411 412 /*********************************** Affichage des archives ******************************/ 413 if ($action == "list") { 414 $rep=variables(ArchiveDest,$HostServer); 415 if (file_exists($rep)) { 416 417 echo "<table align=center width=\"80%\" border=1 cellspacing=\"0\" cellpadding=\"0\">"; 418 echo "<tr bgcolor=#E0E0E0 align=\"center\"><td align=\"center\">".gettext("Archive")."</td><td>".gettext("Taille")."</td><td>".gettext("Date")."</td></tr>"; 419 $list = glob("$rep/*.*"); 420 if (is_array($list)) { 421 foreach ($list as $filename) { 422 echo "<tr><td>".$filename."</td><td align=\"right\"> " . filesize($filename) ."</td><td align=\"right\">". date ("d F Y H:i:s", filemtime($filename)) ."</td></tr>\n"; 423 } 424 } 425 echo "</table>"; 426 } 427 exit; 428 } 429 430 /***********************************************************************************/ 431 432 echo " 433 <table align=center width=\"80%\" border=0 cellspacing=\"0\" cellpadding=\"0\"> 434 <tr><td><H3>".gettext("Configuration générale")."</H3></td></tr> 435 </table><br>\n"; 436 437 echo "<table align=center width=\"80%\" border=1 cellspacing=\"0\" cellpadding=\"4\"> 438 <tr><td width=\"66%\">"; 439 echo gettext("Configuration par défaut")."</td><td align=center>"; 440 if (file_exists('/etc/backuppc/config.pl')) { 441 echo "<a onmouseout=\"UnTip()\" onmouseover=\"Tip('Un fichier de configuration par défaut existe.<br /> Si vous souhaitez le modifier cliquer sur ce bouton')"."\"href=\"config_defaut.php\"><IMG style=\"border: 0px solid;\" SRC=\"../elements/images/enabled.png\"></a>"; 442 } else { 443 echo "<a onmouseout=\"UnTip()\" onmouseover=\"Tip('Aucun fichier de configuration n\'existe<br />. Vous devez obligatoirement en créer un avant de <br />pouvoir lancer des sauvegardes')"."\" href=config_defaut.php><IMG style=\"border: 0px solid;\" SRC=\"../elements/images/disabled.png\" ></a>"; } 444 445 echo "</td></tr>\n"; 446 echo "<tr><td>".gettext(" Etat du serveur de sauvegarde")."</td><td align=\"center\">"; 447 448 if ($action == 'stop') 449 if (EtatBackupPc() == 1) { 450 stopBackupPc(); 451 sleep(1); 452 453 } 454 455 if (EtatBackupPc()== "1") { 456 echo "<a onmouseout=\"UnTip()\" onmouseover=\"Tip('Pour stopper et désactiver le serveur<br /> de sauvegarde cliquer sur le bouton')"."\" href=sauv.php?action=stop><IMG id=\"bck_status\" style=\"border: 0px solid;\" SRC=\"../elements/images/enabled.png\" ></a>"; 457 } 458 else { 459 echo "<a onmouseout=\"UnTip()\" onmouseover=\"Tip('Pour démarrer le serveur de sauvegarde,<br /> cliquer sur le bouton')"."\" href=sauv.php?action=start><IMG id=\"bck_status\" style=\"border: 0px solid;\" SRC=\"../elements/images/disabled.png\" ></a>"; 460 } 461 462 echo "</td></tr>\n"; 463 464 // if ($bck_user == 'www-se3'i ) { 465 // $test = 'checked'; 466 // $test2= ''; 467 // } else { 468 $test =''; 469 $test2 = 'checked'; 470 // } 471 472 $choixUser = "<input type=\"hidden\" id=\"bck_user1\" name=\"bck_user\" value=\"www-se3\" $test></input>"; 473 // $choixUser .= " <img onmouseover=\"Tip('Ce choix convient un disque USB.')\" onmouseout=\"UnTip()\" src=\"../elements/images/system-help.png\"></img>"; 474 $choixUser .= "<BR /><input type=\"hidden\" id=\"bck_user2\"name=\"bck_user\" value=\"backuppc\" $test2>backuppc</input>"; 475 // $choixUser .= " <img onmouseover=\"Tip('Ce choix convient pour un serveur de sauvegarde NAS.')\" onmouseout=\"UnTip()\" src=\"../elements/images/system-help.png\"></img>"; 476 477 478 echo "<tr id=\"ligne_user\" >"; 479 echo "<td>".gettext("Utilisateur de BackupPc: ")."</td><td align=\"center\">"; 480 echo $choixUser; 481 echo "</td>"; 482 483 echo "</tr>\n"; 484 echo "<tr id=\"ligne_uid\">"; 485 echo "<td style= \"vertical-align: middle\" >".gettext("UidNumber associé :")."</td><td align=\"center\">"; 486 487 echo "<input style=\"width: 50px;\" id=\"bck_uidnumber\" value=\"$backup_uidnumber\" />"; 488 echo " <img style= \"vertical-align: middle\" id=\"chk_uidnumber\" onmouseover=\"Tip('Ce bouton vérifie la disponibilité de l\'UidNumber.')\" onmouseout=\"UnTip()\" src=\"../elements/images/info.png\"></img>"; 489 echo " <img style= \"vertical-align: middle\" onmouseover=\"Tip('Vous devez renseigner l\'UidNumber associé<br /> à l\'utilisateur déclaré ci-dessus.<br />Un script Ajax verifiera la disponibilité de ce dernier.')\" onmouseout=\"UnTip()\" src=\"../elements/images/system-help.png\"></img>"; 490 491 492 493 494 echo "</td>"; 495 echo "</tr>\n"; 496 497 echo "<tr id=\"ligne_bouton\"><td align=\"center\" colspan=\"2\"><div><input type=\"button\" id=\"save_backup\" value=\"Enregistrer\" /></div></td></tr>"; 498 echo "</table><br>"; 499 500 501 502 // Espace de sauvegarde 503 504 $prompt = "Attention, pour configurer un support de sauvegarde les médias doivent être démontés !<br />" 505 ."Pour celà, rendez vous au niveau de la ligne état de la connexion.<BR />"; 506 507 508 echo "<table align=center width=\"80%\" border=0 cellspacing=\"0\" cellpadding=\"0\"> 509 <tr><td><H3>".gettext("Espace de sauvegarde")."</H3></td></tr> 510 </table><br>\n"; 511 echo "<table align=center style=\"background:#a5d6ff;\" width=\"80%\" border=1 cellspacing=\"0\" cellpadding=\"0\">"; 512 echo "<tr><td width=\"66%\"> <strong>"; 513 echo gettext("Support de sauvegarde"); 514 echo "</strong>"; 515 echo " <span onmouseout=\"UnTip();\" onmouseover=\"Tip('$prompt');\".'\'>"; 516 echo "<img name=\"action_image2\" src=\"../elements/images/system-help.png\">"; 517 echo "</span>"; 518 echo "</td><td align=\"center\"><center><span id=\"info\" style=\"text-align: center;\"></span></center>"; 519 echo "<form method=\"get\" action=\"sauv.php\">"; 520 521 #### 522 #echo "<select name=\"bpcmediaNew\" ONCHANGE=\"this.form.submit();\">"; 523 #### 524 echo "<select id=\"bpcmediaNew\" name=\"bpcmediaNew\" >"; 525 #### 526 echo "<option"; if ($bpcmedia=="0") { echo " selected"; } echo " value=\"0\">".gettext("Autre")."</option>"; 527 echo "<option"; if ($bpcmedia=="1") { echo " selected"; } echo " value=\"1\">".gettext("Disque USB")."</option>"; 528 // echo "<option"; if ($bpcmedia=="2") { echo " selected"; } echo " value=\"2\">Disque dur</option>"; 529 echo "<option"; if ($bpcmedia=="3") { echo " selected"; } echo " value=\"3\">NAS</option>"; 530 echo "</select> "; 531 532 $prompt2 ="Pour un disque USB branché sur le serveur Se3, sélectionner Disque USB.<br />" 533 ."Utilisez NAS pour la sauvegarde sur un serveur de sauvegarde"; 534 535 echo "<td align=\"center\"><span id=\"bulles_media\" onmouseout=\"UnTip();\" onmouseover=\"Tip('$prompt2');\".'\'>"; 536 echo "<img name=\"action_image2\" src=\"../elements/images/system-help.png\">"; 537 echo "</span></td>"; 538 539 540 541 542 echo "<input type=\"hidden\" name=\"action\" value=\"disk\">"; 543 544 // echo "? "; 545 echo "</form>"; 546 echo "</td></tr>\n"; 547 ######################################################################################## 548 # a placer en Ajax ! 549 echo "</table>"; 550 echo "<div id=\"bidon\"> </div>"; 551 ############################### BRIQUE AJAX 552 553 554 555 // Sauvegarde sur bande 556 echo "<br /><table align=center width=\"80%\" border=0 cellspacing=\"0\" cellpadding=\"0\"> 557 <tr><td><H3>".gettext("Gestion des archives")."</H3></td></tr> 558 </table><br />\n"; 559 560 561 echo "<table align=center width=\"80%\" border=1 cellspacing=\"0\" cellpadding=\"0\">"; 562 echo "<tr><td> ".gettext("Créer une nouvelle archive")."</td><td align=center>"; 563 $msg4 = "Créer une archive à partir de ce lien.<br />Qu\'est ce qu\'une archive ?<br/>Une archive est le moyen de sauvegarder sur une bande ou de graver sur CD ou DVD, la fusion des dernières sauvegardes d\'une machine ou de toutes les machines sauvegardées."; 564 echo "<a onmouseout=\"UnTip();\" onmouseover=\"Tip('$msg4');\" href=\"new_host.php?TypeServer=Archive\">".gettext("Ajouter")."</a></td></tr>"; 565 566 567 568 569 echo "</table>"; 570 571 echo "<br>"; 572 573 $dir = "/etc/backuppc"; 574 $i="0"; 575 if(is_dir($dir)) { 576 if ($liste = opendir($dir)) { 577 while (($file = readdir($liste)) != false) { 578 if ((preg_match("/.pl$/",$file)) and ($file != "config.pl")) { 579 $Host = substr ("$file",0,-3); 580 // recherche le type de sauvegarde 581 if (GetTypeServer($Host) == "Archive") { 582 if ($i=="0") { 583 echo "<table align=center width=\"80%\" border=1 cellspacing=\"0\" cellpadding=\"0\">"; 584 echo "<tr><td colspan=\"5\" bgcolor=#E0E0E0 align=\"center\">".gettext("Archives")."</td></tr>\n"; 585 } 586 $i="1"; 587 echo "<tr"; 588 // verifie si tout est ok 589 if (HostExist($Host) == "true") { $im = "recovery.png"; } else { $im="critical.png"; } 590 $msg8 = "Si le bouton est vert, tout est normal. Cliquez dessus pour éventuellement modifier la sauvegarde.<bR>Si le bouton est rouge, il y a un prolème."; 591 echo "<td><a onmouseout=\"UnTip();\" onmouseover=\"Tip('Modifier la configuration.');\" href=modif_host.php?HostServer=$Host>$Host</a></td>"; 592 echo "<td align=center><a onmouseout=\"UnTip();\" onmouseover=\"Tip('$msg8');\" href=\"modif_host.php?HostServer=$Host\"><img style=\"border: 0px solid;\"src=\"../elements/images/$im\"></a></td>"; 593 echo "<td align=center><a onmouseout=\"UnTip();\" onmouseover=\"Tip('Permet de lancer l\'archivage.');\" href=../backuppc/index.cgi?host=$Host><img style=\"border: 0px solid;\"src=\"../elements/images/zoom.png\"></a></td>"; 594 echo "<td align=center><a onmouseout=\"UnTip();\" onmouseover=\"Tip('Permet de parcourir les archives.');\" href=\"sauv.php?action=list&HostServer=$Host\"><img style=\"border: 0px solid;\"src=\"../elements/images/logrotate.png\"></a></td>"; 595 echo "<td align=center><a onmouseout=\"UnTip();\" onmouseover=\"Tip('Permet de supprimer cette archive.<br>Les archives existantes ne seront pas détruites.');\" href=\"sauvhost.php?HostServer=$Host&action=del\"><img style=\"border: 0px solid;\"src=\"../elements/images/edittrash.png\"></a></td></tr>"; 596 } 597 } 598 } 599 } 600 } 601 602 echo "</table>"; 603 604 echo "<br><br>"; 605 require ("pdp2.inc.php"); 606 607 608 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |