Sid Gifari File Manager
🏠 Root
/
home2
/
iuywvcmy
/
public_html
/
aliki
/
wp-content
/
plugins
/
wp-google-maps
/
includes
/
Editing: class.component-anchor-control.php
<?php namespace WPGMZA\UI; #[\AllowDynamicProperties] class ComponentAnchorControl { const TOP = 0; const LEFT = 1; const CENTER = 2; const RIGHT = 3; const BOTTOM = 4; const TOP_LEFT = 5; const TOP_RIGHT = 6; const BOTTOM_LEFT = 7; const BOTTOM_RIGHT = 8; const ABOVE = 9; const BELOW = 10; /** * Create a controller * * @param DomElement $element The element to be converted */ public function __construct($element){ $this->element = $element; $this->parseOptions(); $this->render(); } private function parseOptions(){ $this->default = $this->element->getAttribute("data-default"); $this->anchors = $this->element->getAttribute("data-anchors"); $this->exclude = $this->element->getAttribute("data-anchors-exclude"); if(!empty($this->anchors)){ $this->anchors = explode(",", $this->anchors); } if(!empty($this->exclude)){ $this->exclude = explode(",", $this->exclude); } } private function render(){ $available = self::getAnchors(); $options = array(); if(!empty($this->default) && isset($available[$this->default])){ $options[$this->default] = $available[$this->default]; } foreach($available as $key => $value){ if($key !== $this->default){ if(!empty($this->anchors)){ if(!in_array($key, $this->anchors)){ continue; } } if(!empty($this->exclude)){ if(in_array($key, $this->exclude)){ continue; } } $options[$key] = $value; } } foreach($options as $key => $value){ $key = ucwords(strtolower(str_replace("_", " ", $key))) . (self::isLegacyAnchor($value) ? ' Map' : ''); $option = "<option value='{$value}'>{$key}</option>"; $this->element->import($option); } } public static function getAnchors() { $class = new \ReflectionClass(__CLASS__); return $class->getConstants(); } public static function isLegacyAnchor($anchor){ return ($anchor === self::ABOVE || $anchor === self::BELOW); } }
Save
Cancel