Skip to content

Commit eb0b8f7

Browse files
committed
change sys_userid and sys_groupid for webdav users, web folders, web folder users, cron, database users and aps instances when domain's owner is changed
1 parent d6e6528 commit eb0b8f7

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

interface/lib/plugins/sites_web_vhost_domain_plugin.inc.php

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,30 @@ function sites_web_vhost_domain_edit($event_name, $page_form) {
113113
unset($records);
114114
unset($rec);
115115

116+
// Update the webdav user(s) too
117+
$records = $app->db->queryAllRecords("SELECT webdav_user_id FROM webdav_user WHERE parent_domain_id = ".$page_form->id);
118+
foreach($records as $rec) {
119+
$app->db->datalogUpdate('webdav_user', "sys_userid = '".$app->functions->intval($web_rec['sys_userid'])."', sys_groupid = '".$app->functions->intval($web_rec['sys_groupid'])."'", 'webdav_user_id', $app->functions->intval($rec['webdav_user_id']));
120+
}
121+
unset($records);
122+
unset($rec);
123+
124+
// Update the web folder(s) too
125+
$records = $app->db->queryAllRecords("SELECT web_folder_id FROM web_folder WHERE parent_domain_id = ".$page_form->id);
126+
foreach($records as $rec) {
127+
$app->db->datalogUpdate('web_folder', "sys_userid = '".$app->functions->intval($web_rec['sys_userid'])."', sys_groupid = '".$app->functions->intval($web_rec['sys_groupid'])."'", 'web_folder_id', $app->functions->intval($rec['web_folder_id']));
128+
}
129+
unset($records);
130+
unset($rec);
131+
132+
//* Update all web folder users
133+
$records = $app->db->queryAllRecords("SELECT web_folder_user.web_folder_user_id FROM web_folder_user, web_folder WHERE web_folder_user.web_folder_id = web_folder.web_folder_id AND web_folder.parent_domain_id = ".$page_form->id);
134+
foreach($records as $rec) {
135+
$app->db->datalogUpdate('web_folder_user', "sys_userid = '".$app->functions->intval($web_rec['sys_userid'])."', sys_groupid = '".$app->functions->intval($web_rec['sys_groupid'])."'", 'web_folder_user_id', $app->functions->intval($rec['web_folder_user_id']));
136+
}
137+
unset($records);
138+
unset($rec);
139+
116140
// Update the Shell user(s) too
117141
$records = $app->db->queryAllRecords("SELECT shell_user_id FROM shell_user WHERE parent_domain_id = ".$page_form->id);
118142
foreach($records as $rec) {
@@ -121,6 +145,14 @@ function sites_web_vhost_domain_edit($event_name, $page_form) {
121145
unset($records);
122146
unset($rec);
123147

148+
// Update the cron(s) too
149+
$records = $app->db->queryAllRecords("SELECT id FROM cron WHERE parent_domain_id = ".$page_form->id);
150+
foreach($records as $rec) {
151+
$app->db->datalogUpdate('cron', "sys_userid = '".$app->functions->intval($web_rec['sys_userid'])."', sys_groupid = '".$app->functions->intval($web_rec['sys_groupid'])."'", 'id', $app->functions->intval($rec['id']));
152+
}
153+
unset($records);
154+
unset($rec);
155+
124156
//* Update all subdomains and alias domains
125157
$records = $app->db->queryAllRecords("SELECT domain_id, `domain`, `type`, `web_folder` FROM web_domain WHERE parent_domain_id = ".$page_form->id);
126158
foreach($records as $rec) {
@@ -143,6 +175,22 @@ function sites_web_vhost_domain_edit($event_name, $page_form) {
143175
foreach($records as $rec) {
144176
$app->db->datalogUpdate('web_database', "sys_userid = '".$app->functions->intval($web_rec['sys_userid'])."', sys_groupid = '".$app->functions->intval($web_rec['sys_groupid'])."'", 'database_id', $app->functions->intval($rec['database_id']));
145177
}
178+
179+
//* Update all database users
180+
$records = $app->db->queryAllRecords("SELECT web_database_user.database_user_id FROM web_database_user, web_database WHERE web_database_user.database_user_id IN (web_database.database_user_id, web_database.database_ro_user_id) AND web_database.parent_domain_id = ".$page_form->id);
181+
foreach($records as $rec) {
182+
$app->db->datalogUpdate('web_database_user', "sys_userid = '".$app->functions->intval($web_rec['sys_userid'])."', sys_groupid = '".$app->functions->intval($web_rec['sys_groupid'])."'", 'database_user_id', $app->functions->intval($rec['database_user_id']));
183+
}
184+
unset($records);
185+
unset($rec);
186+
187+
// Update APS instances
188+
$records = $app->db->queryAllRecords("SELECT instance_id FROM aps_instances_settings WHERE name = 'main_domain' AND value = '".$app->db->quote($page_form->oldDataRecord["domain"])."'");
189+
if(is_array($records) && !empty($records)){
190+
foreach($records as $rec){
191+
$app->db->datalogUpdate('aps_instances', "sys_userid = '".$app->functions->intval($web_rec['sys_userid'])."', sys_groupid = '".$app->functions->intval($web_rec['sys_groupid'])."', customer_id = '".$app->functions->intval($client_id)."'", 'id', $rec['instance_id']);
192+
}
193+
}
146194
unset($records);
147195
unset($rec);
148196

0 commit comments

Comments
 (0)