Skip to content

Commit aed9a95

Browse files
committed
feat (backend): refactor event handling and variable declarations - Event handlers attached directly to target elements to avoid multiple bindings. - Rename parse_nexter_header to parse_delayed_header and Reschedule sending to Rechedule - Replacement of “var” by “let”.
1 parent 9ad1d59 commit aed9a95

File tree

8 files changed

+20
-21
lines changed

8 files changed

+20
-21
lines changed

modules/core/functions.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -702,7 +702,7 @@ function schedule_dropdown($output, $send_now = false) {
702702
$txt = '';
703703
if ($send_now) {
704704
$txt .= '<div class="dropdown d-inline-block">
705-
<button type="button" class="btn btn-light btn-sm dropdown-toggle" id="dropdownMenuNexterDate" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="true">'.$output->trans('Schedule sending').'</button>';
705+
<button type="button" class="btn btn-light btn-sm dropdown-toggle" id="dropdownMenuNexterDate" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="true">'.$output->trans('Reschedule').'</button>';
706706
}
707707
$txt .= '<ul class="dropdown-menu nexter_dropdown schedule_dropdown" aria-labelledby="dropdownMenuNexterDate">';
708708
foreach ($values as $format) {
@@ -728,8 +728,8 @@ function schedule_dropdown($output, $send_now = false) {
728728
/**
729729
* @subpackage imap/functions
730730
*/
731-
if (!hm_exists('parse_nexter_header')) {
732-
function parse_nexter_header($header, $name)
731+
if (!hm_exists('parse_delayed_header')) {
732+
function parse_delayed_header($header, $name)
733733
{
734734
$header = str_replace("$name: ", '', $header);
735735
$result = [];

modules/imap/functions.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ function format_imap_message_list($msg_list, $output_module, $parent_list=false,
254254
$is_snoozed = !empty($msg['x_snoozed']) && hex2bin($msg['folder']) == 'Snoozed';
255255
$is_scheduled = !empty($msg['x_schedule']) && hex2bin($msg['folder']) == 'Scheduled';
256256
if ($is_snoozed) {
257-
$snooze_header = parse_nexter_header('X-Snoozed: '.$msg['x_snoozed'], 'X-Snoozed');
257+
$snooze_header = parse_delayed_header('X-Snoozed: '.$msg['x_snoozed'], 'X-Snoozed');
258258
$date = $snooze_header['until'];
259259
$timestamp = strtotime($date);
260260
} elseif ($is_scheduled) {
@@ -1346,7 +1346,7 @@ function snooze_message($mailbox, $msg_id, $folder, $snooze_tag) {
13461346
preg_match("/^X-Snoozed:.*(\r?\n[ \t]+.*)*\r?\n?/im", $msg, $matches);
13471347
if (count($matches)) {
13481348
$msg = str_replace($matches[0], '', $msg);
1349-
$old_folder = parse_nexter_header($matches[0], 'X-Snoozed')['from'];
1349+
$old_folder = parse_delayed_header($matches[0], 'X-Snoozed')['from'];
13501350
}
13511351
if ($snooze_tag) {
13521352
$from = $old_folder ?? $folder;
@@ -1373,7 +1373,7 @@ function snooze_message($mailbox, $msg_id, $folder, $snooze_tag) {
13731373
}
13741374
}
13751375
} else {
1376-
$snooze_headers = parse_nexter_header($matches[0], 'X-Snoozed');
1376+
$snooze_headers = parse_delayed_header($matches[0], 'X-Snoozed');
13771377
$original_folder = $snooze_headers['from'];
13781378
if ($mailbox->store_message($original_folder, $msg)) {
13791379
$deleteResult = $mailbox->message_action($snooze_folder, 'DELETE', array($msg_id));
@@ -1706,7 +1706,7 @@ function save_sent_msg($handler, $imap_id, $mailbox, $imap_details, $msg, $msg_i
17061706
Hm_Msgs::add('ERRAn error occurred saving the sent message');
17071707
}
17081708

1709-
$mailbox_page = $imap->get_messages($sent_folder, 'ARRIVAL', true, 'ALL', 0, 10);
1709+
$mailbox_page = $mailbox->get_messages($sent_folder, 'ARRIVAL', true, 'ALL', 0, 10);
17101710
foreach ($mailbox_page[1] as $mail) {
17111711
$msg_header = $mailbox->get_message_headers($sent_folder, $mail['uid']);
17121712
if ($msg_header['Message-Id'] === $msg_id) {

modules/imap/handler_modules.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1059,7 +1059,7 @@ public function process() {
10591059
$msg_headers = $mailbox->get_message_headers($folder, $msg['uid']);
10601060
if (isset($msg_headers['X-Snoozed'])) {
10611061
try {
1062-
$snooze_headers = parse_nexter_header($msg_headers['X-Snoozed'], 'X-Snoozed');
1062+
$snooze_headers = parse_delayed_header($msg_headers['X-Snoozed'], 'X-Snoozed');
10631063
if (new DateTime($snooze_headers['until']) <= new DateTime()) {
10641064
snooze_message($mailbox, $msg['uid'], $folder, null);
10651065
}

modules/imap/output_modules.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ protected function output() {
206206
$txt .= $this->html_safe($value).'</th></tr>';
207207
}
208208
elseif ($fld == 'x-snoozed') {
209-
$snooze_header = parse_nexter_header($value, 'X-Snoozed');
209+
$snooze_header = parse_delayed_header($value, 'X-Snoozed');
210210
$txt .= '<tr class="header_'.$fld.'"><th>';
211211
$txt .= $this->trans('Snoozed').'</th><td>'.$this->trans('Until').' '.$this->html_safe($snooze_header['until']).' <a href="#" data-value="unsnooze" class="unsnooze nexter_date_helper">Unsnooze</a></td></tr>';
212212
}

modules/smtp/functions.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ function get_reply_type($request) {
6969
function send_scheduled_message($handler, $mailbox, $folder, $msg_id, $send_now = false) {
7070
$msg_headers = $mailbox->get_message_headers($folder, $msg_id);
7171
$mailbox_details = $mailbox->get_config();
72-
$imap_profile = Hm_IMAP_List::fetch($mailbox_details['user'], $mailbox_details['server']);
7372
try {
7473
if (empty($msg_headers['X-Schedule'])) {
7574
return false;
@@ -86,10 +85,13 @@ function send_scheduled_message($handler, $mailbox, $folder, $msg_id, $send_now
8685
}
8786
$profile = $profiles[0];
8887
}
89-
90-
$smtp = new Hm_Mailbox($imap_profile['id'], $handler->user_config, $handler->session, $imap_profile);
91-
92-
if ($smtp && $smtp->connect()) {
88+
$smtp = Hm_SMTP_List::connect($profile['smtp_id'], false);
89+
90+
if (! $smtp || ! $smtp->authed()) {
91+
Hm_Msgs::add("ERRFailed to authenticate to the SMTP server");
92+
return;
93+
}
94+
9395
$delivery_receipt = isset($msg_headers['X-Delivery']);
9496

9597
$recipients = [];
@@ -103,13 +105,11 @@ function send_scheduled_message($handler, $mailbox, $folder, $msg_id, $send_now
103105
$from = process_address_fld($msg_headers['From']);
104106

105107
$err_msg = $smtp->send_message($from[0]['email'], $recipients, $msg_content, $delivery_receipt);
106-
107108
if (!$err_msg) {
108109
$mailbox->delete_message($folder, $msg_id, false);
109110
save_sent_msg($handler, $mailbox->get_config()['id'], $mailbox, $mailbox_details, $msg_content, $msg_id, false);
110111
return true;
111112
}
112-
}
113113
}
114114
} catch (Exception $e) {
115115
Hm_Debug::add(sprintf('ERRCannot send message: %s', $msg_headers['subject']));

modules/smtp/js_modules/route_handlers.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,7 @@ function applySmtpComposePageHandlers() {
123123
save_compose_state(false, true, $('.nexter_input').val(), function(res) {
124124
if (res.draft_id) {
125125
reset_smtp_form(false);
126-
Hm_Folders.reload_folders(true);
127-
Hm_Utils.redirect();
126+
Hm_Notices.show([hm_trans('Operation successful')]);
128127
}
129128
});
130129
} else {

modules/smtp/modules.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1621,7 +1621,7 @@ public function process() {
16211621
$imap_server = Hm_IMAP_List::getForMailbox($imap_server_id);
16221622

16231623
$mailbox = new Hm_Mailbox($imap_server_id, $this->user_config, $this->session, $imap_server);
1624-
if ($mailbox && $mailbox->connect()) {
1624+
if ($mailbox->get_connection() != null && $mailbox->connect()) {
16251625
$folder = hex2bin($folder);
16261626
if (reschedule_message_sending($this, $mailbox, $msg_id, $folder, $new_schedule_date)) {
16271627
$scheduled_msg_count++;

modules/smtp/site.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -392,8 +392,8 @@ function smtpSettingsPageHandler() {
392392

393393
$(function() {
394394
if (hm_is_logged()) {
395-
var scheduled_msg_count = 0;
396-
var sendScheduledMessages = function() {
395+
let scheduled_msg_count = 0;
396+
let sendScheduledMessages = function() {
397397
Hm_Ajax.request(
398398
[{'name': 'hm_ajax_hook', 'value': 'ajax_send_scheduled_messages'}],
399399
function(res) {

0 commit comments

Comments
 (0)