(.*?)<\/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>/is', $resp, $matches1)){ $__settings['public_key'] = $matches1[1]; } if(preg_match('/(.*?)<\/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; } ?>