\VlanManagement
Like IPAM for VLAN
Synopsis
class VlanManagement
{
- // constants
- const MODULE = '?module=vlanmanagement';
- const MODULE_SVLAN = '?module=vlanmanagement&svlan=true';
- const MODULE_REALMS = '?module=vlanmanagement&realms=true';
- const MODULE_UNIVERSALQINQ = '?module=universalqinq';
- const MODULE_ONU_APPLY = '?module=vlanmanagement_onu_apply';
- const MODULE_ONU_APPLY_AJAXOLTLIST = '?module=vlanmanagement_onu_apply&ajaxOltList=true';
- const EMPTY_SELECTOR_OPTION = '---';
- const ARRAY_RANGE_STEP = 1;
- const ARRAY_RANGE_START = 1;
- const QINQ_OPTION = 'QINQ_ENABLED';
- const QINQ_LABEL = 'QINQ for switches';
- const VLANMANAGEMENT_OPTION = 'VLAN_MANAGEMENT_ENABLED';
- const ONUREG_QINQ_OPTION = 'ONUREG_QINQ_ENABLED';
- const UNIVERSAL_QINQ_OPTION = 'UNIVERSAL_QINQ_ENABLED';
- const UNIVERSAL_QINQ_RGHT = 'UNIVERSALQINQCONFIG';
- const UNIVERSAL_QINQ_LABEL = 'Universal QINQ';
- const DEFAULT_SVLAN = 0;
- const DEFAULT_REALM = 1;
- // members
- protected string $startSvlanUrl = '';
- protected string $startManagementUrl = '';
- protected $realmDb;
- protected $svlanDb;
- protected $cvlanDb;
- protected $switchesqinqDb;
- protected $switchesDb;
- protected $switchModelsDb;
- protected $switchPortDb;
- protected $zteqinqDb;
- protected $oltqinqDb;
- protected $zteCardsDb;
- protected array $altCfg = ;
- protected array $allRealms = ;
- protected array $allSvlan = ;
- public array $error = ;
- public array $exceptions = ;
- protected $messages;
- protected $defaultType;
- protected array $realmSelector = ;
- protected array $allSwitches = ;
- protected array $allSwitchModels = ;
- protected array $occupiedUniversal = ;
- protected array $occupiedSwitches = ;
- protected array $occupiedOltZte = ;
- protected array $occupiedOltNonZte = ;
- protected array $occupiedOltZteSlot = ;
- protected array $occupiedOltZtePort = ;
- protected array $occupiedOltNonZtePort = ;
- protected array $occupiedOltZteId = ;
- protected array $occupiedOltNonZteId = ;
- protected array $switchVlans = ;
- protected array $switchPortCustomer = ;
- protected array $switchPortFree = ;
- public integer $defaultRealm = 1;
- public integer $defaultSvlan = 1;
- public $routing;
- protected array $eponCards = ;
- protected array $gponCards = ;
- protected array $allPorts = ;
- protected integer $svlanId = 0;
- // methods
- public void __construct()
- protected void dbInit()
- protected void loadData()
- protected void loadAlter()
- protected void initEnv()
- protected void setSvlanUrl()
- protected void setManagementUrl()
- protected void goToStartOrError()
- protected bool validateSvlan()
- protected bool protectedSvlan()
- protected bool defaultSvlanNum()
- protected bool defaultRealmId()
- protected bool defaultSvlanOldNum()
- protected bool notDefaultSvlanEdit()
- protected bool notDefaultSvlanDelete()
- protected bool vlanNumTooLow()
- protected bool vlanNumTooHigh()
- protected bool checkSvlanRange()
- protected bool checkCvlanRange()
- protected bool uniqueSvlan()
- protected bool uniqueSvlanAdd()
- protected bool uniqueSvlanEdit()
- public void addSvlan()
- protected void addSvlanDb()
- public void editSvlan()
- protected void editSvlanDb()
- public void deleteSvlan()
- protected void deleteSvlanRelated()
- protected void deleteSvlanDb()
- protected void deleteSvlanSwitchesDb()
- protected void deleteSvlanUniversalDb()
- protected void. deleteSvlanOltZteDb()
- protected string addSvlanForm()
- public string ajaxEditSvlan()
- protected string realmSvlanSelector()
- public string svlanSelector()
- protected string backSvlan()
- public void linksSvlan()
- public string showSvlanAll()
- public json ajaxSvlanData()
- public void linksMain()
- public string realmAndSvlanSelectors()
- protected striing realmMainSelector()
- protected string typeSelector()
- protected string oltZteSelector()
- protected string oltNonZteSelector()
- public type cardSelector()
- public void portSelector()
- public type portCardSelector()
- protected string switchSelector()
- public type types()
- protected array checkCvlanSwitches()
- protected array checkCvlanUniversal()
- protected array checkCvlanOltZte()
- protected array checkCvlanOltNonZte()
- protected array checkCvlanFree()
- protected void errorOccupied()
- protected bool validateNewOlt()
- protected void addNewOltZteBinding()
- protected void addNewOltNonZteBinding()
- protected bool validateNewSwitch()
- protected void addNewSwitchBinding()
- public void addNewBinding()
- public string ajaxCustomer()
- public string ajaxSwitch()
- public string ajaxOltZte()
- public string ajaxOltNonZte()
- public void deleteSwitchBinding()
- public void deleteOltZteBinding()
- public void deleteOltNonZteBinding()
- public string showUsersVlanPair()
- public stinrg ajaxChooseForm()
- protected void loadOccupiedCvlans()
- protected void loadUniversalCvlans()
- protected void loadSwitchesCvlans()
- protected void loadOltsZteCvlans()
- protected void loadOltsNonZteCvlans()
- protected void loadOccupiedPorts()
- protected array setMatricContainerColor()
- protected string setMatrixOnlick()
- public void cvlanMatrix()
- protected string createMatrixMainContainer()
- protected string createMatrixDataContainer()
- protected string createMatrixPortCaption()
- protected string loadMatrixJs()
- public array getAllSvlan()
- public array getAllRealms()
- public string oltListAjaxRender()
- public string oltListShow()
- public string vlanChangeModal()
- protected void showError()
- protected void showExceptions()
- protected void logSvlanAdd()
- protected void logSvlanDelete()
- protected void logSvlanEdit()
- protected void logAdd()
- protected void logDelete()
- protected void logEdit()
Constants
Name | Value |
---|---|
MODULE | '?module=vlanmanagement' |
MODULE_SVLAN | '?module=vlanmanagement&svlan=true' |
MODULE_REALMS | '?module=vlanmanagement&realms=true' |
MODULE_UNIVERSALQINQ | '?module=universalqinq' |
MODULE_ONU_APPLY | '?module=vlanmanagement_onu_apply' |
MODULE_ONU_APPLY_AJAXOLTLIST | '?module=vlanmanagement_onu_apply&ajaxOltList=true' |
EMPTY_SELECTOR_OPTION | '---' |
ARRAY_RANGE_STEP | 1 |
ARRAY_RANGE_START | 1 |
QINQ_OPTION | 'QINQ_ENABLED' |
QINQ_LABEL | 'QINQ for switches' |
VLANMANAGEMENT_OPTION | 'VLAN_MANAGEMENT_ENABLED' |
ONUREG_QINQ_OPTION | 'ONUREG_QINQ_ENABLED' |
UNIVERSAL_QINQ_OPTION | 'UNIVERSAL_QINQ_ENABLED' |
UNIVERSAL_QINQ_RGHT | 'UNIVERSALQINQCONFIG' |
UNIVERSAL_QINQ_LABEL | 'Universal QINQ' |
DEFAULT_SVLAN | 0 |
DEFAULT_REALM | 1 |
Members
protected
- $allPorts
—
array
Contains all occupied switchports - $allRealms
—
array
Contains all realms - $allSvlan
—
array
Contains all svlans - $allSwitchModels
—
array
Contains all switch models. - $allSwitches
—
array
Contains all switches - $altCfg
—
array
Contains main configuration file alter.ini - $cvlanDb
—
Placeholder for nyan_orm instance for qinq_bindings table. - $defaultType
—
string
Contains default type of vlan allocation. - $eponCards
—
array
Array loads from OnuRegister class. Contains all Epon cards. - $gponCards
—
array
Array loads from OnuRegister class. Contains all Gpon cards. - $messages
—
Placeholder for UbillingMessageHelper instance. - $occupiedOltNonZte
—
array
Contains all occupued cvlans by non ZTE OLTs - $occupiedOltNonZteId
—
array
Storing data cvlan = switch id - $occupiedOltNonZtePort
—
array
Contains all Cvlan => port number for certain non zte OLT - $occupiedOltZte
—
array
Contains all occupied cvlans by ZTE OLTs - $occupiedOltZteId
—
array
Storing data cvlan = switch id - $occupiedOltZtePort
—
array
Contains all Cvlan => port number for certain zte OLT. - $occupiedOltZteSlot
—
array
Contains all Cvlan => slot number for ceratin OLT. - $occupiedSwitches
—
array
Contains all occupied cvlans by switches. - $occupiedUniversal
—
array
Contains all occupied cvlans by customers. - $oltqinqDb
—
Placeholder for nyan_orm instance for olt_qinq table. - $realmDb
—
Placeholder for nyan_orm instance for realms table. - $realmSelector
—
array
Contains all realms to select - $startManagementUrl
—
string
Routing URL. - $startSvlanUrl
—
string
Routing URL. - $svlanDb
—
Placeholder for nyan_orm instance for qinq_svlan table. - $svlanId
—
int
Contains current svlan_id - $switchModelsDb
—
Placeholder for nyan_orm instance for switchmodels table. - $switchPortCustomer
—
array
Contains all assigned ports by users. - $switchPortDb
—
Placeholder for nyan_orm instance for switchportassign table. - $switchPortFree
—
array
Contains all not assigned ports. - $switchVlans
—
array
Dictionary for pairing cvlan number with switch which occupies this cvlan. - $switchesDb
—
Placeholder for nyan_orm instance for switches table. - $switchesqinqDb
—
Placeholder for nyan_orm instance for switches_qinq table. - $zteCardsDb
—
Placeholder for nyan_orm instance for zte_cards table. - $zteqinqDb
—
Placeholder for nyan_orm instance for zte_qinq table.
public
Methods
protected
- addNewOltNonZteBinding() — Add new CVLAN range binding for olt.
- addNewOltZteBinding() — Add new CVLAN range binding for olt.
- addNewSwitchBinding() — Create new switch binding
- addSvlanDb() — Adding entry to DB and log.
- addSvlanForm() — Modal form to create new svlan.
- backSvlan() — Link to go back from svlan submodule to main vlanmanagement module.
- checkCvlanFree() — Check if CVLAN is free.
- checkCvlanOltNonZte() — Check if CVLAN not occupied by any OLT.
- checkCvlanOltZte() — Check if CVLAN not occupied by any OLT.
- checkCvlanRange() — Check if CVLAN has correct range from 0 to 4094
- checkCvlanSwitches() — Check if CVLAN not occupied by any switch.
- checkCvlanUniversal() — Check if CVLAN not occupied by any customer.
- checkSvlanRange() — Check if SVLAN has correct format from 0 to 4094.
- createMatrixDataContainer() — Generate div container with data for cvlan.
- createMatrixMainContainer() — Create main container and load stylesheets.
- createMatrixPortCaption() — Add div with port caption if exists.
- dbInit() — Create all nyan_orm instances.
- defaultRealmId() — Check if realm id is equal to default one.
- defaultSvlanNum() — Check if svlan number equal to default one.
- defaultSvlanOldNum() — Check if old svlan num is equal to default one.
- deleteSvlanDb() — Delete svlan from qinq_svlan table.
- deleteSvlanOltZteDb() — Delete svlan from zte_qinq table.
- deleteSvlanRelated() — Delete all related to svlan data.
- deleteSvlanSwitchesDb() — Delete svlan from switches_qinq table.
- deleteSvlanUniversalDb() — Delete svlan from qinq_bindings table.
- editSvlanDb() — Saving changes to DB.
- errorOccupied() — Return error upon occupied CVLAN.
- goToStartOrError() — Redirects user back and show error if any
- initEnv() — Init urls
- loadAlter() — Loads system alter.ini config for further usage
- loadData() — Load all realms
- loadMatrixJs() — Returns html string to load JS file.
- loadOccupiedCvlans() — Load all occcupied cvlans by customers and equipment
- loadOccupiedPorts() — Load all switchports
- loadOltsNonZteCvlans() — Contains all cvlans occupied by olt.
- loadOltsZteCvlans() — Contains all cvlans occupied by olt.
- loadSwitchesCvlans() — Contains all cvlans occupied by switches.
- loadUniversalCvlans() — Contains all cvlans occupied by customers.
- logAdd() — Log add action
- logDelete() — Log delete action
- logEdit() — Log edit action
- logSvlanAdd() — Log add action
- logSvlanDelete() — Log delete action
- logSvlanEdit() — Log edit action
- notDefaultSvlanDelete() — Check if deleting not protected entity.
- notDefaultSvlanEdit() — Check if editing not protected entity.
- oltNonZteSelector() — Generate selector for OLTs.
- oltZteSelector() — Generate selector for OLTs.
- protectedSvlan() — Check if we do not touch protected entries.
- realmMainSelector() — Creating selector for realm in main module.
- realmSvlanSelector() — Selector of realms for svlan submodule.
- setManagementUrl() — Set main module url.
- setMatricContainerColor() — Adding html properties based on type.
- setMatrixOnlick() — Set onclick property based on class.
- setSvlanUrl() — Set svlan url
- showError() — If we have any errors show all of them
- showExceptions() — Show exceptions if any.
- switchSelector() — Generate selector for switches.
- typeSelector() — Choose assign type switch or customer.
- uniqueSvlan() — Check if SVLAN is unique.
- uniqueSvlanAdd() — Check if SVLAN is unique when adding new SVLAN.
- uniqueSvlanEdit() — Check if SVLAN is unique when editing SVLAN.
- validateNewOlt() — Check if we have receive correct data.
- validateNewSwitch() — Check if we have received correct data.
- validateSvlan() — Validator function with subchecks.
- vlanNumTooHigh() — Check if value too high.
- vlanNumTooLow() — Check if value too low.
public
- __construct()
- addNewBinding() — Create new binding based on chosen type.
- addSvlan() — Creating new svlan
- ajaxChooseForm() — generate form for new binding.
- ajaxCustomer() — Little trick with generation ajax edit form only on demand.
- ajaxEditSvlan() — Little hack for creating dynamic form only on demand.
- ajaxOltNonZte() — Little trick with generation ajax edit form only on demand.
- ajaxOltZte() — Little trick with generation ajax edit form only on demand.
- ajaxSvlanData() — Data to render qhuery datatables.
- ajaxSwitch() — Little trick with generation ajax edit form only on demand.
- cardSelector() — Generate card selector for choosen OLT.
- cvlanMatrix() — Render main cvlan matrix.
- deleteOltNonZteBinding() — Delete binding for olt port
- deleteOltZteBinding() — Delete binding for olt port
- deleteSvlan() — Delete svlan
- deleteSwitchBinding() — Delete binding for switch
- editSvlan() — Editing svlan
- getAllRealms() — Get all realms with id as primary key
- getAllSvlan() — Get all svlan by id as primary key
- linksMain() — All available buttons and links on main module.
- linksSvlan() — Render all buttons for svlan submodule.
- oltListAjaxRender() — Generate ajax list of OLTs.
- oltListShow() — JQDT container for olt selections
- portCardSelector() — Generate port selector for choosen card.
- portSelector()
- realmAndSvlanSelectors() — Selector for realm and svlan in main module
- showSvlanAll() — Show all available svlans.
- showUsersVlanPair() — Generate table to render qinq pair in user profile.
- svlanSelector() — Main svlan selector.
- types() — Generating all available types for qinq assign.
- vlanChangeModal() — Create main container and load stylesheets.