diff --git a/mailstream/admin.tpl b/mailstream/admin.tpl deleted file mode 100644 index 5703310b..00000000 --- a/mailstream/admin.tpl +++ /dev/null @@ -1,3 +0,0 @@ -{{ inc field_input.tpl with $field=$frommail }}{{ endinc }} -
- diff --git a/mailstream/database.sql b/mailstream/database.sql index 438af3d3..be969ac7 100644 --- a/mailstream/database.sql +++ b/mailstream/database.sql @@ -10,4 +10,4 @@ CREATE TABLE IF NOT EXISTS `mailstream_item` ( KEY `message-id` (`message-id`), KEY `created` (`created`), KEY `completed` (`completed`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATION=utf8_bin; diff --git a/mailstream/mail.tpl b/mailstream/mail.tpl deleted file mode 100644 index b5895629..00000000 --- a/mailstream/mail.tpl +++ /dev/null @@ -1,4 +0,0 @@ -
$item.body
-{{ if $item.plink }} -$item.plink -{{ endif }} diff --git a/mailstream/mailstream.php b/mailstream/mailstream.php index a0cd9f1e..0ec6a668 100644 --- a/mailstream/mailstream.php +++ b/mailstream/mailstream.php @@ -31,7 +31,10 @@ function mailstream_install() { q('ALTER TABLE `mailstream_item` CHANGE `created` `created` timestamp NOT NULL DEFAULT now()'); q('ALTER TABLE `mailstream_item` CHANGE `completed` `completed` timestamp NULL DEFAULT NULL'); } - set_config('mailstream', 'dbversion', '0.4'); + if (get_config('mailstream', 'dbversion') == '0.4') { + q('ALTER TABLE `mailstream_item` CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin'); + } + set_config('mailstream', 'dbversion', '0.5'); } function mailstream_uninstall() { @@ -47,12 +50,14 @@ function mailstream_module() {} function mailstream_plugin_admin(&$a,&$o) { $frommail = get_config('mailstream', 'frommail'); - $template = file_get_contents(dirname(__file__).'/admin.tpl'); + $template = get_markup_template('admin.tpl', 'addon/mailstream/'); $config = array('frommail', t('From Address'), $frommail, t('Email address that stream items will appear to be from.')); - $o .= replace_macros($template, array('$frommail' => $config)); + $o .= replace_macros($template, array( + '$frommail' => $config, + '$submit' => t('Submit'))); } function mailstream_plugin_admin_post ($a) { @@ -76,7 +81,7 @@ function mailstream_post_remote_hook(&$a, &$item) { intval($item['contact-id']), dbesc($item['uri']), dbesc(mailstream_generate_id($a, $item['uri']))); $r = q('SELECT * FROM `mailstream_item` WHERE `uid` = %d AND `contact-id` = %d AND `uri` = "%s"', intval($item['uid']), intval($item['contact-id']), dbesc($item['uri'])); if (count($r) != 1) { - logger('mailstream_post_remote_hook: Unexpected number of items returned from mailstream_item', LOGGER_ERROR); + logger('mailstream_post_remote_hook: Unexpected number of items returned from mailstream_item', LOGGER_NORMAL); return; } $ms_item = $r[0]; @@ -85,7 +90,7 @@ function mailstream_post_remote_hook(&$a, &$item) { . $item['uid'] . ' ' . $item['contact-id'], LOGGER_DATA); $r = q('SELECT * FROM `user` WHERE `uid` = %d', intval($item['uid'])); if (count($r) != 1) { - logger('mailstream_post_remote_hook: Unexpected number of users returned', LOGGER_ERROR); + logger('mailstream_post_remote_hook: Unexpected number of users returned', LOGGER_NORMAL); return; } $user = $r[0]; @@ -197,17 +202,21 @@ function mailstream_send($a, $ms_item, $item, $user) { } $mail->IsHTML(true); $mail->CharSet = 'utf-8'; - $template = file_get_contents(dirname(__file__).'/mail.tpl'); + $template = get_markup_template('mail.tpl', 'addon/mailstream/'); $item['body'] = bbcode($item['body']); - $mail->Body = replace_macros($template, array('$item' => $item)); + $item['url'] = $a->get_baseurl() . '/display/' . $user['nickname'] . '/' . $item['id']; + $mail->Body = replace_macros($template, array( + '$upstream' => t('Upstream'), + '$local' => t('Local'), + '$item' => $item)); if (!$mail->Send()) { throw new Exception($mail->ErrorInfo); } logger('mailstream_send sent message ' . $mail->MessageID . ' ' . $mail->Subject, LOGGER_DEBUG); } catch (phpmailerException $e) { - logger('mailstream_send PHPMailer exception sending message ' . $ms_item['message-id'] . ': ' . $e->errorMessage(), LOGGER_ERROR); + logger('mailstream_send PHPMailer exception sending message ' . $ms_item['message-id'] . ': ' . $e->errorMessage(), LOGGER_NORMAL); } catch (Exception $e) { - logger('mailstream_send exception sending message ' . $ms_item['message-id'] . ': ' . $e->getMessage(), LOGGER_ERROR); + logger('mailstream_send exception sending message ' . $ms_item['message-id'] . ': ' . $e->getMessage(), LOGGER_NORMAL); } // In case of failure, still set the item to completed. Otherwise // we'll just try to send it over and over again and it'll fail @@ -228,7 +237,7 @@ function mailstream_cron($a, $b) { mailstream_send($a, $ms_item, $item, $user); } else { - logger('mailstream_cron: Unable to find item ' . $ms_item['uri'], LOGGER_ERROR); + logger('mailstream_cron: Unable to find item ' . $ms_item['uri'], LOGGER_NORMAL); q("UPDATE `mailstream_item` SET `completed` = now() WHERE `id` = %d", intval($ms_item['id'])); } } @@ -240,11 +249,13 @@ function mailstream_plugin_settings(&$a,&$s) { $enabled_mu = ($enabled === 'on') ? ' checked="true"' : ''; $address = get_pconfig(local_user(), 'mailstream', 'address'); $address_mu = $address ? (' value="' . $address . '"') : ''; - $template = file_get_contents(dirname(__file__).'/settings.tpl'); - $s .= replace_macros($template, array('$address' => $address_mu, - '$address_caption' => t('Address:'), - '$enabled' => $enabled_mu, - '$enabled_caption' => t('Enabled:'))); + $template = get_markup_template('settings.tpl', 'addon/mailstream/'); + $s .= replace_macros($template, array( + '$submit' => t('Submit'), + '$address' => $address_mu, + '$address_caption' => t('Address:'), + '$enabled' => $enabled_mu, + '$enabled_caption' => t('Enabled:'))); } function mailstream_plugin_settings_post($a,$post) { diff --git a/mailstream/view/admin.tpl b/mailstream/view/admin.tpl new file mode 100644 index 00000000..bf5e67a2 --- /dev/null +++ b/mailstream/view/admin.tpl @@ -0,0 +1,3 @@ +{{ inc field_input.tpl with $field=$frommail }}{{ endinc }} +
+ diff --git a/mailstream/view/mail.tpl b/mailstream/view/mail.tpl new file mode 100644 index 00000000..9eb7ff52 --- /dev/null +++ b/mailstream/view/mail.tpl @@ -0,0 +1,5 @@ +
$item.body
+{{ if $item.plink }} +
$upstream: $item.plink
+
$local: $item.url
+{{ endif }} diff --git a/mailstream/settings.tpl b/mailstream/view/settings.tpl similarity index 63% rename from mailstream/settings.tpl rename to mailstream/view/settings.tpl index cab482ef..982bc40f 100644 --- a/mailstream/settings.tpl +++ b/mailstream/view/settings.tpl @@ -7,10 +7,11 @@ - $address_caption + $address_caption + - + diff --git a/mailstream/view/smarty3/admin.tpl b/mailstream/view/smarty3/admin.tpl new file mode 100644 index 00000000..aa3d6d44 --- /dev/null +++ b/mailstream/view/smarty3/admin.tpl @@ -0,0 +1,8 @@ +{{* + * AUTOMATICALLY GENERATED TEMPLATE + * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN + * + *}} +{{include file="field_input.tpl" field=$frommail}} +
+ diff --git a/mailstream/view/smarty3/mail.tpl b/mailstream/view/smarty3/mail.tpl new file mode 100644 index 00000000..a36729ce --- /dev/null +++ b/mailstream/view/smarty3/mail.tpl @@ -0,0 +1,10 @@ +{{* + * AUTOMATICALLY GENERATED TEMPLATE + * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN + * + *}} +
{{$item.body}}
+{{if $item.plink}} +
{{$upstream}}: {{$item.plink}}
+
{{$local}}: {{$item.url}}
+{{/if}} diff --git a/mailstream/view/smarty3/settings.tpl b/mailstream/view/smarty3/settings.tpl new file mode 100644 index 00000000..79e7c2c8 --- /dev/null +++ b/mailstream/view/smarty3/settings.tpl @@ -0,0 +1,23 @@ +{{* + * AUTOMATICALLY GENERATED TEMPLATE + * DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN + * + *}} +
+

Mail Stream Settings

+ + + + + + + + + + + + + + +
{{$enabled_caption}}
{{$address_caption}}
+