%PDF- %PDF-
Direktori : /opt/cloudlinux/venv/lib64/python3.11/site-packages/clwpos/hooks/cpanel/ |
Current File : //opt/cloudlinux/venv/lib64/python3.11/site-packages/clwpos/hooks/cpanel/user_disable_caching.py |
#!/opt/cloudlinux/venv/bin/python3 -sbb # -*- 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 json import os import sys from clcommon.cpapi import docroot as get_docroot from clwpos.hooks.lib.user_disable_caching import ( _run_pre_hook, _run_post_hook, is_docroot_with_wpos_enabled_affected ) from clwpos.utils import WposUser, get_parent_pid def main(args): """ This hook will be triggered in case of user changing php version from cpanel for any of wp This module will disable object_cache if not supported php_version or php-fpm handler exists in users wordpress sites Hook is triggered by events Web - Cpanel: -> MultiPHP Manager CLI - Cpanel UAPI::LangPHP::php_set_vhost_versions post """ user = WposUser(args['data']['user']) domains_affected = {v for k, v in args['data']['args'].items() if 'vhost' in k} docroots_affected = {get_docroot(domain)[0].rstrip('/') for domain in domains_affected} if not is_docroot_with_wpos_enabled_affected(user, docroots_affected): return hook_type = args['hook']['stage'] if hook_type == 'pre': _run_pre_hook(user) elif hook_type == 'post': _run_post_hook(user, domains_affected) if __name__ == '__main__': argv = json.loads(sys.stdin.read()) pid = get_parent_pid() # set special envars, further when wp-cli will be called, # presence of these envars will mean to use PHP version that had been written to the special file os.environ.update({'CLWPOS_USE_SAVED_PHP_VERSION': '1', 'CLWPOS_PHP_FILE_ID': str(pid)}) sys.exit(main(argv))