Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
153 changes: 0 additions & 153 deletions administrator/components/com_admin/script.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

defined('_JEXEC') or die;

use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Extension\ExtensionHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\Filesystem\File;
Expand All @@ -18,8 +17,6 @@
use Joomla\CMS\Language\Text;
use Joomla\CMS\Log\Log;
use Joomla\CMS\Table\Table;
use Joomla\CMS\Uri\Uri;
use Joomla\Component\Config\Administrator\Model\ComponentModel;
use Joomla\Component\Fields\Administrator\Model\FieldModel;
use Joomla\Database\ParameterType;

Expand Down Expand Up @@ -6742,8 +6739,6 @@ public function postflight($action, $installer)
}
}

$this->convertBlogLayouts();

return true;
}

Expand Down Expand Up @@ -7106,154 +7101,6 @@ private function updateContentTypes(): void
}
}

/**
* Converts layout parameters for blog / featured views into the according CSS classes.
*
* @return void
*
* @since 4.0.0
*/
private function convertBlogLayouts()
{
$db = Factory::getDbo();
$query = $db->getQuery(true)
->select(
[
$db->quoteName('m.id'),
$db->quoteName('m.link'),
$db->quoteName('m.params'),
]
)
->from($db->quoteName('#__menu', 'm'))
->leftJoin($db->quoteName('#__extensions', 'e'), $db->quoteName('e.extension_id') . ' = ' . $db->quoteName('m.component_id'))
->where($db->quoteName('e.element') . ' = ' . $db->quote('com_content'));

$menuItems = $db->setQuery($query)->loadAssocList('id');
$contentParams = ComponentHelper::getParams('com_content');

foreach ($menuItems as $id => $menuItem)
{
$view = Uri::getInstance($menuItem['link'])->getVar('view');

if (!in_array($view, ['category', 'categories', 'featured']))
{
continue;
}

$params = json_decode($menuItem['params'], true);

// Don't update parameters if num_columns is unset.
if (!isset($params['num_columns']))
{
continue;
}

$useLocalCols = $params['num_columns'] !== '';

if ($useLocalCols)
{
$nColumns = (int) $params['num_columns'];
}
else
{
$nColumns = (int) $contentParams->get('num_columns', '1');
}

unset($params['num_columns']);

$order = 0;
$useLocalOrder = false;

if (isset($params['multi_column_order']))
{
if ($params['multi_column_order'] !== '')
{
$useLocalOrder = true;
$order = (int) $params['multi_column_order'];
}
else
{
$order = (int) $contentParams->get('multi_column_order', '0');
}

unset($params['multi_column_order']);
}

// Only add CSS class if columns > 1 and a local value was set for columns or order.
if ($nColumns > 1 && ($useLocalOrder || $useLocalCols))
{
// Convert to the according CSS class depending on order = "down" or "across".
$layout = ($order === 0) ? 'masonry-' : 'columns-';

if (!isset($params['blog_class']))
{
$params['blog_class'] = '';
}

if (strpos($params['blog_class'], $layout) === false)
{
$params['blog_class'] .= ' ' . $layout . $nColumns;
}
}

$newParams = json_encode($params);

$query = $db->getQuery(true)
->update($db->quoteName('#__menu'))
->set($db->quoteName('params') . ' = :params')
->where($db->quoteName('id') . ' = :id')
->bind(':params', $newParams, ParameterType::STRING)
->bind(':id', $id, ParameterType::INTEGER);

$db->setQuery($query)->execute();
}

// Update global parameters for com_content.
$nColumns = $contentParams->get('num_columns');

if ($nColumns !== null)
{
$nColumns = (int) $nColumns;
$order = (int) $contentParams->get('multi_column_order', '0');
$params = $contentParams->toArray();

if (!isset($params['blog_class']))
{
$params['blog_class'] = '';
}

// Convert to the according CSS class depending on order = "down" or "across".
$layout = ($order === 0) ? 'masonry-' : 'columns-';

if (strpos($params['blog_class'], $layout) === false && $nColumns > 1)
{
$params['blog_class'] .= ' ' . $layout . $nColumns;
}

unset($params['num_columns']);

$app = Factory::getApplication();
/** @var ComponentModel $configModel */
$configModel = $app->bootComponent('com_config')
->getMVCFactory()
->createModel('Component', 'Administrator', ['ignore_request' => true]);

$query = $db->getQuery(true)
->select($db->quoteName('extension_id'))
->from($db->quoteName('#__extensions'))
->where($db->quoteName('element') . ' = ' . $db->quote('com_content'));

$componentId = $db->setQuery($query)->loadResult();

$data = array(
'id' => $componentId,
'option' => 'com_content',
'params' => $params,
);
$configModel->save($data);
}
}

/**
* Renames or removes incorrectly cased files.
*
Expand Down