\PONBoxes
PON Boxes allows to place/render some boxes on map
Synopsis
class PONBoxes
{
- // constants
- const URL_ME = '?module=ponboxes';
- const PROUTE_NEWBOXNAME = 'newboxname';
- const PROUTE_NEWBOEXTENINFO = 'newboxexteninfo';
- const PROUTE_NEWBOXGEO = 'newboxgeo';
- const PROUTE_NEWLINKBOX = 'newlinkboxid';
- const PROUTE_NEWLINKTYPE = 'newlinktype';
- const PROUTE_NEWLINKONU = 'newlinkonu';
- const PROUTE_MAPBOXID = 'setboxidonmap';
- const PROUTE_MAPBOXCOORDS = 'newboxmapcoords';
- const ROUTE_BOXLIST = 'ajboxes';
- const ROUTE_BOXNAV = 'boxidnav';
- const ROUTE_MAP = 'boxmap';
- const ROUTE_ONULINKS = 'showonulinks';
- const ROUTE_BOXEDIT = 'editboxid';
- const ROUTE_BOXDEL = 'deleteboxid';
- const ROUTE_LINKDEL = 'deletelinkid';
- const ROUTE_SPLITTERADD = 'addboxsplitters';
- const ROUTE_SPLITTERDEL = 'delboxsplitters';
- const ROUTE_PLACEBOX = 'plcmapboxid';
- const ROUTE_PLACEFIND = 'plcmapfind';
- const TABLE_BOXES = 'ponboxes';
- const TABLE_LINKS = 'ponboxeslinks';
- const TABLE_SPLITTERSLINKS = 'ponboxes_splitters';
- const TABLE_PONONU = 'pononu';
- const PHOTOSTORAGE_SCOPE = 'PONBOXES';
- // members
- protected array $altCfg = ;
- protected array $allBoxes = ;
- protected array $allLinks = ;
- protected array $allSplittersLinks = ;
- protected $boxes = '';
- protected $links = '';
- protected $splittersLinks = '';
- protected $messages = '';
- protected $photoStorage = NULL;
- protected array $splittersTypesList = ;
- protected array $allUserAddress = ;
- protected $ponboxesMap = NULL;
- protected array $clustringOptions = ;
- // methods
- public void __construct()
- protected void initMessages()
- protected void initPhotoStorage()
- protected void initMapCore()
- protected void loadConfigs()
- protected void loadAllAddress()
- protected void setSplitterTypes()
- protected void initDatabase()
- protected void loadBoxes()
- protected void loadLinks()
- protected void loadSplittersLinks()
- public string renderBoxesList()
- public void ajBoxesList()
- protected string renderBoxCreateForm()
- public string renderBoxEditForm()
- public void/string saveBox()
- protected bool isBoxNameFree()
- public void/string createBox()
- public string renderControls()
- protected bool isBoxProtected()
- public void/string deleteBox()
- public void/string deleteLink()
- protected string getBoxPlaceForm()
- public void setBoxGeo()
- protected string renderOnuLinks()
- public string renderBoxesMap()
- public string renderBoxesMiniMap()
- protected void|string createLink()
- protected array buildLinksIndexes()
- protected array getLinkedBoxesOptimized()
- public array getLinkedBoxes()
- public string renderLinkedBoxes()
- protected string getLinkEntityControl()
- public string renderBoxLinksList()
- public string renderBoxAssignForm()
- public void/string createLinkONU()
- public string renderSplittersControls()
- public string renderSplittersList()
- public string addSplitter()
- public string renderCrossLinkWarning()
- public string renderBoxImageControls()
- public array getAllBoxes()
Constants
| Name | Value |
|---|---|
| URL_ME | '?module=ponboxes' |
| PROUTE_NEWBOXNAME | 'newboxname' |
| PROUTE_NEWBOEXTENINFO | 'newboxexteninfo' |
| PROUTE_NEWBOXGEO | 'newboxgeo' |
| PROUTE_NEWLINKBOX | 'newlinkboxid' |
| PROUTE_NEWLINKTYPE | 'newlinktype' |
| PROUTE_NEWLINKONU | 'newlinkonu' |
| PROUTE_MAPBOXID | 'setboxidonmap' |
| PROUTE_MAPBOXCOORDS | 'newboxmapcoords' |
| ROUTE_BOXLIST | 'ajboxes' |
| ROUTE_BOXNAV | 'boxidnav' |
| ROUTE_MAP | 'boxmap' |
| ROUTE_ONULINKS | 'showonulinks' |
| ROUTE_BOXEDIT | 'editboxid' |
| ROUTE_BOXDEL | 'deleteboxid' |
| ROUTE_LINKDEL | 'deletelinkid' |
| ROUTE_SPLITTERADD | 'addboxsplitters' |
| ROUTE_SPLITTERDEL | 'delboxsplitters' |
| ROUTE_PLACEBOX | 'plcmapboxid' |
| ROUTE_PLACEFIND | 'plcmapfind' |
| TABLE_BOXES | 'ponboxes' |
| TABLE_LINKS | 'ponboxeslinks' |
| TABLE_SPLITTERSLINKS | 'ponboxes_splitters' |
| TABLE_PONONU | 'pononu' |
| PHOTOSTORAGE_SCOPE | 'PONBOXES' |
Members
protected
- $allBoxes
—
array
Contains all available PON boxes as boxid=>boxdata - $allLinks
—
array
Contains all available user/address/onu links to boxes as linkid=>boxid - $allSplittersLinks
—
array
Contains all available ponboxes splitters links as linkid=>boxid - $allUserAddress
—
array
Contains preloaded users address array - $altCfg
—
array
Contains system alter config as key=>value - $boxes
—
Database abstraction layer with ponboxes - $clustringOptions
—
array
Default clustering options - $links
—
Database abstraction layer with ponboxes links to users/addresses/ONUs etc - $messages
—
System message helper object placeholder - $photoStorage
—
System image storage placeholder - $ponboxesMap
—
MapCore instance placeholder - $splittersLinks
—
Database abstraction layer with ponboxes splitters links - $splittersTypesList
—
array
Pre-defined list pf splitters and couplers
Methods
protected
- buildLinksIndexes() — Builds optimized indexes for link lookups This method creates lookup arrays indexed by onuid, login, and address to avoid iterating through all links for each ONU lookup
- createLink() — Creates box->entity link in database
- getBoxPlaceForm() — Returns form for setting location of the box on map
- getLinkEntityControl() — Returns linked entity control link
- getLinkedBoxesOptimized() — Search some linked boxes for this ONU using pre-built indexes
- initDatabase() — Inits all required database abstraction layers for further usage
- initMapCore() — Inits MapCore instance placeholder
- initMessages() — Inits system message helper instance
- initPhotoStorage() — Inits system image storage placeholder
- isBoxNameFree() — Check is box name already used or not?
- isBoxProtected() — Check is box protected wit some existing links
- loadAllAddress() — Loads all users address data into protected property
- loadBoxes() — Loads all available boxes from database
- loadConfigs() — Loads some required configs
- loadLinks() — Loads all available boxes to something links from database
- loadSplittersLinks() — Loads all available splitters links from database
- renderBoxCreateForm() — Renders new pon box creation form. Its obvious.
- renderOnuLinks() — Renders ONU links placemarks for map
- setSplitterTypes() — Sets predefined splitters ad couplers list
public
- __construct() — Creates new PONBoxes instance
- addSplitter() — Adds a splitter to PON box
- ajBoxesList() — Renders JSON data with all available PON boxes list and some controls
- createBox() — Creates new PON box in database
- createLinkONU() — Create PON box link with some ONU by some type in database
- deleteBox() — Deletes existing PON box from database
- deleteLink() — Delete link from database
- getAllBoxes() — Returns all available boxes as id=>boxdata
- getLinkedBoxes() — Search some linked boxes for this ONU Original method kept for backward compatibility For performance-critical code, use getLinkedBoxesOptimized() with pre-built indexes
- renderBoxAssignForm() — Renders box assign form. With some ONU or another ONU params
- renderBoxEditForm() — Renders existing box editing form aka "Box profile"
- renderBoxImageControls() — Rendering images processing form and controls
- renderBoxLinksList() — Renders existing POB Box links of any type
- renderBoxesList() — Renders all available boxes list container
- renderBoxesMap() — Renders available boxes map
- renderBoxesMiniMap() — Renders mini-map for boxes
- renderControls() — Renders default controls panel
- renderCrossLinkWarning() — Generates a crosslink warning when a certain ONU is linked to several PON boxes
- renderLinkedBoxes() — Renders linked lined boxes list
- renderSplittersControls() — Renders splitters adding controls
- renderSplittersList() — Renders splitters list
- saveBox() — Saves box data if required
- setBoxGeo() — Sets some new geo coords for existing box