From e1ceb050e19c7574bca146a8da7047ee4ff456b5 Mon Sep 17 00:00:00 2001
From: Marius Burkard <m.burkard@pixcept.de>
Date: Sun, 10 Jul 2016 05:02:35 -0400
Subject: [PATCH] Merge branch 'stable-3.1'
---
interface/lib/classes/sites_database_plugin.inc.php | 158 +++++++---------------------------------------------
1 files changed, 21 insertions(+), 137 deletions(-)
diff --git a/interface/lib/classes/sites_database_plugin.inc.php b/interface/lib/classes/sites_database_plugin.inc.php
index 6729fd0..89cb7ce 100644
--- a/interface/lib/classes/sites_database_plugin.inc.php
+++ b/interface/lib/classes/sites_database_plugin.inc.php
@@ -31,148 +31,32 @@
class sites_database_plugin {
public function processDatabaseInsert($form_page) {
- global $app;
-
+ global $app;
+
+ $this->processDatabaseUpdate($form_page);
+ }
+
+ public function processDatabaseUpdate($form_page) {
+ global $app;
+
if($form_page->dataRecord["parent_domain_id"] > 0) {
- $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".intval($form_page->dataRecord["parent_domain_id"]));
-
+ $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ?", $form_page->dataRecord["parent_domain_id"]);
+
//* The Database user shall be owned by the same group then the website
- $sys_groupid = $web['sys_groupid'];
- } else {
- $sys_groupid = $form_page->dataRecord['sys_groupid'];
- }
-
+ $sys_groupid = $app->functions->intval($web['sys_groupid']);
+ $backup_interval = $web['backup_interval'];
+ $backup_copies = $app->functions->intval($web['backup_copies']);
- if($form_page->dataRecord['database_user_id']) {
- // check if there has already been a database on this server with that user
- $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . intval($form_page->dataRecord['server_id']) . "' AND (`database_user_id` = '" . intval($form_page->dataRecord['database_user_id']) . "' OR `database_ro_user_id` = '" . intval($form_page->dataRecord['database_user_id']) . "') AND `sys_groupid` = '" . intval($sys_groupid) . "'");
-
- if($check && $check['cnt'] < 1) {
- // we need to make a datalog insert for the database users that are connected to this database
- $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . intval($form_page->dataRecord['database_user_id']) . "' AND `sys_groupid` = '" . intval($sys_groupid) . "'");
- if($db_user) {
- $db_user['server_id'] = $form_page->dataRecord['server_id'];
- $app->db->datalogSave('web_database_user', 'INSERT', 'database_user_id', $db_user['database_user_id'], array(), $db_user);
- }
- }
- }
+ $sql = "UPDATE web_database SET sys_groupid = ?, backup_interval = ?, backup_copies = ? WHERE database_id = ?";
+ $app->db->query($sql, $sys_groupid, $backup_interval, $backup_copies, $form_page->id);
+ }
+ }
- if($form_page->dataRecord['database_ro_user_id']) {
- // check if there has already been a database on this server with that user
- $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . intval($form_page->dataRecord['server_id']) . "' AND (`database_user_id` = '" . intval($form_page->dataRecord['database_ro_user_id']) . "' OR `database_ro_user_id` = '" . intval($form_page->dataRecord['database_ro_user_id']) . "') AND `sys_groupid` = '" . intval($sys_groupid) . "'");
-
- if($check && $check['cnt'] < 1) {
- // we need to make a datalog insert for the database users that are connected to this database
- $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . intval($form_page->dataRecord['database_ro_user_id']) . "' AND `sys_groupid` = '" . intval($sys_groupid) . "'");
- if($db_user) {
- $db_user['server_id'] = $form_page->dataRecord['server_id'];
- $app->db->datalogSave('web_database_user', 'INSERT', 'database_user_id', $db_user['database_user_id'], array(), $db_user);
- }
- }
- }
- }
-
- public function processDatabaseUpdate($form_page) {
- global $app;
-
- $old_record = $app->tform->getDataRecord($form_page->id);
-
- if($form_page->dataRecord["parent_domain_id"] > 0) {
- $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".intval($form_page->dataRecord["parent_domain_id"]));
-
- //* The Database user shall be owned by the same group then the website
- $sys_groupid = $web['sys_groupid'];
- } else {
- $sys_groupid = $form_page->dataRecord['sys_groupid'];
- }
-
- // check if database user has changed
- if($old_record['database_user_id'] && $old_record['database_user_id'] != $form_page->dataRecord['database_user_id'] && $old_record['database_user_id'] != $form_page->dataRecord['database_ro_user_id']) {
- // check if any database on the server still uses this one
- $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . intval($form_page->dataRecord['server_id']) . "' AND (`database_user_id` = '" . intval($old_record['database_user_id']) . "' OR `database_ro_user_id` = '" . intval($old_record['database_user_id']) . "') AND `sys_groupid` = '" . intval($sys_groupid) . "' AND `database_id` != '" . intval($form_page->id) . "'");
- if($check['cnt'] < 1) {
- // send a datalog delete
- $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . intval($old_record['database_user_id']) . "' AND `sys_groupid` = '" . intval($sys_groupid) . "'");
- if($db_user) {
- $db_user['server_id'] = $form_page->dataRecord['server_id'];
- $app->db->datalogSave('web_database_user', 'DELETE', 'database_user_id', $db_user['database_user_id'], $db_user, array());
- }
- }
- }
- // check if readonly database user has changed
- if($old_record['database_ro_user_id'] && $old_record['database_ro_user_id'] != $form_page->dataRecord['database_ro_user_id'] && $old_record['database_ro_user_id'] != $form_page->dataRecord['database_user_id']) {
- // check if any database on the server still uses this one
- $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . intval($form_page->dataRecord['server_id']) . "' AND (`database_user_id` = '" . intval($old_record['database_ro_user_id']) . "' OR `database_ro_user_id` = '" . intval($old_record['database_ro_user_id']) . "') AND `sys_groupid` = '" . intval($sys_groupid) . "' AND `database_id` != '" . intval($form_page->id) . "'");
- if($check['cnt'] < 1) {
- // send a datalog delete
- $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . intval($old_record['database_ro_user_id']) . "' AND `sys_groupid` = '" . intval($sys_groupid) . "'");
- if($db_user) {
- $db_user['server_id'] = $form_page->dataRecord['server_id'];
- $app->db->datalogSave('web_database_user', 'DELETE', 'database_user_id', $db_user['database_user_id'], $db_user, array());
- }
- }
- }
-
- if($form_page->dataRecord['database_user_id']) {
- // check if there has already been a database on this server with that user
- $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . intval($form_page->dataRecord['server_id']) . "' AND (`database_user_id` = '" . intval($form_page->dataRecord['database_user_id']) . "' OR `database_ro_user_id` = '" . intval($form_page->dataRecord['database_user_id']) . "') AND `sys_groupid` = '" . intval($sys_groupid) . "'");
-
- if($check && $check['cnt'] < 1) {
- // we need to make a datalog insert for the database users that are connected to this database
- $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . intval($form_page->dataRecord['database_user_id']) . "' AND `sys_groupid` = '" . intval($sys_groupid) . "'");
- if($db_user) {
- $db_user['server_id'] = $form_page->dataRecord['server_id'];
- $app->db->datalogSave('web_database_user', 'INSERT', 'database_user_id', $db_user['database_user_id'], array(), $db_user);
- }
- }
- }
+ public function processDatabaseDelete($primary_id) {
+ global $app;
- if($form_page->dataRecord['database_ro_user_id']) {
- // check if there has already been a database on this server with that user
- $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . intval($form_page->dataRecord['server_id']) . "' AND (`database_user_id` = '" . intval($form_page->dataRecord['database_ro_user_id']) . "' OR `database_ro_user_id` = '" . intval($form_page->dataRecord['database_ro_user_id']) . "') AND `sys_groupid` = '" . intval($sys_groupid) . "'");
-
- if($check && $check['cnt'] < 1) {
- // we need to make a datalog insert for the database users that are connected to this database
- $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . intval($form_page->dataRecord['database_ro_user_id']) . "' AND `sys_groupid` = '" . intval($sys_groupid) . "'");
- if($db_user) {
- $db_user['server_id'] = $form_page->dataRecord['server_id'];
- $app->db->datalogSave('web_database_user', 'INSERT', 'database_user_id', $db_user['database_user_id'], array(), $db_user);
- }
- }
- }
-
- }
-
- public function processDatabaseDelete($primary_id) {
- global $app;
-
- $old_record = $app->tform->getDataRecord($primary_id);
- if($old_record['database_user_id']) {
- // check if any database on the server still uses this one
- $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . intval($old_record['server_id']) . "' AND (`database_user_id` = '" . intval($old_record['database_user_id']) . "' OR `database_ro_user_id` = '" . intval($old_record['database_user_id']) . "') AND `sys_groupid` = '" . intval($old_record['sys_groupid']) . "' AND `database_id` != '" . intval($primary_id) . "'");
- if($check['cnt'] < 1) {
- // send a datalog delete
- $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . intval($old_record['database_user_id']) . "' AND `sys_groupid` = '" . intval($old_record['sys_groupid']) . "'");
- if($db_user) {
- $db_user['server_id'] = $old_record['server_id'];
- $app->db->datalogSave('web_database_user', 'DELETE', 'database_user_id', $db_user['database_user_id'], $db_user, array());
- }
- }
- }
- if($old_record['database_ro_user_id']) {
- // check if any database on the server still uses this one
- $check = $app->db->queryOneRecord("SELECT COUNT(*) as `cnt` FROM `web_database` WHERE `server_id` = '" . intval($old_record['server_id']) . "' AND (`database_user_id` = '" . intval($old_record['database_ro_user_id']) . "' OR `database_ro_user_id` = '" . intval($old_record['database_ro_user_id']) . "') AND `sys_groupid` = '" . intval($old_record['sys_groupid']) . "' AND `database_id` != '" . intval($primary_id) . "'");
- if($check['cnt'] < 1) {
- // send a datalog delete
- $db_user = $app->db->queryOneRecord("SELECT * FROM `web_database_user` WHERE `database_user_id` = '" . intval($old_record['database_ro_user_id']) . "' AND `sys_groupid` = '" . intval($old_record['sys_groupid']) . "'");
- if($db_user) {
- $db_user['server_id'] = $old_record['server_id'];
- $app->db->datalogSave('web_database_user', 'DELETE', 'database_user_id', $db_user['database_user_id'], $db_user, array());
- }
- }
- }
-
- }
+ }
+
}
?>
--
Gitblit v1.9.1