Skip to content

Commit

Permalink
Fixed issue #7237: Survey cannot be translated
Browse files Browse the repository at this point in the history
  • Loading branch information
c-schmitz committed Jan 29, 2013
1 parent 6be979d commit 5c2dbc6
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 10 deletions.
38 changes: 28 additions & 10 deletions application/controllers/admin/checkintegrity.php
Expand Up @@ -32,6 +32,7 @@ public function __construct($controller, $id)
}

Yii::app()->loadHelper('database');
Yii::app()->loadHelper('surveytranslator');
}

public function index()
Expand Down Expand Up @@ -556,21 +557,38 @@ protected function _checkintegrity()
}
}

/**********************************************************************/
/* Check surveys */
/**********************************************************************/
/***************************************************************************/
/* Check survey languagesettings and restore them if they don't exist */
/***************************************************************************/

$surveys = Survey::model()->findAll();
if (Survey::model()->hasErrors()) safeDie(Survey::model()->getError());
foreach ($surveys as $survey)
{
$criteria = new CDbCriteria;
$criteria->compare('surveyls_survey_id', $survey['sid']);
$iSurveyLangSettingsCount = count(Surveys_languagesettings::model()->findAll($criteria));
if (Surveys_languagesettings::model()->hasErrors()) safeDie(Surveys_languagesettings::model()->getError());
if (!$iSurveyLangSettingsCount) {
$aDelete['surveys'][] = array('sid' => $survey['sid'], 'reason' => $clang->gT('Language specific settings missing'));
$aLanguages=$survey->additionalLanguages;
$aLanguages[]=$survey->language;
foreach ($aLanguages as $langname)
{
if ($langname)
{
$oLanguageSettings = Surveys_languagesettings::model()->find('surveyls_survey_id=:surveyid AND surveyls_language=:langname', array(':surveyid'=>$survey->sid,':langname'=>$langname));
if(!$oLanguageSettings)
{
$oLanguageSettings= new Surveys_languagesettings;
$languagedetails=getLanguageDetails($langname);
$insertdata = array(
'surveyls_survey_id' => $survey->sid,
'surveyls_language' => $langname,
'surveyls_title' => '',
'surveyls_dateformat' => $languagedetails['dateformat']
);
foreach ($insertdata as $k => $v)
$oLanguageSettings->$k = $v;
$usresult=$oLanguageSettings->save();
}
}
}
}


/**********************************************************************/
/* Check survey language settings */
Expand Down
1 change: 1 addition & 0 deletions application/controllers/admin/database.php
Expand Up @@ -1110,6 +1110,7 @@ function index($sa = null)
$insertdata = array(
'surveyls_survey_id' => $surveyid,
'surveyls_language' => $langname,
'surveyls_title' => '',
'surveyls_dateformat' => $languagedetails['dateformat']
);
foreach ($insertdata as $k => $v)
Expand Down

0 comments on commit 5c2dbc6

Please sign in to comment.