示例#1
0
    }
    if (!($result = $db->query($sql))) {
        dbError($db->error);
    }
    if ($result->num_rows !== 1) {
        // Redirect does not exist, redirect to overview
        redirect("admin/listredirects");
    }
    $redirect = $result->fetch_assoc();
    $sources = stringToEmails($redirect[DBC_ALIASES_SOURCE]);
    $destinations = stringToEmails($redirect[DBC_ALIASES_DESTINATION]);
}
if (isset($_POST['savemode'])) {
    $savemode = $_POST['savemode'];
    $sources = stringToEmails($_POST['source']);
    $destinations = stringToEmails($_POST['destination']);
    // validate emails
    $emailErrors = array();
    // basic email validation is not working 100% correct though
    foreach (array_merge($sources, $destinations) as $email) {
        if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
            $emailErrors[$email] = "Address \"{$email}\" is not a valid email address.";
        }
    }
    if (defined('VALIDATE_ALIASES_SOURCE_ENABLED')) {
        $sql = "SELECT GROUP_CONCAT(`" . DBC_DOMAINS_DOMAIN . "` SEPARATOR ',') as `" . DBC_DOMAINS_DOMAIN . "` FROM `" . DBT_DOMAINS . "`";
        if (!($resultDomains = $db->query($sql))) {
            dbError($db->error);
        }
        $domainRow = $resultDomains->fetch_assoc();
        $domains = explode(',', $domainRow[DBC_DOMAINS_DOMAIN]);
示例#2
0
/**
 * Format email addresses (single, multiple in separated list, or array of email addresses)
 *
 * @param string|array $input
 * @param string $glue
 * @return string
 */
function formatEmails($input, $glue)
{
    if (!is_array($input)) {
        $input = stringToEmails($input);
    }
    return emailsToString($input, $glue);
}