/** * @see DataObject::hasData() */ function hasData($key, $locale = null) { // Internal settings will only be checked locally. if (in_array($key, $this->getInternalSettings())) { return parent::hasData($key); } // Now try local settings. if (parent::hasData($key, $locale)) { return true; } // If nothing is found we try sub-filter settings. $compositeSettingName = $this->_getCompositeSettingName($key); if (is_null($compositeSettingName)) { return false; } list($filter, $settingName) = $this->_resolveCompositeSettingName($compositeSettingName); return $filter->hasData($settingName, $locale); }