<?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'];
$temp = parse_url($__settings['softurl']);
$__settings['relativeurl'] = $temp['path'];
//config.php
$file = sfile($__settings['softpath'].'/application/config/config.php');
if(empty($file)){
$error[] = 'Could not read the config file to get the encryption_key';
return false;
}
soft_preg_replace('/\$config\[("|\')encryption_key("|\')\](\s*?)=(\s*?)("|\')(.*?)("|\');/is', $file, $__settings['encryption_key'], 6);
$replace_data[$__settings['encryption_key']] = md5(time().rand());
sclone_replace($replace_data, $__settings['softpath'].'/application/config/config.php', true);
//database.php
sclone_replace($replace_data, $__settings['softpath'].'/application/config/database.php', true);
//sql
$query = "TRUNCATE TABLE ci_sessions;";
sdb_query($query, $__settings['softdbhost'], $__settings['softdbuser'], $__settings['softdbpass'], $__settings['softdb']);
$__settings['random_hash'] = substr(rtrim(strtr(base64_encode(__getRandomBytes(24)), '+/', '-_'), '='),0,24);
$query = "UPDATE `users` SET `random_hash`='".$__settings['random_hash']."' WHERE `id` = 1;";
sdb_query($query, $__settings['softdbhost'], $__settings['softdbuser'], $__settings['softdbpass'], $__settings['softdb']);
//.htaccess
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'])){
$replace_data['RewriteBase \'/\''] = 'RewriteBase \''.$__settings['relativeurl'].'\'';
$replace_data['RewriteBase /'] = 'RewriteBase '.$__settings['relativeurl'];
}elseif(is_dom_root($__settings['softpath'])){
$replace_data['RewriteBase \''.$source_data['relativeurl'].'\''] = 'RewriteBase \'/\'';
$replace_data['RewriteBase '.$source_data['relativeurl']] = 'RewriteBase /';
}
sclone_replace($replace_data, $__settings['softpath'].'/.htaccess', true);
}
// CHMOD some files
@schmod($__settings['softpath'].'/local/upload/leaves/', $globals['odc'], 1);
@schmod($__settings['softpath'].'/application/logs/', $globals['odc'], 1);
}
//Check whether the Minimum Software configuration matches
function __requirements(){
global $__settings, $error, $software, $globals;
return true;
}
function __getRandomBytes($length) {
if(function_exists('openssl_random_pseudo_bytes')) {
$rnd = openssl_random_pseudo_bytes($length, $strong);
if ($strong === TRUE)
return $rnd;
}
$sha =''; $rnd ='';
if (file_exists('/dev/urandom')) {
$fp = fopen('/dev/urandom', 'rb');
if ($fp) {
if (function_exists('stream_set_read_buffer')) {
stream_set_read_buffer($fp, 0);
}
$sha = fread($fp, $length);
fclose($fp);
}
}
for ($i=0; $i<$length; $i++) {
$sha = hash('sha256',$sha.mt_rand());
$char = mt_rand(0,62);
$rnd .= chr(hexdec($sha[$char].$sha[$char+1]));
}
return $rnd;
}
?>