X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FInvite.php;h=acd5778e3e8a6bca2ae1213867b8ee6140b47b95;hb=96a3991dfd83c3a5f35f6802d31444ab77469de7;hp=67d26f6fa78af31c955f82ff2f721b8150cf9244;hpb=3c76826793feeb933dab7a07dab7cc7eb2efc451;p=friendica.git diff --git a/src/Module/Invite.php b/src/Module/Invite.php index 67d26f6fa7..acd5778e3e 100644 --- a/src/Module/Invite.php +++ b/src/Module/Invite.php @@ -1,13 +1,31 @@ . + * + */ namespace Friendica\Module; use Friendica\BaseModule; -use Friendica\Core\L10n; -use Friendica\Core\PConfig; use Friendica\Core\Renderer; use Friendica\DI; use Friendica\Model; +use Friendica\Model\User; use Friendica\Network\HTTPException; use Friendica\Protocol\Email; use Friendica\Util\Strings; @@ -17,10 +35,10 @@ use Friendica\Util\Strings; */ class Invite extends BaseModule { - public static function post(array $parameters = []) + protected function post(array $request = []) { if (!local_user()) { - throw new HTTPException\ForbiddenException(L10n::t('Permission denied.')); + throw new HTTPException\ForbiddenException(DI::l10n()->t('Permission denied.')); } self::checkFormSecurityTokenRedirectOnError('/', 'send_invite'); @@ -33,14 +51,14 @@ class Invite extends BaseModule $max_invites = 50; } - $current_invites = intval(PConfig::get(local_user(), 'system', 'sent_invites')); + $current_invites = intval(DI::pConfig()->get(local_user(), 'system', 'sent_invites')); if ($current_invites > $max_invites) { - throw new HTTPException\ForbiddenException(L10n::t('Total invitation limit exceeded.')); + throw new HTTPException\ForbiddenException(DI::l10n()->t('Total invitation limit exceeded.')); } $recipients = !empty($_POST['recipients']) ? explode("\n", $_POST['recipients']) : []; - $message = !empty($_POST['message']) ? Strings::escapeTags(trim($_POST['message'])) : ''; + $message = !empty($_POST['message']) ? Strings::escapeHtml(trim($_POST['message'])) : ''; $total = 0; $invitation_only = false; @@ -48,28 +66,30 @@ class Invite extends BaseModule if ($config->get('system', 'invitation_only')) { $invitation_only = true; - $invites_remaining = PConfig::get(local_user(), 'system', 'invites_remaining'); - if ((!$invites_remaining) && (!is_site_admin())) { + $invites_remaining = DI::pConfig()->get(local_user(), 'system', 'invites_remaining'); + if ((!$invites_remaining) && (!$app->isSiteAdmin())) { throw new HTTPException\ForbiddenException(); } } + $user = User::getById(local_user()); + foreach ($recipients as $recipient) { $recipient = trim($recipient); if (!filter_var($recipient, FILTER_VALIDATE_EMAIL)) { - notice(L10n::t('%s : Not a valid email address.', $recipient) . EOL); + notice(DI::l10n()->t('%s : Not a valid email address.', $recipient)); continue; } - if ($invitation_only && ($invites_remaining || is_site_admin())) { + if ($invitation_only && ($invites_remaining || $app->isSiteAdmin())) { $code = Model\Register::createForInvitation(); $nmessage = str_replace('$invite_code', $code, $message); - if (!is_site_admin()) { + if (!$app->isSiteAdmin()) { $invites_remaining--; if ($invites_remaining >= 0) { - PConfig::set(local_user(), 'system', 'invites_remaining', $invites_remaining); + DI::pConfig()->set(local_user(), 'system', 'invites_remaining', $invites_remaining); } else { return; } @@ -78,37 +98,36 @@ class Invite extends BaseModule $nmessage = $message; } - $additional_headers = 'From: ' . $app->user['email'] . "\n" - . 'Sender: ' . $app->getSenderEmailAddress() . "\n" + $additional_headers = 'From: "' . $user['email'] . '" <' . DI::emailer()->getSiteEmailAddress() . ">\n" . 'Content-type: text/plain; charset=UTF-8' . "\n" . 'Content-transfer-encoding: 8bit'; $res = mail( $recipient, - Email::encodeHeader(L10n::t('Please join us on Friendica'), 'UTF-8'), + Email::encodeHeader(DI::l10n()->t('Please join us on Friendica'), 'UTF-8'), $nmessage, $additional_headers); if ($res) { $total++; $current_invites++; - PConfig::set(local_user(), 'system', 'sent_invites', $current_invites); + DI::pConfig()->set(local_user(), 'system', 'sent_invites', $current_invites); if ($current_invites > $max_invites) { - notice(L10n::t('Invitation limit exceeded. Please contact your site administrator.') . EOL); + notice(DI::l10n()->t('Invitation limit exceeded. Please contact your site administrator.')); return; } } else { - notice(L10n::t('%s : Message delivery failed.', $recipient) . EOL); + notice(DI::l10n()->t('%s : Message delivery failed.', $recipient)); } } - notice(L10n::tt('%d message sent.', '%d messages sent.', $total) . EOL); + info(DI::l10n()->tt('%d message sent.', '%d messages sent.', $total)); } - public static function content(array $parameters = []) + protected function content(array $request = []): string { if (!local_user()) { - throw new HTTPException\ForbiddenException(L10n::t('Permission denied.')); + throw new HTTPException\ForbiddenException(DI::l10n()->t('Permission denied.')); } $app = DI::app(); @@ -118,44 +137,44 @@ class Invite extends BaseModule if ($config->get('system', 'invitation_only')) { $inviteOnly = true; - $x = PConfig::get(local_user(), 'system', 'invites_remaining'); - if ((!$x) && (!is_site_admin())) { - throw new HTTPException\ForbiddenException(L10n::t('You have no more invitations available')); + $x = DI::pConfig()->get(local_user(), 'system', 'invites_remaining'); + if ((!$x) && (!$app->isSiteAdmin())) { + throw new HTTPException\ForbiddenException(DI::l10n()->t('You have no more invitations available')); } } $dirLocation = $config->get('system', 'directory'); if (strlen($dirLocation)) { if ($config->get('config', 'register_policy') === Register::CLOSED) { - $linkTxt = L10n::t('Visit %s for a list of public sites that you can join. Friendica members on other sites can all connect with each other, as well as with members of many other social networks.', $dirLocation . '/servers'); + $linkTxt = DI::l10n()->t('Visit %s for a list of public sites that you can join. Friendica members on other sites can all connect with each other, as well as with members of many other social networks.', $dirLocation . '/servers'); } else { - $linkTxt = L10n::t('To accept this invitation, please visit and register at %s or any other public Friendica website.', DI::baseUrl()->get()) - . "\r\n" . "\r\n" . L10n::t('Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks. See %s for a list of alternate Friendica sites you can join.', $dirLocation . '/servers'); + $linkTxt = DI::l10n()->t('To accept this invitation, please visit and register at %s or any other public Friendica website.', DI::baseUrl()->get()) + . "\r\n" . "\r\n" . DI::l10n()->t('Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks. See %s for a list of alternate Friendica sites you can join.', $dirLocation . '/servers'); } } else { // there is no global directory URL defined if ($config->get('config', 'register_policy') === Register::CLOSED) { - return L10n::t('Our apologies. This system is not currently configured to connect with other public sites or invite members.'); + return DI::l10n()->t('Our apologies. This system is not currently configured to connect with other public sites or invite members.'); } else { - $linkTxt = L10n::t('To accept this invitation, please visit and register at %s.', DI::baseUrl()->get() - . "\r\n" . "\r\n" . L10n::t('Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks.')); + $linkTxt = DI::l10n()->t('To accept this invitation, please visit and register at %s.', DI::baseUrl()->get() + . "\r\n" . "\r\n" . DI::l10n()->t('Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks.')); } } $tpl = Renderer::getMarkupTemplate('invite.tpl'); return Renderer::replaceMacros($tpl, [ '$form_security_token' => self::getFormSecurityToken('send_invite'), - '$title' => L10n::t('Send invitations'), - '$recipients' => ['recipients', L10n::t('Enter email addresses, one per line:')], + '$title' => DI::l10n()->t('Send invitations'), + '$recipients' => ['recipients', DI::l10n()->t('Enter email addresses, one per line:')], '$message' => [ 'message', - L10n::t('Your message:'), - L10n::t('You are cordially invited to join me and other close friends on Friendica - and help us to create a better social web.') . "\r\n" . "\r\n" + DI::l10n()->t('Your message:'), + DI::l10n()->t('You are cordially invited to join me and other close friends on Friendica - and help us to create a better social web.') . "\r\n" . "\r\n" . $linkTxt - . "\r\n" . "\r\n" . (($inviteOnly) ? L10n::t('You will need to supply this invitation code: $invite_code') . "\r\n" . "\r\n" : '') . L10n::t('Once you have registered, please connect with me via my profile page at:') - . "\r\n" . "\r\n" . DI::baseUrl()->get() . '/profile/' . $app->user['nickname'] - . "\r\n" . "\r\n" . L10n::t('For more information about the Friendica project and why we feel it is important, please visit http://friendi.ca') . "\r\n" . "\r\n", + . "\r\n" . "\r\n" . (($inviteOnly) ? DI::l10n()->t('You will need to supply this invitation code: $invite_code') . "\r\n" . "\r\n" : '') . DI::l10n()->t('Once you have registered, please connect with me via my profile page at:') + . "\r\n" . "\r\n" . DI::baseUrl()->get() . '/profile/' . $app->getLoggedInUserNickname() + . "\r\n" . "\r\n" . DI::l10n()->t('For more information about the Friendica project and why we feel it is important, please visit http://friendi.ca') . "\r\n" . "\r\n", ], - '$submit' => L10n::t('Submit') + '$submit' => DI::l10n()->t('Submit') ]); } }