. */ abstract class SendMailPage { public static function getLink($receipt, $title) { return "".$title.""; } public static function getForm($receipt, $errorFields=array()) { $ret = "
"; $ret .= ""; $ret .= ""; $ret .= ""; $ret .= ""; $ret .= ""; $ret .= ""; $ret .= ""; $ret .= ""; $ret .= ""; $ret .= ""; $ret .= ""; $ret .= ""; $ret .= ""; $ret .= ""; $ret .= ""; $ret .= ""; $ret .= ""; $ret .= ""; $ret .= ""; $ret .= ""; $ret .= ""; $ret .= ""; $ret .= "
To:
Your name:
Your e-mail:
Subject:
Message:
"; $ret .= "

\"Envelop\" Send

"; $ret .= "
"; return $ret; } public static function checkForErrors() { $errorFields = array(); if( strlen($_POST['name'])<3 ) { $errorFields['name'] = true; } if( !Mail::checkEmail($_POST['email']) ) { $errorFields['email'] = true; } if( strlen($_POST['subject'])<3 ) { $errorFields['subject'] = true; } if( strlen($_POST['message'])<10 ) { $errorFields['message'] = true; } return $errorFields; } public static function sendMail($receipt) { global $setup; $ret = ""; $toMail = self::getEmail($receipt); $toName = self::getName($receipt); if( $mail = new Mail(MAILRETURNPATH, $toMail) ) { $mail->setSubject(Mail::encodeHeader($_POST['subject'])); $mail->addHeader("To", "\"".Mail::encodeHeader($toName)."\" <".$toMail.">"); $mail->addHeader("From", "\"".Mail::encodeHeader($_POST['name'])."\" <".$_POST['email'].">"); if( substr($receipt, 0, 10)=="candidate_" ) { $content = "candidate"; $applicationId = substr($receipt, 10); }else { $content = $receipt; $applicationId = 0; } $mail->addHeader("X-Content", "webmail to ".$content); $mail->addHeader("X-ApplicationID", $applicationId); $mail->addHeader("X-Signature", Mail::getSignature("none", "webmail to ".$content, $applicationId)); $mail->setMessage(utf8_encode($_POST['message'])); if( $mail->send(true)==Mail::MAIL_FAIL ) { $ret .= "Failed sending mail. Unknown error."; }else { $GLOBALS['logger']->eventLog("sendmail", "Mail send to ".$toName, "info"); $ret .= "Mail has been send to ".$toName; } }else { $ret .= "Failed sending mail. Unknown error."; } $ret .= "

Close popup

"; return $ret; } public static function getName($receipt) { global $setup; if( $receipt=="webmaster" ) { return "Webmaster"; }elseif( $receipt=="applresp" ) { return $setup['EventAppResponsible']; }elseif( $receipt=="headoffice" ) { return "Head Office AEGEE-Europe"; }elseif( $receipt=="chair" ) { return "Chair Team"; }elseif( substr($receipt, 0, 10)=="candidate_" && is_numeric(substr($receipt, 10)) ) { $candidateId = substr($receipt, 10); return self::getCandidate($candidateId, "name"); }else { return ""; } } public static function getEmail($receipt) { global $setup; if( $receipt=="webmaster" ) { return WEBMASTEREMAIL; }elseif( $receipt=="applresp" ) { return $setup['EventEmail']; }elseif( $receipt=="headoffice" ) { return HEADOFFICEEMAIL; }elseif( $receipt=="chair" ) { return CHAIREMAIL; }elseif( substr($receipt, 0, 10)=="candidate_" && is_numeric(substr($receipt, 10)) ) { $candidateId = substr($receipt, 10); return self::getCandidate($candidateId, "mail"); }else { return ""; } } public static function getCandidate($candidateId, $field) { $query = "SELECT CONCAT(`FirstName`, ' ', `LastName`) AS `name`, `email` FROM `candidates` WHERE `id`=".addslashes($candidateId); if( @mysql_num_rows( $res = doquery($query) )==1 ) { $row = mysql_fetch_array($res); return $row[$field]; }else { return ""; } } } ?>