Craft\SeomaticController::actionEditMeta PHP Method

actionEditMeta() public method

* -------------------------------------------------------------------------------- Edit a template Meta --------------------------------------------------------------------------------
public actionEditMeta ( array $variables = [] )
$variables array
    public function actionEditMeta(array $variables = array())
    {
        if (isset($variables['locale'])) {
            $locale = $variables['locale'];
        } else {
            $locale = craft()->language;
        }
        $siteMeta = craft()->seomatic->getSiteMeta($locale);
        $titleLength = craft()->config->get("maxTitleLength", "seomatic");
        if ($siteMeta['siteSeoTitlePlacement'] == "none") {
            $variables['titleLength'] = $titleLength;
        } else {
            $variables['titleLength'] = $titleLength - strlen(" | ") - strlen($siteMeta['siteSeoName']);
        }
        if (empty($variables['meta'])) {
            if (!empty($variables['metaId'])) {
                $variables['meta'] = craft()->seomatic->getMetaById($variables['metaId'], $locale);
                /* -- If we have a metaId but nothing is returned for that locale, make a new element/record using that elementId */
                if (!$variables['meta']) {
                    /*
                    $variables['meta'] = new Seomatic_MetaModel();
                    $variables['meta']['locale'] = $locale;
                    $variables['meta']['elementId'] = $variables['metaId'];
                    */
                    throw new HttpException(404);
                }
            } else {
                $variables['meta'] = new Seomatic_MetaModel();
                $variables['meta']['locale'] = $locale;
            }
        }
        // Whether any assets sources exist
        $sources = craft()->assets->findFolders();
        $variables['assetsSourceExists'] = count($sources);
        $variables['transformsList'] = craft()->seomatic->getTransformsList();
        // URL to create a new assets source
        $variables['newAssetsSourceUrl'] = UrlHelper::getUrl('settings/assets/sources/new');
        // Set asset ID
        $variables['seoImageId'] = $variables['meta']->seoImageId;
        // Set asset elements
        if ($variables['seoImageId']) {
            if (is_array($variables['seoImageId'])) {
                $variables['seoImageId'] = $variables['seoImageId'][0];
            }
            $asset = craft()->elements->getElementById($variables['seoImageId']);
            $variables['elements'] = array($asset);
        } else {
            $variables['elements'] = array();
        }
        // Set asset ID
        $variables['seoTwitterImageId'] = $variables['meta']->seoTwitterImageId;
        // Set asset elements
        if ($variables['seoTwitterImageId']) {
            if (is_array($variables['seoTwitterImageId'])) {
                $variables['seoTwitterImageId'] = $variables['seoTwitterImageId'][0];
            }
            $asset = craft()->elements->getElementById($variables['seoTwitterImageId']);
            $variables['elementsTwitter'] = array($asset);
        } else {
            $variables['elementsTwitter'] = array();
        }
        // Set asset ID
        $variables['seoFacebookImageId'] = $variables['meta']->seoFacebookImageId;
        // Set asset elements
        if ($variables['seoFacebookImageId']) {
            if (is_array($variables['seoFacebookImageId'])) {
                $variables['seoFacebookImageId'] = $variables['seoFacebookImageId'][0];
            }
            $asset = craft()->elements->getElementById($variables['seoFacebookImageId']);
            $variables['elementsFacebook'] = array($asset);
        } else {
            $variables['elementsFacebook'] = array();
        }
        // Set element type
        $variables['elementType'] = craft()->elements->getElementType(ElementType::Asset);
        // Tabs
        $variables['tabs'] = array();
        if (!$variables['meta']->id) {
            $variables['title'] = Craft::t('Untitled Meta');
        } else {
            $variables['title'] = $variables['meta']->title;
        }
        // Breadcrumbs
        $variables['crumbs'] = array(array('label' => Craft::t('SEO Template Meta'), 'url' => UrlHelper::getUrl('seomatic/meta')));
        // Set the "Continue Editing" URL
        $variables['continueEditingUrl'] = 'seomatic/meta/{id}/{locale}';
        // Render the template!
        $this->renderTemplate('seomatic/meta/_edit', $variables);
    }