Source for file MapWidget.php
Documentation is available at MapWidget.php
* @copyright 2009, Boreal - Information Strategies
* @license http://www.geoprisma.org/license BSD License
* @link http://www.geoprisma.org
* @license http://www.geoprisma.org/license BSD License
* @link http://www.geoprisma.org
private $m_objArrayLayer =
null;
* Construit un instance de org_geoprisma_widget_MapWidget
* @param array &$pobjArray Config node
* @return org_geoprisma_widget_MapWidget
if (isset
($pobjArray['id']))
$strName = (string)
$pobjArray['id'];
$strName = (string)
$pobjArray['name'];
$this->loadOptions($pobjArray);
$this->loadLayer($pobjArray);
* Charge la liste des otions
* @param array &$pobjArray Config array
private function loadOptions(&$pobjArray)
//$objArrayOptions = $this->getConfigElements($pobjArray['options']);
$objArrayOptions =
$pobjArray['options'];
foreach ($objArrayOptions as $strOption =>
$strValue)
* Charge la liste des layers a partir de la configuration
* @param array &$pobjArray Config node
private function loadLayer(&$pobjArray)
$this->m_objArrayLayer =
new ArrayObject();
//$objArrayLayers = $this->getConfigElements($pobjArray['layers']);
$objArrayLayers =
$pobjArray['layers'];
foreach ($objArrayLayers as $objArrayLayer)
$this->m_objArrayLayer->append(
new ArrayObject($objArrayLayer['resourcenames']),
$objArrayLayer['servicetype'],
$objArrayLayer['options']
* Supprime les layer ou l'acl nous indique des droit insufissant
private function removeLayerWithNoRight()
$objArrayLayer =
new ArrayObject();
foreach ($this->m_objArrayLayer as $objLayer)
$objArrayResources =
$objLayer->getResourceNames();
$objArrayAuthorizedResources =
new ArrayObject();
foreach ($objArrayResources as $strResource)
$objArrayAuthorizedResources->append($strResource);
if ($objArrayAuthorizedResources->count() >
0)
$objArrayAuthorizedResources,
$objLayer->getServiceType(),
$this->m_objArrayLayer =
$objArrayLayer;
* Retourne le type du widget
* Ajout le widget courant (this) dans le xml
* @param DOMElement &$pobjDomElementWidgets Noeud xml ou le widget doit
* @param DOMDocument &$pobjDomDocument Document XMl ou le noeud xml
* datastore est ajouter, utiliser
* pour construire les noeuds
DOMElement &$pobjDomElementWidgets, DOMDocument &$pobjDomDocument
$this->removeLayerWithNoRight();
$objArrayLayer =
$this->getLayers();
if ($objArrayLayer->count() >
0)
$objDomElementWidget =
$pobjDomDocument->createElement('widget');
$pobjDomElementWidgets->appendChild($objDomElementWidget);
$objDomElementType =
$pobjDomDocument->createElement(
$objDomElementName =
$pobjDomDocument->createElement(
$objDomElementWidget->appendChild($objDomElementType);
$objDomElementWidget->appendChild($objDomElementName);
$objDomElementOptions =
$pobjDomDocument->createElement('options');
$objDomElementWidget->appendChild($objDomElementOptions);
$objOption->insertIntoXML(
$objDomElementOptions, $pobjDomDocument
$objDomElementLayers =
$pobjDomDocument->createElement('layers');
$objDomElementWidget->appendChild($objDomElementLayers);
foreach ($this->getLayers() as $objLayer)
$objLayer->insertIntoXML(
$objDomElementLayers, $pobjDomDocument
return $objDomElementWidget;
* Retourne la liste de layer qui peuvent être afficher apres un filtre par l'acl
private function getLayers()
$this->removeLayerWithNoRight();
return $this->m_objArrayLayer;
* Retourne une liste de nom de ressource utiliser par ce widget
* @return ArrayObject of string
$this->removeLayerWithNoRight();
$objArrayResource =
new ArrayObject();
$objArrayLayer =
$this->getLayers();
foreach ($this->m_objArrayLayer as $objLayer)
$objArrayResourceNames =
$objLayer->getResourceNames();
foreach ($objArrayResourceNames as $strResourceName)
if (!in_array($strResourceName, (array)
$objArrayResource))
$objArrayResource->append($strResourceName);
return $objArrayResource;
* Retourne une liste d'information sur les datastores utilisé
* @return ArrayObject of array('resourcename' => ?, 'datastorename' => ?,
return self::getDatastoresFromResources($this->getResources());
Documentation generated on Thu, 19 Jan 2012 00:08:42 +0400 by phpDocumentor 1.4.1