/** * @param $arrValues * @param null $intFid * @return null */ public static function saveValuesAndReturnFid($arrValues, $intFid = null) { $arrLanguages = self::getTranslationLanguageKeys(); // Check if translation fields should not be empty saved if (!$GLOBALS['TL_CONFIG']['dontfillEmptyTranslationFields']) { // Add fallback text to empty values $arrValues = self::addFallbackValueToEmptyField($arrValues); } if (is_array($arrLanguages) && count($arrLanguages)) { foreach ($arrLanguages as $strLanguage) { // If current fid is correct if (is_numeric($intFid) && $intFid > 0) { // Get existing translation object by fid $objTranslation = \TranslationFieldsModel::findOneByFidAndLanguage($intFid, $strLanguage); // Get new translation object by fid if ($objTranslation === null) { // Create translation object $objTranslation = new \TranslationFieldsModel(); $objTranslation->language = $strLanguage; $objTranslation->fid = $intFid; } } // Get new translation object with new fid if ($objTranslation === null) { // Get next fid $intFid = \TranslationFieldsModel::getNextFid(); // Create translation object $objTranslation = new \TranslationFieldsModel(); $objTranslation->language = $strLanguage; $objTranslation->fid = $intFid; } // Set content value $objTranslation->content = $arrValues[$strLanguage]; // Set current timestamp $objTranslation->tstamp = time(); // Save $objTranslation->save(); } } return $intFid; }