/** * @param SproutSeo_SitemapModel $attributes * * @return mixed|null|string */ public function saveSitemap(SproutSeo_SitemapModel $attributes) { $row = array(); $isNew = false; if (isset($attributes->id) && substr($attributes->id, 0, 3) === "new") { $isNew = true; } if (!$isNew) { $row = craft()->db->createCommand()->select('*')->from('sproutseo_sitemap')->where('id=:id', array(':id' => $attributes->id))->queryRow(); } $model = SproutSeo_SitemapModel::populateModel($row); $model->id = !$isNew ? $attributes->id : null; $model->sectionId = isset($attributes->sectionId) ? $attributes->sectionId : null; $model->url = isset($attributes->url) ? $attributes->url : null; $model->priority = $attributes->priority; $model->changeFrequency = $attributes->changeFrequency; $model->enabled = $attributes->enabled == 'true' ? 1 : 0; $model->ping = $attributes->ping == 'true' ? 1 : 0; $model->dateUpdated = DateTimeHelper::currentTimeForDb(); $model->uid = StringHelper::UUID(); if ($isNew) { $model->dateCreated = DateTimeHelper::currentTimeForDb(); craft()->db->createCommand()->insert('sproutseo_sitemap', $model->getAttributes()); return craft()->db->lastInsertID; } else { $result = craft()->db->createCommand()->update('sproutseo_sitemap', $model->getAttributes(), 'id=:id', array(':id' => $model->id)); return $model->id; } }
/** * Save Sitemap Info to the Database * * @return mixed Return to Page */ public function actionSaveSitemap() { $this->requireAjaxRequest(); $sitemapSettings['id'] = craft()->request->getPost('id'); $sitemapSettings['sectionId'] = craft()->request->getPost('sectionId'); $sitemapSettings['url'] = craft()->request->getPost('url'); $sitemapSettings['priority'] = craft()->request->getRequiredPost('priority'); $sitemapSettings['changeFrequency'] = craft()->request->getRequiredPost('changeFrequency'); $sitemapSettings['enabled'] = craft()->request->getRequiredPost('enabled'); $sitemapSettings['ping'] = craft()->request->getPost('ping'); $model = SproutSeo_SitemapModel::populateModel($sitemapSettings); $lastInsertId = sproutSeo()->sitemap->saveSitemap($model); $this->returnJson(array('lastInsertId' => $lastInsertId)); }