예제 #1
0
 /**
  * send email to Piwik team and display nice thanks
  */
 function sendFeedback()
 {
     $email = Piwik_Common::getRequestVar('email', '', 'string');
     $body = Piwik_Common::getRequestVar('body', '', 'string');
     $category = Piwik_Common::getRequestVar('category', '', 'string');
     $nonce = Piwik_Common::getRequestVar('nonce', '', 'string');
     $view = Piwik_View::factory('sent');
     $view->feedbackEmailAddress = Zend_Registry::get('config')->General->feedback_email_address;
     try {
         $minimumBodyLength = 35;
         if (strlen($body) < $minimumBodyLength) {
             throw new Exception(Piwik_TranslateException('Feedback_ExceptionBodyLength', array($minimumBodyLength)));
         }
         if (!Piwik::isValidEmailString($email)) {
             throw new Exception(Piwik_TranslateException('UsersManager_ExceptionInvalidEmail'));
         }
         if (preg_match('/https?:/i', $body)) {
             throw new Exception(Piwik_TranslateException('Feedback_ExceptionNoUrls'));
         }
         if (!Piwik_Nonce::verifyNonce('Piwik_Feedback.sendFeedback', $nonce)) {
             throw new Exception(Piwik_TranslateException('General_ExceptionNonceMismatch'));
         }
         Piwik_Nonce::discardNonce('Piwik_Feedback.sendFeedback');
         $mail = new Piwik_Mail();
         $mail->setFrom(Piwik_Common::unsanitizeInputValue($email));
         $mail->addTo($view->feedbackEmailAddress, 'Piwik Team');
         $mail->setSubject('[ Feedback form - Piwik ] ' . $category);
         $mail->setBodyText(Piwik_Common::unsanitizeInputValue($body) . "\n" . 'Piwik ' . Piwik_Version::VERSION . "\n" . 'IP: ' . Piwik_Common::getIpString() . "\n" . 'URL: ' . Piwik_Url::getReferer() . "\n");
         @$mail->send();
     } catch (Exception $e) {
         $view->ErrorString = $e->getMessage();
         $view->message = $body;
     }
     echo $view->render();
 }
예제 #2
0
 /**
  * send email to Piwik team and display nice thanks
  */
 function sendFeedback()
 {
     $body = Piwik_Common::getRequestVar('body', '', 'string');
     $email = Piwik_Common::getRequestVar('email', '', 'string');
     $view = new Piwik_View('Feedback/templates/sent.tpl');
     try {
         $minimumBodyLength = 35;
         if (strlen($body) < $minimumBodyLength) {
             throw new Exception(sprintf("Message must be at least %s characters long.", $minimumBodyLength));
         }
         if (!Piwik::isValidEmailString($email)) {
             throw new Exception(Piwik_Translate('UsersManager_ExceptionInvalidEmail'));
         }
         if (strpos($body, 'http://') !== false) {
             throw new Exception("The message cannot contain a URL, to avoid spams messages.");
         }
         $mail = new Piwik_Mail();
         $mail->setFrom($email);
         $mail->addTo('*****@*****.**', 'Piwik Team');
         $mail->setSubject('[ Feedback form - Piwik ]');
         $mail->setBodyText($body);
         @$mail->send();
     } catch (Exception $e) {
         $view->ErrorString = $e->getMessage();
         $view->message = $body;
     }
     echo $view->render();
 }
예제 #3
0
파일: API.php 프로젝트: nnnnathann/piwik
 private function checkEmail($email)
 {
     if ($this->userEmailExists($email)) {
         throw new Exception(Piwik_TranslateException('UsersManager_ExceptionEmailExists', $email));
     }
     if (!Piwik::isValidEmailString($email)) {
         throw new Exception(Piwik_TranslateException('UsersManager_ExceptionInvalidEmail'));
     }
 }
예제 #4
0
 private function checkAdditionalEmails($additionalEmails)
 {
     if (empty($additionalEmails)) {
         return '';
     }
     $additionalEmails = self::getEmailsFromString($additionalEmails);
     foreach ($additionalEmails as &$email) {
         $email = trim($email);
         if (!Piwik::isValidEmailString($email)) {
             throw new Exception(Piwik_TranslateException('UsersManager_ExceptionInvalidEmail') . ' (' . $email . ')');
         }
     }
     $additionalEmails = implode(',', $additionalEmails);
     return $additionalEmails;
 }
예제 #5
0
	function validateOwner()
	{
		return Piwik::isValidEmailString($this->owner->getValue());
	}
예제 #6
0
function Piwik_Form_isValidEmailString($element, $value)
{
    return Piwik::isValidEmailString($value);
}
예제 #7
0
 private static function checkAdditionalEmails($additionalEmails)
 {
     foreach ($additionalEmails as &$email) {
         $email = trim($email);
         if (!Piwik::isValidEmailString($email)) {
             throw new Exception(Piwik_TranslateException('UsersManager_ExceptionInvalidEmail') . ' (' . $email . ')');
         }
     }
     return $additionalEmails;
 }
예제 #8
0
파일: API.php 프로젝트: klando/pgpiwik
 private static function checkEmail($email)
 {
     if (self::userEmailExists($email)) {
         throw new Exception(sprintf(Piwik_TranslateException('UsersManager_ExceptionEmailExists'), $email));
     }
     if (!Piwik::isValidEmailString($email)) {
         throw new Exception(Piwik_TranslateException('UsersManager_ExceptionInvalidEmail'));
     }
 }