Skip to content

Commit

Permalink
Fixed issue #5858: Incorrect date format on detailed admin notificati…
Browse files Browse the repository at this point in the history
…on email and print answers
  • Loading branch information
c-schmitz committed Mar 16, 2012
1 parent 70e7920 commit b4e3af7
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 15 deletions.
4 changes: 2 additions & 2 deletions application/controllers/admin/surveyadmin.php
Expand Up @@ -489,13 +489,13 @@ public function getSurveys_json()
//!!! Is this even possible to execute?
if (empty(Yii::app()->session['USER_RIGHT_SUPERADMIN']))
$surveys->permission(Yii::app()->user->getId());
$surveys = $surveys->with('languagesettings', 'owner')->findAll();
$surveys = $surveys->with(array('languagesettings'=>array('condition'=>'surveyls_language=language'), 'owner'))->findAll();
$aSurveyEntries = new stdClass();
$aSurveyEntries->page = 1;
foreach ($surveys as $rows)
{
$aSurveyEntry = array();
$rows = array_merge($rows->attributes, $rows->languagesettings->attributes, $rows->owner->attributes);
$rows = array_merge($rows->attributes, $rows->languagesettings[0]->attributes, $rows->owner->attributes);

// Set status
if ($rows['active'] == "Y" && $rows['expires'] != '' && $rows['expires'] < dateShift(date("Y-m-d H:i:s"), "Y-m-d", Yii::app()->getConfig('timeadjust')))
Expand Down
12 changes: 6 additions & 6 deletions application/core/Survey_Common_Action.php
Expand Up @@ -431,9 +431,9 @@ function _questiongroupbar($iSurveyId, $gid, $qid=null, $action = null)
. "<div class='menubar-title ui-widget-header'>\n";

//$sumquery1 = "SELECT * FROM ".db_table_name('surveys')." inner join ".db_table_name('surveys_languagesettings')." on (surveyls_survey_id=sid and surveyls_language=language) WHERE sid=$iSurveyId"; //Getting data for this survey
$sumresult1 = Survey::model()->with('languagesettings')->findByPk($iSurveyId); //$sumquery1, 1) ; //Checked // if surveyid is invalid then die to prevent errors at a later time
$sumresult1 = Survey::model()->with(array('languagesettings'=>array('condition'=>'surveyls_language=language')))->findByPk($iSurveyId); //$sumquery1, 1) ; //Checked // if surveyid is invalid then die to prevent errors at a later time
$surveyinfo = $sumresult1->attributes;
$surveyinfo = array_merge($surveyinfo, $sumresult1->languagesettings->attributes);
$surveyinfo = array_merge($surveyinfo, $sumresult1->languagesettings[0]->attributes);
$surveyinfo = array_map('flattenText', $surveyinfo);
//$surveyinfo = array_map('htmlspecialchars', $surveyinfo);
$aData['activated'] = $activated = $surveyinfo['active'];
Expand Down Expand Up @@ -487,13 +487,13 @@ function _surveybar($iSurveyId, $gid=null)
$condition = array('sid' => $iSurveyId, 'language' => $baselang);

//$sumquery1 = "SELECT * FROM ".db_table_name('surveys')." inner join ".db_table_name('surveys_languagesettings')." on (surveyls_survey_id=sid and surveyls_language=language) WHERE sid=$iSurveyId"; //Getting data for this survey
$sumresult1 = Survey::model()->with('languagesettings')->findByPk($iSurveyId); //$sumquery1, 1) ; //Checked
$sumresult1 = Survey::model()->with(array('languagesettings'=>array('condition'=>'surveyls_language=language')))->findByPk($iSurveyId); //$sumquery1, 1) ; //Checked
if (is_null($sumresult1))
{
die('Invalid survey id');
} // if surveyid is invalid then die to prevent errors at a later time
$surveyinfo = $sumresult1->attributes;
$surveyinfo = array_merge($surveyinfo, $sumresult1->languagesettings->attributes);
$surveyinfo = array_merge($surveyinfo, $sumresult1->languagesettings[0]->attributes);
$surveyinfo = array_map('flattenText', $surveyinfo);
//$surveyinfo = array_map('htmlspecialchars', $surveyinfo);
$activated = ($surveyinfo['active'] == 'Y');
Expand Down Expand Up @@ -629,13 +629,13 @@ function _surveysummary($iSurveyId, $action=null, $gid=null)
$baselang = Survey::model()->findByPk($iSurveyId)->language;
$condition = array('sid' => $iSurveyId, 'language' => $baselang);

$sumresult1 = Survey::model()->with('languagesettings')->findByPk($iSurveyId); //$sumquery1, 1) ; //Checked
$sumresult1 = Survey::model()->with(array('languagesettings'=>array('condition'=>'surveyls_language=language')))->findByPk($iSurveyId); //$sumquery1, 1) ; //Checked
if (is_null($sumresult1))
{
die('Invalid survey id');
} // if surveyid is invalid then die to prevent errors at a later time
$surveyinfo = $sumresult1->attributes;
$surveyinfo = array_merge($surveyinfo, $sumresult1->languagesettings->attributes);
$surveyinfo = array_merge($surveyinfo, $sumresult1->languagesettings[0]->attributes);
$surveyinfo = array_map('flattenText', $surveyinfo);
//$surveyinfo = array_map('htmlspecialchars', $surveyinfo);
$activated = $surveyinfo['active'];
Expand Down
23 changes: 18 additions & 5 deletions application/helpers/common_helper.php
Expand Up @@ -309,20 +309,23 @@ function isStandardTemplate($sTemplateName)
*/
function getSurveyList($returnarray=false, $returnwithouturl=false, $surveyid=false)
{
static $cached = null;
$cached = null;

$timeadjust = getGlobalSetting('timeadjust');
$clang = new Limesurvey_lang(Yii::app()->session['adminlang']);

if(is_null($cached)) {
if (!hasGlobalPermission('USER_RIGHT_SUPERADMIN'))
$surveyidresult = Survey::model()->permission(Yii::app()->user->getId())->with('languagesettings')->findAll();
$surveyidresult = Survey::model()->permission(Yii::app()->user->getId())->with(array('languagesettings'=>array('condition'=>'surveyls_language=language')))->findAll();
else
$surveyidresult = Survey::model()->with('languagesettings')->findAll();
$surveyidresult = Survey::model()->with(array('languagesettings'=>array('condition'=>'surveyls_language=language')))->findAll();

$surveynames = array();
foreach ($surveyidresult as $result)
$surveynames[] = array_merge($result->attributes, $result->languagesettings->attributes);
{
$surveynames[] = array_merge($result->attributes, $result->languagesettings[0]->attributes);

}

$cached = $surveynames;
} else {
Expand Down Expand Up @@ -1866,6 +1869,16 @@ function getExtendedAnswer($surveyid, $action, $fieldcode, $value, $format='')
;
} // switch
}
switch($fieldcode)
{
case 'submitdate':
if (trim($value)!='')
{
$dateformatdetails = getDateFormatDataForQID(array('date_format'=>''), $surveyid);
$value=convertDateTimeFormat($value,"Y-m-d H:i:s",$dateformatdetails['phpdate'].' H:i:s');
}
break;
}
if (isset($this_answer))
{
if ($format != 'INSERTANS')
Expand Down Expand Up @@ -2244,7 +2257,7 @@ function createFieldMap($surveyid, $style='short', $force_refresh=false, $questi
$fieldmap["startdate"]['question']=$clang->gT("Date started");
$fieldmap["startdate"]['group_name']="";
}

$fieldmap["datestamp"]=array("fieldname"=>"datestamp",
'type'=>"datestamp",
'sid'=>$surveyid,
Expand Down
2 changes: 1 addition & 1 deletion application/helpers/surveytranslator_helper.php
Expand Up @@ -645,7 +645,7 @@ function getDateFormatForSID($surveyid, $languagecode='')
}
else
{
$dateformat = $data->read();
$dateformat = (int) $data;
}
return (int) $dateformat;
}
Expand Down
2 changes: 1 addition & 1 deletion application/models/Surveys_languagesettings.php
Expand Up @@ -94,7 +94,7 @@ function getDateFormat($surveyid,$languagecode)
->where('surveyls_language = :langcode')
->bindParam(":langcode", $languagecode, PDO::PARAM_STR)
->bindParam(":surveyid", $surveyid, PDO::PARAM_INT)
->query();
->queryScalar();
}

function getAllSurveys($hasPermission = FALSE)
Expand Down

0 comments on commit b4e3af7

Please sign in to comment.