From 43e7d34e82055c7ea01ae2c65791f86fdab5dbab Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Tue, 15 Oct 2024 17:59:12 +0200 Subject: [PATCH 01/14] Changes we can make with 5.3 --- .../src/Controller/ActionlogsController.php | 19 ++-- .../src/Field/LogcreatorField.php | 11 ++- .../src/Field/LogsdaterangeField.php | 2 +- .../src/Helper/ActionlogsHelper.php | 52 ++++++----- .../src/Model/ActionlogsModel.php | 87 ++++++++++++------- .../src/View/Actionlogs/HtmlView.php | 27 +++--- 6 files changed, 123 insertions(+), 75 deletions(-) diff --git a/administrator/components/com_actionlogs/src/Controller/ActionlogsController.php b/administrator/components/com_actionlogs/src/Controller/ActionlogsController.php index 80873249fb37a..3bb94a507fadc 100644 --- a/administrator/components/com_actionlogs/src/Controller/ActionlogsController.php +++ b/administrator/components/com_actionlogs/src/Controller/ActionlogsController.php @@ -1,11 +1,11 @@ - * @license GNU General Public License version 2 or later; see LICENSE.txt + * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Component\Actionlogs\Administrator\Controller; @@ -14,13 +14,13 @@ use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\Date\Date; use Joomla\CMS\Event\ActionLog\AfterLogExportEvent; -use Joomla\CMS\Input\Input; use Joomla\CMS\Language\Text; use Joomla\CMS\MVC\Controller\AdminController; use Joomla\CMS\MVC\Factory\MVCFactoryInterface; use Joomla\CMS\Router\Route; use Joomla\Component\Actionlogs\Administrator\Helper\ActionlogsHelper; use Joomla\Component\Actionlogs\Administrator\Model\ActionlogsModel; +use Joomla\Input\Input; use Joomla\Utilities\ArrayHelper; // phpcs:disable PSR1.Files.SideEffects @@ -38,15 +38,15 @@ class ActionlogsController extends AdminController * Constructor. * * @param array $config An optional associative array of configuration settings. - * Recognized key values include 'name', 'default_task', 'model_path', and - * 'view_path' (this list is not meant to be comprehensive). + * Recognized key values include 'name', 'default_task', 'model_path', and + * 'view_path' (this list is not meant to be comprehensive). * @param ?MVCFactoryInterface $factory The factory. * @param CMSApplication $app The Application for the dispatcher * @param Input $input Input * + * @throws \Exception * @since 3.9.0 * - * @throws \Exception */ public function __construct($config = [], ?MVCFactoryInterface $factory = null, $app = null, $input = null) { @@ -60,9 +60,9 @@ public function __construct($config = [], ?MVCFactoryInterface $factory = null, * * @return void * + * @throws \Exception * @since 3.9.0 * - * @throws \Exception */ public function exportLogs() { @@ -102,7 +102,8 @@ public function exportLogs() $csvDelimiter = ComponentHelper::getComponent('com_actionlogs')->getParams()->get('csv_delimiter', ','); - $this->app->setHeader('Content-Type', 'application/csv', true) + $this->app + ->setHeader('Content-Type', 'application/csv', true) ->setHeader('Content-Disposition', 'attachment; filename="' . $filename . '.csv"', true) ->setHeader('Cache-Control', 'must-revalidate', true) ->sendHeaders(); diff --git a/administrator/components/com_actionlogs/src/Field/LogcreatorField.php b/administrator/components/com_actionlogs/src/Field/LogcreatorField.php index 66f3b92124d3c..59d6a3d545fff 100644 --- a/administrator/components/com_actionlogs/src/Field/LogcreatorField.php +++ b/administrator/components/com_actionlogs/src/Field/LogcreatorField.php @@ -61,7 +61,12 @@ protected function getOptions() ->select($db->quoteName('u.id', 'value')) ->select($db->quoteName('u.username', 'text')) ->from($db->quoteName('#__users', 'u')) - ->join('INNER', $db->quoteName('#__action_logs', 'c') . ' ON ' . $db->quoteName('c.user_id') . ' = ' . $db->quoteName('u.id')) + ->join( + 'INNER', + $db->quoteName('#__action_logs', 'c') . ' ON ' . $db->quoteName( + 'c.user_id' + ) . ' = ' . $db->quoteName('u.id') + ) ->group($db->quoteName('u.id')) ->group($db->quoteName('u.username')) ->order($db->quoteName('u.username')); @@ -70,7 +75,9 @@ protected function getOptions() $db->setQuery($query); // Return the result - if ($options = $db->loadObjectList()) { + $options = $db->loadObjectList(); + + if ($options) { static::$options[$hash] = array_merge(static::$options[$hash], $options); } } diff --git a/administrator/components/com_actionlogs/src/Field/LogsdaterangeField.php b/administrator/components/com_actionlogs/src/Field/LogsdaterangeField.php index f211355b965d1..14100b4f8c542 100644 --- a/administrator/components/com_actionlogs/src/Field/LogsdaterangeField.php +++ b/administrator/components/com_actionlogs/src/Field/LogsdaterangeField.php @@ -60,7 +60,7 @@ public function __construct($form = null) parent::__construct($form); // Load the required language - $lang = Factory::getLanguage(); + $lang = Factory::getApplication()->getLanguage(); $lang->load('com_actionlogs', JPATH_ADMINISTRATOR); } } diff --git a/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php b/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php index 68cab09bbc17a..235d3aee33bab 100644 --- a/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php +++ b/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php @@ -1,11 +1,11 @@ - * @license GNU General Public License version 2 or later; see LICENSE.txt + * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Component\Actionlogs\Administrator\Helper; @@ -15,6 +15,7 @@ use Joomla\CMS\Language\Text; use Joomla\CMS\Object\CMSObject; use Joomla\CMS\Router\Route; +use Joomla\Database\DatabaseInterface; use Joomla\Filesystem\Path; use Joomla\String\StringHelper; @@ -45,9 +46,9 @@ class ActionlogsHelper * * @return \Generator * + * @throws \InvalidArgumentException * @since 3.9.0 * - * @throws \InvalidArgumentException */ public static function getCsvData($data): \Generator { @@ -56,8 +57,8 @@ public static function getCsvData($data): \Generator \sprintf( '%s() requires an array or object implementing the Traversable interface, a %s was given.', __METHOD__, - \is_object($data) ? \get_class($data) : \gettype($data) - ) + \is_object($data) ? \get_class($data) : \gettype($data), + ), ); } @@ -77,7 +78,9 @@ public static function getCsvData($data): \Generator 'extension' => self::escapeCsvFormula(Text::_($extension)), 'date' => (new Date($log->log_date, new \DateTimeZone('UTC')))->format('Y-m-d H:i:s T'), 'name' => self::escapeCsvFormula($log->name), - 'ip_address' => self::escapeCsvFormula($log->ip_address === 'COM_ACTIONLOGS_DISABLED' ? $disabledText : $log->ip_address), + 'ip_address' => self::escapeCsvFormula( + $log->ip_address === 'COM_ACTIONLOGS_DISABLED' ? $disabledText : $log->ip_address, + ), ]; } } @@ -94,13 +97,13 @@ public static function getCsvData($data): \Generator public static function loadTranslationFiles($extension) { static $cache = []; - $extension = strtolower($extension); + $extension = strtolower($extension); if (isset($cache[$extension])) { return; } - $lang = Factory::getLanguage(); + $lang = Factory::getApplication()->getLanguage(); $source = ''; switch (substr($extension, 0, 3)) { @@ -135,11 +138,11 @@ public static function loadTranslationFiles($extension) } $lang->load($extension, JPATH_ADMINISTRATOR) - || $lang->load($extension, $source); + || $lang->load($extension, $source); if (!$lang->hasKey(strtoupper($extension))) { $lang->load($extension . '.sys', JPATH_ADMINISTRATOR) - || $lang->load($extension . '.sys', $source); + || $lang->load($extension . '.sys', $source); } $cache[$extension] = true; @@ -152,7 +155,7 @@ public static function loadTranslationFiles($extension) * * @return mixed An object contains content type parameters, or null if not found * - * @since 3.9.0 + * @since 3.9.0 * * @deprecated 4.3 will be removed in 6.0 * Use the action log config model instead @@ -179,8 +182,8 @@ public static function getHumanReadableLogMessage($log, $generateLinks = true) { static::loadActionLogPluginsLanguage(); static $links = []; - $message = Text::_($log->message_language_key); - $messageData = json_decode($log->message, true); + $message = Text::_($log->message_language_key); + $messageData = json_decode($log->message, true); // Special handling for translation extension name if (isset($messageData['extension_name'])) { @@ -247,7 +250,13 @@ public static function getContentTypeLink($component, $contentType, $id, $urlVar if (file_exists($file)) { $prefix = ucfirst(str_replace('com_', '', $component)); $cName = $prefix . 'Helper'; - + /* + * ToDo: + * We want to have all classes are namespaces! We need to know the component namespace so we could + * check if NAMESPACE/getContentTypeLink is callable. Maybe we need to boot the component???? + * + * Change can be made with 6.0?? Maybe we need a fallback. + */ \JLoader::register($cName, $file); if (class_exists($cName) && \is_callable([$cName, 'getContentTypeLink'])) { @@ -280,11 +289,12 @@ public static function loadActionLogPluginsLanguage() } $loaded = true; - $lang = Factory::getLanguage(); - $db = Factory::getDbo(); + $lang = Factory::getApplication()->getLanguage(); + $db = Factory::getContainer()->get(DatabaseInterface::class); // Get all (both enabled and disabled) actionlog plugins - $query = $db->getQuery(true) + $query = $db + ->getQuery(true) ->select( $db->quoteName( [ @@ -298,8 +308,8 @@ public static function loadActionLogPluginsLanguage() 'name', 'params', 'id', - ] - ) + ], + ), ) ->from($db->quoteName('#__extensions')) ->where($db->quoteName('type') . ' = ' . $db->quote('plugin')) @@ -330,7 +340,7 @@ public static function loadActionLogPluginsLanguage() } $lang->load($extension, JPATH_ADMINISTRATOR) - || $lang->load($extension, JPATH_PLUGINS . '/' . $type . '/' . $name); + || $lang->load($extension, JPATH_PLUGINS . '/' . $type . '/' . $name); } // Load plg_system_actionlogs too diff --git a/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php b/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php index 0dc3ce23761ff..7eed64857d786 100644 --- a/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php +++ b/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php @@ -1,11 +1,11 @@ - * @license GNU General Public License version 2 or later; see LICENSE.txt + * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Component\Actionlogs\Administrator\Model; @@ -38,20 +38,26 @@ class ActionlogsModel extends ListModel * * @param array $config An optional associative array of configuration settings. * + * @throws \Exception * @since 3.9.0 * - * @throws \Exception */ public function __construct($config = []) { if (empty($config['filter_fields'])) { $config['filter_fields'] = [ - 'a.id', 'id', - 'a.extension', 'extension', - 'a.user_id', 'user', - 'a.message', 'message', - 'a.log_date', 'log_date', - 'a.ip_address', 'ip_address', + 'a.id', + 'id', + 'a.extension', + 'extension', + 'a.user_id', + 'user', + 'a.message', + 'message', + 'a.log_date', + 'log_date', + 'a.ip_address', + 'ip_address', 'dateRange', ]; } @@ -67,9 +73,9 @@ public function __construct($config = []) * * @return void * + * @throws \Exception * @since 3.9.0 * - * @throws \Exception */ protected function populateState($ordering = 'a.id', $direction = 'desc') { @@ -81,18 +87,22 @@ protected function populateState($ordering = 'a.id', $direction = 'desc') * * @return QueryInterface * + * @throws \Exception * @since 3.9.0 * - * @throws \Exception */ protected function getListQuery() { $db = $this->getDatabase(); - $query = $db->getQuery(true) + $query = $db + ->getQuery(true) ->select('a.*') ->select($db->quoteName('u.name')) ->from($db->quoteName('#__action_logs', 'a')) - ->join('LEFT', $db->quoteName('#__users', 'u') . ' ON ' . $db->quoteName('a.user_id') . ' = ' . $db->quoteName('u.id')); + ->join( + 'LEFT', + $db->quoteName('#__users', 'u') . ' ON ' . $db->quoteName('a.user_id') . ' = ' . $db->quoteName('u.id'), + ); // Get ordering $fullorderCol = $this->state->get('list.fullordering', 'a.id DESC'); @@ -107,8 +117,9 @@ protected function getListQuery() // Apply filter by user if (!empty($user)) { - $user = (int) $user; - $query->where($db->quoteName('a.user_id') . ' = :userid') + $user = (int)$user; + $query + ->where($db->quoteName('a.user_id') . ' = :userid') ->bind(':userid', $user, ParameterType::INTEGER); } @@ -118,7 +129,8 @@ protected function getListQuery() // Apply filter by extension if (!empty($extension)) { $extension .= '%'; - $query->where($db->quoteName('a.extension') . ' LIKE :extension') + $query + ->where($db->quoteName('a.extension') . ' LIKE :extension') ->bind(':extension', $extension); } @@ -134,7 +146,7 @@ protected function getListQuery() $dStart = $date['dStart']->format('Y-m-d H:i:s'); $dNow = $date['dNow']->format('Y-m-d H:i:s'); $query->where( - $db->quoteName('a.log_date') . ' BETWEEN :dstart AND :dnow' + $db->quoteName('a.log_date') . ' BETWEEN :dstart AND :dnow', ); $query->bind(':dstart', $dStart); $query->bind(':dnow', $dNow); @@ -146,16 +158,19 @@ protected function getListQuery() if (!empty($search)) { if (stripos($search, 'id:') === 0) { - $ids = (int) substr($search, 3); - $query->where($db->quoteName('a.id') . ' = :id') + $ids = (int)substr($search, 3); + $query + ->where($db->quoteName('a.id') . ' = :id') ->bind(':id', $ids, ParameterType::INTEGER); } elseif (stripos($search, 'item_id:') === 0) { - $ids = (int) substr($search, 8); - $query->where($db->quoteName('a.item_id') . ' = :itemid') + $ids = (int)substr($search, 8); + $query + ->where($db->quoteName('a.item_id') . ' = :itemid') ->bind(':itemid', $ids, ParameterType::INTEGER); } else { $search = '%' . $search . '%'; - $query->where($db->quoteName('a.message') . ' LIKE :message') + $query + ->where($db->quoteName('a.message') . ' LIKE :message') ->bind(':message', $search); } } @@ -170,9 +185,9 @@ protected function getListQuery() * * @return array The date range to filter on. * + * @throws \Exception * @since 3.9.0 * - * @throws \Exception */ private function buildDateRange($range) { @@ -230,13 +245,17 @@ private function buildDateRange($range) */ public function getLogsForItem($extension, $itemId) { - $itemId = (int) $itemId; + $itemId = (int)$itemId; $db = $this->getDatabase(); - $query = $db->getQuery(true) + $query = $db + ->getQuery(true) ->select('a.*') ->select($db->quoteName('u.name')) ->from($db->quoteName('#__action_logs', 'a')) - ->join('INNER', $db->quoteName('#__users', 'u') . ' ON ' . $db->quoteName('a.user_id') . ' = ' . $db->quoteName('u.id')) + ->join( + 'INNER', + $db->quoteName('#__users', 'u') . ' ON ' . $db->quoteName('a.user_id') . ' = ' . $db->quoteName('u.id'), + ) ->where($db->quoteName('a.extension') . ' = :extension') ->where($db->quoteName('a.item_id') . ' = :itemid') ->bind(':extension', $extension) @@ -305,11 +324,15 @@ public function getLogDataAsIterator($pks = null) private function getLogDataQuery($pks = null) { $db = $this->getDatabase(); - $query = $db->getQuery(true) + $query = $db + ->getQuery(true) ->select('a.*') ->select($db->quoteName('u.name')) ->from($db->quoteName('#__action_logs', 'a')) - ->join('INNER', $db->quoteName('#__users', 'u') . ' ON ' . $db->quoteName('a.user_id') . ' = ' . $db->quoteName('u.id')); + ->join( + 'INNER', + $db->quoteName('#__users', 'u') . ' ON ' . $db->quoteName('a.user_id') . ' = ' . $db->quoteName('u.id'), + ); if (\is_array($pks) && \count($pks) > 0) { $pks = ArrayHelper::toInteger($pks); @@ -332,7 +355,8 @@ public function delete(&$pks) { $keys = ArrayHelper::toInteger($pks); $db = $this->getDatabase(); - $query = $db->getQuery(true) + $query = $db + ->getQuery(true) ->delete($db->quoteName('#__action_logs')) ->whereIn($db->quoteName('id'), $keys); $db->setQuery($query); @@ -340,6 +364,7 @@ public function delete(&$pks) try { $db->execute(); } catch (\RuntimeException $e) { + // ToDo: 6.0 $this->setError($e->getMessage()); return false; @@ -384,7 +409,7 @@ public function getFilterForm($data = [], $loadData = true) { $form = parent::getFilterForm($data, $loadData); $params = ComponentHelper::getParams('com_actionlogs'); - $ipLogging = (bool) $params->get('ip_logging', 0); + $ipLogging = (bool)$params->get('ip_logging', 0); // Add ip sort options to sort dropdown if ($form && $ipLogging) { diff --git a/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php b/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php index 6e20d3a76dac2..531210cac3e87 100644 --- a/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php +++ b/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php @@ -1,11 +1,11 @@ - * @license GNU General Public License version 2 or later; see LICENSE.txt + * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Component\Actionlogs\Administrator\View\Actionlogs; @@ -42,7 +42,7 @@ class HtmlView extends BaseHtmlView /** * The model state * - * @var array + * @var object * @since 3.9.0 */ protected $state; @@ -94,9 +94,9 @@ class HtmlView extends BaseHtmlView * * @return void * + * @throws \Exception * @since 3.9.0 * - * @throws \Exception */ public function display($tpl = null) { @@ -108,9 +108,10 @@ public function display($tpl = null) $this->filterForm = $model->getFilterForm(); $this->activeFilters = $model->getActiveFilters(); $params = ComponentHelper::getParams('com_actionlogs'); - $this->showIpColumn = (bool) $params->get('ip_logging', 0); - $this->dateRelative = (bool) $params->get('date_relative', 1); + $this->showIpColumn = (bool)$params->get('ip_logging', 0); + $this->dateRelative = (bool)$params->get('date_relative', 1); + // ToDo: 6.0 if (\count($errors = $model->getErrors())) { throw new GenericDataException(implode("\n", $errors), 500); } @@ -135,18 +136,22 @@ protected function addToolbar() ToolbarHelper::title(Text::_('COM_ACTIONLOGS_MANAGER_USERLOGS'), 'icon-list-2'); $toolbar = $this->getDocument()->getToolbar(); - $toolbar->standardButton('download', 'COM_ACTIONLOGS_EXPORT_CSV', 'actionlogs.exportSelectedLogs') + $toolbar + ->standardButton('download', 'COM_ACTIONLOGS_EXPORT_CSV', 'actionlogs.exportSelectedLogs') ->icon('icon-download') ->listCheck(true); - $toolbar->standardButton('download', 'COM_ACTIONLOGS_EXPORT_ALL_CSV', 'actionlogs.exportLogs') + $toolbar + ->standardButton('download', 'COM_ACTIONLOGS_EXPORT_ALL_CSV', 'actionlogs.exportLogs') ->icon('icon-download') ->listCheck(false); - $toolbar->delete('actionlogs.delete') + $toolbar + ->delete('actionlogs.delete') ->message('JGLOBAL_CONFIRM_DELETE'); - $toolbar->confirmButton('delete', 'COM_ACTIONLOGS_TOOLBAR_PURGE', 'actionlogs.purge') + $toolbar + ->confirmButton('delete', 'COM_ACTIONLOGS_TOOLBAR_PURGE', 'actionlogs.purge') ->message('COM_ACTIONLOGS_PURGE_CONFIRM') ->listCheck(false); From 899b8e714932d7f4832c6e1f6c339c09b523ccd6 Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Tue, 15 Oct 2024 18:15:25 +0200 Subject: [PATCH 02/14] Update administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php Co-authored-by: Brian Teeman --- .../components/com_actionlogs/src/Helper/ActionlogsHelper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php b/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php index 235d3aee33bab..d969af3404420 100644 --- a/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php +++ b/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php @@ -251,7 +251,7 @@ public static function getContentTypeLink($component, $contentType, $id, $urlVar $prefix = ucfirst(str_replace('com_', '', $component)); $cName = $prefix . 'Helper'; /* - * ToDo: + * @todo * We want to have all classes are namespaces! We need to know the component namespace so we could * check if NAMESPACE/getContentTypeLink is callable. Maybe we need to boot the component???? * From 75b3e0ead7d4bf8bb97a3a35ce0afd046d3e5493 Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Tue, 15 Oct 2024 18:16:03 +0200 Subject: [PATCH 03/14] Update administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php Co-authored-by: Brian Teeman --- .../components/com_actionlogs/src/Helper/ActionlogsHelper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php b/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php index d969af3404420..9a758dc5b06d9 100644 --- a/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php +++ b/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php @@ -252,7 +252,7 @@ public static function getContentTypeLink($component, $contentType, $id, $urlVar $cName = $prefix . 'Helper'; /* * @todo - * We want to have all classes are namespaces! We need to know the component namespace so we could + * We want to have all classes as namespaces! We need to know the component namespace so we could * check if NAMESPACE/getContentTypeLink is callable. Maybe we need to boot the component???? * * Change can be made with 6.0?? Maybe we need a fallback. From c43cee5af181da0547851adc5678fcf02fa8ffdd Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Tue, 15 Oct 2024 18:27:42 +0200 Subject: [PATCH 04/14] revert file doc comment --- .../com_actionlogs/src/Controller/ActionlogsController.php | 6 +++--- .../com_actionlogs/src/Helper/ActionlogsHelper.php | 6 +++--- .../components/com_actionlogs/src/Model/ActionlogsModel.php | 6 +++--- .../com_actionlogs/src/View/Actionlogs/HtmlView.php | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/administrator/components/com_actionlogs/src/Controller/ActionlogsController.php b/administrator/components/com_actionlogs/src/Controller/ActionlogsController.php index 3bb94a507fadc..3155865db8cba 100644 --- a/administrator/components/com_actionlogs/src/Controller/ActionlogsController.php +++ b/administrator/components/com_actionlogs/src/Controller/ActionlogsController.php @@ -1,11 +1,11 @@ - * @license GNU General Public License version 2 or later; see LICENSE.txt + * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Component\Actionlogs\Administrator\Controller; diff --git a/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php b/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php index 9a758dc5b06d9..af525a4db8b69 100644 --- a/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php +++ b/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php @@ -1,11 +1,11 @@ - * @license GNU General Public License version 2 or later; see LICENSE.txt + * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Component\Actionlogs\Administrator\Helper; diff --git a/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php b/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php index 7eed64857d786..e90a47e6c5282 100644 --- a/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php +++ b/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php @@ -1,11 +1,11 @@ - * @license GNU General Public License version 2 or later; see LICENSE.txt + * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Component\Actionlogs\Administrator\Model; diff --git a/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php b/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php index 531210cac3e87..ee431fd2b34bb 100644 --- a/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php +++ b/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php @@ -1,11 +1,11 @@ - * @license GNU General Public License version 2 or later; see LICENSE.txt + * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Component\Actionlogs\Administrator\View\Actionlogs; From 0d998cf835b53af97042467479edb3b0ef2ae571 Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Tue, 15 Oct 2024 18:28:44 +0200 Subject: [PATCH 05/14] Update administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php Co-authored-by: Brian Teeman --- .../components/com_actionlogs/src/View/Actionlogs/HtmlView.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php b/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php index ee431fd2b34bb..888f62b439bcc 100644 --- a/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php +++ b/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php @@ -111,7 +111,7 @@ public function display($tpl = null) $this->showIpColumn = (bool)$params->get('ip_logging', 0); $this->dateRelative = (bool)$params->get('date_relative', 1); - // ToDo: 6.0 + // @todo: 6.0 if (\count($errors = $model->getErrors())) { throw new GenericDataException(implode("\n", $errors), 500); } From c3cdafef462a7031dbec0dec5150867e736f6a8f Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Tue, 15 Oct 2024 18:28:57 +0200 Subject: [PATCH 06/14] Update administrator/components/com_actionlogs/src/Model/ActionlogsModel.php Co-authored-by: Brian Teeman --- .../components/com_actionlogs/src/Model/ActionlogsModel.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php b/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php index e90a47e6c5282..3ffcc88c17000 100644 --- a/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php +++ b/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php @@ -364,7 +364,7 @@ public function delete(&$pks) try { $db->execute(); } catch (\RuntimeException $e) { - // ToDo: 6.0 + // @todo: 6.0 $this->setError($e->getMessage()); return false; From bacf1f43cc0ffaea54fd639795bb41d460d887a6 Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Tue, 15 Oct 2024 18:38:01 +0200 Subject: [PATCH 07/14] cs fix --- .../com_actionlogs/src/Helper/ActionlogsHelper.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php b/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php index af525a4db8b69..3a5eb3f5dbfb3 100644 --- a/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php +++ b/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php @@ -97,7 +97,7 @@ public static function getCsvData($data): \Generator public static function loadTranslationFiles($extension) { static $cache = []; - $extension = strtolower($extension); + $extension = strtolower($extension); if (isset($cache[$extension])) { return; @@ -182,8 +182,8 @@ public static function getHumanReadableLogMessage($log, $generateLinks = true) { static::loadActionLogPluginsLanguage(); static $links = []; - $message = Text::_($log->message_language_key); - $messageData = json_decode($log->message, true); + $message = Text::_($log->message_language_key); + $messageData = json_decode($log->message, true); // Special handling for translation extension name if (isset($messageData['extension_name'])) { From 71fb64f95f13458f8d0fab4210f322b7f3c8f792 Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Wed, 16 Oct 2024 13:58:38 +0200 Subject: [PATCH 08/14] the ide is killing me --- .../src/Controller/ActionlogsController.php | 6 +++--- .../com_actionlogs/src/Helper/ActionlogsHelper.php | 4 ++-- .../com_actionlogs/src/Model/ActionlogsModel.php | 10 +++++----- .../com_actionlogs/src/View/Actionlogs/HtmlView.php | 4 ++-- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/administrator/components/com_actionlogs/src/Controller/ActionlogsController.php b/administrator/components/com_actionlogs/src/Controller/ActionlogsController.php index 3155865db8cba..fb33d9e078f08 100644 --- a/administrator/components/com_actionlogs/src/Controller/ActionlogsController.php +++ b/administrator/components/com_actionlogs/src/Controller/ActionlogsController.php @@ -4,7 +4,7 @@ * @package Joomla.Administrator * @subpackage com_actionlogs * - * @copyright (C) 2018 Open Source Matters, Inc. + * @copyright 2018 Open Source Matters, Inc. * @license GNU General Public License version 2 or later; see LICENSE.txt */ @@ -44,9 +44,9 @@ class ActionlogsController extends AdminController * @param CMSApplication $app The Application for the dispatcher * @param Input $input Input * - * @throws \Exception * @since 3.9.0 * + * @throws \Exception */ public function __construct($config = [], ?MVCFactoryInterface $factory = null, $app = null, $input = null) { @@ -60,9 +60,9 @@ public function __construct($config = [], ?MVCFactoryInterface $factory = null, * * @return void * - * @throws \Exception * @since 3.9.0 * + * @throws \Exception */ public function exportLogs() { diff --git a/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php b/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php index 3a5eb3f5dbfb3..cb4b7f34f7484 100644 --- a/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php +++ b/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php @@ -4,7 +4,7 @@ * @package Joomla.Administrator * @subpackage com_actionlogs * - * @copyright (C) 2018 Open Source Matters, Inc. + * @copyright 2018 Open Source Matters, Inc. * @license GNU General Public License version 2 or later; see LICENSE.txt */ @@ -46,9 +46,9 @@ class ActionlogsHelper * * @return \Generator * - * @throws \InvalidArgumentException * @since 3.9.0 * + * @throws \InvalidArgumentException */ public static function getCsvData($data): \Generator { diff --git a/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php b/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php index 3ffcc88c17000..03d3e92372586 100644 --- a/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php +++ b/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php @@ -4,7 +4,7 @@ * @package Joomla.Administrator * @subpackage com_actionlogs * - * @copyright (C) 2018 Open Source Matters, Inc. + * @copyright 2018 Open Source Matters, Inc. * @license GNU General Public License version 2 or later; see LICENSE.txt */ @@ -38,9 +38,9 @@ class ActionlogsModel extends ListModel * * @param array $config An optional associative array of configuration settings. * - * @throws \Exception * @since 3.9.0 * + * @throws \Exception */ public function __construct($config = []) { @@ -73,9 +73,9 @@ public function __construct($config = []) * * @return void * - * @throws \Exception * @since 3.9.0 * + * @throws \Exception */ protected function populateState($ordering = 'a.id', $direction = 'desc') { @@ -87,9 +87,9 @@ protected function populateState($ordering = 'a.id', $direction = 'desc') * * @return QueryInterface * - * @throws \Exception * @since 3.9.0 * + * @throws \Exception */ protected function getListQuery() { @@ -185,9 +185,9 @@ protected function getListQuery() * * @return array The date range to filter on. * - * @throws \Exception * @since 3.9.0 * + * @throws \Exception */ private function buildDateRange($range) { diff --git a/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php b/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php index 888f62b439bcc..2216e207d9d92 100644 --- a/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php +++ b/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php @@ -4,7 +4,7 @@ * @package Joomla.Administrator * @subpackage com_actionlogs * - * @copyright (C) 2018 Open Source Matters, Inc. + * @copyright 2018 Open Source Matters, Inc. * @license GNU General Public License version 2 or later; see LICENSE.txt */ @@ -94,9 +94,9 @@ class HtmlView extends BaseHtmlView * * @return void * - * @throws \Exception * @since 3.9.0 * + * @throws \Exception */ public function display($tpl = null) { From 45f52ac81cab311249141461ecede525531c8082 Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Wed, 16 Oct 2024 18:36:10 +0200 Subject: [PATCH 09/14] autoformat fixes --- .../src/Controller/ActionlogsController.php | 2 +- .../com_actionlogs/src/Helper/ActionlogsHelper.php | 10 ++++++---- .../com_actionlogs/src/Model/ActionlogsModel.php | 12 ++++++------ .../com_actionlogs/src/View/Actionlogs/HtmlView.php | 6 +++--- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/administrator/components/com_actionlogs/src/Controller/ActionlogsController.php b/administrator/components/com_actionlogs/src/Controller/ActionlogsController.php index fb33d9e078f08..a441b0b90ac5f 100644 --- a/administrator/components/com_actionlogs/src/Controller/ActionlogsController.php +++ b/administrator/components/com_actionlogs/src/Controller/ActionlogsController.php @@ -4,7 +4,7 @@ * @package Joomla.Administrator * @subpackage com_actionlogs * - * @copyright 2018 Open Source Matters, Inc. + * @copyright Copyright 2018 Open Source Matters, Inc. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php b/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php index cb4b7f34f7484..87fd8a6b96785 100644 --- a/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php +++ b/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php @@ -4,7 +4,7 @@ * @package Joomla.Administrator * @subpackage com_actionlogs * - * @copyright 2018 Open Source Matters, Inc. + * @copyright Copyright 2018 Open Source Matters, Inc. * @license GNU General Public License version 2 or later; see LICENSE.txt */ @@ -97,7 +97,8 @@ public static function getCsvData($data): \Generator public static function loadTranslationFiles($extension) { static $cache = []; - $extension = strtolower($extension); + + $extension = strtolower($extension); if (isset($cache[$extension])) { return; @@ -182,8 +183,9 @@ public static function getHumanReadableLogMessage($log, $generateLinks = true) { static::loadActionLogPluginsLanguage(); static $links = []; - $message = Text::_($log->message_language_key); - $messageData = json_decode($log->message, true); + + $message = Text::_($log->message_language_key); + $messageData = json_decode($log->message, true); // Special handling for translation extension name if (isset($messageData['extension_name'])) { diff --git a/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php b/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php index 03d3e92372586..b9be050e46efe 100644 --- a/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php +++ b/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php @@ -4,7 +4,7 @@ * @package Joomla.Administrator * @subpackage com_actionlogs * - * @copyright 2018 Open Source Matters, Inc. + * @copyright Copyright 2018 Open Source Matters, Inc. * @license GNU General Public License version 2 or later; see LICENSE.txt */ @@ -117,7 +117,7 @@ protected function getListQuery() // Apply filter by user if (!empty($user)) { - $user = (int)$user; + $user = (int) $user; $query ->where($db->quoteName('a.user_id') . ' = :userid') ->bind(':userid', $user, ParameterType::INTEGER); @@ -158,12 +158,12 @@ protected function getListQuery() if (!empty($search)) { if (stripos($search, 'id:') === 0) { - $ids = (int)substr($search, 3); + $ids = (int) substr($search, 3); $query ->where($db->quoteName('a.id') . ' = :id') ->bind(':id', $ids, ParameterType::INTEGER); } elseif (stripos($search, 'item_id:') === 0) { - $ids = (int)substr($search, 8); + $ids = (int) substr($search, 8); $query ->where($db->quoteName('a.item_id') . ' = :itemid') ->bind(':itemid', $ids, ParameterType::INTEGER); @@ -245,7 +245,7 @@ private function buildDateRange($range) */ public function getLogsForItem($extension, $itemId) { - $itemId = (int)$itemId; + $itemId = (int) $itemId; $db = $this->getDatabase(); $query = $db ->getQuery(true) @@ -409,7 +409,7 @@ public function getFilterForm($data = [], $loadData = true) { $form = parent::getFilterForm($data, $loadData); $params = ComponentHelper::getParams('com_actionlogs'); - $ipLogging = (bool)$params->get('ip_logging', 0); + $ipLogging = (bool) $params->get('ip_logging', 0); // Add ip sort options to sort dropdown if ($form && $ipLogging) { diff --git a/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php b/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php index 2216e207d9d92..20bff0ea88ad5 100644 --- a/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php +++ b/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php @@ -4,7 +4,7 @@ * @package Joomla.Administrator * @subpackage com_actionlogs * - * @copyright 2018 Open Source Matters, Inc. + * @copyright Copyright 2018 Open Source Matters, Inc. * @license GNU General Public License version 2 or later; see LICENSE.txt */ @@ -108,8 +108,8 @@ public function display($tpl = null) $this->filterForm = $model->getFilterForm(); $this->activeFilters = $model->getActiveFilters(); $params = ComponentHelper::getParams('com_actionlogs'); - $this->showIpColumn = (bool)$params->get('ip_logging', 0); - $this->dateRelative = (bool)$params->get('date_relative', 1); + $this->showIpColumn = (bool) $params->get('ip_logging', 0); + $this->dateRelative = (bool) $params->get('date_relative', 1); // @todo: 6.0 if (\count($errors = $model->getErrors())) { From 0a27c13e38f7c313854919ecb885b0349f1179f4 Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Thu, 17 Oct 2024 11:29:16 +0200 Subject: [PATCH 10/14] 2nd try to remove Deprecations --- .../src/Controller/ActionlogsController.php | 2 +- .../src/Field/LogcreatorField.php | 11 ++---- .../src/Helper/ActionlogsHelper.php | 36 +++++++++---------- .../src/View/Actionlogs/HtmlView.php | 2 +- 4 files changed, 20 insertions(+), 31 deletions(-) diff --git a/administrator/components/com_actionlogs/src/Controller/ActionlogsController.php b/administrator/components/com_actionlogs/src/Controller/ActionlogsController.php index a441b0b90ac5f..5fbc4e99f4a35 100644 --- a/administrator/components/com_actionlogs/src/Controller/ActionlogsController.php +++ b/administrator/components/com_actionlogs/src/Controller/ActionlogsController.php @@ -4,7 +4,7 @@ * @package Joomla.Administrator * @subpackage com_actionlogs * - * @copyright Copyright 2018 Open Source Matters, Inc. + * @copyright (C) 2018 Open Source Matters, Inc. * @license GNU General Public License version 2 or later; see LICENSE.txt */ diff --git a/administrator/components/com_actionlogs/src/Field/LogcreatorField.php b/administrator/components/com_actionlogs/src/Field/LogcreatorField.php index 59d6a3d545fff..66f3b92124d3c 100644 --- a/administrator/components/com_actionlogs/src/Field/LogcreatorField.php +++ b/administrator/components/com_actionlogs/src/Field/LogcreatorField.php @@ -61,12 +61,7 @@ protected function getOptions() ->select($db->quoteName('u.id', 'value')) ->select($db->quoteName('u.username', 'text')) ->from($db->quoteName('#__users', 'u')) - ->join( - 'INNER', - $db->quoteName('#__action_logs', 'c') . ' ON ' . $db->quoteName( - 'c.user_id' - ) . ' = ' . $db->quoteName('u.id') - ) + ->join('INNER', $db->quoteName('#__action_logs', 'c') . ' ON ' . $db->quoteName('c.user_id') . ' = ' . $db->quoteName('u.id')) ->group($db->quoteName('u.id')) ->group($db->quoteName('u.username')) ->order($db->quoteName('u.username')); @@ -75,9 +70,7 @@ protected function getOptions() $db->setQuery($query); // Return the result - $options = $db->loadObjectList(); - - if ($options) { + if ($options = $db->loadObjectList()) { static::$options[$hash] = array_merge(static::$options[$hash], $options); } } diff --git a/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php b/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php index 87fd8a6b96785..400b628802c1a 100644 --- a/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php +++ b/administrator/components/com_actionlogs/src/Helper/ActionlogsHelper.php @@ -4,7 +4,7 @@ * @package Joomla.Administrator * @subpackage com_actionlogs * - * @copyright Copyright 2018 Open Source Matters, Inc. + * @copyright (C) 2018 Open Source Matters, Inc. * @license GNU General Public License version 2 or later; see LICENSE.txt */ @@ -57,8 +57,8 @@ public static function getCsvData($data): \Generator \sprintf( '%s() requires an array or object implementing the Traversable interface, a %s was given.', __METHOD__, - \is_object($data) ? \get_class($data) : \gettype($data), - ), + \is_object($data) ? \get_class($data) : \gettype($data) + ) ); } @@ -78,9 +78,7 @@ public static function getCsvData($data): \Generator 'extension' => self::escapeCsvFormula(Text::_($extension)), 'date' => (new Date($log->log_date, new \DateTimeZone('UTC')))->format('Y-m-d H:i:s T'), 'name' => self::escapeCsvFormula($log->name), - 'ip_address' => self::escapeCsvFormula( - $log->ip_address === 'COM_ACTIONLOGS_DISABLED' ? $disabledText : $log->ip_address, - ), + 'ip_address' => self::escapeCsvFormula($log->ip_address === 'COM_ACTIONLOGS_DISABLED' ? $disabledText : $log->ip_address), ]; } } @@ -97,8 +95,7 @@ public static function getCsvData($data): \Generator public static function loadTranslationFiles($extension) { static $cache = []; - - $extension = strtolower($extension); + $extension = strtolower($extension); if (isset($cache[$extension])) { return; @@ -139,11 +136,11 @@ public static function loadTranslationFiles($extension) } $lang->load($extension, JPATH_ADMINISTRATOR) - || $lang->load($extension, $source); + || $lang->load($extension, $source); if (!$lang->hasKey(strtoupper($extension))) { $lang->load($extension . '.sys', JPATH_ADMINISTRATOR) - || $lang->load($extension . '.sys', $source); + || $lang->load($extension . '.sys', $source); } $cache[$extension] = true; @@ -156,7 +153,7 @@ public static function loadTranslationFiles($extension) * * @return mixed An object contains content type parameters, or null if not found * - * @since 3.9.0 + * @since 3.9.0 * * @deprecated 4.3 will be removed in 6.0 * Use the action log config model instead @@ -183,9 +180,8 @@ public static function getHumanReadableLogMessage($log, $generateLinks = true) { static::loadActionLogPluginsLanguage(); static $links = []; - - $message = Text::_($log->message_language_key); - $messageData = json_decode($log->message, true); + $message = Text::_($log->message_language_key); + $messageData = json_decode($log->message, true); // Special handling for translation extension name if (isset($messageData['extension_name'])) { @@ -252,8 +248,9 @@ public static function getContentTypeLink($component, $contentType, $id, $urlVar if (file_exists($file)) { $prefix = ucfirst(str_replace('com_', '', $component)); $cName = $prefix . 'Helper'; + /* - * @todo + * @todo: 6.0 * We want to have all classes as namespaces! We need to know the component namespace so we could * check if NAMESPACE/getContentTypeLink is callable. Maybe we need to boot the component???? * @@ -295,8 +292,7 @@ public static function loadActionLogPluginsLanguage() $db = Factory::getContainer()->get(DatabaseInterface::class); // Get all (both enabled and disabled) actionlog plugins - $query = $db - ->getQuery(true) + $query = $db->getQuery(true) ->select( $db->quoteName( [ @@ -310,8 +306,8 @@ public static function loadActionLogPluginsLanguage() 'name', 'params', 'id', - ], - ), + ] + ) ) ->from($db->quoteName('#__extensions')) ->where($db->quoteName('type') . ' = ' . $db->quote('plugin')) @@ -342,7 +338,7 @@ public static function loadActionLogPluginsLanguage() } $lang->load($extension, JPATH_ADMINISTRATOR) - || $lang->load($extension, JPATH_PLUGINS . '/' . $type . '/' . $name); + || $lang->load($extension, JPATH_PLUGINS . '/' . $type . '/' . $name); } // Load plg_system_actionlogs too diff --git a/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php b/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php index 20bff0ea88ad5..b83f014e60044 100644 --- a/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php +++ b/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php @@ -4,7 +4,7 @@ * @package Joomla.Administrator * @subpackage com_actionlogs * - * @copyright Copyright 2018 Open Source Matters, Inc. + * @copyright (C) 2018 Open Source Matters, Inc. * @license GNU General Public License version 2 or later; see LICENSE.txt */ From ba670f9a950e9752b140b3eaee7b1b35a7b8b80c Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Thu, 17 Oct 2024 12:43:52 +0200 Subject: [PATCH 11/14] file comment --- .../components/com_actionlogs/src/Model/ActionlogsModel.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php b/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php index b9be050e46efe..bdd6d9e554fdb 100644 --- a/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php +++ b/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php @@ -4,7 +4,7 @@ * @package Joomla.Administrator * @subpackage com_actionlogs * - * @copyright Copyright 2018 Open Source Matters, Inc. + * @copyright (C) 2018 Open Source Matters, Inc. * @license GNU General Public License version 2 or later; see LICENSE.txt */ From db19b88e66e734b1ce28f1e4b84a1f11c091e0e4 Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Thu, 17 Oct 2024 12:50:45 +0200 Subject: [PATCH 12/14] revert some changes --- .../src/Model/ActionlogsModel.php | 62 ++++++------------- 1 file changed, 19 insertions(+), 43 deletions(-) diff --git a/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php b/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php index bdd6d9e554fdb..572a63d0e77e9 100644 --- a/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php +++ b/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php @@ -46,18 +46,12 @@ public function __construct($config = []) { if (empty($config['filter_fields'])) { $config['filter_fields'] = [ - 'a.id', - 'id', - 'a.extension', - 'extension', - 'a.user_id', - 'user', - 'a.message', - 'message', - 'a.log_date', - 'log_date', - 'a.ip_address', - 'ip_address', + 'a.id', 'id', + 'a.extension', 'extension', + 'a.user_id', 'user', + 'a.message', 'message', + 'a.log_date', 'log_date', + 'a.ip_address', 'ip_address', 'dateRange', ]; } @@ -94,15 +88,11 @@ protected function populateState($ordering = 'a.id', $direction = 'desc') protected function getListQuery() { $db = $this->getDatabase(); - $query = $db - ->getQuery(true) + $query = $db->getQuery(true) ->select('a.*') ->select($db->quoteName('u.name')) ->from($db->quoteName('#__action_logs', 'a')) - ->join( - 'LEFT', - $db->quoteName('#__users', 'u') . ' ON ' . $db->quoteName('a.user_id') . ' = ' . $db->quoteName('u.id'), - ); + ->join('LEFT', $db->quoteName('#__users', 'u') . ' ON ' . $db->quoteName('a.user_id') . ' = ' . $db->quoteName('u.id')); // Get ordering $fullorderCol = $this->state->get('list.fullordering', 'a.id DESC'); @@ -118,8 +108,7 @@ protected function getListQuery() // Apply filter by user if (!empty($user)) { $user = (int) $user; - $query - ->where($db->quoteName('a.user_id') . ' = :userid') + $query->where($db->quoteName('a.user_id') . ' = :userid') ->bind(':userid', $user, ParameterType::INTEGER); } @@ -129,8 +118,7 @@ protected function getListQuery() // Apply filter by extension if (!empty($extension)) { $extension .= '%'; - $query - ->where($db->quoteName('a.extension') . ' LIKE :extension') + $query->where($db->quoteName('a.extension') . ' LIKE :extension') ->bind(':extension', $extension); } @@ -146,7 +134,7 @@ protected function getListQuery() $dStart = $date['dStart']->format('Y-m-d H:i:s'); $dNow = $date['dNow']->format('Y-m-d H:i:s'); $query->where( - $db->quoteName('a.log_date') . ' BETWEEN :dstart AND :dnow', + $db->quoteName('a.log_date') . ' BETWEEN :dstart AND :dnow' ); $query->bind(':dstart', $dStart); $query->bind(':dnow', $dNow); @@ -159,18 +147,15 @@ protected function getListQuery() if (!empty($search)) { if (stripos($search, 'id:') === 0) { $ids = (int) substr($search, 3); - $query - ->where($db->quoteName('a.id') . ' = :id') + $query->where($db->quoteName('a.id') . ' = :id') ->bind(':id', $ids, ParameterType::INTEGER); } elseif (stripos($search, 'item_id:') === 0) { $ids = (int) substr($search, 8); - $query - ->where($db->quoteName('a.item_id') . ' = :itemid') + $query->where($db->quoteName('a.item_id') . ' = :itemid') ->bind(':itemid', $ids, ParameterType::INTEGER); } else { $search = '%' . $search . '%'; - $query - ->where($db->quoteName('a.message') . ' LIKE :message') + $query->where($db->quoteName('a.message') . ' LIKE :message') ->bind(':message', $search); } } @@ -247,15 +232,11 @@ public function getLogsForItem($extension, $itemId) { $itemId = (int) $itemId; $db = $this->getDatabase(); - $query = $db - ->getQuery(true) + $query = $db->getQuery(true) ->select('a.*') ->select($db->quoteName('u.name')) ->from($db->quoteName('#__action_logs', 'a')) - ->join( - 'INNER', - $db->quoteName('#__users', 'u') . ' ON ' . $db->quoteName('a.user_id') . ' = ' . $db->quoteName('u.id'), - ) + ->join('INNER', $db->quoteName('#__users', 'u') . ' ON ' . $db->quoteName('a.user_id') . ' = ' . $db->quoteName('u.id')) ->where($db->quoteName('a.extension') . ' = :extension') ->where($db->quoteName('a.item_id') . ' = :itemid') ->bind(':extension', $extension) @@ -324,15 +305,11 @@ public function getLogDataAsIterator($pks = null) private function getLogDataQuery($pks = null) { $db = $this->getDatabase(); - $query = $db - ->getQuery(true) + $query = $db->getQuery(true) ->select('a.*') ->select($db->quoteName('u.name')) ->from($db->quoteName('#__action_logs', 'a')) - ->join( - 'INNER', - $db->quoteName('#__users', 'u') . ' ON ' . $db->quoteName('a.user_id') . ' = ' . $db->quoteName('u.id'), - ); + ->join('INNER', $db->quoteName('#__users', 'u') . ' ON ' . $db->quoteName('a.user_id') . ' = ' . $db->quoteName('u.id')); if (\is_array($pks) && \count($pks) > 0) { $pks = ArrayHelper::toInteger($pks); @@ -355,8 +332,7 @@ public function delete(&$pks) { $keys = ArrayHelper::toInteger($pks); $db = $this->getDatabase(); - $query = $db - ->getQuery(true) + $query = $db->getQuery(true) ->delete($db->quoteName('#__action_logs')) ->whereIn($db->quoteName('id'), $keys); $db->setQuery($query); From 1574038833542f077d0a4d01878bb790ba78089d Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Thu, 17 Oct 2024 13:50:20 +0200 Subject: [PATCH 13/14] explain what is the todo --- .../components/com_actionlogs/src/Model/ActionlogsModel.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php b/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php index 572a63d0e77e9..57649caf97789 100644 --- a/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php +++ b/administrator/components/com_actionlogs/src/Model/ActionlogsModel.php @@ -340,7 +340,7 @@ public function delete(&$pks) try { $db->execute(); } catch (\RuntimeException $e) { - // @todo: 6.0 + // @todo: 6.0 - Update Error handling $this->setError($e->getMessage()); return false; From 8b368ab2df5339cf98fd3fe2a47c0a4ecdfa7443 Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Thu, 17 Oct 2024 15:03:54 +0200 Subject: [PATCH 14/14] move assiognment out of conditions --- .../components/com_actionlogs/src/Field/LogcreatorField.php | 3 ++- .../com_actionlogs/src/View/Actionlogs/HtmlView.php | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/administrator/components/com_actionlogs/src/Field/LogcreatorField.php b/administrator/components/com_actionlogs/src/Field/LogcreatorField.php index 66f3b92124d3c..db0bd7e521b26 100644 --- a/administrator/components/com_actionlogs/src/Field/LogcreatorField.php +++ b/administrator/components/com_actionlogs/src/Field/LogcreatorField.php @@ -70,7 +70,8 @@ protected function getOptions() $db->setQuery($query); // Return the result - if ($options = $db->loadObjectList()) { + $options = $db->loadObjectList(); + if ($options) { static::$options[$hash] = array_merge(static::$options[$hash], $options); } } diff --git a/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php b/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php index b83f014e60044..07c520846d8f9 100644 --- a/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php +++ b/administrator/components/com_actionlogs/src/View/Actionlogs/HtmlView.php @@ -111,8 +111,9 @@ public function display($tpl = null) $this->showIpColumn = (bool) $params->get('ip_logging', 0); $this->dateRelative = (bool) $params->get('date_relative', 1); - // @todo: 6.0 - if (\count($errors = $model->getErrors())) { + // @todo: 6.0 - Update Error handling + $errors = $model->getErrors(); + if (\count($errors)) { throw new GenericDataException(implode("\n", $errors), 500); }