diff --git a/administrator/components/com_checkin/src/Model/CheckinModel.php b/administrator/components/com_checkin/src/Model/CheckinModel.php index 3064f964f3134..cb16bc30527c5 100644 --- a/administrator/components/com_checkin/src/Model/CheckinModel.php +++ b/administrator/components/com_checkin/src/Model/CheckinModel.php @@ -107,26 +107,31 @@ public function checkin($ids = array()) continue; } + $query = $db->getQuery(true) + ->update($db->quoteName($tn)) + ->set($db->quoteName('checked_out') . ' = DEFAULT'); + if ($fields['checked_out_time']->Null === 'YES') { - $query = $db->getQuery(true) - ->update($db->quoteName($tn)) - ->set($db->quoteName('checked_out') . ' = DEFAULT') - ->set($db->quoteName('checked_out_time') . ' = NULL') - ->where($db->quoteName('checked_out') . ' > 0'); + $query->set($db->quoteName('checked_out_time') . ' = NULL'); } else { $nullDate = $db->getNullDate(); - $query = $db->getQuery(true) - ->update($db->quoteName($tn)) - ->set($db->quoteName('checked_out') . ' = DEFAULT') - ->set($db->quoteName('checked_out_time') . ' = :checkouttime') - ->where($db->quoteName('checked_out') . ' > 0') + $query->set($db->quoteName('checked_out_time') . ' = :checkouttime') ->bind(':checkouttime', $nullDate); } + if ($fields['checked_out']->Null === 'YES') + { + $query->where($db->quoteName('checked_out') . ' IS NOT NULL'); + } + else + { + $query->where($db->quoteName('checked_out') . ' > 0'); + } + $db->setQuery($query); if ($db->execute()) @@ -169,56 +174,50 @@ public function getItems() { $db = $this->getDbo(); $tables = $db->getTableList(); + $prefix = Factory::getApplication()->get('dbprefix'); // This array will hold table name as key and checked in item count as value. $results = array(); - foreach ($tables as $i => $tn) + foreach ($tables as $tn) { // Make sure we get the right tables based on prefix. - if (stripos($tn, Factory::getApplication()->get('dbprefix')) !== 0) + if (stripos($tn, $prefix) !== 0) { - unset($tables[$i]); continue; } if ($this->getState('filter.search') && stripos($tn, $this->getState('filter.search')) === false) { - unset($tables[$i]); continue; } - $fields = $db->getTableColumns($tn); + $fields = $db->getTableColumns($tn, false); if (!(isset($fields['checked_out']) && isset($fields['checked_out_time']))) { - unset($tables[$i]); continue; } - } - foreach ($tables as $tn) - { $query = $db->getQuery(true) ->select('COUNT(*)') - ->from($db->quoteName($tn)) - ->where('checked_out > 0'); - - $db->setQuery($query); + ->from($db->quoteName($tn)); - if ($db->execute()) + if ($fields['checked_out']->Null === 'YES') { - $results[$tn] = $db->loadResult(); - - // Show only tables with items to checkin. - if ((int) $results[$tn] === 0) - { - unset($results[$tn]); - } + $query->where($db->quoteName('checked_out') . ' IS NOT NULL'); } else { - continue; + $query->where($db->quoteName('checked_out') . ' > 0'); + } + + $db->setQuery($query); + $count = $db->loadResult(); + + if ($count) + { + $results[$tn] = $count; } } diff --git a/build/media_source/plg_system_debug/widgets/sqlqueries/widget.css b/build/media_source/plg_system_debug/widgets/sqlqueries/widget.css index a72300892439f..fd6350a6cc15a 100644 --- a/build/media_source/plg_system_debug/widgets/sqlqueries/widget.css +++ b/build/media_source/plg_system_debug/widgets/sqlqueries/widget.css @@ -49,9 +49,10 @@ div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-eye:before, div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-eye-dash:before, div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-stmt-id:before, div.phpdebugbar-widgets-sqlqueries a.phpdebugbar-widgets-editor-link:before { - font-family:"Font Awesome 5 Free"; + font-family: "Font Awesome 5 Free"; margin-right: 4px; font-size: 12px; + font-weight: 900; } div.phpdebugbar-widgets-sqlqueries span.phpdebugbar-widgets-database:before { diff --git a/components/com_config/tmpl/config/default.php b/components/com_config/tmpl/config/default.php index 3107b2194a23d..fc852b0cc7d2e 100644 --- a/components/com_config/tmpl/config/default.php +++ b/components/com_config/tmpl/config/default.php @@ -34,19 +34,9 @@