Doppelte webapp-installer-task verhindern
bernd

bernd commited on 2009-05-18 16:14:29
Zeige 1 geänderte Dateien mit 12 Einfügungen und 0 Löschungen.


git-svn-id: https://svn.schokokeks.org/repos/tools/webinterface/trunk@1375 87cf0b9e-d624-0410-a070-f6ee81989793
... ...
@@ -4,6 +4,8 @@ require_once('inc/base.php');
4 4
 
5 5
 function create_new_webapp($appname, $directory, $url, $data)
6 6
 {
7
+  if (directory_in_use($directory))
8
+    system_failure('Sie haben erst kürzlich eine Anwendung in diesem Verzeichnis installieren lassen. Die Installation ist noch nicht beendet.');
7 9
   $username = mysql_real_escape_string($_SESSION['userinfo']['username']);
8 10
   $appname = mysql_real_escape_string($appname);
9 11
   $directory = mysql_real_escape_string($directory);
... ...
@@ -15,6 +17,8 @@ function create_new_webapp($appname, $directory, $url, $data)
15 17
 
16 18
 function request_update($appname, $directory, $url)
17 19
 {
20
+  if (directory_in_use($directory))
21
+    system_failure('Sie haben erst kürzlich eine Anwendung in diesem Verzeichnis installieren lassen oder ein Update in diesem Verzeichnis angefordert. Bitte warten Sie bis diese Aktion durchgeführt wurde.');
18 22
   $username = mysql_real_escape_string($_SESSION['userinfo']['username']);
19 23
   $appname = mysql_real_escape_string($appname);
20 24
   $directory = mysql_real_escape_string($directory);
... ...
@@ -22,6 +26,14 @@ function request_update($appname, $directory, $url)
22 26
   db_query("INSERT INTO vhosts.webapp_installer VALUES (NULL, '{$appname}', '{$directory}', {$url}, 'old', '{$username}', NULL)");
23 27
 }
24 28
 
29
+function directory_in_use($directory)
30
+{
31
+  $directory = mysql_real_escape_string($directory);
32
+  $result = db_query("SELECT id FROM vhosts.webapp_installer WHERE state IN ('new','old') AND directory='{$directory}'");
33
+  if (mysql_num_rows($result) > 0)
34
+    return true;
35
+  return false;
36
+}
25 37
 
26 38
 function upgradeable($appname, $version)
27 39
 {
28 40