function launch() { global $configArray; global $interface; //Check to see if we had data posted to us if (isset($_REQUEST['submit']) && !empty($_REQUEST['submit'])) { //Load the locations from the request data $ids = $_REQUEST['id']; $hides = $_REQUEST['hide']; $internalNotes = $_REQUEST['internalNotes']; $deletions = $_REQUEST['delete']; foreach ($ids as $id) { //This is an existing location, update it $curSuggestion = new UserSuggestion(); $curSuggestion->suggestionId = $id; $curSuggestion->find(); if ($curSuggestion->N == 1) { if (!isset($deletions[$id]) || $deletions[$id] === FALSE) { //Update the record $curSuggestion->fetch(); $curSuggestion->hide = $hides[$id] == 'on' ? 1 : 0; $curSuggestion->internalNotes = $internalNotes[$id]; $curSuggestion->update(); } else { //Delete the record $curSuggestion->delete(); } } else { //Couldn't find the record. Something went haywire. } } header("Location: {$configArray['Site']['path']}/Admin/UserSuggestions"); die; } //Show a list of user suggestions. $suggestion = new UserSuggestion(); if (!isset($_REQUEST['showHidden'])) { $suggestion->whereAdd('hide = 0'); $interface->assign('showHidden', true); } else { $interface->assign('showHidden', false); } $suggestion->orderBy('enteredOn'); $suggestion->find(); $suggestionList = array(); while ($suggestion->fetch()) { $suggestionList[$suggestion->suggestionId] = clone $suggestion; } $interface->assign('suggestions', $suggestionList); $interface->assign('sidebar', 'MyAccount/account-sidebar.tpl'); $interface->setTemplate('userSuggestions.tpl'); $interface->setPageTitle('User Suggestions'); $interface->display('layout.tpl'); }
function launch() { global $interface; global $configArray; $suggestion = isset($_REQUEST['suggestion']) ? $_REQUEST['suggestion'] : ''; $name = isset($_REQUEST['name']) ? $_REQUEST['name'] : ''; $email = isset($_REQUEST['email']) ? $_REQUEST['email'] : ''; if (isset($_REQUEST['submit'])) { $isValid = true; //Perform validation if (isset($email) && strlen($email) > 0) { if (!preg_match('/^[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i', $_REQUEST['email'])) { $interface->assign('message', 'The email address provided does not appear to be valid.'); $isValid = false; } } if ($isValid && (!isset($suggestion) || strlen($suggestion) == 0)) { $interface->assign('message', 'You must enter a suggestion.'); $isValid = false; } if ($isValid) { //Process the submission $privatekey = $configArray['ReCaptcha']['privateKey']; $resp = recaptcha_check_answer($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]); if (!$resp->is_valid) { $interface->assign('message', 'The CAPTCHA response was incorrect, please try again.'); $isValid = false; } } if ($isValid) { //Save the form. $userSuggestion = new UserSuggestion(); $userSuggestion->name = $name; $userSuggestion->email = $email; $userSuggestion->suggestion = $suggestion; $userSuggestion->hide = 0; $userSuggestion->internalNotes = ''; $userSuggestion->insert(); //After the suggestion has been inserted, e-mail it to the appropriate user. if (isset($configArray['Site']['suggestionEmail']) && strlen($configArray['Site']['suggestionEmail']) > 0) { $mail = new VuFindMailer(); $to = $configArray['Site']['suggestionEmail']; $from = $configArray['Site']['email']; $replyTo = $email; $subject = "New Suggestion within VuFind"; $body = "Suggestion from: {$name} ({$email})\r\n{$suggestion}"; $mail->send($to, $from, $subject, $body, $replyTo); } //Redirect to the confirmation page header("Location: " . $configArray['Site']['path'] . '/Help/SuggestionConfirm'); die; } } //Display the form asking for input $publickey = $configArray['ReCaptcha']['publicKey']; $captchaCode = recaptcha_get_html($publickey); $interface->assign('captcha', $captchaCode); $interface->assign('name', $name); $interface->assign('email', $email); $interface->assign('suggestion', $suggestion); if (isset($_REQUEST['lightbox'])) { $interface->assign('popupTitle', 'Make a Suggestion'); $interface->assign('lightbox', true); $popupContent = $interface->fetch('Help/suggestion.tpl'); $interface->assign('popupContent', $popupContent); $interface->display('popup-wrapper.tpl'); } else { $interface->assign('lightbox', false); $interface->setPageTitle('Make a Suggestion'); $interface->setTemplate('suggestion.tpl'); $interface->display('layout.tpl'); } }