. */ use Alledia\OSMap\Controller\Form; use Alledia\OSMap\Factory; // phpcs:disable PSR1.Files.SideEffects defined('_JEXEC') or die(); // phpcs:enable PSR1.Files.SideEffects // phpcs:disable PSR1.Classes.ClassDeclaration.MissingNamespace class OSMapControllerSitemapItems extends Form { /** * @inheritDoc */ public function cancel($key = null) { $this->setRedirect('index.php?option=com_osmap&view=sitemaps'); } /** * @inheritDoc * @throws Exception */ public function save($key = null, $urlVar = null) { $this->checkToken(); $app = Factory::getApplication(); $sitemapId = $app->input->getInt('id'); $updateData = $app->input->get('update-data', null, 'raw'); $language = $app->input->getString('language'); $model = $this->getModel(); if ($updateData) { $updateData = json_decode($updateData, true); if ($updateData && is_array($updateData)) { foreach ($updateData as $data) { $row = $model->getTable(); $row->load([ 'sitemap_id' => $sitemapId, 'uid' => $data['uid'], 'settings_hash' => $data['settings_hash'], ]); $data['sitemap_id'] = $sitemapId; $data['format'] = '2'; $row->save($data) . ': ' . print_r($data, 1); } } } if ($this->getTask() === 'apply') { $query = [ 'option' => 'com_osmap', 'view' => 'sitemapitems', 'id' => $sitemapId, ]; if ($language) { $query['lang'] = $language; } $this->setRedirect('index.php?' . http_build_query($query)); } else { $this->setRedirect('index.php?option=com_osmap&view=sitemaps'); } } }