diff --git a/administrator/components/com_users/Model/NotesModel.php b/administrator/components/com_users/Model/NotesModel.php index a0da1a65a6ff4..b32c6dae2e138 100644 --- a/administrator/components/com_users/Model/NotesModel.php +++ b/administrator/components/com_users/Model/NotesModel.php @@ -117,7 +117,7 @@ protected function getListQuery() { $query->where('a.state = ' . (int) $published); } - elseif ($published === '') + elseif ($published !== '*') { $query->where('(a.state IN (0, 1))'); } diff --git a/administrator/components/com_users/Table/NoteTable.php b/administrator/components/com_users/Table/NoteTable.php index a82c3fe9da498..70c560b25ac65 100644 --- a/administrator/components/com_users/Table/NoteTable.php +++ b/administrator/components/com_users/Table/NoteTable.php @@ -35,6 +35,8 @@ public function __construct(DatabaseDriver $db) { $this->typeAlias = 'com_users.note'; parent::__construct('#__user_notes', 'id', $db); + + $this->setColumnAlias('published', 'state'); } /** @@ -74,97 +76,6 @@ public function store($updateNulls = false) return parent::store($updateNulls); } - /** - * Method to set the publishing state for a row or list of rows in the database - * table. The method respects checked out rows by other users and will attempt - * to check-in rows that it can after adjustments are made. - * - * @param mixed $pks An optional array of primary key values to update. If not set the instance property value is used. - * @param integer $state The publishing state. eg. [0 = unpublished, 1 = published] - * @param integer $userId The user id of the user performing the operation. - * - * @return boolean True on success. - * - * @since 2.5 - */ - public function publish($pks = null, $state = 1, $userId = 0) - { - $k = $this->getPrimaryKey(); - - // Sanitize input. - $pks = ArrayHelper::toInteger($pks); - $userId = (int) $userId; - $state = (int) $state; - - // If there are no primary keys set check to see if the instance key is set. - if (empty($pks)) - { - if ($this->$k) - { - $pks = array($this->$k); - } - // Nothing to set publishing state on, return false. - else - { - $this->setError(Text::_('JLIB_DATABASE_ERROR_NO_ROWS_SELECTED')); - - return false; - } - } - - $query = $this->getDbo()->getQuery(true) - ->update($this->getDbo()->quoteName($this->_tbl)) - ->set($this->getDbo()->quoteName('state') . ' = ' . (int) $state); - - // Build the WHERE clause for the primary keys. - $query->where($k . '=' . implode(' OR ' . $k . '=', $pks)); - - // Determine if there is checkin support for the table. - if (!$this->hasField('checked_out') || !$this->hasField('checked_out_time')) - { - $checkin = false; - } - else - { - $query->where('(checked_out = 0 OR checked_out = ' . (int) $userId . ')'); - $checkin = true; - } - - // Update the publishing state for rows with the given primary keys. - $this->getDbo()->setQuery($query); - - try - { - $this->getDbo()->execute(); - } - catch (\RuntimeException $e) - { - $this->setError($this->getDbo()->getMessage()); - - return false; - } - - // If checkin is supported and all rows were adjusted, check them in. - if ($checkin && (count($pks) == $this->getDbo()->getAffectedRows())) - { - // Checkin the rows. - foreach ($pks as $pk) - { - $this->checkin($pk); - } - } - - // If the \JTable instance value is in the list of primary keys that were set, set the instance. - if (in_array($this->$k, $pks)) - { - $this->state = $state; - } - - $this->setError(''); - - return true; - } - /** * Method to perform sanity checks on the Table instance properties to ensure they are safe to store in the database. *