<?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'];
	
	//.env
	sclone_replace($replace_data, $__settings['softpath'].'/.env', 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['^/$'] = '^'.$__settings['relativeurl'].'/$';
			$replace_data['RewriteBase \'/\''] = 'RewriteBase \''.$__settings['relativeurl'].'\'';
			$replace_data['RewriteBase /'] = 'RewriteBase '.$__settings['relativeurl'];
			
		}elseif(is_dom_root($__settings['softpath'])){
			
			$replace_data['^'.$source_data['relativeurl'].'/$'] = '^/$';
			$replace_data['RewriteBase \''.$source_data['relativeurl'].'\''] = 'RewriteBase \'/\'';
			$replace_data['RewriteBase '.$source_data['relativeurl']] = 'RewriteBase /';
			
		}
			
		sclone_replace($replace_data, $__settings['softpath'].'/.htaccess', true);		
	}
	
	//From 1.16.10 version onwards composer doesn't create symlinks anymore.
	if(sversion_compare($__settings['ver'], '1.16.10', '<')){
	
		// create symlink
		if($globals['os'] != 'windows'){
			
			// Have to remove this files so symlinks can be created
			srm($__settings['softpath'].'/vendor/bin/doctrine');
			srm($__settings['softpath'].'/vendor/bin/doctrine-dbal');
			srm($__settings['softpath'].'/vendor/bin/doctrine-migrations');
			srm($__settings['softpath'].'/vendor/bin/html-to-markdown');
			srm($__settings['softpath'].'/vendor/bin/php-cs-fixer');
			srm($__settings['softpath'].'/vendor/bin/php-parse');
			srm($__settings['softpath'].'/vendor/bin/phpstan');
			srm($__settings['softpath'].'/vendor/bin/phpstan.phar');
			srm($__settings['softpath'].'/vendor/bin/phpunit');
			srm($__settings['softpath'].'/vendor/bin/simple-phpunit');
			srm($__settings['softpath'].'/vendor/bin/sql-formatter');
			srm($__settings['softpath'].'/vendor/bin/swagger');
			srm($__settings['softpath'].'/vendor/bin/var-dump-server');

			//php function to prepare symlinks on all platforms
			symlink($__settings['softpath'].'/vendor/doctrine/orm/bin/doctrine', $__settings['softpath'].'/vendor/bin/doctrine');
			symlink($__settings['softpath'].'/vendor/doctrine/dbal/bin/doctrine-dbal', $__settings['softpath'].'/vendor/bin/doctrine-dbal');
			symlink($__settings['softpath'].'/vendor/doctrine/migrations/bin/doctrine-migrations', $__settings['softpath'].'/vendor/bin/doctrine-migrations');
			symlink($__settings['softpath'].'/vendor/league/html-to-markdown/bin/html-to-markdown', $__settings['softpath'].'/vendor/bin/html-to-markdown');
			symlink($__settings['softpath'].'/vendor/friendsofphp/php-cs-fixer/php-cs-fixer', $__settings['softpath'].'/vendor/bin/php-cs-fixer');
			symlink($__settings['softpath'].'/vendor/nikic/php-parser/bin/php-parse', $__settings['softpath'].'/vendor/bin/php-parse');
			symlink($__settings['softpath'].'/vendor/phpstan/phpstan/phpstan', $__settings['softpath'].'/vendor/bin/phpstan');
			symlink($__settings['softpath'].'/vendor/phpstan/phpstan/phpstan.phar', $__settings['softpath'].'/vendor/bin/phpstan.phar');
			symlink($__settings['softpath'].'/vendor/phpunit/phpunit/phpunit', $__settings['softpath'].'/vendor/bin/phpunit');
			symlink($__settings['softpath'].'/vendor/symfony/phpunit-bridge/bin/simple-phpunit', $__settings['softpath'].'/vendor/bin/simple-phpunit');
			symlink($__settings['softpath'].'/vendor/doctrine/sql-formatter/bin/sql-formatter', $__settings['softpath'].'/vendor/bin/sql-formatter');
			symlink($__settings['softpath'].'/vendor/zircote/swagger-php/bin/swagger', $__settings['softpath'].'/vendor/bin/swagger');
			symlink($__settings['softpath'].'/vendor/symfony/var-dumper/Resources/bin/var-dump-server', $__settings['softpath'].'/vendor/bin/var-dump-server');
			
		}
	}

	$tmp = sfile($__settings['softpath'].'/var/cache/.gitkeep');
	@srm($__settings['softpath'].'/var/cache/');
	swrite($__settings['softpath'].'/var/cache/.gitkeep', $tmp, 1);
	$tmp = sfile($__settings['softpath'].'/var/sessions/.gitkeep');
	@srm($__settings['softpath'].'/var/sessions/');
	swrite($__settings['softpath'].'/var/sessions/.gitkeep', $tmp, 1);

	//CHMOD
	@schmod($__settings['softpath'].'/var/', $globals['odc'], 1);
	@schmod($__settings['softpath'].'/public/avatars/', $globals['odc'], 1);
	
}

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

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

}

?>