Browse code

Webapp-Installer für Drupal-7

git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1902 87cf0b9e-d624-0410-a070-f6ee81989793

bernd authored on13/01/2011 15:53:05
Showing3 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,31 @@
1
+<?php
2
+
3
+require_once('inc/debug.php');
4
+
5
+require_once('webapp-installer.php');
6
+
7
+
8
+function validate_data($post)
9
+{
10
+  DEBUG('Validating Data:');
11
+  DEBUG($post);
12
+  $fields = array('adminuser', 'adminpassword', 'adminemail', 'sitename', 'siteemail');
13
+  foreach ($fields AS $field)
14
+    if ((! isset($post[$field])) || $post[$field] == '')
15
+      system_failure('Nicht alle Werte angegeben ('.$field.')');
16
+
17
+  $dbdata = create_webapp_mysqldb('drupal7', $post['sitename']);
18
+
19
+  $data = "adminuser={$post['adminuser']}
20
+adminpassword={$post['adminpassword']}
21
+adminemail={$post['adminemail']}
22
+sitename={$post['sitename']}
23
+siteemail={$post['siteemail']}
24
+dbname={$dbdata['dbname']}
25
+dbuser={$dbdata['dbuser']}
26
+dbpass={$dbdata['dbpass']}";
27
+  DEBUG($data);
28
+  return $data;
29
+}
30
+
31
+
... ...
@@ -20,6 +20,8 @@ $form = '<h4>Anwendung auswählen</h4>
20 20
   <p style="margin-left: 2em;">MediaWiki ist eine Wiki-Software, mit der Seiteninhalte von Besuchern geändert werden können. MediaWiki ist u.A. die Grundlage der Online-Enzyklopädie »Wikipedia«.</p>
21 21
   <p><input type="radio" name="application" id="application_drupal6" value="drupal6" /> <label for="application_drupal6">Drupal (Version 6.x)</label></p>
22 22
   <p style="margin-left: 2em;">Drupal ist ein verbreitetes Content-Management-System. Als solches bietet es die Möglichkeit, Seiten-Inhalte im Web-Browser zu ändern, einzelne Seiten nur angemeldeten Benutzern freizugeben oder z.B. das kommentieren einzelner Seiten.</p>
23
+  <p><input type="radio" name="application" id="application_drupal7" value="drupal7" /> <label for="application_drupal7">Drupal (Version 7.x)</label></p>
24
+  <p style="margin-left: 2em;">Drupal ist ein verbreitetes Content-Management-System. Als solches bietet es die Möglichkeit, Seiten-Inhalte im Web-Browser zu ändern, einzelne Seiten nur angemeldeten Benutzern freizugeben oder z.B. das kommentieren einzelner Seiten.</p>
23 25
 </div>
24 26
 ';
25 27
 
26 28
new file mode 100644
... ...
@@ -0,0 +1,76 @@
1
+<?php
2
+
3
+require_once('inc/base.php');
4
+require_once('session/start.php');
5
+
6
+require_role(ROLE_SYSTEMUSER);
7
+
8
+title('Drupal 7 einrichten');
9
+$section = 'webapps_install';
10
+
11
+// Wurde beim Schreiben in die Session schon verifiziert
12
+$docroot = $_SESSION['webapp_docroot'];
13
+$url = $_SESSION['webapp_url'];
14
+
15
+if (! $docroot)
16
+{
17
+  system_failure('Kann die Session-Daten nicht auslesen. So geht das nicht.');
18
+}
19
+
20
+
21
+if (isset($_POST['submit']))
22
+{
23
+  require_once('install-drupal7.php');
24
+  require_once('webapp-installer.php');
25
+  
26
+  check_form_token('install_drupal7');
27
+
28
+  $data = validate_data($_POST);
29
+  if (! $data)
30
+    system_failure('wtf?!');
31
+  create_new_webapp('drupal7', $docroot, $url, $data); 
32
+  
33
+  title("Drupal wird installiert");
34
+  output('<p>Ihre Drupal-Website wird jetzt installiert. Sie erhalten eine E-Mail, sobald die Website betriebsbereit ist.</p>
35
+');
36
+  
37
+}
38
+else
39
+{
40
+
41
+  require_once('modules/vhosts/include/vhosts.php');
42
+  $vhosts = list_vhosts();
43
+  
44
+  output('<p>Die Einrichtung von Drupal erfordert die Angabe ein paar weniger Daten.</p>');
45
+
46
+  $form = '
47
+<h4>Basisdaten</h4>
48
+<div style="margin-left: 2em;">
49
+  <h5>Ort der neuen Website</h5>
50
+  <p>Drupal wird im Verzeichnis <strong>'.$docroot.'</strong> installiert und wird später voraussichtlich unter <strong>'.$url.'</strong> abrufbar sein.</p>
51
+  <p>Beachten Sie bitte: Die Installation wird in Ihrem Home-Verzeichnis durchgeführt und es wird ein normaler Host im Webinterface dafür angelegt. Sie können diese Einstellungen also jederzeit verändern. Auch die dafür angelegte Datenbank können Sie jederzeit selbst verwalten oder löschen.</p>
52
+  
53
+  <h5>Name der Seite</h5>
54
+  <p>Der Seitenname wird im Titel jeder Seite angezeigt und für diverse Texte verwendet.</p>
55
+  <p><label for="sitename">Seiten-Name:</label> <input type="text" id="sitename" name="sitename" /></p>
56
+  
57
+  <h5>E-Mail-Adresse der Seite</h5>
58
+  <p>Wenn die Website E-Mails versendet (z.B. für neue Benutzer, bei kommentaren auf einzelnen Seiten, ...) erscheint diese Adresse als Absender.
59
+  <p><label for="siteemail">E-Mail-Adresse:</label> <input type="text" id="siteemail" name="siteemail" value="'.$_SESSION['userinfo']['username'].'@'.config('masterdomain').'" /></p>
60
+</div>
61
+
62
+<h4>Drupal-Administrator</h4>
63
+<div style="margin-left: 2em;">
64
+  <p>Der Administrator kann später auf der Website neue Benutzer anlegen, Seiten erzeugen und verändern und sonstige Verwaltungsaufgaben durchführen.</p>
65
+  <p><label for="adminuser">Benutzername:</label> <input type="text" id="adminuser" name="adminuser" value="'.$_SESSION['userinfo']['username'].'" /></p>
66
+  <p><label for="adminpassword">Passwort:</label> <input type="password" id="adminpassword" name="adminpassword" /></p>
67
+  <p><label for="adminemail">E-Mail-Adresse:</label> <input type="text" id="adminemail" name="adminemail" value="'.$_SESSION['userinfo']['username'].'@'.config('masterdomain').'" /></p>
68
+</div>
69
+
70
+<p><input type="submit" name="submit" value="Drupal installieren!" /></p>
71
+';
72
+
73
+  output(html_form('install_drupal7', '', '', $form));
74
+
75
+}
76
+