Craft\SeomaticController::actionSaveMeta PHP Method

actionSaveMeta() public method

* -------------------------------------------------------------------------------- Save a meta --------------------------------------------------------------------------------
public actionSaveMeta ( )
    public function actionSaveMeta()
    {
        $this->requirePostRequest();
        $metaId = craft()->request->getPost('metaId');
        $locale = craft()->request->getPost('locale');
        /*
        $elementId = craft()->request->getPost('elementId');
        */
        if ($metaId) {
            $model = craft()->seomatic->getMetaById($metaId, $locale);
            if (!$model) {
                /*
                $model = new Seomatic_MetaModel();
                $elementId = $metaId;
                */
                throw new Exception(Craft::t('No meta exists with the ID “{id}”', array('id' => $metaId)));
            }
        } else {
            $model = new Seomatic_MetaModel();
        }
        /* -- Set the Meta attributes, defaulting to the existing values for whatever is missing from the post data */
        $model->locale = craft()->request->getPost('locale', $locale);
        $model->elementId = $metaId;
        $model->metaType = craft()->request->getPost('metaType', $model->metaType);
        $model->metaPath = craft()->request->getPost('metaPath', $model->metaPath);
        $model->seoMainEntityCategory = craft()->request->getPost('seoMainEntityCategory', $model->seoMainEntityCategory);
        $model->seoMainEntityOfPage = craft()->request->getPost('seoMainEntityOfPage', $model->seoMainEntityOfPage);
        $model->seoTitle = craft()->request->getPost('seoTitle', $model->seoTitle);
        $model->seoDescription = craft()->request->getPost('seoDescription', $model->seoDescription);
        $model->seoKeywords = craft()->request->getPost('seoKeywords', $model->seoKeywords);
        $model->seoImageTransform = craft()->request->getPost('seoImageTransform', $model->seoImageTransform);
        $model->seoFacebookImageTransform = craft()->request->getPost('seoFacebookImageTransform', $model->seoFacebookImageTransform);
        $model->seoTwitterImageTransform = craft()->request->getPost('seoTwitterImageTransform', $model->seoTwitterImageTransform);
        $model->twitterCardType = craft()->request->getPost('twitterCardType', $model->twitterCardType);
        $model->openGraphType = craft()->request->getPost('openGraphType', $model->openGraphType);
        $model->robots = craft()->request->getPost('robots', $model->robots);
        $model->seoImageId = craft()->request->getPost('seoImageId', $model->seoImageId);
        $model->seoTwitterImageId = craft()->request->getPost('seoTwitterImageId', $model->seoTwitterImageId);
        $model->seoFacebookImageId = craft()->request->getPost('seoFacebookImageId', $model->seoFacebookImageId);
        $model->enabled = (bool) craft()->request->getPost('enabled', $model->enabled);
        $model->getContent()->title = craft()->request->getPost('title', $model->title);
        if (craft()->seomatic->saveMeta($model)) {
            craft()->userSession->setNotice(Craft::t('SEOmatic Meta saved.'));
            $this->redirectToPostedUrl($model);
        } else {
            craft()->userSession->setError(Craft::t('Couldn’t save SEOmatic Meta.'));
            /* -- Send the Meta back to the template */
            craft()->urlManager->setRouteVariables(array('meta' => $meta));
        }
    }