| Current Path : /var/www/html/plugins/privacy/kunena/ |
| Current File : /var/www/html/plugins/privacy/kunena/script.php |
<?php
/**
* Kunena Privacy Plugin
*
* @package Kunena.Plugins
* @subpackage Privacy
*
* @copyright Copyright (C) 2008 - 2026 Kunena Team. All rights reserved.
* @license https://www.gnu.org/copyleft/gpl.html GNU/GPL
* @link https://www.kunena.org
**/
defined('_JEXEC') or die();
use Joomla\CMS\Factory;
use Joomla\CMS\Installer\Adapter\ComponentAdapter;
use Joomla\CMS\Installer\InstallerScript;
use Joomla\Database\DatabaseDriver;
use Joomla\Database\Exception\ExecutionFailureException;
/**
* Kunena package installer script.
*
* @since Kunena
*/
class plgPrivacyKunenaInstallerScript extends InstallerScript
{
/**
* The extension name. This should be set in the installer script.
*
* @var string
* @since 5.4.0
*/
protected $extension = 'plg_privacy_kunena';
/**
* @var Joomla\CMS\Application\CMSApplication Holds the application object
*
* @since Kunena 6.0
*/
protected $app;
/**
* Database object
*
* @var DatabaseDriver
*
* @since 4.0.0
*/
protected $db;
/**
* @var string During an update, it will be populated with the old release version
*
* @since Kunena 6.0
*/
private $oldRelease;
/**
* method to run after an install/update/uninstall method
*
* @param string $type 'install', 'update' or 'discover_install'
* @param ComponentAdapter $parent Installer object
*
* @return void
*
* @throws Exception
* @since Kunena 6.0
*/
public function postflight($type, $parent)
{
$type = strtolower($type);
if ($type == 'install' || $type == 'discover_install') {
$this->enablePlugin('plg_privacy_kunena');
}
}
/**
* @param string $pluginName The name of plugin to enable
*
* @return boolean|false
* @since version
*/
public function enablePlugin($pluginName)
{
// Create a new db object.
$db = Factory::getContainer()->get('DatabaseDriver');
$query = $db->createQuery();
$query
->update($db->quoteName('#__extensions'))
->set($db->quoteName('enabled') . ' = 1')
->where($db->quoteName('name') . ' = :pluginname')
->where($db->quoteName('type') . ' = ' . $db->quote('plugin'))
->bind(':pluginname', $pluginName);
$db->setQuery($query);
try {
$db->execute();
} catch (ExecutionFailureException $e) {
return false;
}
}
}