Skip to content

Commit

Permalink
Dev: Factor out getSQLreminderdelaycondition()
Browse files Browse the repository at this point in the history
  • Loading branch information
olleharstedt committed Feb 13, 2018
1 parent 713143b commit c2a4310
Showing 1 changed file with 33 additions and 18 deletions.
51 changes: 33 additions & 18 deletions application/controllers/admin/tokens.php
Expand Up @@ -1263,28 +1263,12 @@ public function email($iSurveyId)
$aData['ishtml'] = $bHtml;
$iMaxEmails = Yii::app()->getConfig('maxemails');

$SQLemailstatuscondition = $this->getSQLemailstatuscondition();

if (!Yii::app()->request->getPost('ok')) {
$this->showInviteOrReminderEmailForm($iSurveyId, $aSurveyLangs, $aData);
} else {
$SQLemailstatuscondition = $this->getSQLemailstatuscondition();
$SQLremindercountcondition = $this->getSQLremindercountcondition();
$SQLreminderdelaycondition = "";

if (!$bEmail) {

if (Yii::app()->request->getPost('minreminderdelay') &&
Yii::app()->request->getPost('minreminderdelay') != '' &&
intval(Yii::app()->request->getPost('minreminderdelay')) != 0) {
// Yii::app()->request->getPost('minreminderdelay') in days (86400 seconds per day)
$compareddate = dateShift(
date("Y-m-d H:i:s", time() - 86400 * intval(Yii::app()->request->getPost('minreminderdelay'))), "Y-m-d H:i", $timeadjust);
$SQLreminderdelaycondition = " ( "
. " (remindersent = 'N' AND sent < '".$compareddate."') "
. " OR "
. " (remindersent < '".$compareddate."'))";
}
}
$SQLreminderdelaycondition = $this->getSQLreminderdelaycondition($bEmail);

$ctresult = TokenDynamic::model($iSurveyId)->findUninvitedIDs($aTokenIds, 0, $bEmail, $SQLemailstatuscondition, $SQLremindercountcondition, $SQLreminderdelaycondition);
$ctcount = count($ctresult);
Expand Down Expand Up @@ -2545,6 +2529,37 @@ protected function getSQLremindercountcondition()
return $SQLremindercountcondition;
}

/**
* @param boolean $bEmail
* @return string SQL condition
*/
protected function getSQLreminderdelaycondition($bEmail)
{
$SQLreminderdelaycondition = "";
$request = Yii::app()->request;
if (!$bEmail) {
if ($request->getPost('minreminderdelay') &&
$request->getPost('minreminderdelay') != '' &&
intval($request->getPost('minreminderdelay')) != 0) {
// Yii::app()->request->getPost('minreminderdelay') in days (86400 seconds per day)
$timeadjust = Yii::app()->getConfig("timeadjust");
$compareddate = dateShift(
date(
"Y-m-d H:i:s",
time() - 86400 * intval($request->getPost('minreminderdelay'))
),
"Y-m-d H:i",
$timeadjust
);
$SQLreminderdelaycondition = " ( "
. " (remindersent = 'N' AND sent < '".$compareddate."') "
. " OR "
. " (remindersent < '".$compareddate."'))";
}
}
return $SQLreminderdelaycondition;
}

/**
* @return array
*/
Expand Down

0 comments on commit c2a4310

Please sign in to comment.