%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/softaculous/orange/
Upload File :
Create Path :
Current File : //var/softaculous/orange/_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'];
	
	//To get site_name, admin_email, admin_firstname and admin_lastname

	$query = "select `name` FROM `ohrm_organization_gen_info` WHERE `id`= 1;";
	$result = sdb_query($query, $__settings['softdbhost'], $__settings['softdbuser'], $__settings['softdbpass'], $__settings['softdb']);
	
	$query1 = "select * FROM `hs_hr_employee` WHERE `emp_number`= 1;";
	$result1 = sdb_query($query1, $__settings['softdbhost'], $__settings['softdbuser'], $__settings['softdbpass'], $__settings['softdb']);
	
	////////////////////////
	
	$__settings['instance.identifier'] = base64_encode($result['0']['name'] . '_' . $result1['0']['emp_work_email'] . '_' . $result1['0']['emp_firstname'] . '_' . $result1['0']['emp_lastname'] . '_' . $__settings['domhost'] . '_' . '' . '_' . $__settings['ver']);
	
	$update2 = "UPDATE hs_hr_config SET `value` ='".$__settings['instance.identifier']."' WHERE `key`= 'instance.identifier';";	
	sdb_query($update2, $__settings['softdbhost'], $__settings['softdbuser'], $__settings['softdbpass'], $__settings['softdb']);
	
	$__settings['instance.identifier_checksum'] = __createInstanceIdentifierChecksum($result['0']['name'], $result1['0']['emp_work_email'], $result1['0']['emp_firstname'], $result1['0']['emp_lastname'], $__settings['domhost'], '', $__settings['ver']);
	
	$update1 = "UPDATE hs_hr_config SET `value` ='".$__settings['instance.identifier_checksum']."' WHERE `key`= 'instance.identifier_checksum';";	
	sdb_query($update1, $__settings['softdbhost'], $__settings['softdbuser'], $__settings['softdbpass'], $__settings['softdb']);

	$__settings['csrf_secret'] = __createCsrfKey();
	$update = "UPDATE hs_hr_config SET `value` ='".$__settings['csrf_secret']."' WHERE `key`= 'csrf_secret';";	
	sdb_query($update, $__settings['softdbhost'], $__settings['softdbuser'], $__settings['softdbpass'], $__settings['softdb']);
	
	sclone_replace($replace_data, $__settings['softpath'].'/lib/confs/Conf.php', true);
	sclone_replace($replace_data, $__settings['softpath'].'/symfony/config/databases.yml', true);
	
	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);		
	}
	
	srm($__settings['softpath'].'/symfony/cache/');
	smkdir($__settings['softpath'].'/symfony/cache/', $globals['odc']);
	@schmod($__settings['softpath'].'/symfony/cache/', $globals['odc']);
}

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

global $__settings, $error, $software;
	
	return true;

}

function __createCsrfKey() {
	
	global $__settings;
	
	$csrfKey = '';

	while (strlen($csrfKey) <= 50) {
		$csrfKey .= base_convert(__crypt_random(), 10, 32);
	}

	return $csrfKey;
}

function __crypt_random($min = 0, $max = 0x7FFFFFFF)
{
    if ($min == $max) {
        return $min;
    }

    // see http://en.wikipedia.org/wiki//dev/random
    // if open_basedir is enabled file_exists() will ouput an "open_basedir restriction in effect" warning,
    // so we suppress it.
    if (@file_exists('/dev/urandom')) {
        static $fp;
        if (!$fp) {
            $fp = fopen('/dev/urandom', 'rb');
        }
        extract(unpack('Nrandom', fread($fp, 4)));

        // say $min = 0 and $max = 3.  if we didn't do abs() then we could have stuff like this:
        // -4 % 3 + 0 = -1, even though -1 < $min
        return abs($random) % ($max - $min) + $min;
    }

    /* Prior to PHP 4.2.0, mt_srand() had to be called before mt_rand() could be called.
       Prior to PHP 5.2.6, mt_rand()'s automatic seeding was subpar, as elaborated here:

       http://www.suspekt.org/2008/08/17/mt_srand-and-not-so-random-numbers/

       The seeding routine is pretty much ripped from PHP's own internal GENERATE_SEED() macro:

       http://svn.php.net/viewvc/php/php-src/branches/PHP_5_3_2/ext/standard/php_rand.h?view=markup */
    if (version_compare(PHP_VERSION, '5.2.5', '<=')) { 
        static $seeded;
        if (!isset($seeded)) {
            $seeded = true;
            mt_srand(fmod(time() * getmypid(), 0x7FFFFFFF) ^ fmod(1000000 * lcg_value(), 0x7FFFFFFF));
        }
    }

    static $crypto;

    // The CSPRNG's Yarrow and Fortuna periodically reseed.  This function can be reseeded by hitting F5
    // in the browser and reloading the page.

    if (!isset($crypto)) {
        $key = $iv = '';
        for ($i = 0; $i < 8; $i++) {
            $key.= pack('n', mt_rand(0, 0xFFFF));
            $iv .= pack('n', mt_rand(0, 0xFFFF));
        }
        switch (true) {
            case class_exists('Crypt_AES'):
                $crypto = new Crypt_AES(CRYPT_AES_MODE_CTR);
                break;
            case class_exists('Crypt_TripleDES'):
                $crypto = new Crypt_TripleDES(CRYPT_DES_MODE_CTR);
                break;
            case class_exists('Crypt_DES'):
                $crypto = new Crypt_DES(CRYPT_DES_MODE_CTR);
                break;
            case class_exists('Crypt_RC4'):
                $crypto = new Crypt_RC4();
                break;
            default:
                extract(unpack('Nrandom', pack('H*', sha1(mt_rand(0, 0x7FFFFFFF)))));
                return abs($random) % ($max - $min) + $min;
        }
        $crypto->setKey($key);
        $crypto->setIV($iv);
        $crypto->enableContinuousBuffer();
    }

    extract(unpack('Nrandom', $crypto->encrypt("\0\0\0\0")));
    return abs($random) % ($max - $min) + $min;
}

function __createInstanceIdentifierChecksum($organizationName, $email, $adminFirstName, $adminLastName, $host, $country, $ohrmVersion){
	
        if (is_null($host)) {
            $host = '';
        }
        if (is_null($country)) {
            $country = '';
        }
        $params = array(
            'organizationName' => $organizationName,
            'organizationEmail' => $email,
            'adminFirstName' => $adminFirstName,
            'adminLastName' => $adminLastName,
            'host' => $host,
            'country' => $country,
            'ohrmVersion' => $ohrmVersion
        );

        return base64_encode(serialize($params));
}

?>

Zerion Mini Shell 1.0