Refactor all php stack

This commit is contained in:
VirtuBox
2023-08-12 14:44:56 +02:00
parent d1c158d42f
commit f751968fe7
4 changed files with 40 additions and 88 deletions

View File

@@ -9,6 +9,7 @@ from pynginxconfig import NginxConfig
from wo.core.aptget import WOAptGet
from wo.core.logging import Log
from wo.core.shellexec import WOShellExec
from wo.core.variables import WOVar
def wo_info_hook(app):
@@ -27,28 +28,17 @@ class WOInfoController(CementBaseController):
dict(help='Get MySQL configuration information',
action='store_true')),
(['--php'],
dict(help='Get PHP 7.2 configuration information',
action='store_true')),
(['--php73'],
dict(help='Get PHP 7.3 configuration information',
action='store_true')),
(['--php74'],
dict(help='Get PHP 7.4 configuration information',
action='store_true')),
(['--php80'],
dict(help='Get PHP 8.0 configuration information',
action='store_true')),
(['--php81'],
dict(help='Get PHP 8.1 configuration information',
action='store_true')),
(['--php82'],
dict(help='Get PHP 8.2 configuration information',
dict(help='Get PHP configuration information',
action='store_true')),
(['--nginx'],
dict(help='Get Nginx configuration information',
action='store_true')),
]
usage = "wo info [options]"
for php_version, php_number in WOVar.wo_php_versions.items():
arguments.append(([f'--{php_version}'],
dict(help=f'Get PHP {php_number} configuration information',
action='store_true')))
@expose(hide=True)
def info_nginx(self):

View File

@@ -32,19 +32,7 @@ class WOSiteCreateController(CementBaseController):
(['--html'],
dict(help="create html site", action='store_true')),
(['--php'],
dict(help="create php 7.2 site", action='store_true')),
(['--php72'],
dict(help="create php 7.2 site", action='store_true')),
(['--php73'],
dict(help="create php 7.3 site", action='store_true')),
(['--php74'],
dict(help="create php 7.4 site", action='store_true')),
(['--php80'],
dict(help="create php 8.0 site", action='store_true')),
(['--php81'],
dict(help="create php 8.1 site", action='store_true')),
(['--php82'],
dict(help="create php 8.2 site", action='store_true')),
dict(help="create php site", action='store_true')),
(['--mysql'],
dict(help="create mysql site", action='store_true')),
(['--wp'],
@@ -110,6 +98,10 @@ class WOSiteCreateController(CementBaseController):
"without installing WordPress",
action='store_true')),
]
for php_version, php_number in WOVar.wo_php_versions.items():
arguments.append(([f'--{php_version}'],
dict(help=f'Create PHP {php_number} site',
action='store_true')))
@expose(hide=True)
def default(self):

View File

@@ -41,18 +41,6 @@ class WOSiteUpdateController(CementBaseController):
dict(help="update to html site", action='store_true')),
(['--php'],
dict(help="update to php site", action='store_true')),
(['--php72'],
dict(help="update to php72 site", action='store_true')),
(['--php73'],
dict(help="update to php73 site", action='store_true')),
(['--php74'],
dict(help="update to php74 site", action='store_true')),
(['--php80'],
dict(help="update to php80 site", action='store_true')),
(['--php81'],
dict(help="update to php81 site", action='store_true')),
(['--php82'],
dict(help="update to php82 site", action='store_true')),
(['--mysql'],
dict(help="update to mysql site", action='store_true')),
(['--wp'],
@@ -104,6 +92,10 @@ class WOSiteUpdateController(CementBaseController):
(['--all'],
dict(help="update all sites", action='store_true')),
]
for php_version, php_number in WOVar.wo_php_versions.items():
arguments.append(([f'--{php_version}'],
dict(help=f'Update site to PHP {php_number}',
action='store_true')))
@expose(help="Update site type or cache")
def default(self):

View File

@@ -33,18 +33,6 @@ class WOStackUpgradeController(CementBaseController):
dict(help='Upgrade Nginx stack', action='store_true')),
(['--php'],
dict(help='Upgrade PHP 7.2 stack', action='store_true')),
(['--php72'],
dict(help='Upgrade PHP 7.2 stack', action='store_true')),
(['--php73'],
dict(help='Upgrade PHP 7.3 stack', action='store_true')),
(['--php74'],
dict(help='Upgrade PHP 7.4 stack', action='store_true')),
(['--php80'],
dict(help='Upgrade PHP 8.0 stack', action='store_true')),
(['--php81'],
dict(help='Upgrade PHP 8.1 stack', action='store_true')),
(['--php82'],
dict(help='Upgrade PHP 8.2 stack', action='store_true')),
(['--mysql'],
dict(help='Upgrade MySQL stack', action='store_true')),
(['--mariadb'],
@@ -77,6 +65,10 @@ class WOStackUpgradeController(CementBaseController):
dict(help="Force Packages upgrade without any prompt",
action='store_true')),
]
for php_version, php_number in WOVar.wo_php_versions.items():
arguments.append(([f'--{php_version}'],
dict(help=f'Upgrade PHP {php_number} stack',
action='store_true')))
@expose(hide=True)
def default(self, disp_msg=False):
@@ -102,7 +94,11 @@ class WOStackUpgradeController(CementBaseController):
pargs.mysql = True
if pargs.php:
pargs.php81 = True
if self.app.config.has_section('php'):
config_php_ver = self.app.config.get(
'php', 'version')
current_php = config_php_ver.replace(".", "")
setattr(self.app.pargs, 'php{0}'.format(current_php), True)
if pargs.all:
pargs.web = True
@@ -145,41 +141,23 @@ class WOStackUpgradeController(CementBaseController):
else:
Log.info(self, "Nginx Stable is not already installed")
# php 7.2
if pargs.php72:
if WOAptGet.is_installed(self, 'php7.2-fpm'):
apt_packages = apt_packages + WOVar.wo_php72 + \
WOVar.wo_php_extra
wo_vars = {
'php72': WOVar.wo_php72,
'php73': WOVar.wo_php73,
'php74': WOVar.wo_php74,
'php80': WOVar.wo_php80,
'php81': WOVar.wo_php81,
'php82': WOVar.wo_php82,
}
# php 7.3
if pargs.php73:
if WOAptGet.is_installed(self, 'php7.3-fpm'):
apt_packages = apt_packages + WOVar.wo_php73 + \
WOVar.wo_php_extra
# php 7.4
if pargs.php74:
if WOAptGet.is_installed(self, 'php7.4-fpm'):
apt_packages = apt_packages + WOVar.wo_php74 + \
WOVar.wo_php_extra
# php 8.0
if pargs.php80:
if WOAptGet.is_installed(self, 'php8.0-fpm'):
apt_packages = apt_packages + WOVar.wo_php80 + \
WOVar.wo_php_extra
# php 8.1
if pargs.php81:
if WOAptGet.is_installed(self, 'php8.1-fpm'):
apt_packages = apt_packages + WOVar.wo_php81 + \
WOVar.wo_php_extra
# php 8.2
if pargs.php82:
if WOAptGet.is_installed(self, 'php8.2-fpm'):
apt_packages = apt_packages + WOVar.wo_php82 + \
WOVar.wo_php_extra
for parg_version, version in WOVar.wo_php_versions.items():
if getattr(pargs, parg_version, False):
Log.debug(self, f"Setting apt_packages variable for PHP {version}")
if WOAptGet.is_installed(self, f'php{version}-fpm'):
apt_packages = apt_packages + wo_vars[parg_version] + WOVar.wo_php_extra
else:
Log.debug(self, f"PHP {version} not installed")
Log.info(self, f"PHP {version} not installed")
# mysql
if pargs.mysql: