} 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]);
/** * 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); }