]> git.mxchange.org Git - friendica-addons.git/blobdiff - notifyall/notifyall.php
Update t() calls
[friendica-addons.git] / notifyall / notifyall.php
index e33c9181221249dde0f8508bfee5b545e0d2fe0f..9abde28111a70a48f90f7aad9345f69cdaf0a18f 100644 (file)
@@ -1,5 +1,4 @@
 <?php
-
 /**
  *
  * Name: Notifyall
@@ -8,8 +7,8 @@
  * Author: Mike Macgirvin (Inital Author of the hubbwall Addon for the Hubzilla Project)
  * Author: Rabuzarus <https://friendica.kommune4.de/profile/rabuzarus> (Port to Friendica)
  */
-
-require_once('include/Emailer.php');
+use Friendica\Core\L10n;
+use Friendica\Util\Emailer;
 
 function notifyall_install() {
        logger("installed notifyall");
@@ -21,10 +20,9 @@ function notifyall_uninstall() {
 
 function notifyall_module() {}
 
-function notifyall_plugin_admin(&$a, &$o) {
-
-       $o = '<div></div>&nbsp;&nbsp;&nbsp;&nbsp;<a href="' . z_root() . '/notifyall">' . t('Send email to all members') . '</a></br/>';
+function notifyall_addon_admin(&$a, &$o) {
 
+       $o = '<div></div>&nbsp;&nbsp;&nbsp;&nbsp;<a href="' . z_root() . '/notifyall">' . L10n::t('Send email to all members') . '</a></br/>';
 }
 
 
@@ -39,32 +37,39 @@ function notifyall_post(&$a) {
        $sitename = $a->config['sitename'];
 
        if (!x($a->config['admin_name']))
-               $sender_name = sprintf(t('%s Administrator'), $sitename);
+               $sender_name = sprintf(L10n::t('%s Administrator'), $sitename);
        else
-               $sender_name = sprintf(t('%1$s, %2$s Administrator'), $a->config['admin_name'], $sitename);
+               $sender_name = sprintf(L10n::t('%1$s, %2$s Administrator'), $a->config['admin_name'], $sitename);
 
-       $sender_email = 'sys@' . $a->get_hostname();
-       $subject = $_REQUEST['subject'];
+       if (! x($a->config['sender_email']))
+               $sender_email = 'noreply@' . $a->get_hostname();
+       else
+               $sender_email = $a->config['sender_email'];
 
+       $subject = $_REQUEST['subject'];
 
-       $textversion = strip_tags(html_entity_decode(bbcode(stripslashes(str_replace(array("\\r", "\\n"),array( "", "\n"), $text))),ENT_QUOTES,'UTF-8'));
 
-       $htmlversion = bbcode(stripslashes(str_replace(array("\\r","\\n"), array("","<br />\n"),$text)));
+       $textversion = strip_tags(html_entity_decode(bbcode(stripslashes(str_replace(["\\r", "\\n"],[ "", "\n"], $text))),ENT_QUOTES,'UTF-8'));
 
-       $sql_extra = ((intval($_REQUEST['test'])) ? sprintf(" AND `email` = '%s' ", get_config('system','admin_email')) : ''); 
+       $htmlversion = bbcode(stripslashes(str_replace(["\\r","\\n"], ["","<br />\n"],$text)));
 
+       // if this is a test, send it only to the admin(s)
+       // admin_email might be a comma separated list, but we need "a@b','c@d','e@f
+       if (intval($_REQUEST['test'])) {
+               $email = $a->config['admin_email'];
+               $email = "'" . str_replace([" ",","], ["","','"], $email) . "'";
+       }
+       $sql_extra = ((intval($_REQUEST['test'])) ? sprintf(" AND `email` in ( %s )", $email) : '');
 
-       $recips = q("SELECT `email` FROM `user` WHERE `verified` AND NOT `account_removed` AND NOT `account_expired` $sql_extra");
+       $recips = q("SELECT DISTINCT `email` FROM `user` WHERE `verified` AND NOT `account_removed` AND NOT `account_expired` $sql_extra");
 
-       if(! $recips) {
-               notice( t('No recipients found.') . EOL);
+       if (! $recips) {
+               notice(L10n::t('No recipients found.') . EOL);
                return;
        }
 
-       foreach($recips as $recip) {
-
-
-               Emailer::send(array(
+       foreach ($recips as $recip) {
+               Emailer::send([
                        'fromName'             => $sender_name,
                        'fromEmail'            => $sender_email,
                        'replyTo'              => $sender_email,
@@ -72,27 +77,28 @@ function notifyall_post(&$a) {
                        'messageSubject'       => $subject,
                        'htmlVersion'          => $htmlversion,
                        'textVersion'          => $textversion
-               ));
+               ]);
        }
 
-       notice( t('Emails sent'));
+       notice(L10n::t('Emails sent'));
        goaway('admin');
 }
 
-function notifyall_content(&$a) {
-       if(! is_site_admin())
+function notifyall_content(&$a)
+{
+       if (! is_site_admin()) {
                return;
+       }
 
-       $title = t('Send email to all members of this Friendica instance.');
+       $title = L10n::t('Send email to all members of this Friendica instance.');
 
-       $o = replace_macros(get_markup_template('notifyall_form.tpl','addon/notifyall/'),array(
+       $o = replace_macros(get_markup_template('notifyall_form.tpl', 'addon/notifyall/'), [
                '$title' => $title,
                '$text' => htmlspecialchars($_REQUEST['text']),
-               '$subject' => array('subject',t('Message subject'),$_REQUEST['subject'],''),
-               '$test' => array('test',t('Test mode (only send to administrator)'), 0,''),
-               '$submit' => t('Submit')
-       ));
+               '$subject' => ['subject',L10n::t('Message subject'),$_REQUEST['subject'],''],
+               '$test' => ['test',L10n::t('Test mode (only send to administrator)'), 0,''],
+               '$submit' => L10n::t('Submit')
+       ]);
 
        return $o;
-
 }