input->getInt('a_id'); $this->setState('article.id', $pk); $this->setState('article.catid', $app->input->getInt('catid')); $return = $app->input->get('return', null, 'base64'); $this->setState('return_page', base64_decode($return)); // Load the parameters. $params = $app->getParams(); $this->setState('params', $params); $this->setState('layout', $app->input->get('layout')); } /** * Method to get article data. * * @param integer The id of the article. * * @return mixed Content item data object on success, false on failure. */ public function getItem($itemId = null) { $itemId = (int) (!empty($itemId)) ? $itemId : $this->getState('article.id'); // Get a row instance. $table = $this->getTable(); // Attempt to load the row. $return = $table->load($itemId); // Check for a table object error. if ($return === false && $table->getError()) { $this->setError($table->getError()); return false; } $properties = $table->getProperties(1); $value = JArrayHelper::toObject($properties, 'JObject'); // Convert attrib field to Registry. $value->params = new JRegistry; $value->params->loadString($value->attribs); // Compute selected asset permissions. $user = JFactory::getUser(); $userId = $user->get('id'); $asset = 'com_content.article.'. $value->id; // Check general edit permission first. if ($user->authorise('core.edit', $asset)) { $value->params->set('access-edit', true); } // Now check if edit.own is available. elseif (!empty($userId) && $user->authorise('core.edit.own', $asset)) { // Check for a valid user and that they are the owner. if ($userId == $value->created_by) { $value->params->set('access-edit', true); } } // Check edit state permission. if ($itemId) { // Existing item $value->params->set('access-change', $user->authorise('core.edit.state', $asset)); } else { // New item. $catId = (int) $this->getState('article.catid'); if ($catId) { $value->params->set('access-change', $user->authorise('core.edit.state', 'com_content.category.'.$catId)); $value->catid = $catId; } else { $value->params->set('access-change', $user->authorise('core.edit.state', 'com_content')); } } $value->articletext = $value->introtext; if (!empty($value->fulltext)) { $value->articletext .= '
'.$value->fulltext; } // Convert the metadata field to an array. $registry = new JRegistry; $registry->loadString($value->metadata); $value->metadata = $registry->toArray(); if ($itemId) { $value->tags = new JHelperTags; $value->tags->getTagIds($value->id, 'com_content.article'); $value->metadata['tags'] = $value->tags; } return $value; } /** * Get the return URL. * * @return string The return URL. * @since 1.6 */ public function getReturnPage() { return base64_encode($this->getState('return_page')); } /** * Method to save the form data. * * @param array $data The form data. * * @return boolean True on success. * * @since 3.2 */ public function save($data) { // Prevent deleting multilang associations $app = JFactory::getApplication(); $assoc = isset($app->item_associations) ? $app->item_associations : 0; $app->item_associations = 0; $result = parent::save($data); $app->item_associations = $assoc; return $result; } }