Subversion Repositories personal-webbase

Rev

Rev 12 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
12 daniel-mar 1
<?php
2
 
14 daniel-mar 3
if (!defined('WBLEGAL')) die('Kann nicht ohne Personal WebBase ausgef&uuml;hrt werden.');
12 daniel-mar 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
    gfx_begintable();
52
    gfx_tablecontent('', '<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
      gfx_tablecontent('', 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
    gfx_endtable();
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
?>