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