Subversion Repositories personal-webbase

Rev

Rev 14 | Blame | Compare with Previous | 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. if ($konfiguration['core_directftp']['ftp-server'] == '') {
  8.         $fehler = 'Personal WebBase ben&ouml;tigt FTP-Zugriff auf das Verzeichnis &quot;modules&quot;, damit Module ordnungsgem&auml;&szlig; (de)installiert werden k&ouml;nnen.<br>Bitte bearbeiten Sie die <a href="'.$_SERVER['PHP_SELF'].'?modul=core_directftp&amp;seite=konfig&amp;vonmodul='.urlencode($modul).'">Konfigurationswerte</a> und tragen Sie dort korrekte Werte ein.<br><br>M&ouml;gliche Ursache: Server/Benutzername/Passwort falsch.';
  9.         $verhindere_loeschen = 1;
  10.         $conn_id = null;
  11.         $login_result = false;
  12. } else {
  13.         $conn_id = @ftp_connect($konfiguration['core_directftp']['ftp-server'], $konfiguration['core_directftp']['ftp-port']);
  14.         $login_result = @ftp_login ($conn_id, $konfiguration['core_directftp']['ftp-username'], $konfiguration['core_directftp']['ftp-passwort']);
  15. }
  16.  
  17. $fehler = '';
  18.  
  19. if ((!$conn_id) || (!$login_result))
  20. {
  21.   $fehler = 'Personal WebBase ben&ouml;tigt FTP-Zugriff auf das Verzeichnis &quot;modules&quot;, damit Module ordnungsgem&auml;&szlig; (de)installiert werden k&ouml;nnen.<br>Bitte bearbeiten Sie die <a href="'.$_SERVER['PHP_SELF'].'?modul=core_directftp&amp;seite=konfig&amp;vonmodul='.urlencode($modul).'">Konfigurationswerte</a> und tragen Sie dort korrekte Werte ein.<br><br>M&ouml;gliche Ursache: Server/Benutzername/Passwort falsch.';
  22.   $verhindere_loeschen = 1;
  23. }
  24.  
  25. if (($fehler == '') && ((substr($konfiguration['core_directftp']['ftp-verzeichnis'], 0, 1) != '/') || (substr($konfiguration['core_directftp']['ftp-verzeichnis'], strlen($konfiguration['core_directftp']['ftp-verzeichnis'])-1, 1) != '/')))
  26. {
  27.   $fehler = 'Die Verzeichnissyntax ist falsch. Bitte bearbeiten Sie die <a href="'.$_SERVER['PHP_SELF'].'?modul=core_directftp&amp;seite=konfig&amp;vonmodul='.urlencode($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.';
  28.   $verhindere_loeschen = 1;
  29. }
  30.  
  31. if (($fehler == '') && (@ftp_size($conn_id, $konfiguration['core_directftp']['ftp-verzeichnis'].'modules/moddir.txt') == -1))
  32. {
  33.   $fehler = 'Personal WebBase ben&ouml;tigt FTP-Zugriff auf das Verzeichnis &quot;modules&quot;, damit Module ordnungsgem&auml;&szlig; (de)installiert werden k&ouml;nnen.<br>Bitte bearbeiten Sie die <a href="'.$_SERVER['PHP_SELF'].'?modul=core_directftp&amp;seite=konfig&amp;vonmodul='.urlencode($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.';
  34.   $verhindere_loeschen = 1;
  35. }
  36.  
  37. if ($conn_id) @ftp_quit($conn_id);
  38.  
  39.   echo $header;
  40.  
  41. if ($modulueberschrift == '') $modulueberschrift = $modul;
  42. echo '<h1>'.my_htmlentities($modulueberschrift).'</h1>';
  43.     echo 'Hier k&ouml;nnen Sie die Module von Personal WebBase verwalten. Ist ein Modul nicht
  44.    korrekt geschrieben worden, so k&ouml;nnen trotz Deinstallation des Moduls noch Datenbest&auml;nde in der
  45.    Datenbank zur&uuml;ckbleiben. Wenn das Modul als &quot;Personal WebBase-Core&quot; eingestuft wurde, dann
  46.    ist der Autor des Moduls der Meinung, dass es wichtig f&uuml;r die Ausf&uuml;hrung von Personal WebBase oder anderen
  47.    Modulen verantwortlich ist. Entfernen Sie ein solches Modul, so kann Personal WebBase besch&auml;digt und Kundendaten
  48.    verloren gehen! In dem Feld &quot;Daten&quot; k&ouml;nnen Sie sehen, wie viele Personal WebBase-Konfigurationswerte (C) und wie viele
  49.    MySQL-Tabellen (T) das jeweilige Modul benutzt.<br><br>';
  50.  
  51.     wb_draw_table_begin();
  52.     wb_draw_table_content('', '<b>Verzeichnisname</b>', '', '<b>Modulname</b>', '', '<b>Autor</b>', '', '<b>Lizenztyp</b>', '', '<b>Sichtbar</b>', '', '<b>Version</b>', '', '<b>Daten</b>', '', '<b>Aktionen</b>');
  53.     foreach ($module as $m1 => $m2)
  54.     {
  55.       $res = db_query("SELECT COUNT(*) AS `cid` FROM `".$mysql_zugangsdaten['praefix']."konfig` WHERE `modul` = '".db_escape($m2)."'");
  56.       $row = db_fetch($res);
  57.       $cdaten = $row['cid'];
  58.  
  59.       $res = db_query("SELECT COUNT(*) AS `cid` FROM `".$mysql_zugangsdaten['praefix']."module` WHERE `modul` = '".db_escape($m2)."'");
  60.       $row = db_fetch($res);
  61.       $mdaten = $row['cid'];
  62.  
  63.       $modulueberschrift = '';
  64.       $modulsekpos = '';
  65.       $modulpos = '';
  66.       $modulrechte = '';
  67.           $autor = '';
  68.       $version = '';
  69.       $menuevisible = '';
  70.       $license = '';
  71.       $deaktiviere_zugangspruefung = 0;
  72.  
  73.       if (file_exists('modules/'.wb_dir_escape($m2).'/var.inc.php'))
  74.         include 'modules/'.wb_dir_escape($m2).'/var.inc.php';
  75.       if ($modulueberschrift == '') $modulueberschrift = 'Unbekannt';
  76.       if ($autor == '') $autor = 'Unbekannt';
  77.       if ($version == '') $version = 'Unbekannt';
  78.       if ($menuevisible == '0')
  79.         $menuevisible = 'Nein';
  80.       else if ($menuevisible == '1')
  81.         $menuevisible = 'Ja';
  82.       else
  83.         $menuevisible = 'Unbekannt';
  84.       if ($license == '0')
  85.         $license = 'Public Freeware';
  86.       else if ($license == '1')
  87.         $license = 'Public Shareware';
  88.       else if ($license == '2')
  89.         $license = 'Private Secured';
  90.       else if ($license == '3')
  91.         $license = 'Personal WebBase-Core';
  92.       else if ($license == '4')
  93.         $license = 'Personal WebBase-Enclosure';
  94.       else
  95.         $license = 'Unbekannt';
  96.       $ca = ($cdaten == 0) ? '' : '<a href="'.$_SERVER['PHP_SELF'].'?modul=admin_konfig&amp;seite=konfig&amp;only='.urlencode($m2).'&amp;vonmodul='.urlencode($modul).'&amp;vonseite='.urlencode($seite).'" class="menu">';
  97.       $cb = ($cdaten == 0) ? '' : '</a>';
  98.       $ta = ($mdaten == 0) ? '' : '<a href="'.$_SERVER['PHP_SELF'].'?modul=admin_datenbank&amp;seite=inhalt&amp;only='.urlencode($m2).'&amp;vonmodul='.urlencode($modul).'&amp;vonseite='.urlencode($seite).'" class="menu">';
  99.       $tb = ($mdaten == 0) ? '' : '</a>';
  100.  
  101.       if ((isset($verhindere_loeschen)) && ($verhindere_loeschen != ''))
  102.         $aktionen = '<font color="#888888">Entfernen</font>';
  103.       else
  104.         $aktionen = '<a href="javascript:abfrage(\''.$_SERVER['PHP_SELF'].'?seite=kraftsetzung&amp;modul='.urlencode($modul).'&amp;aktion=delete&amp;entfernen='.urlencode($m2).'\');" class="menu">Entfernen</a>';
  105.  
  106.       wb_draw_table_content('', my_htmlentities($m2), '', my_htmlentities($modulueberschrift), '', my_htmlentities($autor), '', $license, '', $menuevisible, '',  my_htmlentities($version), '', $ca.$cdaten.'C'.$cb.' / '.$ta.$mdaten.'T'.$tb, '', $aktionen);
  107.     }
  108.  
  109.     unset($m1);
  110.         unset($m2);
  111.  
  112.     wb_draw_table_end();
  113.     echo '<b>Modul installieren</b><br><br>';
  114.  
  115.     if ($fehler != '')
  116.       echo '<font color="#FF0000">'.$fehler.'</font>';
  117.     else
  118.       echo 'Achtung: Personal WebBase &uuml;berl&auml;sst den Modulen die komplette Handlungsfreiheit bez&uuml;glich der Datenbank und der PHP-Codeausf&uuml;hrung. Ein Modul kann bei dem Installationsprozess b&ouml;sartigen Code ausf&uuml;hren und das System oder den Datenbestand gef&auml;hrden. Installieren Sie daher nur Module, bei denen Sie sicherstellen k&ouml;nnen, dass sie keinen b&ouml;sartigen Code enthalten. Wenn Sie ein Modul updaten m&ouml;chten, deinstallieren Sie die alte Version des Modules zuerst. Maximale Dateigr&ouml;&szlig;e: '.ini_get('post_max_size').'B<br><br>
  119.  
  120. <form enctype="multipart/form-data" action="'.$_SERVER['PHP_SELF'].'" method="POST">
  121. <input type="hidden" name="seite" value="kraftsetzung">
  122. <input type="hidden" name="modul" value="'.$modul.'">
  123. <input type="hidden" name="aktion" value="install">
  124. <input type="hidden" name="MAX_FILE_SIZE" value="'.return_bytes(ini_get('post_max_size')).'">
  125.  
  126. <input name="dfile" type="file"><br><br>
  127.  
  128. <input type="submit" class="button" onmouseover="this.className=\'button_act\';" onmouseout="this.className=\'button\';" value="Modul installieren">
  129. </form><a href="https://www.personal-webbase.de/module.html" target="_blank">Weitere Module im offiziellen Personal WebBase-Portal</a>';
  130.  
  131.       echo $footer;
  132.  
  133. ?>
  134.