public function saveElements() { // check for request forgeries YRequest::checkToken() or jexit('Invalid Token'); // init vars $post = YRequest::get('post'); $cid = YRequest::getArray('cid.0', '', 'string'); try { // get type $type = $this->application->getType($cid); // save elements ElementHelper::saveElements($post, $type); // save type $type->save(); // reset related item search data $table = YTable::getInstance('item'); $items = $table->getByType($type->id, $this->application->id); foreach ($items as $item) { $table->save($item); } $msg = JText::_('Elements Saved'); } catch (YException $e) { JError::raiseNotice(0, JText::_('Error Saving Elements') . ' (' . $e . ')'); $this->_task = 'applyelements'; $msg = null; } switch ($this->getTask()) { case 'applyelements': $link = $this->baseurl . '&task=editelements&cid[]=' . $type->id; break; case 'saveelements': default: $link = $this->baseurl . '&task=types'; break; } $this->setRedirect($link, $msg); }