source/Core/Model/MultiLanguageModel.php
protected function _getUpdateFieldsForTable($table, $useSkipSaveFields = true)
    {
        $coreTable = $this->getCoreTableName();

        $skipMultilingual = false;
        $skipCoreFields = false;

        if ($table != $coreTable) {
            $skipCoreFields = true;
        }
        if ($this->_blEmployMultilanguage) {
            if ($table != getLangTableName($coreTable, $this->getLanguage())) {
                $skipMultilingual = true;
            }
        }

        $sql = '';
        $sep = false;
        foreach (array_keys($this->_aFieldNames) as $key) {
            $keyLowercase = strtolower($key);
            if ($keyLowercase != 'oxid') {
                if ($this->_blEmployMultilanguage) {
                    if ($skipMultilingual && $this->isMultilingualField($key)) {
                        continue;
                    }
                    if ($skipCoreFields && !$this->isMultilingualField($key)) {
                        continue;
                    }
                } else {
                    // need to explicitly check field language
                    $fieldLang = $this->_getFieldLang($key);
                    if ($fieldLang) {
                        if ($table != getLangTableName($coreTable, $fieldLang)) {
                            continue;
                        }
                    } elseif ($skipCoreFields) {
                        continue;
                    }
                }
            }

            if (!$this->checkFieldCanBeUpdated($key)) {
                continue;
            }

            $longName = $this->_getFieldLongName($key);
            $field = $this->$longName;

            if (!$useSkipSaveFields || ($useSkipSaveFields && !in_array($keyLowercase, $this->_aSkipSaveFields))) {
                $key = $this->getUpdateSqlFieldName($key);
                $sql .= (($sep) ? ',' : '') . $key . " = " . $this->_getUpdateFieldValue($key, $field);
                $sep = true;
            }
        }

        return $sql;
    }
protected function _getUpdateFieldsForTable($table, $useSkipSaveFields = true)
    {
        $coreTable = $this->getCoreTableName();

        $skipMultilingual = false;
        $skipCoreFields = false;

        if ($table != $coreTable) {
            $skipCoreFields = true;
        }
        if ($this->_blEmployMultilanguage) {
            if ($table != getLangTableName($coreTable, $this->getLanguage())) {
                $skipMultilingual = true;
            }
        }

        $sql = '';
        $sep = false;
        foreach (array_keys($this->_aFieldNames) as $key) {
            $keyLowercase = strtolower($key);
            if ($keyLowercase != 'oxid') {
                if ($this->_blEmployMultilanguage) {
                    if ($skipMultilingual && $this->isMultilingualField($key)) {
                        continue;
                    }
                    if ($skipCoreFields && !$this->isMultilingualField($key)) {
                        continue;
                    }
                } else {
                    // need to explicitly check field language
                    $fieldLang = $this->_getFieldLang($key);
                    if ($fieldLang) {
                        if ($table != getLangTableName($coreTable, $fieldLang)) {
                            continue;
                        }
                    } elseif ($skipCoreFields) {
                        continue;
                    }
                }
            }

            if (!$this->checkFieldCanBeUpdated($key)) {
                continue;
            }

            $longName = $this->_getFieldLongName($key);
            $field = $this->$longName;

            if (!$useSkipSaveFields || ($useSkipSaveFields && !in_array($keyLowercase, $this->_aSkipSaveFields))) {
                $key = $this->getUpdateSqlFieldName($key);
                $sql .= (($sep) ? ',' : '') . $key . " = " . $this->_getUpdateFieldValue($key, $field);
                $sep = true;
            }
        }

        return $sql;
    }
protected function _getUpdateFieldsForTable ( $ table , $ useSkipSaveFields = true ) { $ coreTable = $ this -> getCoreTableName ( ) ; $ skipMultilingual = false ; $ skipCoreFields = false ; if ( $ table != $ coreTable ) { $ skipCoreFields = true ; } if ( $ this -> _blEmployMultilanguage ) { if ( $ table != getLangTableName ( $ coreTable , $ this -> getLanguage ( ) ) ) { $ skipMultilingual = true ; } } $ sql = '' ; $ sep = false ; foreach ( array_keys ( $ this -> _aFieldNames ) as $ key ) { $ keyLowercase = strtolower ( $ key ) ; if ( $ keyLowercase != 'oxid' ) { if ( $ this -> _blEmployMultilanguage ) { if ( $ skipMultilingual && $ this -> isMultilingualField ( $ key ) ) { continue ; } if ( $ skipCoreFields && ! $ this -> isMultilingualField ( $ key ) ) { continue ; } } else { // need to explicitly check field language $ fieldLang = $ this -> _getFieldLang ( $ key ) ; if ( $ fieldLang ) { if ( $ table != getLangTableName ( $ coreTable , $ fieldLang ) ) { continue ; } } elseif ( $ skipCoreFields ) { continue ; } } } if ( ! $ this -> checkFieldCanBeUpdated ( $ key ) ) { continue ; } $ longName = $ this -> _getFieldLongName ( $ key ) ; $ field = $ this -> $ longName ; if ( ! $ useSkipSaveFields || ( $ useSkipSaveFields && ! in_array ( $ keyLowercase , $ this -> _aSkipSaveFields ) ) ) { $ key = $ this -> getUpdateSqlFieldName ( $ key ) ; $ sql .= ( ( $ sep ) ? ',' : '' ) . $ key . " = " . $ this -> _getUpdateFieldValue ( $ key , $ field ) ; $ sep = true ; } } return $ sql ; }
return update fields SQL part

@param string $table             table name to be updated
@param bool   $useSkipSaveFields use skip save fields array?

@return string
return update fields SQL part