Craft\EmbeddedAssetsService::saveEmbeddedAsset PHP Method

saveEmbeddedAsset() public method

public saveEmbeddedAsset ( EmbeddedAssetsModel $media, $folderId )
$media EmbeddedAssetsModel
    public function saveEmbeddedAsset(EmbeddedAssetsModel $media, $folderId)
    {
        $event = new Event($this, array('media' => $media));
        // Purify HTML is necessary
        if ($media->html && !$media->safeHtml) {
            $media->safeHtml = $this->_purifier->purify($media->html);
        }
        $this->onBeforeSaveEmbed($event);
        if ($event->performAction) {
            // Create transaction only if this isn't apart of an already occurring transaction
            $transaction = craft()->db->getCurrentTransaction() ? false : craft()->db->beginTransaction();
            try {
                $asset = $this->_storeFile($media, $folderId);
                $asset->getContent()->title = $media->title;
                craft()->assets->storeFile($asset);
                $media->id = $asset->id;
                if ($transaction) {
                    $transaction->commit();
                }
            } catch (\Exception $e) {
                EmbeddedAssetsPlugin::log("Error saving embedded asset (\"{$e->getMessage()}\")", LogLevel::Error);
                if ($transaction) {
                    $transaction->rollback();
                }
                throw $e;
            }
            $cacheKey = EmbeddedAssetsPlugin::getCacheKey();
            craft()->cache->delete($cacheKey);
            $this->onSaveEmbed(new Event($this, array('media' => $media, 'asset' => $asset)));
        }
        return true;
    }