/** * Sends a notification to user who added a question * * @param string $email Email address of the user * @param string $userName Name of the user * @param string $url URL of answered FAQ * * @return void */ public function sendOpenQuestionAnswered($email, $userName, $url) { $this->mail->addTo($email, $userName); $this->mail->subject = $this->config->get('main.titleFAQ') . ' - ' . $this->pmfStr['msgQuestionAnswered']; $this->mail->message = sprintf($this->pmfStr['msgMessageQuestionAnswered'], $this->config->get('main.titleFAQ')) . "\n\r" . $url; $this->mail->send(); }
function sendAskedQuestion($username, $usermail, $usercat, $content) { global $IDN, $category, $PMF_LANG, $faq, $faqconfig; $retval = false; $cat = new PMF_Category(); $categories = $cat->getAllCategories(); if ($faqconfig->get('records.enableVisibilityQuestions')) { $visibility = 'N'; } else { $visibility = 'Y'; } $questionData = array('ask_username' => $username, 'ask_usermail' => $IDN->encode($usermail), 'ask_category' => $usercat, 'ask_content' => $content, 'ask_date' => date('YmdHis'), 'is_visible' => $visibility); list($user, $host) = explode("@", $questionData['ask_usermail']); if (PMF_Filter::filterVar($questionData['ask_usermail'], FILTER_VALIDATE_EMAIL) != false) { $faq->addQuestion($questionData); $questionMail = "User: "******", mailto:" . $questionData['ask_usermail'] . "\n" . $PMF_LANG["msgCategory"] . ": " . $categories[$questionData['ask_category']]["name"] . "\n\n" . wordwrap($content, 72); $userId = $category->getCategoryUser($questionData['ask_category']); $oUser = new PMF_User(); $oUser->getUserById($userId); $userEmail = $oUser->getUserData('email'); $mainAdminEmail = $faqconfig->get('main.administrationMail'); $mail = new PMF_Mail(); $mail->unsetFrom(); $mail->setFrom($questionData['ask_usermail'], $questionData['ask_username']); $mail->addTo($mainAdminEmail); // Let the category owner get a copy of the message if ($userEmail && $mainAdminEmail != $userEmail) { $mail->addCc($userEmail); } $mail->subject = '%sitename%'; $mail->message = $questionMail; $retval = $mail->send(); } return $retval; }
function sendAskedQuestion($username, $usermail, $usercat, $content) { global $PMF_LANG, $faq; $retval = false; $faqconfig = PMF_Configuration::getInstance(); $categoryNode = new PMF_Category_Node(); if ($faqconfig->get('records.enableVisibilityQuestions')) { $visibility = 'N'; } else { $visibility = 'Y'; } $questionData = array('id' => null, 'username' => $username, 'email' => $usermail, 'category_id' => $usercat, 'question' => $content, 'date' => date('YmdHis'), 'is_visible' => $visibility); list($user, $host) = explode("@", $questionData['email']); if (PMF_Filter::filterVar($questionData['email'], FILTER_VALIDATE_EMAIL) != false) { $faqQuestions = new PMF_Faq_Questions(); $faqQuestions->create($questionData); $categoryData = $categoryNode->fetch($questionData['category_id']); $questionMail = "User: "******", mailto:" . $questionData['email'] . "\n" . $PMF_LANG["msgCategory"] . ": " . $categoryData->name . "\n\n" . wordwrap($content, 72); $userId = $categoryData->user_id; $oUser = new PMF_User(); $oUser->getUserById($userId); $userEmail = $oUser->getUserData('email'); $mainAdminEmail = $faqconfig->get('main.administrationMail'); $mail = new PMF_Mail(); $mail->unsetFrom(); $mail->setFrom($questionData['email'], $questionData['username']); $mail->addTo($mainAdminEmail); // Let the category owner get a copy of the message if ($userEmail && $mainAdminEmail != $userEmail) { $mail->addCc($userEmail); } $mail->subject = '%sitename%'; $mail->message = $questionMail; $retval = $mail->send(); } return $retval; }
$oLink = new PMF_Link(PMF_Link::getSystemUri() . '?action=news&newsid=' . $news['id'] . '&newslang=' . $news['lang']); $oLink->itemTitle = $news['header']; $urlToContent = $oLink->toString(); } $commentMail = 'User: '******'username'] . ', mailto:' . $commentData['usermail'] . "\n" . 'New comment posted on: ' . $urlToContent . "\n\n" . wordwrap($comment, 72); $mail = new PMF_Mail(); $mail->unsetFrom(); $mail->setFrom($commentData['usermail']); $mail->addTo($emailTo); // Let the category owner get a copy of the message if ($emailTo != $faqconfig->get('main.administrationMail')) { $mail->addCc($faqconfig->get('main.administrationMail')); } $mail->subject = '%sitename%'; $mail->message = strip_tags($commentMail); $result = $mail->send(); unset($mail); $message = $PMF_LANG['msgCommentThanks']; } else { $faqsession->userTracking('error_save_comment', $id); $message = $PMF_LANG['err_SaveComment']; } } else { if (!IPCheck($_SERVER['REMOTE_ADDR'])) { $message = $PMF_LANG['err_bannedIP']; } else { $faqsession->userTracking('error_save_comment', $id); $message = $PMF_LANG['err_SaveComment']; } } $tpl->processTemplate('writeContent', array('msgCommentHeader' => $msgWriteComment, 'Message' => $message));
\$PMF_LANG['metaCharset'] = '%s'; \$PMF_LANG['metaLanguage'] = '%s'; \$PMF_LANG['language'] = '%s'; \$PMF_LANG['dir'] = '%s'; \$PMF_LANG['nplurals'] = '%s'; FILE; $authorTpl = ''; foreach ($author as $authorData) { $authorTpl .= " * @author {$authorData}\n"; } $fileTpl = sprintf($fileTpl, $langDesc, $authorTpl, date('Y-m-d'), $langCode, date('Y'), $langCharset, strtolower($langCode), $langName, $langDir, $langNPlurals); $retval = @file_put_contents(PMF_ROOT_DIR . '/lang/language_' . strtolower($langCode) . '.php', $fileTpl); $response->setData(intval($retval)); break; case 'send_translated_file': $lang = PMF_Filter::filterInput(INPUT_GET, 'translang', FILTER_SANITIZE_STRING); $filename = PMF_ROOT_DIR . "/lang/language_" . $lang . ".php"; if (!file_exists($filename)) { $response->setData(0); break; } $letterTpl = ''; $mail = new PMF_Mail($faqConfig); $mail->subject = 'New phpMyFAQ language file submitted'; $mail->message = sprintf('The file below was sent by %s, which is using phpMyFAQ %s on %s', $user->userdata->get('email'), $faqConfig->get('main.currentVersion'), $_SERVER['HTTP_HOST']); $mail->addTo('*****@*****.**'); $mail->addAttachment($filename, null, 'text/plain'); $response->setData((int) $mail->send()); break; } $response->send();
\$PMF_LANG['metaCharset'] = '%s'; \$PMF_LANG['metaLanguage'] = '%s'; \$PMF_LANG['language'] = '%s'; \$PMF_LANG['dir'] = '%s'; \$PMF_LANG['nplurals'] = '%s'; FILE; $authorTpl = ''; foreach ($author as $authorData) { $authorTpl .= " * @author {$authorData}\n"; } $fileTpl = sprintf($fileTpl, $langDesc, $authorTpl, date('Y-m-d'), $langCode, date('Y'), $langCharset, strtolower($langCode), $langName, $langDir, $langNPlurals); $retval = @file_put_contents(PMF_ROOT_DIR . '/lang/language_' . strtolower($langCode) . '.php', $fileTpl); print intval($retval); break; case 'send_translated_file': $lang = PMF_Filter::filterInput(INPUT_GET, 'translang', FILTER_SANITIZE_STRING); $filename = PMF_ROOT_DIR . "/lang/language_" . $lang . ".php"; if (!file_exists($filename)) { print 0; exit; } $letterTpl = ''; $mail = new PMF_Mail(); $mail->subject = 'New phpMyFAQ language file submitted'; $mail->message = sprintf('The file below was sent by %s, which is using phpMyFAQ %s on %s', $user->userdata->get('email'), PMF_Configuration::getInstance()->get('main.currentVersion'), $_SERVER['HTTP_HOST']); $mail->addTo('*****@*****.**'); $mail->addAttachment($filename, null, 'text/plain'); print (int) $mail->send(); break; }