Subversion Repositories personal-webbase

Rev

Rev 14 | 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;design&quot;, damit Designs 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;design&quot;, damit Designs 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'].'design/'.'desdir.txt') == -1) || (@ftp_size($conn_id, $konfiguration['core_directftp']['ftp-verzeichnis'].'modules/'.'moddir.txt') == -1)))
32
{
33
  $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=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 das Personal WebBase-Verzeichnis oder Datei &quot;desdir.txt&quot; bzw. &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 Designs von Personal WebBase verwalten.<br><br>';
44
 
15 daniel-mar 45
    wb_draw_table_begin();
46
    wb_draw_table_content('', '<b>Verzeichnisname</b>', '', '<b>Designname</b>', '', '<b>Autor</b>', '', '<b>Version</b>', '', '<b>Lizenztyp</b>', '', '<b>Aktionen</b>');
12 daniel-mar 47
 
48
    $handle = @opendir('design/');
49
    while ($file = @readdir($handle))
50
    {
51
      if ((($file <> '.') && ($file <> '..') && @filetype('design/'.wb_dir_escape($file)) == 'dir'))
52
      {
53
      $name = '';
54
      $autor = '';
55
      $version = '';
56
      $license = '';
57
 
58
      if (file_exists('design/'.wb_dir_escape($file).'/var.inc.php'))
59
        include 'design/'.wb_dir_escape($file).'/var.inc.php';
60
 
61
      if ($license == '1')
62
        $license = 'Offizielles Produkt';
63
      else if ($license == '0')
64
        $license = 'Drittanbieter-Produkt';
65
      else
66
        $license = 'Unbekannt';
67
 
68
      if (isset($verhindere_loeschen) && ($verhindere_loeschen != ''))
69
        $aktionen = '<font color="#888888">Entfernen</font>';
70
      else
71
        $aktionen = '<a href="javascript:abfrage(\''.$_SERVER['PHP_SELF'].'?seite=kraftsetzung&amp;modul='.urlencode($modul).'&amp;aktion=delete&amp;entfernen='.urlencode($file).'\');" class="menu">Entfernen</a>';
72
 
15 daniel-mar 73
      wb_draw_table_content('', my_htmlentities($file), '', my_htmlentities($name), '', my_htmlentities($autor), '', $version, '', $license, '', $aktionen);
12 daniel-mar 74
      }
75
    }
76
    closedir($handle);
77
 
15 daniel-mar 78
    wb_draw_table_end();
12 daniel-mar 79
 
80
    echo '<a href="'.$_SERVER['PHP_SELF'].'?seite=konfig&amp;modul='.urlencode($modul).'&amp;vonmodul='.urlencode($modul).'&amp;vonseite='.urlencode($seite).'">Aktuelles Design &auml;ndern</a><br><br>';
81
 
82
    echo '<b>Design installieren</b><br><br>';
83
 
84
    if ($fehler != '')
85
      echo '<font color="#FF0000">'.$fehler.'</font>';
86
    else
87
      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>
88
 
89
<form enctype="multipart/form-data" action="'.$_SERVER['PHP_SELF'].'" method="POST">
90
<input type="hidden" name="seite" value="kraftsetzung">
91
<input type="hidden" name="modul" value="'.$modul.'">
92
<input type="hidden" name="aktion" value="install">
93
<input type="hidden" name="MAX_FILE_SIZE" value="'.return_bytes(ini_get('post_max_size')).'">
94
 
95
<input name="dfile" type="file"><br><br>
96
 
97
<input type="submit" class="button" onmouseover="this.className=\'button_act\';" onmouseout="this.className=\'button\';" value="Design installieren">
98
</form><a href="https://www.personal-webbase.de/designs.html" target="_blank">Weitere Designs im offiziellen Personal WebBase-Portal</a>';
99
 
100
      echo $footer;
101
 
102
?>