From e3569575925286942140d47f61de2f66848d65a7 Mon Sep 17 00:00:00 2001 From: "Michael Kaufmann (d00p)" Date: Tue, 7 Sep 2010 10:46:50 +0000 Subject: [PATCH] - added yes/no to decide whether to store the default index-file to a new customers docroot or not, fixes #369 --- admin_customers.php | 4 +++- lib/functions/froxlor/function.inserttask.php | 6 ++++-- lng/english.lng.php | 1 + lng/german.lng.php | 1 + scripts/jobs/cron_tasks.php | 5 ++++- templates/admin/customers/customers_add.tpl | 4 ++++ 6 files changed, 17 insertions(+), 4 deletions(-) diff --git a/admin_customers.php b/admin_customers.php index 419e2a18..c966bedf 100644 --- a/admin_customers.php +++ b/admin_customers.php @@ -425,6 +425,7 @@ if($page == 'customers' $sendpassword = intval($_POST['sendpassword']); $phpenabled = intval($_POST['phpenabled']); $perlenabled = intval($_POST['perlenabled']); + $store_defaultindex = intval($_POST['store_defaultindex']); $diskspace = $diskspace * 1024; $traffic = $traffic * 1024 * 1024; @@ -602,7 +603,7 @@ if($page == 'customers' } $log->logAction(ADM_ACTION, LOG_INFO, "added user '" . $loginname . "'"); - inserttask('2', $loginname, $guid, $guid); + inserttask('2', $loginname, $guid, $guid, $store_defaultindex); // Add htpasswd for the webalizer stats @@ -737,6 +738,7 @@ if($page == 'customers' $sendpassword = makeyesno('sendpassword', '1', '0', '1'); $phpenabled = makeyesno('phpenabled', '1', '0', '1'); $perlenabled = makeyesno('perlenabled', '1', '0', '0'); + $store_defaultindex = makeyesno('store_defaultindex', '1', '0', '1'); eval("echo \"" . getTemplate("customers/customers_add") . "\";"); } } diff --git a/lib/functions/froxlor/function.inserttask.php b/lib/functions/froxlor/function.inserttask.php index 0496cd1d..c165848c 100644 --- a/lib/functions/froxlor/function.inserttask.php +++ b/lib/functions/froxlor/function.inserttask.php @@ -27,7 +27,7 @@ * @author Florian Lippert */ -function inserttask($type, $param1 = '', $param2 = '', $param3 = '') +function inserttask($type, $param1 = '', $param2 = '', $param3 = '', $param4 = '') { global $db, $settings; @@ -43,12 +43,14 @@ function inserttask($type, $param1 = '', $param2 = '', $param3 = '') elseif($type == '2' && $param1 != '' && $param2 != '' - && $param3 != '') + && $param3 != '' + && $param4 != '') { $data = Array(); $data['loginname'] = $param1; $data['uid'] = $param2; $data['gid'] = $param3; + $data['store_defaultindex'] = $param4; $data = serialize($data); $db->query('INSERT INTO `' . TABLE_PANEL_TASKS . '` (`type`, `data`) VALUES ("2", "' . $db->escape($data) . '")'); $doupdate = true; diff --git a/lng/english.lng.php b/lng/english.lng.php index a800bced..a09926d7 100644 --- a/lng/english.lng.php +++ b/lng/english.lng.php @@ -1497,5 +1497,6 @@ $lng['extras']['htpasswdauthname'] = 'Authentication reason (AuthName)'; $lng['extras']['directoryprotection_edit'] = 'edit directory protection'; $lng['admin']['templates']['forgotpwd'] = 'Notification-mails for password-reset'; $lng['admin']['templates']['password_reset'] = 'Customer-notification for passwort-reset'; +$lng['admin']['store_defaultindex'] = 'Store default index-file to customers docroot'; ?> diff --git a/lng/german.lng.php b/lng/german.lng.php index a458633c..1267b070 100644 --- a/lng/german.lng.php +++ b/lng/german.lng.php @@ -1480,5 +1480,6 @@ $lng['extras']['htpasswdauthname'] = 'Authentifizierungs-Grund (AuthName)'; $lng['extras']['directoryprotection_edit'] = 'Verzeichnisschutz bearbeiten'; $lng['admin']['templates']['forgotpwd'] = 'Benachrichtigungs-Mails bei Zurücksetzen des Passworts'; $lng['admin']['templates']['password_reset'] = 'Kunden-Benachrichtigung nach Zurücksetzen des Passworts'; +$lng['admin']['store_defaultindex'] = 'Erstelle standard Index-Datei in Kunden-Ordner'; ?> diff --git a/scripts/jobs/cron_tasks.php b/scripts/jobs/cron_tasks.php index bbe9e3b5..6db16232 100644 --- a/scripts/jobs/cron_tasks.php +++ b/scripts/jobs/cron_tasks.php @@ -178,7 +178,10 @@ while($row = $db->fetch_array($result_tasks)) //check if admin of customer has added template for new customer directories $destdir = makeCorrectDir($settings['system']['documentroot_prefix'] . '/' . $row['data']['loginname']); - storeDefaultIndex($row['data']['loginname'], $destdir, $cronlog, true); + if((int)$row['data']['store_defaultindex'] == 1) + { + storeDefaultIndex($row['data']['loginname'], $destdir, $cronlog, true); + } $cronlog->logAction(CRON_ACTION, LOG_NOTICE, 'Running: chown -R ' . (int)$row['data']['uid'] . ':' . (int)$row['data']['gid'] . ' ' . escapeshellarg($settings['system']['documentroot_prefix'] . $row['data']['loginname'])); safe_exec('chown -R ' . (int)$row['data']['uid'] . ':' . (int)$row['data']['gid'] . ' ' . escapeshellarg($settings['system']['documentroot_prefix'] . $row['data']['loginname'])); diff --git a/templates/admin/customers/customers_add.tpl b/templates/admin/customers/customers_add.tpl index 327d672b..0b1979b0 100644 --- a/templates/admin/customers/customers_add.tpl +++ b/templates/admin/customers/customers_add.tpl @@ -24,6 +24,10 @@ $header {$lng['admin']['stdsubdomain_add']}? $createstdsubdomain + + {$lng['admin']['store_defaultindex']}? + $store_defaultindex + {$lng['login']['password']}: