cleanup require_once
This commit is contained in:
parent
76789e8dad
commit
56d86c8e46
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
|
||||
class AutoLinkExtension {
|
||||
static public function auto_link_text($string) {
|
||||
static public function auto_link_text(string $string) {
|
||||
|
||||
$string = preg_replace_callback("/
|
||||
((?<![\"']) # don't look inside quotes
|
||||
|
|
|
@ -2,11 +2,13 @@
|
|||
/*
|
||||
input:
|
||||
|
||||
$user - User object
|
||||
$config - config array
|
||||
$emails - array of emails
|
||||
User $user - User object
|
||||
array $config - config array
|
||||
array $emails - array of emails
|
||||
*/
|
||||
|
||||
require_once './autolink.php';
|
||||
|
||||
// Load HTML Purifier
|
||||
$purifier_config = HTMLPurifier_Config::createDefault();
|
||||
$purifier_config->set('HTML.Nofollow', true);
|
||||
|
|
|
@ -16,7 +16,7 @@ class ImapClient {
|
|||
* @param $user User
|
||||
* @return array
|
||||
*/
|
||||
function get_emails(User $user): array {
|
||||
public function get_emails(User $user): array {
|
||||
// Search for mails with the recipient $address in TO or CC.
|
||||
$mailsIdsTo = imap_sort($this->mailbox->getImapStream(), SORTARRIVAL, true, SE_UID, 'TO "' . $user->address . '"');
|
||||
$mailsIdsCc = imap_sort($this->mailbox->getImapStream(), SORTARRIVAL, true, SE_UID, 'CC "' . $user->address . '"');
|
||||
|
@ -34,7 +34,7 @@ class ImapClient {
|
|||
* @param $user User
|
||||
* @internal param the $username matching username
|
||||
*/
|
||||
function delete_email(string $mailid, User $user) {
|
||||
public function delete_email(string $mailid, User $user) {
|
||||
if ($this->_load_one_email($mailid, $user) !== null) {
|
||||
$this->mailbox->deleteMail($mailid);
|
||||
$this->mailbox->expungeDeletedMails();
|
||||
|
@ -54,7 +54,7 @@ class ImapClient {
|
|||
* @internal param the $username matching username
|
||||
*/
|
||||
|
||||
function download_email(int $mailid, User $user) {
|
||||
public function download_email(int $mailid, User $user) {
|
||||
if ($this->_load_one_email($mailid, $user) !== null) {
|
||||
header("Content-Type: message/rfc822; charset=utf-8");
|
||||
header("Content-Disposition: attachment; filename=\"" . $user->address . "-" . $mailid . ".eml\"");
|
||||
|
@ -71,7 +71,7 @@ class ImapClient {
|
|||
/**
|
||||
* Load exactly one email, the $address in TO or CC has to match.
|
||||
*/
|
||||
function _load_one_email(int $mailid, User $user): \PhpImap\IncomingMail {
|
||||
private function _load_one_email(int $mailid, User $user): \PhpImap\IncomingMail {
|
||||
// in order to avoid https://www.owasp.org/index.php/Top_10_2013-A4-Insecure_Direct_Object_References
|
||||
// the recipient in the email has to match the $address.
|
||||
$emails = $this->_load_emails(array($mailid), $user);
|
||||
|
@ -85,7 +85,7 @@ class ImapClient {
|
|||
* @param $user User
|
||||
* @return array of emails
|
||||
*/
|
||||
function _load_emails(array $mail_ids, User $user) {
|
||||
private function _load_emails(array $mail_ids, User $user) {
|
||||
$emails = array();
|
||||
foreach ($mail_ids as $id) {
|
||||
$mail = $this->mailbox->getMail($id);
|
||||
|
@ -100,7 +100,7 @@ class ImapClient {
|
|||
/**
|
||||
* deletes messages older than X days.
|
||||
*/
|
||||
function delete_old_messages(string $delete_messages_older_than) {
|
||||
public function delete_old_messages(string $delete_messages_older_than) {
|
||||
$ids = $this->mailbox->searchMailbox('BEFORE ' . date('d-M-Y', strtotime($delete_messages_older_than)));
|
||||
foreach ($ids as $id) {
|
||||
$this->mailbox->deleteMail($id);
|
||||
|
|
|
@ -5,26 +5,18 @@ require_once '../../config.php';
|
|||
# load php dependencies:
|
||||
require_once './backend-libs/autoload.php';
|
||||
|
||||
|
||||
require_once './user.php';
|
||||
require_once './autolink.php';
|
||||
require_once './imap_client.php';
|
||||
require_once './pages.php';
|
||||
require_once './router.php';
|
||||
require_once './imap_client.php';
|
||||
|
||||
$imapClient = new ImapClient($config['imap']['url'], $config['imap']['username'], $config['imap']['password']);
|
||||
|
||||
$router = new Router($_SERVER['REQUEST_METHOD'], $_GET['action'] ?? NULL, $_GET, $_POST, $_SERVER['QUERY_STRING'], $config);
|
||||
$page = $router->route();
|
||||
|
||||
// TODO: remove $mailbox
|
||||
$mailbox = new PhpImap\Mailbox($config['imap']['url'],
|
||||
$config['imap']['username'],
|
||||
$config['imap']['password']);
|
||||
|
||||
$imapClient = new ImapClient($config['imap']['url'], $config['imap']['username'], $config['imap']['password']);
|
||||
$page->invoke($imapClient);
|
||||
|
||||
// delete after each request
|
||||
$imapClient->delete_old_messages($config['delete_messages_older_than']);
|
||||
|
||||
|
||||
?>
|
|
@ -1,5 +1,7 @@
|
|||
<?php
|
||||
|
||||
require_once './imap_client.php';
|
||||
|
||||
abstract class Page {
|
||||
|
||||
function invoke(ImapClient $imapClient) {
|
||||
|
|
|
@ -40,15 +40,11 @@ class Router {
|
|||
} elseif ($this->action === 'random') {
|
||||
return new RedirectToRandomAddressPage($this->config['domains']);
|
||||
|
||||
} elseif (empty($this->query_string)) {
|
||||
return new RedirectToRandomAddressPage($this->config['domains']);
|
||||
|
||||
} elseif (!empty($this->query_string)) {
|
||||
return new DisplayEmailsPage($this->query_string, $this->config);
|
||||
|
||||
} else {
|
||||
return new InvalidRequestPage();
|
||||
|
||||
return new RedirectToRandomAddressPage($this->config['domains']);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user