Skip to content

Commit 2cb1563

Browse files
committed
- Added (clickable) placeholders to client messaging function.
- Added check so that the client password isn't inserted into the message (for security reasons).
1 parent f754e50 commit 2cb1563

File tree

4 files changed

+20
-3
lines changed

4 files changed

+20
-3
lines changed

interface/web/client/client_message.php

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,14 @@
8888
if(is_array($clients)) {
8989
$msg = $wb['email_sent_to_txt'].' ';
9090
foreach($clients as $client) {
91-
//* Parse cleint details into message
91+
//* Parse client details into message
9292
$message = $_POST['message'];
9393
foreach($client as $key => $val) {
94-
$message = str_replace('{'.$key.'}', $val, $message);
94+
if($key != 'password'){
95+
$message = str_replace('{'.$key.'}', $val, $message);
96+
} else {
97+
$message = str_replace('{'.$key.'}', '---', $message);
98+
}
9599
}
96100

97101
//* Send the email
@@ -135,6 +139,17 @@
135139
$app->tpl->setVar('form_legend_txt',$wb['form_legend_client_txt']);
136140
}
137141

142+
//message variables
143+
$message_variables = '';
144+
$sql = "SHOW COLUMNS FROM client WHERE Field NOT IN ('client_id', 'sys_userid', 'sys_groupid', 'sys_perm_user', 'sys_perm_group', 'sys_perm_other', 'password', 'parent_client_id', 'id_rsa', 'ssh_rsa', 'created_at', 'default_mailserver', 'default_webserver', 'web_php_options', 'ssh_chroot', 'default_dnsserver', 'default_dbserver', 'template_master', 'template_additional') AND Field NOT LIKE 'limit_%'";
145+
$field_names = $app->db->queryAllRecords($sql);
146+
if(!empty($field_names) && is_array($field_names)){
147+
foreach($field_names as $field_name){
148+
if($field_name['Field'] != '') $message_variables .= '<a href="javascript:void(0);" class="addPlaceholder">{'.$field_name['Field'].'}</a> ';
149+
}
150+
}
151+
$app->tpl->setVar('message_variables',trim($message_variables));
152+
138153
$app->tpl->setVar('okmsg',$msg);
139154
$app->tpl->setVar('error',$error);
140155

interface/web/client/lib/lang/de_client_message.lng

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,5 @@ $wb["email_sent_to_txt"] = 'E-Mail verschickt an:';
1313
$wb["recipient_txt"] = 'Empfänger';
1414
$wb["all_clients_resellers_txt"] = 'Alle Kunden und Reseller';
1515
$wb["all_clients_txt"] = 'Alle Kunden';
16+
$wb["variables_txt"] = 'Variablen:';
1617
?>

interface/web/client/lib/lang/en_client_message.lng

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,5 @@ $wb["email_sent_to_txt"] = 'Email sent to:';
1313
$wb["recipient_txt"] = 'Recipient';
1414
$wb["all_clients_resellers_txt"] = 'All clients and resellers';
1515
$wb["all_clients_txt"] = 'All clients';
16+
$wb["variables_txt"] = 'Variables:';
1617
?>

interface/web/client/templates/client_message.htm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ <h2><tmpl_var name="list_head_txt"></h2>
2626
</div>
2727
<div class="ctrlHolder">
2828
<label for="message">{tmpl_var name='message_txt'}</label>
29-
<textarea name="message" id="message" rows='' cols='' style="width:500px">{tmpl_var name='message'}</textarea>
29+
<textarea name="message" id="message" rows='' cols='' style="width:500px">{tmpl_var name='message'}</textarea>&nbsp;{tmpl_var name="variables_txt"}&nbsp;{tmpl_var name="message_variables"}
3030
</div>
3131
</fieldset>
3232
<div class="buttonHolder buttons">

0 commit comments

Comments
 (0)