public static function executeListSubscribe()
 {
     if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
         Controller::redirect('/get');
     }
     $email = $_POST['email'];
     if (!$email || !filter_var($email, FILTER_VALIDATE_EMAIL)) {
         Session::set('list_error', $email ? __('Please provide a valid email address.') : __('Please provide an email address.'));
     } elseif (!$_POST['listId']) {
         Session::set('list_error', __('List not provided.'));
     } else {
         $mcApi = new Mailchimp();
         $mcListId = $_POST['listId'];
         $mergeFields = isset($_POST['mergeFields']) ? unserialize($_POST['mergeFields']) : [];
         $success = $mcApi->listSubscribe($mcListId, $email, $mergeFields, 'html', false);
         if ($success) {
             Session::set(Session::KEY_MAILCHIMP_LIST_IDS, array_merge(Session::get(Session::KEY_MAILCHIMP_LIST_IDS, []), [$mcListId]));
             Session::set(Session::KEY_LIST_SUB_SUCCESS, __('Great success! Welcome to LBRY.'));
         } else {
             $error = $mcApi->errorMessage ?: __('Something went wrong adding you to the list.');
             Session::set('list_error', $error);
         }
     }
     Controller::redirect(isset($_POST['return_url']) && $_POST['return_url'] ? $_POST['return_url'] : '/get');
 }