Mini Shell
#!/opt/cloudlinux/venv/bin/python3 -bb
# coding:utf-8
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2021 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT
from __future__ import absolute_import
import sys
from clcommon.public_hooks.bundle import install_hooks, remove_hooks
from clcommon.public_hooks.bundle.cpanel import Hook as cpanel_hook
from clcommon.public_hooks import setup_logger_and_sentry
from cldetectlib import is_cpanel
_BASE_DIR = '/usr/share/cloudlinux/wpos'
def hooks():
"""
Define list of hooks per panel
"""
if is_cpanel():
_ADMIN_HOOK = _BASE_DIR + '/cpanel/admin_disable_caching.py'
_USER_HOOK = _BASE_DIR + '/cpanel/user_disable_caching.py'
_HOOKS = [
cpanel_hook(_ADMIN_HOOK, 'Whostmgr', 'Lang::PHP::set_vhost_versions', 'pre'),
cpanel_hook(_ADMIN_HOOK, 'Whostmgr', 'Lang::PHP::set_vhost_versions', 'post'),
cpanel_hook(_USER_HOOK, 'Cpanel', 'UAPI::LangPHP::php_set_vhost_versions', 'pre'),
cpanel_hook(_USER_HOOK, 'Cpanel', 'UAPI::LangPHP::php_set_vhost_versions', 'post'),
]
else:
_HOOKS = list()
return _HOOKS
def main(argv):
"""
Install or delete cpanel event hook
"""
success = True
_hooks = hooks()
if _hooks:
if "-i" in argv:
success = install_hooks(_hooks)
elif "-d" in argv:
success = remove_hooks(_hooks)
else:
success = False
return int(not success)
if "__main__" == __name__:
# in fact this is only wrapper for
# hooks logic located in cllib
# so we can just use cllib sentry here
setup_logger_and_sentry()
sys.exit(main(sys.argv[1:]))
Zerion Mini Shell 1.0