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)); } }