function sendEmail() { global $interface; global $configArray; $to = strip_tags($_REQUEST['to']); $from = strip_tags($_REQUEST['from']); $message = $_REQUEST['message']; $id = $_REQUEST['id']; require_once ROOT_DIR . '/RecordDrivers/GroupedWorkDriver.php'; $recordDriver = new GroupedWorkDriver($id); $interface->assign('recordDriver', $recordDriver); if (isset($_REQUEST['related_record'])) { $relatedRecord = $_REQUEST['related_record']; require_once ROOT_DIR . '/RecordDrivers/GroupedWorkDriver.php'; $recordDriver = new GroupedWorkDriver($id); $relatedRecords = $recordDriver->getRelatedRecords(); foreach ($relatedRecords as $curRecord) { if ($curRecord['id'] = $relatedRecord) { if (isset($curRecord['callNumber'])) { $interface->assign('callnumber', $curRecord['callNumber']); } if (isset($curRecord['shelfLocation'])) { $interface->assign('shelfLocation', strip_tags($curRecord['shelfLocation'])); } } } } $subject = translate("Library Catalog Record") . ": " . $recordDriver->getTitle(); $interface->assign('from', $from); $interface->assign('emailDetails', $recordDriver->getEmail()); $interface->assign('recordID', $recordDriver->getUniqueID()); if (strpos($message, 'http') === false && strpos($message, 'mailto') === false && $message == strip_tags($message)) { $interface->assign('message', $message); $body = $interface->fetch('Emails/grouped-work-email.tpl'); require_once ROOT_DIR . '/sys/Mailer.php'; $mail = new VuFindMailer(); $emailResult = $mail->send($to, $configArray['Site']['email'], $subject, $body, $from); if ($emailResult === true) { $result = array('result' => true, 'message' => 'Your e-mail was sent successfully.'); } elseif (PEAR_Singleton::isError($emailResult)) { $result = array('result' => false, 'message' => "Your e-mail message could not be sent: {$emailResult}."); } else { $result = array('result' => false, 'message' => 'Your e-mail message could not be sent due to an unknown error.'); } } else { $result = array('result' => false, 'message' => 'Sorry, we can't send e-mails with html or other data in it.'); } return json_encode($result); }