PATH:
var
/
www
/
clients
/
client1
/
web1
/
web
/
wp-content
/
wp-google-maps
/
includes
<?php namespace WPGMZA; if(!defined('ABSPATH')) return; /** * The Factory class is a base class which can be used to make any classes * externally extensible. A filter is added for wpgmza_create_{class} which * is called by createInstance. If this filter returns a subclass of Factory, * that filter will override the default class and will be used. * * IMPORTANT: Any objects which subclass Factory MUST be created by calling * createInstance on the subclass. Calling new on the constructor directly will * not cause this filter to fire, and the extended class will not be used. */ class Factory { /** * Creates an instance of the desired subclass, this will return the default instance if no filter is used to override the process, or will return the extended class if a filter has been bound * @throws \Exception */ public static function createInstance() { $class = get_called_class(); $args = func_get_args(); $count = count($args); $filter = "wpgmza_create_$class"; if($class == 'WPGMZA\\Factory') throw new \Exception('Factory createInstance would return abstract Factory'); // TODO: If the created object is a descendant of CRUD if(empty($args)){ if(is_subclass_of($class, '\\WPGMZA\\Crud')) $filter_args = array($filter, -1); else $filter_args = array($filter, null); } else $filter_args = array_merge(array($filter), $args); /* Developer Hook (Filter) - Apply CRUD class filters */ $override = call_user_func_array('apply_filters', $filter_args); // NB: This stops override being the same as the first argument, which is needed for example when passing a Map as the first argument of StoreLocator if(count($args) && $args[0] === $override) $override = null; if($override instanceof \WPGMZA\Factory) return $override; $reflect = new \ReflectionClass($class); $instance = $reflect->newInstanceArgs($args); return $instance; } }
[-] class.admin-ui.php
[edit]
[+]
3rd-party-integration
[-] class.latlng.php
[edit]
[-] class.map.php
[edit]
[-] class.admin-notices.php
[edit]
[-] class.dom-query-results.php
[edit]
[-] class.pointlabel.php
[edit]
[-] class.upgrader.php
[edit]
[-] class.map-list-page.php
[edit]
[-] class.integrity-checker.php
[edit]
[-] class.dom-document.php
[edit]
[-] class.crud.php
[edit]
[+]
styling
[-] class.dynamic-translations.php
[edit]
[-] class.strings.php
[edit]
[-] class.library-script-panel.php
[edit]
[+]
open-layers
[-] class.maps-engine-dialog.php
[edit]
[+]
compat
[-] class.plugin.php
[edit]
[-] class.theme-panel.php
[edit]
[-] class.global-settings.php
[edit]
[+]
google-maps
[-] class.query.php
[edit]
[-] class.modal-dialog.php
[edit]
[-] class.script-loader.php
[edit]
[-] class.internal-engine.php
[edit]
[-] class.selector-to-xpath.php
[edit]
[-] class.polygon.php
[edit]
[-] class.rectangle.php
[edit]
[-] class.system-info.php
[edit]
[-] class.shortcodes.php
[edit]
[-] class.gdpr-compliance.php
[edit]
[+]
php8
[-] build.log
[edit]
[+]
tables
[-] class.polyline.php
[edit]
[-] class.settings.php
[edit]
[-] class.store-locator.php
[edit]
[-] class.country-select.php
[edit]
[-] class.settings-page.php
[edit]
[-] class.dom-element.php
[edit]
[+]
..
[-] class.elias-fano.php
[edit]
[-] class.distance.php
[edit]
[-] class.auto-loader.php
[edit]
[-] class.circle.php
[edit]
[-] class.page.php
[edit]
[-] class.component-anchor-control.php
[edit]
[+]
map-edit-page
[-] class.feature.php
[edit]
[-] class.marker.php
[edit]
[-] class.database.php
[edit]
[-] class.marker-filter.php
[edit]
[-] class.google-maps-api-loader.php
[edit]
[-] class.factory.php
[edit]
[+]
legacy
[-] class.installer-page.php
[edit]
[-] class.query-fragment.php
[edit]