IP : 3.147.82.47 Hostname : host45.registrar-servers.com Kernel : Linux host45.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64 Disable Function : None :) OS : Linux PATH: / home/ ../ ./ ./ var/ softaculous/ tangobb/ ../ uvdesk/ ../ claro/ ../ shopware/ _clone.php/ /

<?php

//////////////////////////////////////////////////////////////
//===========================================================
// clone.php
//===========================================================
// SOFTACULOUS
// Version : 4.2.8
// Inspired by the DESIRE to be the BEST OF ALL
// ----------------------------------------------------------
// Started by: Alons
// Date: 10th Jan 2009
// Time: 21:00 hrs
// Site: http://www.softaculous.com/ (SOFTACULOUS)
// ----------------------------------------------------------
// Please Read the Terms of use at http://www.softaculous.com
// ----------------------------------------------------------
//===========================================================
// (c)Softaculous Inc.
//===========================================================
//////////////////////////////////////////////////////////////

if(!defined('SOFTACULOUS')){

die('Hacking Attempt');

}

//The Install process
function __clone(){

global $__settings, $error, $software, $globals, $replace_data, $source_data;

//Do we meet the Minimum software requirements
__requirements();

if(!empty($error)){
return false;
}

$temp = parse_url($source_data['softurl']);
$source_data['relativeurl'] = $temp['path'];
$source_data['domhost'] = $temp['host'];

$temp = parse_url($__settings['softurl']);
$__settings['relativeurl'] = $temp['path'];
$__settings['domhost'] = $temp['host'];

if($__settings['ver'] < '6.0.0.0'){

//Safeguard clear_cache.sh file
$randstr = srandstr(4);
smkdir($__settings['softpath'].'/soft_'.$randstr.'/', $globals['odc']);

@scopy($__settings['softpath'].'/var/cache/clear_cache.sh', $__settings['softpath'].'/soft_'.$randstr.'/clear_cache.sh');

sclone_replace($replace_data, $__settings['softpath'].'/config.php', true);

$__settings['ser_esdKey'] = serialize(strtolower(__generateUniqueId(33)));
$update = "UPDATE s_core_config_values SET value='".$__settings['ser_esdKey']."' WHERE id=3;";
sdb_query($update, $__settings['softdbhost'], $__settings['softdbuser'], $__settings['softdbpass'], $__settings['softdb']);

$__settings['ser_uniqueid'] = serialize(strtolower(__generateUniqueId(32)));
$update1 = "UPDATE s_core_config_values SET value='".$__settings['ser_uniqueid']."' WHERE id=4;";
sdb_query($update1, $__settings['softdbhost'], $__settings['softdbuser'], $__settings['softdbpass'], $__settings['softdb']);

//For install.lock file
$file = sfile($__settings['softpath'].'/recovery/install/data/install.lock');

if(empty($file)){
$error[] = 'Could not read the install.lock file.';
return false;
}

$lock_date = trim($file);
$__settings['lock_date'] = date('YmdHi');
$replace_data[$lock_date] = $__settings['lock_date'];

sclone_replace($replace_data, $__settings['softpath'].'/recovery/install/data/install.lock', true);

// We need the uniqueid
$file = sfile($__settings['softpath'].'/recovery/install/data/uniqueid.txt');

if(empty($file)){
$error[] = 'Could not read the file to get the uniqueid.';
return false;
}

$unique_id = trim($file);
$replace_data[$unique_id] = unserialize($__settings['ser_uniqueid']);
sclone_replace($replace_data, $__settings['softpath'].'/recovery/install/data/uniqueid.txt', true);

$update2 = "UPDATE s_core_shops SET host='".$__settings['domhost']."', hosts='".$__settings['domhost']."', base_path='".$__settings['relativeurl']."' WHERE id=1;";
sdb_query($update2, $__settings['softdbhost'], $__settings['softdbuser'], $__settings['softdbpass'], $__settings['softdb']);

}else{

############### GET ALL THE KEYS #################
@scopy($software['path'].'/update_appkey.php', $__settings['softpath'].'/update_appkey.php');

$resp = swget($__settings['softurl'].'/update_appkey.php');

//Retrieve APP_SECRET to store in .env file
if(preg_match('/<appsecret>(.*?)<\/appsecret>/is', $resp, $matches)){
$__settings['APP_SECRET'] = $matches[1];
}

//Retrieve public and private key pair and store them in .pem files
if(preg_match('/<publickey>(.*?)<\/publickey>/is', $resp, $matches1)){
$__settings['public_key'] = $matches1[1];
}

if(preg_match('/<privatekey>(.*?)<\/privatekey>/is', $resp, $matches1)){
$__settings['private_key'] = $matches1[1];
}

sunlink($__settings['softpath'].'/update_appkey.php');
####################################################

//For .uniqueid.txt file
$file = sfile($__settings['softpath'].'/.uniqueid.txt');

if(empty($file)){
$error[] = 'Could not read the .uniqueid.txt file.';
return false;
}

$uniqueid = trim($file);
$__settings['uniqueid'] = __generateUniqueId(32);
$replace_data[$uniqueid] = $__settings['uniqueid'];

sclone_replace($replace_data, $__settings['softpath'].'/.uniqueid.txt', true);
####################

//For .env file
$file = sfile($__settings['softpath'].'/.env');

if(empty($file)){
$error[] = 'Could not read the .env file.';
return false;
}

soft_preg_replace('/APP_SECRET=("|\')(.*?)("|\')\n/is', $file, $APP_SECRET, 2);
$replace_data[$APP_SECRET] = $__settings['APP_SECRET'];

soft_preg_replace('/INSTANCE_ID=("|\')(.*?)("|\')\n/is', $file, $INSTANCE_ID, 2);
$replace_data[$INSTANCE_ID] = $__settings['uniqueid'];

sclone_replace($replace_data, $__settings['softpath'].'/.env', true);
####################

//For install.lock file
$file = sfile($__settings['softpath'].'/install.lock');

if(empty($file)){
$error[] = 'Could not read the install.lock file.';
return false;
}

$lock_date = trim($file);
$__settings['lock_date'] = date('YmdHi');
$replace_data[$lock_date] = $__settings['lock_date'];

sclone_replace($replace_data, $__settings['softpath'].'/install.lock', true);
#########################

//For config/jwt/private.pem file
$file = sfile($__settings['softpath'].'/config/jwt/private.pem');

if(empty($file)){
$error[] = 'Could not read the private.pem file.';
return false;
}

$private_key = trim($file);
$replace_data[$private_key] = $__settings['private_key'];

sclone_replace($replace_data, $__settings['softpath'].'/config/jwt/private.pem', true);
####################

//For config/jwt/public_key file
$file = sfile($__settings['softpath'].'/config/jwt/public.pem');

if(empty($file)){
$error[] = 'Could not read the public_key file.';
return false;
}

$public_key = trim($file);
$replace_data[$public_key] = $__settings['public_key'];

sclone_replace($replace_data, $__settings['softpath'].'/config/jwt/public.pem', true);
####################

############## SQL CHANGES ###############
$query = "select `configuration_value` FROM `system_config` WHERE `configuration_key`= 'core.app.shopId';";
$result = sdb_query($query, $__settings['softdbhost'], $__settings['softdbuser'], $__settings['softdbpass'], $__settings['softdb']);

$value = $result['0']['configuration_value'];

$array = json_decode($value, true);

$array['_value']['value'] = $__settings['app_shopid'] = srandstr(16);
$new_value = json_encode($array);

$replace = "UPDATE `system_config` SET `configuration_value`='".$new_value."' WHERE `configuration_key`= 'core.app.shopId';";
sdb_query($replace, $__settings['softdbhost'], $__settings['softdbuser'], $__settings['softdbpass'], $__settings['softdb']);

$replace_data['RedirectMatch 301 ^'.$source_data['relativeurl'].'/$ '.$source_data['softurl'].'/public'] = 'RedirectMatch 301 ^'.$__settings['relativeurl'].'/$ '.$__settings['softurl'].'/public';

}

if(sfile_exists($__settings['softpath'].'/.htaccess')){

// If the installation is on root domain we need to change the below relative URL
if(is_dom_root($source_data['softpath'])){
//RewriteBase /shopware/
$replace_data['RewriteBase \'/\''] = 'RewriteBase \''.$__settings['relativeurl'].'\'';
$replace_data['RewriteBase /'] = 'RewriteBase '.$__settings['relativeurl'];
$replace_data['RewriteBase /shopware/'] = 'RewriteBase '.$__settings['relativeurl'].'/';
}elseif(is_dom_root($__settings['softpath'])){
$replace_data['RewriteBase \''.$source_data['relativeurl'].'\''] = 'RewriteBase \'/\'';
$replace_data['RewriteBase '.$source_data['relativeurl']] = 'RewriteBase /';
$replace_data['RewriteBase '.$source_data['relativeurl'].'/'] = 'RewriteBase /shopware/';
}

sclone_replace($replace_data, $__settings['softpath'].'/.htaccess', true);
}

@srm($__settings['softpath'].'/var/cache/');
@smkdir($__settings['softpath'].'/var/cache/', $globals['odc']);
@schmod($__settings['softpath'].'/var/', $globals['odc'], 1);
@schmod($__settings['softpath'].'/media/', $globals['odc'], 1);

@scopy($__settings['softpath'].'/soft_'.$randstr.'/clear_cache.sh', $__settings['softpath'].'/var/cache/clear_cache.sh');
@scopy($__settings['softpath'].'/var/log/.htaccess', $__settings['softpath'].'/var/cache/.htaccess');

srm($__settings['softpath'].'/soft_'.$randstr.'/');
}

//Check whether the Minimum Software configuration matches
function __requirements(){

global $__settings, $error, $software;

return true;

}

function __generateUniqueId($length = 32, $keyspace = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')
{
$str = '';
$max = mb_strlen($keyspace, '8bit') - 1;
for ($i = 0; $i < $length; ++$i) {
$str .= $keyspace[rand(0, $max)];
}

return $str;
}

function __post_unzip(){
global $source_data, $replace_data, $__settings;

if(preg_match('/^http:\/\//is', $source_data['softurl'])){
$source_url = preg_replace('/^http:\/\//is', '', $source_data['softurl']);
}elseif(preg_match('/^http:\/\/www\./is', $source_data['softurl'])){
$source_url = preg_replace('/^http:\/\/www\./is', '', $source_data['softurl']);
}elseif(preg_match('/^https:\/\//is', $source_data['softurl'])){
$source_url = preg_replace('/^https:\/\//is', '', $source_data['softurl']);
}elseif(preg_match('/^https:\/\/www\./is', $source_data['softurl'])){
$source_url = preg_replace('/^https:\/\/www\./is', '', $source_data['softurl']);
}

if(preg_match('/^http:\/\//is', $__settings['softurl'])){
$dest_url = preg_replace('/^http:\/\//is', '', $__settings['softurl']);
}elseif(preg_match('/^http:\/\/www\./is', $__settings['softurl'])){
$dest_url = preg_replace('/^http:\/\/www\./is', '', $__settings['softurl']);
}elseif(preg_match('/^https:\/\//is', $__settings['softurl'])){
$dest_url = preg_replace('/^https:\/\//is', '', $__settings['softurl']);
}elseif(preg_match('/^https:\/\/www\./is', $__settings['softurl'])){
$dest_url = preg_replace('/^https:\/\/www\./is', '', $__settings['softurl']);
}

$replace_data['http://'.$source_url] = 'http://'.$dest_url;
$replace_data['http://www.'.$source_url] = 'http://www.'.$dest_url;
$replace_data['https://'.$source_url] = 'https://'.$dest_url;
$replace_data['https://www.'.$source_url] = 'https://www.'.$dest_url;
}

?>