Skip to content

Commit 1bd15bf

Browse files
committed
v1.2
1 parent 7d03768 commit 1bd15bf

13 files changed

+173
-158
lines changed

README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,13 @@ Common issues: https://www.hmailserver.com/documentation/latest/?page=ts_setup_p
5353

5454
Changelog
5555
-----
56+
Version 1.2 (2017-06-12)
57+
- [fix] multiple typos and small fixes
58+
- [fix] dropdowns in rule criteria actions
59+
- [fix] distribution lists checkboxes
60+
- [new] distribution list add/edit/delete members
61+
- [fix] maxlength added to account input fields
62+
5663
Version 1.1 (2017-03-12)
5764
- [new] country name and flag in auto-ban info
5865
- [tweak] navigation UI improvements

hMailAdmin/background_distributionlist_recipient_save.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
$obRecipient = $obList->Recipients->ItemByDBID($recipientid);
2626
$obRecipient->Delete();
2727

28-
header("Location: index.php?page=distributionlist_recipients&domainid=$domainid&distributionlistid=$distributionlistid");
28+
header("Location: index.php?page=distributionlist&domainid=$domainid&action=edit&distributionlistid=$distributionlistid");
2929
exit();
3030
}
3131

hMailAdmin/hm_distributionlist.php

Lines changed: 59 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@
22
if (!defined('IN_WEBADMIN'))
33
exit();
44

5-
$domainid = hmailGetVar("domainid",null);
6-
$distributionlistid = hmailGetVar("distributionlistid",0);
7-
$action = hmailGetVar("action","");
8-
9-
$error_message = hmailGetVar("error_message","");
5+
$domainid = hmailGetVar("domainid", null);
6+
$distributionlistid = hmailGetVar("distributionlistid", 0);
7+
$action = hmailGetVar("action", "");
8+
$error_message = hmailGetVar("error_message", "");
109

1110
if (hmailGetAdminLevel() == 0)
1211
hmailHackingAttemp();
@@ -15,32 +14,26 @@
1514
hmailHackingAttemp(); // Domain admin but not for this domain.
1615

1716
$obDomain = $obBaseApp->Domains->ItemByDBID($domainid);
18-
19-
$listaddress="";
20-
$listactive=0;
21-
$listrequiresmtpauth=0;
22-
17+
$listaddress = "";
18+
$listactive = 0;
2319
$Mode = 0;
20+
$listrequiresmtpauth = 0;
2421

25-
if ($action == "edit")
26-
{
22+
if ($action == "edit") {
2723
$obList = $obDomain->DistributionLists->ItemByDBID($distributionlistid);
28-
2924
$listaddress = $obList->Address;
25+
$listaddress = substr($listaddress, 0, strpos($listaddress, "@"));
3026
$listactive = $obList->Active;
31-
$listrequiresmtpauth = $obList->RequireSMTPAuth;
3227
$Mode = $obList->Mode;
3328
$RequireSenderAddress = $obList->RequireSenderAddress;
34-
35-
$listaddress = substr($listaddress, 0, strpos($listaddress, "@"));
29+
$listrequiresmtpauth = $obList->RequireSMTPAuth;
3630
} else {
3731
$RequireSenderAddress = "";
3832
}
3933

4034
$domainname = $obDomain->Name;
41-
42-
$listactivechecked = hmailCheckedIf1($listactive);
43-
$listrequiresmtpauthchecked = hmailCheckedIf1($listrequiresmtpauth);
35+
$listactivechecked = hmailCheckedIf1($listactive); //fixme, not working
36+
$listrequiresmtpauthchecked = hmailCheckedIf1($listrequiresmtpauth); //fixme, not working
4437
?>
4538
<div class="box medium">
4639
<h2><?php EchoTranslation("Distribution list") ?></h2>
@@ -58,24 +51,65 @@
5851
PrintHidden("domainid", $domainid);
5952
?>
6053
<p><?php EchoTranslation("Address") ?></p>
61-
<input type="text" name="listaddress" value="<?php echo PreprocessOutput($listaddress)?>" size="30" checkallownull="false" checkmessage="<?php EchoTranslation("Address")?>" class="req medium"> @<?php echo $domainname?>
54+
<input type="text" name="listaddress" value="<?php echo PreprocessOutput($listaddress) ?>" size="30" checkallownull="false" checkmessage="<?php EchoTranslation("Address") ?>" class="req medium"> @<?php echo $domainname ?>
6255
<?php
63-
PrintCheckboxRow("listactivechecked", "Enabled", $listactivechecked);
56+
PrintCheckboxRow("listactive", "Enabled", $listactivechecked);
6457
?>
6558
<h3><a href="#"><?php EchoTranslation("Security")?></a></h3>
6659
<div class="hidden">
6760
<p><?php EchoTranslation("Mode")?></p>
6861
<select name="Mode">
69-
<option value="0" <?php if ($Mode == 0) echo "selected";?> ><?php EchoTranslation("Public - Anyone can send to the list")?></option>
70-
<option value="1" <?php if ($Mode == 1) echo "selected";?> ><?php EchoTranslation("Membership - Only members can send to the list")?></option>
71-
<option value="2" <?php if ($Mode == 2) echo "selected";?> ><?php EchoTranslation("Announcements - Only allow messages from the following address:")?></option>
62+
<option value="0"<?php if ($Mode == 0) echo " selected";?>><?php EchoTranslation("Public - Anyone can send to the list") ?></option>
63+
<option value="1"<?php if ($Mode == 1) echo " selected";?>><?php EchoTranslation("Membership - Only members can send to the list") ?></option>
64+
<option value="2"<?php if ($Mode == 2) echo " selected";?>><?php EchoTranslation("Announcements - Only allow messages from the following address:") ?></option>
7265
</select>
7366
<?php
7467
PrintPropertyEditRow("RequireSenderAddress", "Address", $RequireSenderAddress, 30);
75-
PrintCheckboxRow("listrequiresmtpauth", "Require SMTP Authentication", $listrequiresmtpauth);
68+
PrintCheckboxRow("listrequiresmtpauth", "Require SMTP Authentication", $listrequiresmtpauthchecked);
7669
?>
7770
</div>
7871
<?php
72+
if ($action=='edit') {
73+
?>
74+
<h3><a href="#"><?php EchoTranslation("Members") ?></a></h3>
75+
<div class="hidden">
76+
<table>
77+
<thead>
78+
<tr>
79+
<th><?php EchoTranslation("Name") ?></th>
80+
<th style="width:32px;">&nbsp;</th>
81+
</tr>
82+
</thead>
83+
<tbody>
84+
<?php
85+
$obDomain = $obBaseApp->Domains->ItemByDBID($domainid);
86+
$obList = $obDomain->DistributionLists->ItemByDBID($distributionlistid);
87+
$obRecipients = $obList->Recipients;
88+
$Count = $obRecipients->Count();
89+
$str_delete = $obLanguage->String("Remove");
90+
91+
for ($i = 0; $i < $Count; $i++) {
92+
$obRecipient = $obRecipients->Item($i);
93+
$recipientaddress = $obRecipient->RecipientAddress;
94+
$recipientid = $obRecipient->ID;
95+
$recipientaddress = PreprocessOutput($recipientaddress);
96+
97+
echo ' <tr>
98+
<td><a href="?page=distributionlist_recipient&action=edit&domainid=' . $domainid . '&distributionlistid=' . $distributionlistid . '&recipientid=' . $recipientid . '">' . $recipientaddress . '</a></td>
99+
<td><a href="#" onclick="return Confirm(\'Confirm delete <b>' . $recipientaddress . '</b>:\',\'Yes\',\'?page=background_distributionlist_recipient_save&csrftoken=' . $csrftoken . '&action=delete&domainid=' . $domainid . '&distributionlistid=' . $distributionlistid . '&recipientid=' . $recipientid . '\');" class="delete">Delete</a></td>
100+
</tr>' . PHP_EOL;
101+
}
102+
?>
103+
</tbody>
104+
</table>
105+
<div class="buttons center"><a href="?page=distributionlist_recipient&action=add&domainid=<?php echo $domainid?>&distributionlistid=<?php echo $distributionlistid?>" class="button"><?php EchoTranslation("Add") ?></a></div>
106+
</div>
107+
<?php
108+
} else {
109+
?>
110+
<div class="warning">You must save distribution list before you can edit members.</div>
111+
<?php
112+
}
79113
PrintSaveButton();
80114
?>
81115
</form>

hMailAdmin/hm_distributionlist_recipient.php

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,10 @@
1616
$recipientaddress = "";
1717

1818
if ($action == "edit") {
19-
$obDomain = $obBaseApp->Domains->ItemByDBID($domainid);
20-
$obList = $obDomain->DistributionLists->ItemByDBID($distributionlistid);
21-
$obRecipient = $obList->Recipients->ItemByDBID($recipientid);
22-
23-
$recipientaddress = $obRecipient->RecipientAddress;
19+
$obDomain = $obBaseApp->Domains->ItemByDBID($domainid);
20+
$obList = $obDomain->DistributionLists->ItemByDBID($distributionlistid);
21+
$obRecipient = $obList->Recipients->ItemByDBID($recipientid);
22+
$recipientaddress = $obRecipient->RecipientAddress;
2423
}
2524
?>
2625
<div class="box">

hMailAdmin/hm_distributionlist_recipients.php

Lines changed: 0 additions & 48 deletions
This file was deleted.

hMailAdmin/hm_rule_action.php

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -81,43 +81,43 @@ function hideAllPanels() {
8181
?>
8282
<select name="Type" id="Type" onchange="togglePanel()" onkeyup="togglePanel(this)">
8383
<?php
84-
$eRADeleteEmailSelected = $Type == eRADeleteEmail ? "selected" : "";
85-
$eRAForwardEmailSelected = $Type == eRAForwardEmail ? "selected" : "";
86-
$eRAReplySelected = $Type == eRAReply ? "selected" : "";
87-
$eRAMoveToImapFolderSelected = $Type == eRAMoveToImapFolder ? "selected" : "";
88-
$eRARunScriptFunctionSelected = $Type == eRARunScriptFunction ? "selected" : "";
89-
$eRAStopRuleProcessingSelected = $Type == eRAStopRuleProcessing ? "selected" : "";
90-
$eRASetHeaderValueSelected = $Type == eRASetHeaderValue ? "selected" : "";
91-
$eRASendUsingRouteSelected = $Type == eRASendUsingRoute ? "selected" : "";
92-
$eRACreateCopy = $Type == eRACreateCopy ? "selected" : "";
93-
$eRABindToAddress = $Type == eRABindToAddress ? "selected" : "";
84+
$eRADeleteEmailSelected = $Type == eRADeleteEmail ? " selected" : "";
85+
$eRAForwardEmailSelected = $Type == eRAForwardEmail ? " selected" : "";
86+
$eRAReplySelected = $Type == eRAReply ? " selected" : "";
87+
$eRAMoveToImapFolderSelected = $Type == eRAMoveToImapFolder ? " selected" : "";
88+
$eRARunScriptFunctionSelected = $Type == eRARunScriptFunction ? " selected" : "";
89+
$eRAStopRuleProcessingSelected = $Type == eRAStopRuleProcessing ? " selected" : "";
90+
$eRASetHeaderValueSelected = $Type == eRASetHeaderValue ? " selected" : "";
91+
$eRASendUsingRouteSelected = $Type == eRASendUsingRoute ? " selected" : "";
92+
$eRACreateCopy = $Type == eRACreateCopy ? " selected" : "";
93+
$eRABindToAddress = $Type == eRABindToAddress ? " selected" : "";
9494

95-
echo "<option value= " . eRADeleteEmail . " $eRADeleteEmailSelected>" . GetRuleActionString(eRADeleteEmail) . "</option>";
96-
echo "<option value= " . eRAForwardEmail . " $eRAForwardEmailSelected>" . GetRuleActionString(eRAForwardEmail) . "</option>";
97-
echo "<option value= " . eRAReply . " $eRAReplySelected>" . GetRuleActionString(eRAReply) . "</option>";
98-
echo "<option value= " . eRAMoveToImapFolder . " $eRAMoveToImapFolderSelected>" . GetRuleActionString(eRAMoveToImapFolder) . "</option>";
99-
echo "<option value= " . eRASetHeaderValue . " $eRASetHeaderValueSelected>" . GetRuleActionString(eRASetHeaderValue) . "</option>";
100-
echo "<option value= " . eRAStopRuleProcessing . " $eRAStopRuleProcessingSelected>" . GetRuleActionString(eRAStopRuleProcessing) . "</option>";
95+
echo ' <option value=' . eRADeleteEmail . $eRADeleteEmailSelected . '>' . GetRuleActionString(eRADeleteEmail) . '</option>
96+
<option value=' . eRAForwardEmail . $eRAForwardEmailSelected . '>' . GetRuleActionString(eRAForwardEmail) . '</option>
97+
<option value=' . eRAReply . $eRAReplySelected . '>' . GetRuleActionString(eRAReply) . '</option>
98+
<option value=' . eRAMoveToImapFolder . $eRAMoveToImapFolderSelected . '>' . GetRuleActionString(eRAMoveToImapFolder) . '</option>
99+
<option value=' . eRASetHeaderValue . $eRASetHeaderValueSelected . '>' . GetRuleActionString(eRASetHeaderValue) . '</option>
100+
<option value=' . eRAStopRuleProcessing . $eRAStopRuleProcessingSelected . '>' . GetRuleActionString(eRAStopRuleProcessing) . '</option>' . PHP_EOL;
101101

102-
$disabled = hmailGetAdminLevel() == ADMIN_SERVER ? "": "disabled=\"disabled\"";
103-
echo "<option $disabled value= " . eRARunScriptFunction . " $eRARunScriptFunctionSelected>" . GetRuleActionString(eRARunScriptFunction) . "</option>";
104-
echo "<option $disabled value= " . eRACreateCopy . " $eRACreateCopy>" . GetRuleActionString(eRACreateCopy) . "</option>";
102+
$disabled = hmailGetAdminLevel() == ADMIN_SERVER ? "": " disabled=\"disabled\"";
103+
echo ' <option' . $disabled . ' value=' . eRARunScriptFunction . $eRARunScriptFunctionSelected . '>' . GetRuleActionString(eRARunScriptFunction) . '</option>
104+
<option' . $disabled . ' value=' . eRACreateCopy . $eRACreateCopy . '>' . GetRuleActionString(eRACreateCopy) . '</option>' . PHP_EOL;
105105

106106
// The following actions makes no sense in account-level rules.
107107
if ($accountid == 0) {
108-
echo "<option $disabled value= " . eRASendUsingRoute . " $eRASendUsingRouteSelected>" . GetRuleActionString(eRASendUsingRoute) . "</option>";
109-
echo "<option $disabled value= " . eRABindToAddress . " $eRABindToAddress>" . GetRuleActionString(eRABindToAddress) . "</option>";
108+
echo ' <option' . $disabled . ' value=' . eRASendUsingRoute . $eRASendUsingRouteSelected . '>' . GetRuleActionString(eRASendUsingRoute) . '</option>
109+
<option' . $disabled . ' value=' . eRABindToAddress . $eRABindToAddress . '>' . GetRuleActionString(eRABindToAddress) . '</option>' . PHP_EOL;
110110
}
111111
?>
112112
</select>
113-
<div id="panel-<?php echo eRADeleteEmail?>" name="panel-1" style="display: none">
113+
<div id="panel-<?php echo eRADeleteEmail?>" name="panel-1" style="display:none;">
114114
<!-- empty panel -->
115115
</div>
116-
<div id="panel-<?php echo eRAForwardEmail?>" style="display: none">
116+
<div id="panel-<?php echo eRAForwardEmail?>" style="display:none;">
117117
<p><?php EchoTranslation("To")?></p>
118118
<input type="text" name="To" value="<?php echo PreprocessOutput($To)?>">
119119
</div>
120-
<div id="panel-<?php echo eRAReply?>" style="display: none">
120+
<div id="panel-<?php echo eRAReply?>" style="display:none;">
121121
<p><?php EchoTranslation("From (Name)")?><br/></p>
122122
<input type="text" name="FromName" value="<?php echo PreprocessOutput($FromName)?>">
123123
<p><?php EchoTranslation("From (Address)")?><br/></p>
@@ -127,28 +127,28 @@ function hideAllPanels() {
127127
<p><?php EchoTranslation("Body")?></p>
128128
<textarea name="Body" cols="30" rows="5"><?php echo PreprocessOutput($Body)?></textarea>
129129
</div>
130-
<div id="panel-<?php echo eRAMoveToImapFolder?>" style="display: none">
130+
<div id="panel-<?php echo eRAMoveToImapFolder?>" style="display:none;">
131131
<p><?php EchoTranslation("IMAP folder")?></p>
132132
<input type="text" name="IMAPFolder" value="<?php echo PreprocessOutput($IMAPFolder)?>">
133133
</div>
134-
<div id="panel-<?php echo eRARunScriptFunction?>" style="display: none">
134+
<div id="panel-<?php echo eRARunScriptFunction?>" style="display:none;">
135135
<p><?php EchoTranslation("Script function")?></p>
136136
<input type="text" name="ScriptFunction" value="<?php echo PreprocessOutput($ScriptFunction)?>">
137137
</div>
138-
<div id="panel-<?php echo eRAStopRuleProcessing?>" style="display: none">
138+
<div id="panel-<?php echo eRAStopRuleProcessing?>" style="display:none;">
139139
<!-- empty panel -->
140140
</div>
141-
<div id="panel-<?php echo eRABindToAddress?>" style="display: none">
141+
<div id="panel-<?php echo eRABindToAddress?>" style="display:none;">
142142
<p><?php EchoTranslation("IP address")?></p>
143143
<input type="text" name="BindToAddress" value="<?php echo PreprocessOutput($Value)?>">
144144
</div>
145-
<div id="panel-<?php echo eRASetHeaderValue?>" style="display: none">
145+
<div id="panel-<?php echo eRASetHeaderValue?>" style="display:none;">
146146
<p><?php EchoTranslation("Header name")?></p>
147147
<input type="text" name="HeaderName" value="<?php echo PreprocessOutput($HeaderName)?>">
148148
<p><?php EchoTranslation("Value")?><br/></p>
149149
<input type="text" name="Value" value="<?php echo PreprocessOutput($Value)?>">
150150
</div>
151-
<div id="panel-<?php echo eRASendUsingRoute?>" style="display: none">
151+
<div id="panel-<?php echo eRASendUsingRoute?>" style="display:none;">
152152
<p><?php EchoTranslation("Route")?></p>
153153
<select name="RouteID">
154154
<?php

0 commit comments

Comments
 (0)