| Server IP : 91.220.113.119 / Your IP : 216.73.217.69 Web Server : LiteSpeed System : Linux milad313-ded-e10.tidadns.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : maralloab ( 1965) PHP Version : 8.1.34 Disable Function : mail, show_source, system, shell_exec, passthru, exec, popen, proc_open MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /var/softaculous/joomla30/ |
Upload File : |
<?php
@unlink(__FILE__);
// Validate if the request is from Softaculous
if($_REQUEST['pass'] != '[[autopass]]'){
die("Unauthorized Access");
}
define('_JEXEC', 1);
if (file_exists(__DIR__ . '/administrator/defines.php'))
{
include_once __DIR__ . '/administrator/defines.php';
}
if (!defined('_JDEFINES'))
{
define('JPATH_BASE', realpath(__DIR__ .'/administrator'));
require_once JPATH_BASE . '/includes/defines.php';
}
require_once JPATH_BASE . '/includes/framework.php';
$version = \Joomla\CMS\Version::MAJOR_VERSION;
$signon_user = '[[signon_username]]';
if($version == 4){
// Boot the DI container
$container = \Joomla\CMS\Factory::getContainer();
$container->alias('session.web', 'session.web.administrator')
->alias('session', 'session.web.administrator')
->alias('JSession', 'session.web.administrator')
->alias(\Joomla\CMS\Session\Session::class, 'session.web.administrator')
->alias(\Joomla\Session\Session::class, 'session.web.administrator')
->alias(\Joomla\Session\SessionInterface::class, 'session.web.administrator');
// Instantiate the application.
$app = $container->get(\Joomla\CMS\Application\AdministratorApplication::class);
// Set the application as global app
\Joomla\CMS\Factory::$application = $app;
$user = \Joomla\CMS\Factory::getUser();
if(!$user->id){
$authenticate = \Joomla\CMS\Authentication\Authentication::getInstance('authentication');
$options = array(
'action' => 'core.login.admin',
'group' => 'Public Backend',
);
$db = \Joomla\CMS\Factory::getDbo();
if(!empty($signon_user) && !preg_match('/^\[\[(.*?)\]\]$/is', $signon_user)){
$id = (int) Joomla\CMS\User\UserHelper::getUserId($signon_user);
}else{
$query = $db->getQuery(true);
$query->select($db->quoteName('user_id'))
->from($db->quoteName('#__user_usergroup_map'))
->where($db->quoteName('group_id') . ' = 8' );
$db->setQuery($query);
$users = $db->loadColumn();
$id = min($users);
}
$user = \Joomla\CMS\User\User::getInstance($id);
$response = new \Joomla\CMS\Authentication\AuthenticationResponse;
$response->type = 'Joomla';
$response->status = \Joomla\CMS\Authentication\Authentication::STATUS_SUCCESS;
$response->email = $user->email;
$response->fullname = $user->name;
$response->username = $user->username;
$authorisations = $authenticate->authorise($response, $options);
$denied_states = \Joomla\CMS\Authentication\Authentication::STATUS_EXPIRED | \Joomla\CMS\Authentication\Authentication::STATUS_DENIED;
$app->triggerEvent('onUserLogin', array((array) $response, $options));
if ($response->type === 'Cookie')
{
$user->set('cookieLogin', true);
}
}
}elseif($version == 3){
require_once JPATH_BASE . '/includes/helper.php';
require_once JPATH_BASE . '/includes/subtoolbar.php';
$app = JFactory::getApplication('administrator');
// Check for a cookie if user is not logged in
if(JFactory::getUser()->get('guest')){
$options = array('action' => 'core.login.admin');
$instance = Joomla\CMS\User\User::getInstance();
$db = JFactory::getDbo();
if(!empty($signon_user) && !preg_match('/^\[\[(.*?)\]\]$/is', $signon_user)){
$id = (int) Joomla\CMS\User\UserHelper::getUserId($signon_user);
}else{
$query = $db->getQuery(true);
$query->select($db->quoteName('user_id'))
->from($db->quoteName('#__user_usergroup_map'))
->where($db->quoteName('group_id') . ' = 8' );
$db->setQuery($query);
$users = $db->loadColumn();
$id = min($users);
}
if (!$id)
{
$app->redirect('administrator/index.php');
exit();
}
$instance->load($id);
// If the user is blocked, redirect with an error
if ($instance->block == 1)
{
$app->redirect('administrator/index.php');
exit();
}
$result = $instance->authorise($options['action']);
// Mark the user as logged in
$instance->guest = 0;
$session = Joomla\CMS\Factory::getSession();
// Grab the current session ID
$oldSessionId = $session->getId();
// Fork the session
$session->fork();
$session->set('user', $instance);
// Ensure the new session's metadata is written to the database
$app->checkSession();
// Purge the old session
$query = $db->getQuery(true)
->delete('#__session')
->where($db->quoteName('session_id') . ' = ' . $db->quoteBinary($oldSessionId));
$db->setQuery($query)->execute();
$instance->setLastVisit();
}
}
$app->redirect('administrator/index.php');