diff --git a/application/controllers/admin/database.php b/application/controllers/admin/database.php
index d080f9b542f..92983f79a07 100644
--- a/application/controllers/admin/database.php
+++ b/application/controllers/admin/database.php
@@ -1016,9 +1016,7 @@ function index($sa = null)
}
$updatearray= array('admin'=> Yii::app()->request->getPost('admin'),
'expires'=>$expires,
- 'adminemail'=> Yii::app()->request->getPost('adminemail'),
'startdate'=>$startdate,
- 'bounce_email'=> Yii::app()->request->getPost('bounce_email'),
'anonymized'=> Yii::app()->request->getPost('anonymized'),
'faxto'=> Yii::app()->request->getPost('faxto'),
'format'=> Yii::app()->request->getPost('format'),
@@ -1059,6 +1057,24 @@ function index($sa = null)
'googleanalyticsstyle'=>trim(Yii::app()->request->getPost('googleanalyticsstyle')),
'tokenlength'=>$tokenlength
);
+
+
+ $warning = '';
+ // make sure we only update admin email if it is valid
+ if (validateEmailAddress(Yii::app()->request->getPost('adminemail'))
+ || empty(Yii::app()->request->getPost('adminemail'))) {
+ $updatearray['adminemail'] = Yii::app()->request->getPost('adminemail');
+ } else {
+ $warning .= $clang->gT("Warning! Notification email was not updated because it was not valid.").'
';
+ }
+ // make sure we only update bounce email if it is valid
+ if (validateEmailAddress(Yii::app()->request->getPost('bounce_email'))
+ || empty(Yii::app()->request->getPost('bounce_email'))) {
+ $updatearray['bounce_email'] = Yii::app()->request->getPost('bounce_email');
+ } else {
+ $warning .= $clang->gT("Warning! Bounce email was not updated because it was not valid.").'
';
+ }
+
// use model
$Survey=Survey::model()->findByPk($surveyid);
foreach ($updatearray as $k => $v)
@@ -1106,7 +1122,7 @@ function index($sa = null)
if ($usresult)
{
- Yii::app()->session['flashmessage'] = $clang->gT("Survey settings were successfully saved.");
+ Yii::app()->session['flashmessage'] = $warning.$clang->gT("Survey settings were successfully saved.");
}
else
{
diff --git a/application/controllers/admin/globalsettings.php b/application/controllers/admin/globalsettings.php
index 46ff6b498d4..c037bafbff5 100644
--- a/application/controllers/admin/globalsettings.php
+++ b/application/controllers/admin/globalsettings.php
@@ -166,8 +166,18 @@ private function _saveSettings()
setGlobalSetting('emailsmtpdebug', sanitize_int(Yii::app()->request->getPost('emailsmtpdebug','0')));
setGlobalSetting('emailsmtpuser', strip_tags(returnGlobal('emailsmtpuser')));
setGlobalSetting('filterxsshtml', strip_tags($_POST['filterxsshtml']));
+ $warning = '';
+ // make sure emails are valid before saving them
+ if (validateEmailAddress($_POST['siteadminbounce']) || empty($_POST['siteadminbounce'])) {
setGlobalSetting('siteadminbounce', strip_tags($_POST['siteadminbounce']));
+ } else {
+ $warning .= $clang->gT("Warning! Admin bounce email was not saved because it was not valid.").'
';
+ }
+ if (validateEmailAddress($_POST['siteadminemail']) || empty($_POST['siteadminemail'])) {
setGlobalSetting('siteadminemail', strip_tags($_POST['siteadminemail']));
+ } else {
+ $warning .= $clang->gT("Warning! Admin email was not saved because it was not valid.").'
';
+ }
setGlobalSetting('siteadminname', strip_tags($_POST['siteadminname']));
setGlobalSetting('shownoanswer', sanitize_int($_POST['shownoanswer']));
setGlobalSetting('showxquestions', ($_POST['showxquestions']));
@@ -195,7 +205,7 @@ private function _saveSettings()
setGlobalSetting('timeadjust', $savetime);
setGlobalSetting('usercontrolSameGroupPolicy', strip_tags($_POST['usercontrolSameGroupPolicy']));
- Yii::app()->session['flashmessage'] = $clang->gT("Global settings were saved.");
+ Yii::app()->session['flashmessage'] = $warning.$clang->gT("Global settings were saved.");
$url = htmlspecialchars_decode(Yii::app()->session['refurl']);
if($url){Yii::app()->getController()->redirect($url);}
diff --git a/application/controllers/admin/surveyadmin.php b/application/controllers/admin/surveyadmin.php
index bda1bbb71dd..d4098507f42 100644
--- a/application/controllers/admin/surveyadmin.php
+++ b/application/controllers/admin/surveyadmin.php
@@ -1546,8 +1546,6 @@ function insert($iSurveyID=null)
'owner_id' => Yii::app()->session['loginID'],
'admin' => $_POST['admin'],
'active' => 'N',
- 'adminemail' => $_POST['adminemail'],
- 'bounce_email' => $_POST['bounce_email'],
'anonymized' => $_POST['anonymized'],
'faxto' => $_POST['faxto'],
'format' => $_POST['format'],
@@ -1585,6 +1583,20 @@ function insert($iSurveyID=null)
'tokenlength' => $_POST['tokenlength']
);
+ $warning = '';
+ // make sure we only update emails if they are valid
+ if (validateEmailAddress($_POST['adminemail']) || empty($_POST['adminemail'])) {
+ $aInsertData['adminemail'] = $_POST['adminemail'];
+ } else {
+ $aInsertData['adminemail'] = '';
+ $warning .= $this->getController()->lang->gT("Warning! Notification email was not updated because it was not valid.").'
';
+ }
+ if (validateEmailAddress($_POST['bounce_email']) || empty($_POST['bounce_email'])) {
+ $aInsertData['bounce_email'] = $_POST['bounce_email'];
+ } else {
+ $aInsertData['bounce_email'] = '';
+ $warning .= $this->getController()->lang->gT("Warning! Bounce email was not updated because it was not valid.").'
';
+ }
if (!is_null($iSurveyID))
{
@@ -1636,7 +1648,7 @@ function insert($iSurveyID=null)
$langsettings = new Surveys_languagesettings;
$langsettings->insertNewSurvey($aInsertData);
- Yii::app()->session['flashmessage'] = $this->getController()->lang->gT("Survey was successfully added.");
+ Yii::app()->session['flashmessage'] = $warning.$this->getController()->lang->gT("Survey was successfully added.");
// Update survey permissions
Survey_permissions::model()->giveAllSurveyPermissions(Yii::app()->session['loginID'], $iNewSurveyid);