Grundfunktionalität zum Senden von E-Mails
This commit is contained in:
153
modules/Mail/Controllers/MailController.php
Normal file
153
modules/Mail/Controllers/MailController.php
Normal file
@ -0,0 +1,153 @@
|
||||
<?php
|
||||
namespace Bdp\Modules\Mail\Controllers;
|
||||
|
||||
|
||||
use Bdp\Libs\FileAccess;
|
||||
use SearchMemberRequest;
|
||||
|
||||
class MailController
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
add_menu_page(
|
||||
__('E-Mail', BDP_LV_PLUGIN_SLUG),
|
||||
__('E-Mail', BDP_LV_PLUGIN_SLUG),
|
||||
'send_mails',
|
||||
'kompass-mail',
|
||||
[$this, 'router'],
|
||||
'dashicons-email',
|
||||
4
|
||||
);
|
||||
|
||||
/*$mailCompose = new MailCompose();
|
||||
add_submenu_page(
|
||||
'kompass-mail',
|
||||
__('Templates', BDP_LV_PLUGIN_SLUG),
|
||||
__('Templates', BDP_LV_PLUGIN_SLUG),
|
||||
'send_mails',
|
||||
'kompass-mail-compose',
|
||||
[$mailCompose, '__construct'],
|
||||
1);*/
|
||||
}
|
||||
|
||||
public function router()
|
||||
{
|
||||
if (isset($_REQUEST['action'])) {
|
||||
switch ($_REQUEST['action']) {
|
||||
case 'send-email':
|
||||
// SMTP-Konfiguration
|
||||
$smtp_host = 'bdp.mein-verein.online'; // SMTP-Host
|
||||
$smtp_port = 25; // SMTP-Port
|
||||
$smtp_username = 'noreply@mareike.sachsen.pfadfinden.de'; // SMTP-Benutzername
|
||||
$smtp_password = 'fwJ_wxbW9G45'; // SMTP-Passwort
|
||||
$smtp_secure = 'tls'; // Verschlüsselung (tls oder ssl)
|
||||
|
||||
// Einstellungen für wp_mail ändern
|
||||
add_action( 'phpmailer_init', function( $phpmailer ) use ( $smtp_host, $smtp_port, $smtp_username, $smtp_password, $smtp_secure ) {
|
||||
$phpmailer->isSMTP();
|
||||
$phpmailer->Host = $smtp_host;
|
||||
$phpmailer->Port = $smtp_port;
|
||||
$phpmailer->SMTPAuth = true;
|
||||
$phpmailer->Username = $smtp_username;
|
||||
$phpmailer->Password = $smtp_password;
|
||||
$phpmailer->setFrom('info@pfadfinden-halle.de', 'Pfadfinden - Halle');
|
||||
#$phpmailer->SMTPSecure = $smtp_secure;
|
||||
} );
|
||||
|
||||
// Senden Sie die E-Mail
|
||||
$sent = wp_mail($_REQUEST['mail-to'],$_REQUEST['mail-subject'],$_REQUEST['mail-text'],
|
||||
['Reply-To: ' . $_REQUEST['mail-from'], 'Content-Type: text/html; charset=UTF-8']);
|
||||
|
||||
// Überprüfen, ob die E-Mail erfolgreich gesendet wurde
|
||||
if ( $sent ) {
|
||||
echo '<p>E-Mail wurde erfolgreich gesendet!</p>';
|
||||
} else {
|
||||
echo '<p>Fehler beim Senden der E-Mail!</p>';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
echo $_REQUEST['mail-to'] . '<br />';
|
||||
echo $_REQUEST['mail-text'];
|
||||
|
||||
echo 'mail gesendet';
|
||||
|
||||
break;
|
||||
|
||||
case 'create_group_form':
|
||||
new \Bdp\Modules\Gruppen\Controllers\CreateGroupController();
|
||||
break;
|
||||
|
||||
case 'update-group':
|
||||
\UpdateGroupAction::execute(['gruppen_name' => $_REQUEST['kompass_groups_group_name']],
|
||||
(int)$_REQUEST['group_id']);
|
||||
|
||||
new \Bdp\Modules\Gruppen\Controllers\PrintGroupsController();
|
||||
break;
|
||||
|
||||
case 'create-group':
|
||||
$data = ['gruppen_name' => $_REQUEST['kompass_groups_group_name']];
|
||||
\CreateGroupAction::execute($data);
|
||||
new \Bdp\Modules\Gruppen\Controllers\PrintGroupsController();
|
||||
break;
|
||||
|
||||
case 'new-member':
|
||||
new \Bdp\Modules\Gruppen\Controllers\CreateMemberController();
|
||||
break;
|
||||
|
||||
case 'create-member':
|
||||
$userData = \CreateGroupMemberDataAction::execute($_REQUEST);
|
||||
if (count($userData['errors']) === 0) {
|
||||
$memberId = \CreateGroupMemberAction::execute( $userData['data'] );
|
||||
new \Bdp\Modules\Gruppen\Controllers\PrintMemberController($memberId);
|
||||
} else {
|
||||
kompass_print_message_box(implode('<br />', $userData['errors']), 'error');
|
||||
new \Bdp\Modules\Gruppen\Controllers\CreateMemberController($userData['rawData']);
|
||||
exit;
|
||||
}
|
||||
new \Bdp\Modules\Gruppen\Controllers\PrintGroupsController();
|
||||
break;
|
||||
|
||||
case 'show-members':
|
||||
$memberList = \ListMemberRequest::listForGroup((int)$_REQUEST['group-id']);
|
||||
new \Bdp\Modules\Gruppen\Controllers\PrintMemberListController($memberList);
|
||||
break;
|
||||
|
||||
case 'show-member':
|
||||
new \Bdp\Modules\Gruppen\Controllers\PrintMemberController((int)$_REQUEST['member-id']);
|
||||
break;
|
||||
|
||||
case 'compose-mail':
|
||||
current_user_can('send_mails');
|
||||
break;
|
||||
|
||||
case 'delete-group':
|
||||
if (current_user_can('delete_groups')) {
|
||||
}
|
||||
break;
|
||||
case 'edit-group':
|
||||
if (current_user_can('edit_groups')) {
|
||||
kompass_edit_group_form($_REQUEST['group-id']);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
}
|
||||
} else {
|
||||
new MailCompose();
|
||||
}
|
||||
}
|
||||
|
||||
private function listMembers()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private function printMembers(array $memberList)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user