Server IP : 195.201.23.43 / Your IP : 18.218.75.143 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/kdecoratie/public_html/components/com_content/models/ |
Upload File : |
<?php /** * @package Joomla.Site * @subpackage com_content * * @copyright (C) 2009 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\Registry\Registry; use Joomla\Utilities\ArrayHelper; // Base this model on the backend version. JLoader::register('ContentModelArticle', JPATH_ADMINISTRATOR . '/components/com_content/models/article.php'); /** * Content Component Article Model * * @since 1.5 */ class ContentModelForm extends ContentModelArticle { /** * Model typeAlias string. Used for version history. * * @var string */ public $typeAlias = 'com_content.article'; /** * Method to auto-populate the model state. * * Note. Calling getState in this method will result in recursion. * * @return void * * @since 1.6 */ protected function populateState() { $app = JFactory::getApplication(); // Load the parameters. $params = $app->getParams(); $this->setState('params', $params); if ($params && $params->get('enable_category') == 1 && $params->get('catid')) { $catId = $params->get('catid'); } else { $catId = 0; } // Load state from the request. $pk = $app->input->getInt('a_id'); $this->setState('article.id', $pk); $this->setState('article.catid', $app->input->getInt('catid', $catId)); $return = $app->input->get('return', null, 'base64'); $this->setState('return_page', base64_decode($return)); $this->setState('layout', $app->input->getString('layout')); } /** * Method to get article data. * * @param integer $itemId 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 = ArrayHelper::toObject($properties, 'JObject'); // Convert attrib field to Registry. $value->params = new Registry($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 .= '<hr id="system-readmore" />' . $value->fulltext; } // Convert the metadata field to an array. $registry = new Registry($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) { // Associations are not edited in frontend ATM so we have to inherit them if (JLanguageAssociations::isEnabled() && !empty($data['id']) && $associations = JLanguageAssociations::getAssociations('com_content', '#__content', 'com_content.item', $data['id'])) { foreach ($associations as $tag => $associated) { $associations[$tag] = (int) $associated->id; } $data['associations'] = $associations; } return parent::save($data); } /** * Allows preprocessing of the JForm object. * * @param JForm $form The form object * @param array $data The data to be merged into the form object * @param string $group The plugin group to be executed * * @return void * * @since 3.7.0 */ protected function preprocessForm(JForm $form, $data, $group = 'content') { $params = $this->getState()->get('params'); if ($params && $params->get('enable_category') == 1 && $params->get('catid')) { $form->setFieldAttribute('catid', 'default', $params->get('catid')); $form->setFieldAttribute('catid', 'readonly', 'true'); } parent::preprocessForm($form, $data, $group); } }Private