| Server IP : 195.130.67.5 / Your IP : 216.73.217.154 Web Server : Microsoft-IIS/10.0 System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586 User : IUSR ( 0) PHP Version : 7.4.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Old Sites/rescommittee/plugins/system/modals/ |
Upload File : |
<?php
/**
* @package Modals
* @version 11.3.1
*
* @author Peter van Westen <info@regularlabs.com>
* @link http://www.regularlabs.com
* @copyright Copyright © 2019 Regular Labs All Rights Reserved
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory as JFactory;
require_once __DIR__ . '/script.install.helper.php';
class PlgSystemModalsInstallerScript extends PlgSystemModalsInstallerScriptHelper
{
public $name = 'MODALS';
public $alias = 'modals';
public $extension_type = 'plugin';
public function uninstall($adapter)
{
$this->uninstallPlugin($this->extname, 'editors-xtd');
}
public function onBeforeInstall($route)
{
$this->showDivMessage();
}
public function onAfterInstall($route)
{
// Copy modal.php to system template folder
JFile::copy(__DIR__ . '/modal.php', JPATH_SITE . '/templates/system/modal.php');
$this->fixOldParams();
}
private function showDivMessage()
{
$installed_version = $this->getVersion($this->getInstalledXMLFile());
if ($installed_version && version_compare($installed_version, 11, '<'))
{
JFactory::getApplication()->enqueueMessage(
'Modals no longer uses the external Colorbox script. As a result, the script name and all element ids and have been changed.<br>'
. 'This means that any custom styles and scripts you are using for Modals will need updating.<br><br>'
. 'References in your custom CSS styling to <code>cboxTitle</code>, <code>cboxLoadedContent</code>, etc. will need to be changed to <code>rl_modals_title</code>, <code>rl_modals_loaded_content</code>, etc.<br>'
. 'References in your custom code to <code>jQuery.colorbox</code> will need to be changed to <code>jQuery.rl_modals</code>'
, 'warning'
);
}
}
public function fixOldParams()
{
$query = $this->db->getQuery(true)
->select($this->db->quoteName('params'))
->from('#__extensions')
->where($this->db->quoteName('element') . ' = ' . $this->db->quote('modals'))
->where($this->db->quoteName('folder') . ' = ' . $this->db->quote('system'));
$this->db->setQuery($query);
$db_params = $this->db->loadResult();
if (empty($db_params))
{
return;
}
$params = json_decode($db_params);
if (empty($params))
{
return;
}
// Since v9.14.0
if (isset($params->gallery_create_thumbnails) && ! isset($params->create_thumbnails))
{
$params->create_thumbnails = $params->gallery_create_thumbnails;
unset($params->gallery_create_thumbnails);
}
if (isset($params->gallery_thumb) && ! isset($params->thumbnail))
{
$params->thumbnail = $params->gallery_thumb;
unset($params->gallery_thumb);
}
// Since v9.9.0
if (isset($params->images_use_title_attribute) && $params->images_use_title_attribute === 1)
{
$params->images_use_title_attribute = 'title';
}
// Since v10.0.0
if (isset($params->thumbnail_quality) && is_numeric($params->thumbnail_quality))
{
$params->thumbnail_quality = 'medium';
}
if ( ! isset($params->thumbnail_legacy) && ! empty($params->thumbnail_suffix))
{
$params->thumbnail_legacy = 1;
}
// Since v11.3.0
if (isset($params->thumbnail_crop) && is_numeric($params->thumbnail_crop))
{
$params->thumbnail_resize_type = $params->thumbnail_crop ? 'crop' : 'scale';
unset($params->thumbnail_crop);
}
$query->clear()
->update('#__extensions')
->set($this->db->quoteName('params') . ' = ' . $this->db->quote(json_encode($params)))
->where($this->db->quoteName('element') . ' = ' . $this->db->quote('modals'))
->where($this->db->quoteName('folder') . ' = ' . $this->db->quote('system'));
$this->db->setQuery($query);
$this->db->execute();
JFactory::getCache()->clean('_system');
}
}