Source of file api.onumaster.php
Size: 5,205 Bytes - Last Modified: 2024-04-27T15:26:05+03:00
/tmp/current_snapshot/api/libs/api.onumaster.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 | <?php /** * Class for managing ONU/ONT. * Change/Add/Delete description. Only for BDCOM. * Reboot ONU. Only for BDCOM. * Registering ONU/ONT GePON + GPON. Only for ZTE. */ class OnuMaster { /** * Placeholder for OnuDescribe class * * @var object */ public $describe = ''; /** * Placeholder for OnuReboot class * * @var object */ public $reboot = ''; /** * Placeholder for OnuDlp class * * @var object */ public $dlp = ''; /** * Placeholder for OnuElp class * * @var object */ public $elp = ''; /** * Placeholder for OnuDeregister class * * @var object */ public $deregister = ''; /** * Placeholder for OnuDelete class * * @var object */ public $delete = ''; /** * Flag to determine if a particular user has an attached ONU actually * * @var bool */ public $userHasONU = false; /** * Flag to determine if at least one of the ONU actions is enabled * Must be set to false with any of available actions/options. * * @var bool */ public $noActionsEnabled = true; /** * Contains system alter config as key=>value * * @var array */ protected $altCfg = array(); /** * System messages helper placeholder * * @var object */ protected $messages = ''; /** * Base constructor for class * * @return void */ public function __construct($login) { $this->initMessages(); $this->loadAlter(); $tmpBaseONU = new OnuBase($login); $onuData = $tmpBaseONU->getDataONU(); if ($this->altCfg['ONUAUTO_CONFIG_DESCRIBE']) { $this->describe = new OnuDescribe($login); $this->noActionsEnabled = false; } if ($this->altCfg['ONUAUTO_CONFIG_REBOOT']) { $this->reboot = new OnuReboot($login); $this->noActionsEnabled = false; } if ($this->altCfg['ONUAUTO_CONFIG_DLP']) { $this->dlp = new OnuDlp($login); $this->noActionsEnabled = false; } if ($this->altCfg['ONUAUTO_CONFIG_ELP']) { $this->elp = new OnuElp($login); $this->noActionsEnabled = false; } if (isset($this->altCfg['ONUAUTO_CONFIG_DEREGISTER']) and $this->altCfg['ONUAUTO_CONFIG_DEREGISTER']) { $this->deregister = new OnuDeregister($login); $this->noActionsEnabled = false; } if (isset($this->altCfg['ONUAUTO_CONFIG_DELETE']) and $this->altCfg['ONUAUTO_CONFIG_DELETE']) { $this->delete = new OnuDelete($login); $this->noActionsEnabled = false; } $this->userHasONU = (!empty($onuData)); } /** * Initializes the messages object. * * @return void */ protected function initMessages() { $this->messages = new UbillingMessageHelper(); } /** * load alter.ini config * * @return void */ protected function loadAlter() { global $ubillingConfig; $this->altCfg = $ubillingConfig->getAlter(); } /** * Renders main window for managing ONU. * * @param $login * * @throws Exception */ public function renderMain($login) { $windowContents = ''; if (!empty($login)) { if ($this->noActionsEnabled) { $windowContents .= $this->messages->getStyledMessage(__('Seems no options for describe, reboot, deregister or delete actions are enabled. Check ONUAUTO_CONFIG_* options statuses in alter.ini.'), 'warning'); } if ($this->userHasONU) { if ($this->altCfg['ONUAUTO_CONFIG_DESCRIBE']) { $windowContents .= $this->describe->DescribeForm($login) . wf_delimiter(0); } if ($this->altCfg['ONUAUTO_CONFIG_DLP']) { $windowContents .= $this->dlp->dlpForm() . wf_delimiter(0); } if ($this->altCfg['ONUAUTO_CONFIG_ELP']) { $windowContents .= $this->elp->elpForm() . wf_delimiter(0); } if ($this->altCfg['ONUAUTO_CONFIG_REBOOT']) { $windowContents .= $this->reboot->rebootForm() . wf_delimiter(0); } if (isset($this->altCfg['ONUAUTO_CONFIG_DEREGISTER']) and $this->altCfg['ONUAUTO_CONFIG_DEREGISTER']) { $windowContents .= $this->deregister->deregForm() . wf_delimiter(0); } if (isset($this->altCfg['ONUAUTO_CONFIG_DELETE']) and $this->altCfg['ONUAUTO_CONFIG_DELETE']) { $windowContents .= $this->delete->delForm() . wf_delimiter(0); } } else { $windowContents .= $this->messages->getStyledMessage(__('User has no ONU assigned'), 'error'); } show_window(__('ONU operations for login') . ':' . wf_nbsp(2) . $login, $windowContents); show_window('', web_UserControls($login)); } } } |