Subversion Repositories personal-webbase

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. <?php
  2.  
  3. if (!defined('WBLEGAL')) die('Kann nicht ohne Personal WebBase ausgef&uuml;hrt werden.');
  4.  
  5. // Funktioniert FTP-Zugang?
  6.  
  7. $conn_id = @ftp_connect($configuration['common_directftp']['ftp-server'], $configuration['common_directftp']['ftp-port']);
  8. $login_result = @ftp_login ($conn_id, $configuration['common_directftp']['ftp-username'], $configuration['common_directftp']['ftp-password']);
  9.  
  10. $fehler = '';
  11.  
  12. if ((!$conn_id) || (!$login_result))
  13. {
  14.         $fehler = 'Personal WebBase ben&ouml;tigt FTP-Zugriff auf das Verzeichnis &quot;design&quot;, damit Designs ordnungsgem&auml;&szlig; (de)installiert werden k&ouml;nnen.<br>Bitte bearbeiten Sie die <a href="'.$_SERVER['PHP_SELF'].'?modul=common_directftp&amp;seite=config&amp;vonmodul='.$modul.'">Konfigurationswerte</a> und tragen Sie dort korrekte Werte ein.<br><br>M&ouml;gliche Ursache: Server/Benutzername/Passwort falsch.';
  15.         $verhindere_loeschen = 1;
  16. }
  17.  
  18. if (($fehler == '') && ((substr($configuration['common_directftp']['ftp-verzeichnis'], 0, 1) != '/') || (substr($configuration['common_directftp']['ftp-verzeichnis'], strlen($configuration['common_directftp']['ftp-verzeichnis'])-1, 1) != '/')))
  19. {
  20.         $fehler = 'Die Verzeichnissyntax ist falsch. Bitte bearbeiten Sie die <a href="'.$_SERVER['PHP_SELF'].'?modul=common_directftp&amp;seite=config&amp;vonmodul='.$modul.'">Konfigurationswerte</a> und tragen Sie dort korrekte Werte ein.<br><br>M&ouml;gliche Ursache: Verzeichnis zeigt nicht auf Personal WebBase-Verzeichnis oder Datei &quot;moddir.txt&quot; ist nicht mehr vorhanden.';
  21.         $verhindere_loeschen = 1;
  22. }
  23.  
  24. if (($fehler == '') && ((@ftp_size($conn_id, $configuration['common_directftp']['ftp-verzeichnis'].'designs/'.'desdir.txt') == -1) || (@ftp_size($conn_id, $configuration['common_directftp']['ftp-verzeichnis'].'modules/'.'moddir.txt') == -1)))
  25. {
  26.         $fehler = 'Personal WebBase ben&ouml;tigt FTP-Zugriff auf die Verzeichnisse &quot;design&quot; und &quot;modules&quot;, damit Designs ordnungsgem&auml;&szlig; (de)installiert werden k&ouml;nnen.<br>Bitte bearbeiten Sie die <a href="'.$_SERVER['PHP_SELF'].'?modul=common_directftp&amp;seite=config&amp;vonmodul='.$modul.'">Konfigurationswerte</a> und tragen Sie dort korrekte Werte ein.<br><br>M&ouml;gliche Ursache: Verzeichnis zeigt nicht auf das Personal WebBase-Verzeichnis oder Datei &quot;desdir.txt&quot; bzw. &quot;moddir.txt&quot; ist nicht mehr vorhanden.';
  27.         $verhindere_loeschen = 1;
  28. }
  29.  
  30. @ftp_quit($conn_id);
  31.  
  32. echo $header;
  33.  
  34.  
  35. echo '<h1>'.htmlentities($module_information->caption).'</h1>';
  36. echo 'Hier k&ouml;nnen Sie die Designs von Personal WebBase verwalten.<br><br>';
  37.  
  38. wb_draw_table_begin();
  39. wb_draw_table_content('', '<b>Verzeichnisname</b>', '', '<b>Designname</b>', '', '<b>Autor</b>', '', '<b>Version</b>', '', '<b>Lizenztyp</b>', '', '<b>Aktionen</b>');
  40.  
  41. $handle = @opendir('designs/');
  42. while ($file = @readdir($handle))
  43. {
  44.         if ((filetype('designs/'.$file) == 'dir') && ($file <> '.') && ($file <> '..'))
  45.         {
  46.                 $design_information = WBDesignHandler::get_design_information($file);
  47.  
  48.                 if ($design_information->license == '1')
  49.                         $design_information->license = 'Offizielles Produkt';
  50.                 else if ($design_information->license == '0')
  51.                         $design_information->license = 'Drittanbieter-Produkt';
  52.                 else
  53.                         $design_information->license = 'Unbekannt';
  54.  
  55.                 if (isset($verhindere_loeschen) && ($verhindere_loeschen != ''))
  56.                         $aktionen = '<span class="grey">Entfernen</span>';
  57.                 else
  58.                         $aktionen = '<a href="javascript:abfrage(\''.$_SERVER['PHP_SELF'].'?seite=operate&amp;modul='.$modul.'&amp;aktion=delete&amp;entfernen='.$file.'\');" class="menu">Entfernen</a>';
  59.  
  60.                 if ($configuration['admin_designs']['design'] == $file)
  61.                 {
  62.                         $a1 = '<b>';
  63.                         $b1 = '</b>';
  64.                 }
  65.                 else
  66.                 {
  67.                         $a1 = '';
  68.                         $b1 = '';
  69.                 }
  70.  
  71.                 wb_draw_table_content('', $a1.htmlentities($file).$b1, '', $a1.htmlentities($design_information->name).$b1, '', $a1.htmlentities($design_information->author).$b1, '', $a1.$design_information->version.$b1, '', $a1.$design_information->license.$b1, '', $a1.$aktionen.$b1);
  72.         }
  73. }
  74. closedir($handle);
  75.  
  76. wb_draw_table_end();
  77.  
  78. echo '<a href="'.$_SERVER['PHP_SELF'].'?seite=config&amp;modul='.$modul.'&amp;vonmodul='.$modul.'&amp;vonseite='.$seite.'">Aktuelles Design &auml;ndern</a><br><br>';
  79.  
  80. echo '<b>Design installieren</b><br><br>';
  81.  
  82. if ($fehler != '')
  83.         echo '<span class="red">'.$fehler.'</span>';
  84. else
  85.         echo 'Achtung: Personal WebBase &uuml;berl&auml;sst den Designs die komplette Handlungsfreiheit bez&uuml;glich der Datenbank und der PHP-Codeausf&uuml;hrung. Ein Design kann bei dem Installationsprozess b&ouml;sartigen Code ausf&uuml;hren und das System oder den Datenbestand gef&auml;hrden. Installieren Sie daher nur Designs, bei denen Sie sicherstellen k&ouml;nnen, dass sie keinen b&ouml;sartigen Code enthalten. Maximale Dateigr&ouml;&szlig;e: '.ini_get('post_max_size').'B<br><br>
  86.  
  87. <form enctype="multipart/form-data" action="'.$_SERVER['PHP_SELF'].'" method="POST">
  88. <input type="hidden" name="seite" value="operate">
  89. <input type="hidden" name="modul" value="'.$modul.'">
  90. <input type="hidden" name="aktion" value="install">
  91. <input type="hidden" name="MAX_FILE_SIZE" value="'.return_bytes(ini_get('post_max_size')).'">
  92.  
  93. <input name="dfile" type="file"><br><br>
  94.  
  95. <input type="submit" class="button" onmouseover="this.className=\'button_act\';" onmouseout="this.className=\'button\';" value="Design installieren">
  96. </form><a href="'.deferer('http://www.personal-webbase.de/designs.html').'" target="_blank">Weitere Designs im offiziellen Personal WebBase-Portal</a>';
  97.  
  98. echo $footer;
  99.  
  100. ?>