/** * Populate asset source. * * @param string $assetHandle * @param array $assetSourceDefinition * * @return AssetSourceModel */ private function populateAssetSource($assetHandle, array $assetSourceDefinition) { $assetSource = AssetSourceRecord::model()->findByAttributes(['handle' => $assetHandle]); $assetSource = $assetSource ? AssetSourceModel::populateModel($assetSource) : new AssetSourceModel(); $assetSource->setAttributes(['handle' => $assetHandle, 'type' => $assetSourceDefinition['type'], 'name' => $assetSourceDefinition['name'], 'sortOrder' => $assetSourceDefinition['sortOrder'], 'settings' => $assetSourceDefinition['settings']]); return $assetSource; }
/** * Populate asset source. * * @param string $assetHandle * @param array $assetSourceDefinition * * @return AssetSourceModel */ private function populateAssetSource($assetHandle, array $assetSourceDefinition) { $assetSource = AssetSourceRecord::model()->findByAttributes(['handle' => $assetHandle]); $assetSource = $assetSource ? AssetSourceModel::populateModel($assetSource) : new AssetSourceModel(); $defaultAssetSourceSettings = array('publicURLs' => true); $assetSource->setAttributes(['handle' => $assetHandle, 'type' => $assetSourceDefinition['type'], 'name' => $assetSourceDefinition['name'], 'sortOrder' => $assetSourceDefinition['sortOrder'], 'settings' => array_merge($defaultAssetSourceSettings, $assetSourceDefinition['settings'])]); if (array_key_exists('fieldLayout', $assetSourceDefinition)) { $fieldLayout = Craft::app()->schematic_fields->getFieldLayout($assetSourceDefinition['fieldLayout']); $assetSource->setFieldLayout($fieldLayout); } return $assetSource; }