|
| 1 | +<?php |
| 2 | + |
| 3 | +namespace Detain\MyAdminCpanel; |
| 4 | + |
| 5 | +use Detain\Cpanel\Cpanel; |
| 6 | +use Symfony\Component\EventDispatcher\GenericEvent; |
| 7 | + |
| 8 | +class Plugin { |
| 9 | + |
| 10 | + public function __construct() { |
| 11 | + } |
| 12 | + |
| 13 | + public static function Activate(GenericEvent $event) { |
| 14 | + // will be executed when the licenses.license event is dispatched |
| 15 | + $license = $event->getSubject(); |
| 16 | + if ($event['category'] == SERVICE_TYPES_FANTASTICO) { |
| 17 | + myadmin_log('licenses', 'info', 'Cpanel Activation', __LINE__, __FILE__); |
| 18 | + function_requirements('activate_cpanel'); |
| 19 | + activate_cpanel($license->get_ip(), $event['field1']); |
| 20 | + $event->stopPropagation(); |
| 21 | + } |
| 22 | + } |
| 23 | + |
| 24 | + public static function ChangeIp(GenericEvent $event) { |
| 25 | + if ($event['category'] == SERVICE_TYPES_FANTASTICO) { |
| 26 | + $license = $event->getSubject(); |
| 27 | + $settings = get_module_settings('licenses'); |
| 28 | + $cpanel = new Cpanel(FANTASTICO_USERNAME, FANTASTICO_PASSWORD); |
| 29 | + myadmin_log('licenses', 'info', "IP Change - (OLD:".$license->get_ip().") (NEW:{$event['newip']})", __LINE__, __FILE__); |
| 30 | + $result = $cpanel->editIp($license->get_ip(), $event['newip']); |
| 31 | + if (isset($result['faultcode'])) { |
| 32 | + myadmin_log('licenses', 'error', 'Cpanel editIp('.$license->get_ip().', '.$event['newip'].') returned Fault '.$result['faultcode'].': '.$result['fault'], __LINE__, __FILE__); |
| 33 | + $event['status'] = 'error'; |
| 34 | + $event['status_text'] = 'Error Code '.$result['faultcode'].': '.$result['fault']; |
| 35 | + } else { |
| 36 | + $GLOBALS['tf']->history->add($settings['TABLE'], 'change_ip', $event['newip'], $license->get_ip()); |
| 37 | + $license->set_ip($event['newip'])->save(); |
| 38 | + $event['status'] = 'ok'; |
| 39 | + $event['status_text'] = 'The IP Address has been changed.'; |
| 40 | + } |
| 41 | + $event->stopPropagation(); |
| 42 | + } |
| 43 | + } |
| 44 | + |
| 45 | + public static function Menu(GenericEvent $event) { |
| 46 | + // will be executed when the licenses.settings event is dispatched |
| 47 | + $menu = $event->getSubject(); |
| 48 | + $module = 'licenses'; |
| 49 | + if ($GLOBALS['tf']->ima == 'admin') { |
| 50 | + $menu->add_link($module, 'choice=none.reusable_cpanel', 'icons/database_warning_48.png', 'ReUsable Cpanel Licenses'); |
| 51 | + $menu->add_link($module, 'choice=none.cpanel_list', 'icons/database_warning_48.png', 'Cpanel Licenses Breakdown'); |
| 52 | + $menu->add_link($module.'api', 'choice=none.cpanel_licenses_list', 'whm/createacct.gif', 'List all Cpanel Licenses'); |
| 53 | + } |
| 54 | + } |
| 55 | + |
| 56 | + public static function Requirements(GenericEvent $event) { |
| 57 | + // will be executed when the licenses.loader event is dispatched |
| 58 | + $loader = $event->getSubject(); |
| 59 | + $loader->add_requirement('crud_cpanel_list', '/../vendor/detain/crud/src/crud/crud_cpanel_list.php'); |
| 60 | + $loader->add_requirement('crud_reusable_cpanel', '/../vendor/detain/crud/src/crud/crud_reusable_cpanel.php'); |
| 61 | + $loader->add_requirement('get_cpanel_licenses', '/../vendor/detain/myadmin-cpanel-webhosting/src/cpanel.inc.php'); |
| 62 | + $loader->add_requirement('get_cpanel_list', '/../vendor/detain/myadmin-cpanel-webhosting/src/cpanel.inc.php'); |
| 63 | + $loader->add_requirement('cpanel_licenses_list', '/../vendor/detain/myadmin-cpanel-webhosting/src/cpanel_licenses_list.php'); |
| 64 | + $loader->add_requirement('cpanel_list', '/../vendor/detain/myadmin-cpanel-webhosting/src/cpanel_list.php'); |
| 65 | + $loader->add_requirement('get_available_cpanel', '/../vendor/detain/myadmin-cpanel-webhosting/src/cpanel.inc.php'); |
| 66 | + $loader->add_requirement('activate_cpanel', '/../vendor/detain/myadmin-cpanel-webhosting/src/cpanel.inc.php'); |
| 67 | + $loader->add_requirement('get_reusable_cpanel', '/../vendor/detain/myadmin-cpanel-webhosting/src/cpanel.inc.php'); |
| 68 | + $loader->add_requirement('reusable_cpanel', '/../vendor/detain/myadmin-cpanel-webhosting/src/reusable_cpanel.php'); |
| 69 | + $loader->add_requirement('class.Cpanel', '/../vendor/detain/cpanel-webhosting/src/Cpanel.php'); |
| 70 | + $loader->add_requirement('vps_add_cpanel', '/vps/addons/vps_add_cpanel.php'); |
| 71 | + } |
| 72 | + |
| 73 | + public static function Settings(GenericEvent $event) { |
| 74 | + // will be executed when the licenses.settings event is dispatched |
| 75 | + $settings = $event->getSubject(); |
| 76 | + $settings->add_text_setting('licenses', 'Cpanel', 'cpanel_username', 'Cpanel Username:', 'Cpanel Username', $settings->get_setting('FANTASTICO_USERNAME')); |
| 77 | + $settings->add_text_setting('licenses', 'Cpanel', 'cpanel_password', 'Cpanel Password:', 'Cpanel Password', $settings->get_setting('FANTASTICO_PASSWORD')); |
| 78 | + $settings->add_dropdown_setting('licenses', 'Cpanel', 'outofstock_licenses_cpanel', 'Out Of Stock Cpanel Licenses', 'Enable/Disable Sales Of This Type', $settings->get_setting('OUTOFSTOCK_LICENSES_FANTASTICO'), array('0', '1'), array('No', 'Yes', )); |
| 79 | + } |
| 80 | + |
| 81 | +} |
0 commit comments