function saveAttributeLanguages($data)
 {
     $query = Yii::app()->db->createCommand()->from('{{participant_attribute_names_lang}}')->where('attribute_id = :attribute_id AND lang = :lang')->select('*')->bindParam(":attribute_id", $data['attribute_id'], PDO::PARAM_INT)->bindParam(":lang", $data['lang'], PDO::PARAM_STR)->queryAll();
     if (count($query) == 0) {
         // A record does not exist, insert one.
         $oParticipantAttributeNameLang = new ParticipantAttributeNameLang();
         $oParticipantAttributeNameLang->attribute_id = $data['attribute_id'];
         $oParticipantAttributeNameLang->attribute_name = $data['attribute_name'];
         $oParticipantAttributeNameLang->lang = $data['lang'];
         $oParticipantAttributeNameLang->save();
     } else {
         $oParticipantAttributeNameLang = ParticipantAttributeNameLang::model()->findByPk(array('attribute_id' => $data['attribute_id'], 'lang' => $data['lang']));
         $oParticipantAttributeNameLang->attribute_name = $data['attribute_name'];
         $oParticipantAttributeNameLang->save();
     }
 }
 /**
  * Get an array of CPDB attributes
  * 
  * @param mixed $sLanguageFilter
  */
 function getVisibleAttributes($sLanguageFilter = null)
 {
     if ($sLanguageFilter == null) {
         $sLanguageFilter = Yii::app()->session['adminlang'];
     }
     $output = array();
     //First get all the distinct id's that are visible
     $ids = ParticipantAttributeName::model()->findAll("visible = 'TRUE'");
     //Then find a language for each one - the current $lang, if possible, english second, otherwise, the first in the list
     foreach ($ids as $id) {
         $langs = ParticipantAttributeNameLang::model()->findAll("attribute_id = :attribute_id", array(":attribute_id" => $id->attribute_id));
         $language = null;
         foreach ($langs as $lang) {
             //If we can find a language match, set the language and exit
             if ($lang->lang == $sLanguageFilter) {
                 $language = $lang->lang;
                 $attribute_name = $lang->attribute_name;
                 break;
             }
             if ($lang->lang == "en") {
                 $language = $lang->lang;
                 $attribute_name = $lang->attribute_name;
             }
         }
         if ($language == null) {
             $language = $langs[0]->lang;
             $attribute_name = $langs[0]->attribute_name;
         }
         $output[] = array("attribute_id" => $id->attribute_id, "attribute_type" => $id->attribute_type, "visible" => $id->visible, "attribute_name" => $attribute_name, "lang" => $language);
     }
     return $output;
 }