Current File : //etc/zpanel/panel/modules/ssl/code/ssl_renew.php
<?php
if(!file_exists('/var/log/letsencrypt/sslrenew.log'))
{
        shell_exec("touch /var/log/letsencrypt/sslrenew.log");
        shell_exec("/usr/local/letsencrypt/./certbot-auto certificates > /var/log/letsencrypt/sslrenew.log");
}
else
shell_exec("/usr/local/letsencrypt/./certbot-auto certificates > /var/log/letsencrypt/sslrenew.log");
$port_check = trim(shell_exec('lsof -i:80 -S | tail -1 |  cut -d " " -f1'));
if($port_check == "varnishd")
{
	shell_exec('/etc/sentora/panel/bin/setso --set apache_port 80');
    	shell_exec('/etc/sentora/panel/bin/setso --set sentora_port 80');
	shell_exec('mysql --socket="/usr/local/mysql/mysql.sock" -e "Update sentora_core.x_vhosts SET vh_custom_port_in="80";"');
	shell_exec('mysql --socket="/usr/local/mysql/mysql.sock" -e "Update sentora_core.x_varnish SET x_varnish="Off",x_isactive="0";"');
    shell_exec('/etc/sentora/panel/bin/setso --set apache_changed "true"');
    shell_exec('php /etc/sentora/panel/bin/daemon.php');
}
$certificate_list = (shell_exec('grep "Certificate Name" /var/log/letsencrypt/sslrenew.log | awk \'{print $3}\''));
$expiry_date = shell_exec('grep "Expiry Date" /var/log/letsencrypt/sslrenew.log | awk \'{print $6}\'');
$certificate_list = array_filter(explode("\n", $certificate_list));
//print_r($certificate_list);
$expiry_date = array_filter(explode("\n", $expiry_date));
//print_r($expiry_date);
$i = 0;
$renewd_flag = false;
foreach($certificate_list as $key => $value)
{
	echo "\n Cert Name: ".$value."\n";
        if(trim($value) != "")
        {
                $now = time();
                if(!file_exists('/var/log/letsencrypt/renew.log'))
                {
                        echo "\n Kesav \n";
                        shell_exec("touch /var/log/letsencrypt/renew.log");
                }
                if (strpos($expiry_date[$i], 'EXPIRED') !== false) {
                        echo "EXPIRED ";
                        shell_exec('/usr/local/letsencrypt/./certbot-auto renew --cert-name '.$value.' >> /var/log/letsencrypt/renew.log ');
			$hostname_service = trim(shell_exec("whereis hostname | awk {'print $2'}"));
			$hostname = trim(shell_exec("$hostname_service"));
			if($hostname == $value)
			{
				$web_file = "/etc/letsencrypt/live/".$value."/cert.pem";
				if(file_exists($web_file))
				{
					shell_exec("cat /etc/letsencrypt/live/$value/cert.pem /etc/letsencrypt/live/$value/privkey.pem > /etc/letsencrypt/live/$value/web.pem");
				}
			}
                        $renewd_flag = true;
                }
                else
                {
                        echo "Valid ".$expiry_date[$i]."\n";
                        if($expiry_date[$i] < 10)
                        {
                                shell_exec("/usr/local/letsencrypt/./certbot-auto renew --cert-name $value >> /var/log/letsencrypt/renew.log");
				$hostname_service = trim(shell_exec("whereis hostname | awk {'print $2'}"));
	                        $hostname = trim(shell_exec("$hostname_service"));
        	                if($hostname == $value)
                	        {
					$web_file = "/etc/letsencrypt/live/".$value."/cert.pem";
                                	if(file_exists($web_file))
                                	{
                                        	shell_exec("cat /etc/letsencrypt/live/$value/cert.pem /etc/letsencrypt/live/$value/privkey.pem > /etc/letsencrypt/live/$value/web.pem");
                                	}
                        	}
                                $renewd_flag = true;
                        }
                }
 }
        $i++;
}
if($renewd_flag)
{
        $service = trim(shell_exec("whereis service | awk '{print $2}'"));
        shell_exec("$service httpd restart");
        shell_exec("/usr/local/letsencrypt/./certbot-auto certificates > /var/log/letsencrypt/sslrenew.log");
}

?>