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