Current File : /home/inlingua/public_html/decay_sym/root/var/softaculous/apps/pureftpd/3/install.php
<?php

function __pureftpd_requirements(){
	
	global $globals, $error, $distro;
	
	$version = (int) str_replace('.', '', $globals['webuzo_version']);
	
	// Check Webuzo version | If it's 2.2.8 
	if($version < 300){
		$error[] = 'Please upgrade to Webuzo 3.0.0 to use this application';
		return true;
	}
	
}
/*
function __pureftpd_preinstall(){
	
}

function __pureftpd_postinstall(){
	
}
*/

function __pureftpd_install(){
	
	global $infos, $globals;

	@mkdir(PUREFTPD_ETC, 0755);
	
	copy(PUREFTPD_WAPP.'pure-ftpd.conf', PUREFTPD_ETC.'pure-ftpd.conf');
	
	$distro = $globals['WU_DISTRO'];
	
	if($distro == 'ubuntu'){
		if(!file_exists('/usr/lib/libcrypto.so.1.0.0')){
			vexec('ln -sf /usr/local/apps/lib/libcrypto.so.1.0.0 /usr/lib/libcrypto.so.1.0.0');
		}
		if(!file_exists('/usr/lib/libssl.so.1.0.0')){
			vexec('ln -sf /usr/local/apps/lib/libssl.so.1.0.0 /usr/lib/libssl.so.1.0.0');
		}
	}else{
		if(!file_exists('/usr/lib64/libcrypto.so.1.0.0')){
			vexec('ln -sf /usr/local/apps/lib/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so.1.0.0');
		}
		if(!file_exists('/usr/lib64/libssl.so.1.0.0')){
			vexec('ln -sf /usr/local/apps/lib/libssl.so.1.0.0 /usr/lib64/libssl.so.1.0.0');
		}
	}
	
	// Check firewalld installed and Add pureftpd service in firewalld
	$status = trim(shell_exec('firewall-cmd --state 2>&1'));

	if($status == 'running'){
		vexec('firewall-cmd --zone=public --add-service=ftp --permanent && firewall-cmd --reload');
		vexec('firewall-cmd --zone=public --add-port=21/tcp --permanent && firewall-cmd --reload');
	}
	
	// Add the logrotate
	if (file_exists('/etc/logrotate.d/pureftpd')){
		unlink('/etc/logrotate.d/pureftpd');
	}
	
	copy(PUREFTPD_WAPP.'/pureftpd_logrotate', '/etc/logrotate.d/pureftpd');
	
	if(!file_exists(PUREFTPD_LOGS)){
		mkdir(PUREFTPD_LOGS);
	}
}

function __pureftpd_configure(){
	
	global $infos, $globals, $iapps, $softpanel;
	
	scopy(PUREFTPD_WAPP.'pure-ftpd', PUREFTPD_BIN.'/pureftpdctl');
	
	// restarting the service in order to create a boot startup file in run levels
	$softpanel->pureftpd_restart();
	
	// Rebuild config with preserved settings
	$softpanel->pureftpd_config_rebuild();	
}