#!/usr/local/cpanel/3rdparty/bin/perl # Copyright 2025 WebPros International, LLC # All rights reserved. # copyright@cpanel.net http://cpanel.net # This code is subject to the cPanel license. Unauthorized copying is prohibited. package scripts::install_tuxcare_els_php; use cPstrict; use Getopt::Long (); use Cpanel::Imports; use Cpanel::CloudLinux (); our $user_id = $>; # This allows testability, I cannot overwrite $> in tests exit( __PACKAGE__->run(@ARGV) // 0 ) unless caller(); sub run (@args) { if ( $user_id != 0 ) { die "$0: must run as root\n"; } my $help; my $delete; my $force; my $validate; return usage(1) unless Getopt::Long::GetOptionsFromArray( \@args, 'help' => \$help, 'delete' => \$delete, 'force' => \$force, 'validate' => \$validate, ); return usage() if $help; # explicit false $delete = 0 if !$delete; $force = 0 if !$force; $validate = 0 if !$validate; die "--delete and --force and --validate are mutually exclusive\n" if $delete + $force + $validate > 1; # This will die if there is an error Cpanel::CloudLinux::install_tuxcare_els_php( $delete, $force, $validate ); return 0; } sub usage ( $status = 0 ) { my $msg = <<"EOM"; install_tuxcare_els_php: Install Tuxcare Extended Life Support for PHP Usage: install_tuxcare_els_php [--help | --delete | --validate | --force] Options: --help: Output usage and exit --delete: Remove Tuxcare ELS PHP --validate: Validate Tuxcare ELS PHP --force: Reinstall Tuxcare ELS PHP EOM if ($status) { print STDERR $msg; } else { print $msg; } return $status; } 1;