106 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			106 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?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
 | 
						|
	    );
 | 
						|
    }
 | 
						|
 | 
						|
    public function router()
 | 
						|
    {
 | 
						|
		if (isset($_REQUEST['action'])) {
 | 
						|
            switch ($_REQUEST['action']) {
 | 
						|
                case 'send-email':
 | 
						|
                    new Sendmail();
 | 
						|
                    new MailCompose();
 | 
						|
	                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)
 | 
						|
    {
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
} |