[Chameleon] How to include (join) php code in custom widget
Julien-Samuel Lacroix
jlacroix at mapgears.com
Wed Jan 31 10:26:47 EST 2007
Hi,
In your UUW widget, around line 167, you call exit;. This call stops
PHP, even Chameleon. this is why you have a blank page. Replace that by
a break; and it will work again.
Julien
Ines wrote:
> Hi, I added that line in index.phtml at the first line but the application
> don´t show me errors. With the isset the page is white when I click the
> button of the widget:
>
> * widget, it wants to overwrite the gszAppPath with its own
> */
>
> error_reporting(E_ALL);
>
> $gszAppPath = dirname(__FILE__);
>
> include( "../../htdocs/chameleon.php" );
>
> Before I included de code to read the xml file in the widget, I proved the
> code out of the widget and it works very well. I have 3 files in the
> geointegrator folder (readxml.php, XML.inc.php (the class), archivo4.xml ),
> and I execute readxml.php in this way in the Internet Explorer:
> http://localhost/wmsviewer/geointegrator/readxml.php
>
> But my problem is when I put the code of readxml.php in the widget. I just
> put the code in the widget, and XML.inc.php (the class), archivo4.xml are
> still in the geointegrator folder.
> As I commented you, all the variables of the code that I included in the
> widget (the code of readxml.php), I had to declare in the widget (ex. var
> $xml_file;) and access in the in the widget in this way: $this->xml_file
> because the application showed errors with the new variables. I corrected
> all the new variables in the widget on that way and the application just
> show me one error with the XML.inc.php:
> if(is_object($this->_actual_tag->$name) ||
> is_array($this->_actual_tag->$name)){
>
>
> This is the structure of muy files/folders:
>
> ms4w/apps/myapp/geointegrator/htdocs:
> index.phtml
> geointegrator.html (template)
> .....etc......
> readxml.php (the code to read the xml that I put in the widget)
> XML.inc.php (the class)
> archivo4.xml (the xml file)
> Then in:
>
> ms4w/apps/myapp:
> folder admin
> folder config
> ----etc-------
> folder geointegrator
> folder htdocs:
> folder widgets (contain all the widgets folder and UUW folder too)
> folder skins
> folder images
> --- etc---------
> ----etc----
>
> I send you the complete code of readxml.php, XML.inc.php, archivo4.xml if
> you want to prove the code that is working very well out of the widget. And
> finally, I send you the code of the widget (UUW.widget.php) with the new
> code included.
>
> ------------------------------------readxml.php:----------------------------
> ----------
>
> <?php
> require_once("XML.inc.php");
>
> $xml_file="./archivo4.xml";
> $xml_data=implode("",file($xml_file));//(result)
>
> $namespace = substr($xml_data, strpos($xml_data, "<content xmlns:")+15,
> strpos($xml_data, "=", strpos($xml_data, "<content xmlns:")) -
> strpos($xml_data, "<content xmlns:") -15);
>
>
> $xml_data=str_replace($namespace.":", "", $xml_data);
>
> $xml=new XML();
>
> $xml->parse($xml_data); ///$result
>
> $tot = count($xml->response);
> echo "cantidad de etiquetas 'response': $tot <br>";
>
> //$tot = count($xml->version);
> //echo "cantidad de etiquetas 'version': $tot <br>";
>
>
> if($tot > 0)
> {
> $tot_a = count($xml->response->content);
> echo "cantidad de etiquetas 'content': $tot_a <br>";
> //$aa= $xml->response->header->_param['xmlns:xsd'];
> // echo "Contenido 'content': $aa <br>";
>
> if($tot_a > 0)
> {
> // $tot_b = count($xml->response->record);
> // echo "cantidad de etiquetas 'record':".$tot_b."<br>";
> $tot_b = count($xml->response->content->record);
> echo "cantidad de etiquetas 'record':".$tot_b."<br>";
>
> if($tot_b > 0)
> {
> echo "<b>Nombre Buscado</b>: Inga oerstediana <br>";
>
>
> for($j = 0; $j < $tot_b; $j++)
> {
> $sc_name = $xml->response->content->record[$j]->ScientificName->_value;
>
> if($sc_name == "Inga oerstediana")
> {
> $sc_name2= $xml->response->content->record[$j]->ScientificName->_value;
> $latitud= $xml->response->content->record[$j]->Latitude->_value;
> $longitud= $xml->response->content->record[$j]->Longitude->_value;
> echo "<br><br>";
> echo "<b>Nombre: </b>".$sc_name2."<br>";
> echo "<b>Latitud: </b>".$latitud."<br>";
> echo "<b>Longitud: </b>".$longitud."<br>";
> exit;
> }
> }
> }
> else
> {
> echo "No hay etiquetas 'record'";
> }
>
>
> }
> else
> {
> echo "No hay etiquetas 'content'";
> }
> }
> else
> {
> echo "No hay response";
> }
>
> ?>
>
>
> -------------------------XML.inc.php----------------------------------------
> ---------
>
> <?php
> /*
> * XML.inc.php
> *
> * Class to convert an XML file into an object
> *
> * Copyright (C) 2006 Oliver Strecke <oliver.strecke at browsertec.de>
> *
> * This library is free software; you can redistribute it and/or
> * modify it under the terms of the GNU Lesser General Public
> * License as published by the Free Software Foundation; either
> * version 2 of the License, or (at your option) any later version.
> *
> * This library is distributed in the hope that it will be useful,
> * but WITHOUT ANY WARRANTY; without even the implied warranty of
> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> * Lesser General Public License for more details.
> *
> * You should have received a copy of the GNU Lesser General Public
> * License along with this library; if not, write to the Free Software
> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
> */
>
> class XML{
> var $_parser;
> var $_xml_data;
> var $_actual_tag;
>
> //Constructor...
> function xml(){
> $this->_parser=xml_parser_create("ISO-8859-1");
> $this->_xml_data="";
> $this->_actual_tag=$this;
>
> xml_set_object($this->_parser,$this);
> xml_parser_set_option($this->_parser,XML_OPTION_CASE_FOLDING,false);
> xml_set_element_handler($this->_parser,"tag_open","tag_close");
> xml_set_character_data_handler($this->_parser,"tag_data");
> xml_set_default_handler($this->_parser,"tag_data");
> }
>
> //get XML data from file...
> function file_read($xml_file){
> if(file_exists($xml_file)){
> $this->_xml_data=implode("",file($xml_file));
> }
> return 1;
> }
>
> //parse XML data...
> function parse($xml_data=0){
> if($xml_data)$this->_xml_data=$xml_data;
> xml_parse($this->_parser,$this->_xml_data);
> xml_parser_free($this->_parser);
> return 1;
> }
>
> function tag_open($parser,$name,$attrs){
> //create new tag...
> $tag=new XML_TAG(&$this->_actual_tag);
> $tag->_name=$name;
> $tag->_param=$attrs;
>
> //add tag object to parent/actual tag object...
> if(is_a($this->_actual_tag,"XML_TAG")){
>
> //if(isset($this->_actual_tag->$name) &&
> (is_object($this->_actual_tag->$name) ||
> is_array($this->_actual_tag->$name))){
>
> if(is_object($this->_actual_tag->$name) ||
> is_array($this->_actual_tag->$name)){
> //same child objects -> Array...
> $last_index=$this->_actual_tag->new_child_array($tag,$name);
> $this->_actual_tag=&$this->_actual_tag->{$name}[$last_index];
> }else{
> //add new child object to actual tag...
> $this->_actual_tag->new_child($tag,$name);
> $this->_actual_tag=&$this->_actual_tag->$name;
> }
> }else{
> //copy first tag object in this object...
> $this->$name=$tag;
> $this->_actual_tag=&$this->{$name};
> }
> return 1;
> }
>
> function tag_data($parser,$string){
> if(strlen(trim($string))>0)$this->_actual_tag->_value=$string;
> return 1;
> }
>
> function tag_close($parser,$name){
> $this->_actual_tag=&$this->_actual_tag->_parent;
> return 1;
> }
>
> //Debug...
> function debug($exit=0){
> echo "<pre>";
> print_r($this);
> echo "</pre>";
> if($exit)exit;
> }
> }
>
> class XML_TAG {
> var $_parent;
> var $_name;
> var $_value;
> var $_param;
>
> //Constructor...
> function xml_tag($parent){
> $this->_parent=&$parent;
> $this->_name="";
> $this->_value=false;
> $this->_param=Array();
> return 1;
> }
>
> //simply add ne child to this object...
> function new_child($child,$child_name){
> $this->$child_name=&$child;
> }
>
> //add child array for more same childs to this object...
> function new_child_array($child,$child_name){
> //create array and set old child object to the first array element...
> if(is_object($this->$child_name)){
> $tmp_obj=$this->$child_name;
> $this->$child_name=Array();
> $this->new_child_array($tmp_obj,$child_name);
> }
> //push child reference into child array...
> $this->{$child_name}[]=&$child;
> $last_index=count($this->$child_name)-1;
> return $last_index;
> }
>
> //Debug...
> function debug(){
> echo "<pre>";
> print_r($this);
> echo "</pre>";
> }
> }
> ?>
>
> ---------------------------------------
> archivo4.xml-------------------------------------
>
>
> <?xml version="1.0" encoding="utf-8" ?>
> <response xmlns="http://digir.net/schema/protocol/2003/1.0">
> <header>
> <version>$Revision: 1.17 $</version>
> <sendTime>2006-11-09TCentral Ame:rica Standard Time</sendTime>
> <source
> resource="Nicaragua-HULE">http://10.0.1.216:80/digir/DiGIR.php</source>
> <destination>10.0.1.124</destination>
> <type>search</type>
> </header>
> <content xmlns:darwin="http://digir.net/schema/conceptual/darwin/2003/1.0"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <record>
> <darwin:DateLastModified>2006-10-26TCentral Ame:rica Standard
> Time</darwin:DateLastModified>
> <darwin:InstitutionCode>HULE</darwin:InstitutionCode>
> <darwin:CollectionCode>Plantae</darwin:CollectionCode>
> <darwin:CatalogNumber>100187</darwin:CatalogNumber>
> <darwin:ScientificName>Inga oerstediana</darwin:ScientificName>
> <darwin:BasisOfRecord>S</darwin:BasisOfRecord>
> <darwin:Kingdom xsi:nil="true" />
> <darwin:Phylum xsi:nil="true" />
> <darwin:Class xsi:nil="true" />
> <darwin:Order xsi:nil="true" />
> <darwin:Family>Fabaceae</darwin:Family>
> <darwin:Genus>Inga</darwin:Genus>
> <darwin:Species xsi:nil="true" />
> <darwin:Subspecies xsi:nil="true" />
> <darwin:ScientificNameAuthor>Benth.</darwin:ScientificNameAuthor>
> <darwin:IdentifiedBy />
> <darwin:YearIdentified xsi:nil="true" />
> <darwin:MonthIdentified xsi:nil="true" />
> <darwin:DayIdentified xsi:nil="true" />
> <darwin:TypeStatus xsi:nil="true" />
> <darwin:CollectorNumber>P.P. Moreno 195</darwin:CollectorNumber>
> <darwin:FieldNumber xsi:nil="true" />
> <darwin:Collector>P.P. Moreno</darwin:Collector>
> <darwin:YearCollected>1980</darwin:YearCollected>
> <darwin:MonthCollected>5</darwin:MonthCollected>
> <darwin:DayCollected>4</darwin:DayCollected>
> <darwin:JulianDay xsi:nil="true" />
> <darwin:TimeOfDay xsi:nil="true" />
> <darwin:ContinentOcean xsi:nil="true" />
> <darwin:Country>Nicaragua</darwin:Country>
> <darwin:StateProvince xsi:nil="true" />
> <darwin:County xsi:nil="true" />
> <darwin:Locality>entrada al Hotel Santa Maria de Ostuma, 9 km al NO de
> Matagalpa</darwin:Locality>
> <darwin:Longitude>-85.933333</darwin:Longitude>
> <darwin:Latitude>13</darwin:Latitude>
> <darwin:CoordinatePrecision xsi:nil="true" />
> <darwin:MinimumElevation>1300</darwin:MinimumElevation>
> <darwin:MaximumElevation>1500</darwin:MaximumElevation>
> <darwin:MinimumDepth xsi:nil="true" />
> <darwin:MaximumDepth xsi:nil="true" />
> <darwin:Sex xsi:nil="true" />
> <darwin:PreparationType xsi:nil="true" />
> <darwin:IndividualCount xsi:nil="true" />
> <darwin:PreviousCatalogNumber xsi:nil="true" />
> <darwin:RelationshipType xsi:nil="true" />
> <darwin:RelatedCatalogItem xsi:nil="true" />
> <darwin:Notes xsi:nil="true" />
> </record>
> <record>
> <darwin:DateLastModified>2006-10-26TCentral Ame:rica Standard
> Time</darwin:DateLastModified>
> <darwin:InstitutionCode>HULE</darwin:InstitutionCode>
> <darwin:CollectionCode>Plantae</darwin:CollectionCode>
> <darwin:CatalogNumber>100899</darwin:CatalogNumber>
> <darwin:ScientificName>Inga densiflora</darwin:ScientificName>
> <darwin:BasisOfRecord>S</darwin:BasisOfRecord>
> <darwin:Kingdom xsi:nil="true" />
> <darwin:Phylum xsi:nil="true" />
> <darwin:Class xsi:nil="true" />
> <darwin:Order xsi:nil="true" />
> <darwin:Family>Fabaceae</darwin:Family>
> <darwin:Genus>Inga</darwin:Genus>
> <darwin:Species xsi:nil="true" />
> <darwin:Subspecies xsi:nil="true" />
> <darwin:ScientificNameAuthor>Benth.</darwin:ScientificNameAuthor>
> <darwin:IdentifiedBy />
> <darwin:YearIdentified xsi:nil="true" />
> <darwin:MonthIdentified xsi:nil="true" />
> <darwin:DayIdentified xsi:nil="true" />
> <darwin:TypeStatus xsi:nil="true" />
> <darwin:CollectorNumber>1322</darwin:CollectorNumber>
> <darwin:FieldNumber xsi:nil="true" />
> <darwin:Collector />
> <darwin:YearCollected>1983</darwin:YearCollected>
> <darwin:MonthCollected>4</darwin:MonthCollected>
> <darwin:DayCollected>30</darwin:DayCollected>
> <darwin:JulianDay xsi:nil="true" />
> <darwin:TimeOfDay xsi:nil="true" />
> <darwin:ContinentOcean xsi:nil="true" />
> <darwin:Country>Nicaragua</darwin:Country>
> <darwin:StateProvince xsi:nil="true" />
> <darwin:County xsi:nil="true" />
> <darwin:Locality>Quipó</darwin:Locality>
> <darwin:Longitude>-85.044167</darwin:Longitude>
> <darwin:Latitude>13.627778</darwin:Latitude>
> <darwin:CoordinatePrecision xsi:nil="true" />
> <darwin:MinimumElevation>320</darwin:MinimumElevation>
> <darwin:MaximumElevation>320</darwin:MaximumElevation>
> <darwin:MinimumDepth xsi:nil="true" />
> <darwin:MaximumDepth xsi:nil="true" />
> <darwin:Sex xsi:nil="true" />
> <darwin:PreparationType xsi:nil="true" />
> <darwin:IndividualCount xsi:nil="true" />
> <darwin:PreviousCatalogNumber xsi:nil="true" />
> <darwin:RelationshipType xsi:nil="true" />
> <darwin:RelatedCatalogItem xsi:nil="true" />
> <darwin:Notes xsi:nil="true" />
> </record>
> <record>
> <darwin:DateLastModified>2006-10-26TCentral Ame:rica Standard
> Time</darwin:DateLastModified>
> <darwin:InstitutionCode>HULE</darwin:InstitutionCode>
> <darwin:CollectionCode>Plantae</darwin:CollectionCode>
> <darwin:CatalogNumber>101051</darwin:CatalogNumber>
> <darwin:ScientificName>Inga vera</darwin:ScientificName>
> <darwin:BasisOfRecord>S</darwin:BasisOfRecord>
> <darwin:Kingdom xsi:nil="true" />
> <darwin:Phylum xsi:nil="true" />
> <darwin:Class xsi:nil="true" />
> <darwin:Order xsi:nil="true" />
> <darwin:Family>Fabaceae</darwin:Family>
> <darwin:Genus>Inga</darwin:Genus>
> <darwin:Species xsi:nil="true" />
> <darwin:Subspecies xsi:nil="true" />
> <darwin:ScientificNameAuthor>Willd.</darwin:ScientificNameAuthor>
> <darwin:IdentifiedBy />
> <darwin:YearIdentified xsi:nil="true" />
> <darwin:MonthIdentified xsi:nil="true" />
> <darwin:DayIdentified xsi:nil="true" />
> <darwin:TypeStatus xsi:nil="true" />
> <darwin:CollectorNumber>1155</darwin:CollectorNumber>
> <darwin:FieldNumber xsi:nil="true" />
> <darwin:Collector />
> <darwin:YearCollected>1983</darwin:YearCollected>
> <darwin:MonthCollected>4</darwin:MonthCollected>
> <darwin:DayCollected>30</darwin:DayCollected>
> <darwin:JulianDay xsi:nil="true" />
> <darwin:TimeOfDay xsi:nil="true" />
> <darwin:ContinentOcean xsi:nil="true" />
> <darwin:Country>Nicaragua</darwin:Country>
> <darwin:StateProvince xsi:nil="true" />
> <darwin:County xsi:nil="true" />
> <darwin:Locality>Río Ulí</darwin:Locality>
> <darwin:Longitude>-84.856944</darwin:Longitude>
> <darwin:Latitude>13.707222</darwin:Latitude>
> <darwin:CoordinatePrecision xsi:nil="true" />
> <darwin:MinimumElevation>100</darwin:MinimumElevation>
> <darwin:MaximumElevation>100</darwin:MaximumElevation>
> <darwin:MinimumDepth xsi:nil="true" />
> <darwin:MaximumDepth xsi:nil="true" />
> <darwin:Sex xsi:nil="true" />
> <darwin:PreparationType xsi:nil="true" />
> <darwin:IndividualCount xsi:nil="true" />
> <darwin:PreviousCatalogNumber xsi:nil="true" />
> <darwin:RelationshipType xsi:nil="true" />
> <darwin:RelatedCatalogItem xsi:nil="true" />
> <darwin:Notes xsi:nil="true" />
> </record>
> <record>
> <darwin:DateLastModified>2006-10-26TCentral Ame:rica Standard
> Time</darwin:DateLastModified>
> <darwin:InstitutionCode>HULE</darwin:InstitutionCode>
> <darwin:CollectionCode>Plantae</darwin:CollectionCode>
> <darwin:CatalogNumber>101093</darwin:CatalogNumber>
> <darwin:ScientificName>Inga oerstediana</darwin:ScientificName>
> <darwin:BasisOfRecord>S</darwin:BasisOfRecord>
> <darwin:Kingdom xsi:nil="true" />
> <darwin:Phylum xsi:nil="true" />
> <darwin:Class xsi:nil="true" />
> <darwin:Order xsi:nil="true" />
> <darwin:Family>Fabaceae</darwin:Family>
> <darwin:Genus>Inga</darwin:Genus>
> <darwin:Species xsi:nil="true" />
> <darwin:Subspecies xsi:nil="true" />
> <darwin:ScientificNameAuthor>Benth.</darwin:ScientificNameAuthor>
> <darwin:IdentifiedBy />
> <darwin:YearIdentified xsi:nil="true" />
> <darwin:MonthIdentified xsi:nil="true" />
> <darwin:DayIdentified xsi:nil="true" />
> <darwin:TypeStatus xsi:nil="true" />
> <darwin:CollectorNumber>1339</darwin:CollectorNumber>
> <darwin:FieldNumber xsi:nil="true" />
> <darwin:Collector />
> <darwin:YearCollected>1983</darwin:YearCollected>
> <darwin:MonthCollected>4</darwin:MonthCollected>
> <darwin:DayCollected>30</darwin:DayCollected>
> <darwin:JulianDay xsi:nil="true" />
> <darwin:TimeOfDay xsi:nil="true" />
> <darwin:ContinentOcean xsi:nil="true" />
> <darwin:Country>Nicaragua</darwin:Country>
> <darwin:StateProvince xsi:nil="true" />
> <darwin:County xsi:nil="true" />
> <darwin:Locality>Quipó</darwin:Locality>
> <darwin:Longitude>-85.044167</darwin:Longitude>
> <darwin:Latitude>13.627778</darwin:Latitude>
> <darwin:CoordinatePrecision xsi:nil="true" />
> <darwin:MinimumElevation>320</darwin:MinimumElevation>
> <darwin:MaximumElevation>320</darwin:MaximumElevation>
> <darwin:MinimumDepth xsi:nil="true" />
> <darwin:MaximumDepth xsi:nil="true" />
> <darwin:Sex xsi:nil="true" />
> <darwin:PreparationType xsi:nil="true" />
> <darwin:IndividualCount xsi:nil="true" />
> <darwin:PreviousCatalogNumber xsi:nil="true" />
> <darwin:RelationshipType xsi:nil="true" />
> <darwin:RelatedCatalogItem xsi:nil="true" />
> <darwin:Notes xsi:nil="true" />
> </record>
> <record>
> <darwin:DateLastModified>2006-10-26TCentral Ame:rica Standard
> Time</darwin:DateLastModified>
> <darwin:InstitutionCode>HULE</darwin:InstitutionCode>
> <darwin:CollectionCode>Plantae</darwin:CollectionCode>
> <darwin:CatalogNumber>101149</darwin:CatalogNumber>
> <darwin:ScientificName>Inga goldmanii</darwin:ScientificName>
> <darwin:BasisOfRecord>S</darwin:BasisOfRecord>
> <darwin:Kingdom xsi:nil="true" />
> <darwin:Phylum xsi:nil="true" />
> <darwin:Class xsi:nil="true" />
> <darwin:Order xsi:nil="true" />
> <darwin:Family>Fabaceae</darwin:Family>
> <darwin:Genus>Inga</darwin:Genus>
> <darwin:Species xsi:nil="true" />
> <darwin:Subspecies xsi:nil="true" />
> <darwin:ScientificNameAuthor>Pittier</darwin:ScientificNameAuthor>
> <darwin:IdentifiedBy />
> <darwin:YearIdentified xsi:nil="true" />
> <darwin:MonthIdentified xsi:nil="true" />
> <darwin:DayIdentified xsi:nil="true" />
> <darwin:TypeStatus xsi:nil="true" />
> <darwin:CollectorNumber>1255</darwin:CollectorNumber>
> <darwin:FieldNumber xsi:nil="true" />
> <darwin:Collector />
> <darwin:YearCollected>1983</darwin:YearCollected>
> <darwin:MonthCollected>4</darwin:MonthCollected>
> <darwin:DayCollected>30</darwin:DayCollected>
> <darwin:JulianDay xsi:nil="true" />
> <darwin:TimeOfDay xsi:nil="true" />
> <darwin:ContinentOcean xsi:nil="true" />
> <darwin:Country>Nicaragua</darwin:Country>
> <darwin:StateProvince xsi:nil="true" />
> <darwin:County xsi:nil="true" />
> <darwin:Locality>Río Danlí</darwin:Locality>
> <darwin:Longitude>-84.887778</darwin:Longitude>
> <darwin:Latitude>13.696667</darwin:Latitude>
> <darwin:CoordinatePrecision xsi:nil="true" />
> <darwin:MinimumElevation>100</darwin:MinimumElevation>
> <darwin:MaximumElevation>100</darwin:MaximumElevation>
> <darwin:MinimumDepth xsi:nil="true" />
> <darwin:MaximumDepth xsi:nil="true" />
> <darwin:Sex xsi:nil="true" />
> <darwin:PreparationType xsi:nil="true" />
> <darwin:IndividualCount xsi:nil="true" />
> <darwin:PreviousCatalogNumber xsi:nil="true" />
> <darwin:RelationshipType xsi:nil="true" />
> <darwin:RelatedCatalogItem xsi:nil="true" />
> <darwin:Notes xsi:nil="true" />
> </record>
> <record>
> <darwin:DateLastModified>2006-10-26TCentral Ame:rica Standard
> Time</darwin:DateLastModified>
> <darwin:InstitutionCode>HULE</darwin:InstitutionCode>
> <darwin:CollectionCode>Plantae</darwin:CollectionCode>
> <darwin:CatalogNumber>101159</darwin:CatalogNumber>
> <darwin:ScientificName>Inga</darwin:ScientificName>
> <darwin:BasisOfRecord>S</darwin:BasisOfRecord>
> <darwin:Kingdom xsi:nil="true" />
> <darwin:Phylum xsi:nil="true" />
> <darwin:Class xsi:nil="true" />
> <darwin:Order xsi:nil="true" />
> <darwin:Family>Fabaceae</darwin:Family>
> <darwin:Genus>Inga</darwin:Genus>
> <darwin:Species xsi:nil="true" />
> <darwin:Subspecies xsi:nil="true" />
> <darwin:ScientificNameAuthor />
> <darwin:IdentifiedBy />
> <darwin:YearIdentified xsi:nil="true" />
> <darwin:MonthIdentified xsi:nil="true" />
> <darwin:DayIdentified xsi:nil="true" />
> <darwin:TypeStatus xsi:nil="true" />
> <darwin:CollectorNumber>P.P. Moreno 272</darwin:CollectorNumber>
> <darwin:FieldNumber xsi:nil="true" />
> <darwin:Collector>P.P. Moreno</darwin:Collector>
> <darwin:YearCollected>1980</darwin:YearCollected>
> <darwin:MonthCollected>5</darwin:MonthCollected>
> <darwin:DayCollected>10</darwin:DayCollected>
> <darwin:JulianDay xsi:nil="true" />
> <darwin:TimeOfDay xsi:nil="true" />
> <darwin:ContinentOcean xsi:nil="true" />
> <darwin:Country>Nicaragua</darwin:Country>
> <darwin:StateProvince xsi:nil="true" />
> <darwin:County xsi:nil="true" />
> <darwin:Locality>Cerro Mombachito</darwin:Locality>
> <darwin:Longitude>-85.55</darwin:Longitude>
> <darwin:Latitude>12.4</darwin:Latitude>
> <darwin:CoordinatePrecision xsi:nil="true" />
> <darwin:MinimumElevation>900</darwin:MinimumElevation>
> <darwin:MaximumElevation>1000</darwin:MaximumElevation>
> <darwin:MinimumDepth xsi:nil="true" />
> <darwin:MaximumDepth xsi:nil="true" />
> <darwin:Sex xsi:nil="true" />
> <darwin:PreparationType xsi:nil="true" />
> <darwin:IndividualCount xsi:nil="true" />
> <darwin:PreviousCatalogNumber xsi:nil="true" />
> <darwin:RelationshipType xsi:nil="true" />
> <darwin:RelatedCatalogItem xsi:nil="true" />
> <darwin:Notes xsi:nil="true" />
> </record>
> <record>
> <darwin:DateLastModified>2006-10-26TCentral Ame:rica Standard
> Time</darwin:DateLastModified>
> <darwin:InstitutionCode>HULE</darwin:InstitutionCode>
> <darwin:CollectionCode>Plantae</darwin:CollectionCode>
> <darwin:CatalogNumber>101202</darwin:CatalogNumber>
> <darwin:ScientificName>Inga oerstediana</darwin:ScientificName>
> <darwin:BasisOfRecord>S</darwin:BasisOfRecord>
> <darwin:Kingdom xsi:nil="true" />
> <darwin:Phylum xsi:nil="true" />
> <darwin:Class xsi:nil="true" />
> <darwin:Order xsi:nil="true" />
> <darwin:Family>Fabaceae</darwin:Family>
> <darwin:Genus>Inga</darwin:Genus>
> <darwin:Species xsi:nil="true" />
> <darwin:Subspecies xsi:nil="true" />
> <darwin:ScientificNameAuthor>Benth.</darwin:ScientificNameAuthor>
> <darwin:IdentifiedBy />
> <darwin:YearIdentified xsi:nil="true" />
> <darwin:MonthIdentified xsi:nil="true" />
> <darwin:DayIdentified xsi:nil="true" />
> <darwin:TypeStatus xsi:nil="true" />
> <darwin:CollectorNumber>P.P. Moreno 280</darwin:CollectorNumber>
> <darwin:FieldNumber xsi:nil="true" />
> <darwin:Collector>P.P. Moreno</darwin:Collector>
> <darwin:YearCollected>1980</darwin:YearCollected>
> <darwin:MonthCollected>5</darwin:MonthCollected>
> <darwin:DayCollected>10</darwin:DayCollected>
> <darwin:JulianDay xsi:nil="true" />
> <darwin:TimeOfDay xsi:nil="true" />
> <darwin:ContinentOcean xsi:nil="true" />
> <darwin:Country>Nicaragua</darwin:Country>
> <darwin:StateProvince xsi:nil="true" />
> <darwin:County xsi:nil="true" />
> <darwin:Locality>Cerro Mombachito</darwin:Locality>
> <darwin:Longitude>-85.55</darwin:Longitude>
> <darwin:Latitude>12.4</darwin:Latitude>
> <darwin:CoordinatePrecision xsi:nil="true" />
> <darwin:MinimumElevation>900</darwin:MinimumElevation>
> <darwin:MaximumElevation>1000</darwin:MaximumElevation>
> <darwin:MinimumDepth xsi:nil="true" />
> <darwin:MaximumDepth xsi:nil="true" />
> <darwin:Sex xsi:nil="true" />
> <darwin:PreparationType xsi:nil="true" />
> <darwin:IndividualCount xsi:nil="true" />
> <darwin:PreviousCatalogNumber xsi:nil="true" />
> <darwin:RelationshipType xsi:nil="true" />
> <darwin:RelatedCatalogItem xsi:nil="true" />
> <darwin:Notes xsi:nil="true" />
> </record>
> <record>
> <darwin:DateLastModified>2006-10-26TCentral Ame:rica Standard
> Time</darwin:DateLastModified>
> <darwin:InstitutionCode>HULE</darwin:InstitutionCode>
> <darwin:CollectionCode>Plantae</darwin:CollectionCode>
> <darwin:CatalogNumber>101313</darwin:CatalogNumber>
> <darwin:ScientificName>Inga vera</darwin:ScientificName>
> <darwin:BasisOfRecord>S</darwin:BasisOfRecord>
> <darwin:Kingdom xsi:nil="true" />
> <darwin:Phylum xsi:nil="true" />
> <darwin:Class xsi:nil="true" />
> <darwin:Order xsi:nil="true" />
> <darwin:Family>Fabaceae</darwin:Family>
> <darwin:Genus>Inga</darwin:Genus>
> <darwin:Species xsi:nil="true" />
> <darwin:Subspecies xsi:nil="true" />
> <darwin:ScientificNameAuthor>Willd.</darwin:ScientificNameAuthor>
> <darwin:IdentifiedBy />
> <darwin:YearIdentified xsi:nil="true" />
> <darwin:MonthIdentified xsi:nil="true" />
> <darwin:DayIdentified xsi:nil="true" />
> <darwin:TypeStatus xsi:nil="true" />
> <darwin:CollectorNumber>1020</darwin:CollectorNumber>
> <darwin:FieldNumber xsi:nil="true" />
> <darwin:Collector />
> <darwin:YearCollected>1983</darwin:YearCollected>
> <darwin:MonthCollected>4</darwin:MonthCollected>
> <darwin:DayCollected>30</darwin:DayCollected>
> <darwin:JulianDay xsi:nil="true" />
> <darwin:TimeOfDay xsi:nil="true" />
> <darwin:ContinentOcean xsi:nil="true" />
> <darwin:Country>Nicaragua</darwin:Country>
> <darwin:StateProvince xsi:nil="true" />
> <darwin:County xsi:nil="true" />
> <darwin:Locality>Rosa Grande, Río Labú (río abajo)</darwin:Locality>
> <darwin:Longitude>-84.986944</darwin:Longitude>
> <darwin:Latitude>13.651944</darwin:Latitude>
> <darwin:CoordinatePrecision xsi:nil="true" />
> <darwin:MinimumElevation>300</darwin:MinimumElevation>
> <darwin:MaximumElevation>300</darwin:MaximumElevation>
> <darwin:MinimumDepth xsi:nil="true" />
> <darwin:MaximumDepth xsi:nil="true" />
> <darwin:Sex xsi:nil="true" />
> <darwin:PreparationType xsi:nil="true" />
> <darwin:IndividualCount xsi:nil="true" />
> <darwin:PreviousCatalogNumber xsi:nil="true" />
> <darwin:RelationshipType xsi:nil="true" />
> <darwin:RelatedCatalogItem xsi:nil="true" />
> <darwin:Notes xsi:nil="true" />
> </record>
> <record>
> <darwin:DateLastModified>2006-10-26TCentral Ame:rica Standard
> Time</darwin:DateLastModified>
> <darwin:InstitutionCode>HULE</darwin:InstitutionCode>
> <darwin:CollectionCode>Plantae</darwin:CollectionCode>
> <darwin:CatalogNumber>101326</darwin:CatalogNumber>
> <darwin:ScientificName>Inga ruiziana</darwin:ScientificName>
> <darwin:BasisOfRecord>S</darwin:BasisOfRecord>
> <darwin:Kingdom xsi:nil="true" />
> <darwin:Phylum xsi:nil="true" />
> <darwin:Class xsi:nil="true" />
> <darwin:Order xsi:nil="true" />
> <darwin:Family>Fabaceae</darwin:Family>
> <darwin:Genus>Inga</darwin:Genus>
> <darwin:Species xsi:nil="true" />
> <darwin:Subspecies xsi:nil="true" />
> <darwin:ScientificNameAuthor>G.Don</darwin:ScientificNameAuthor>
> <darwin:IdentifiedBy />
> <darwin:YearIdentified xsi:nil="true" />
> <darwin:MonthIdentified xsi:nil="true" />
> <darwin:DayIdentified xsi:nil="true" />
> <darwin:TypeStatus xsi:nil="true" />
> <darwin:CollectorNumber>1289</darwin:CollectorNumber>
> <darwin:FieldNumber xsi:nil="true" />
> <darwin:Collector />
> <darwin:YearCollected>1983</darwin:YearCollected>
> <darwin:MonthCollected>4</darwin:MonthCollected>
> <darwin:DayCollected>30</darwin:DayCollected>
> <darwin:JulianDay xsi:nil="true" />
> <darwin:TimeOfDay xsi:nil="true" />
> <darwin:ContinentOcean xsi:nil="true" />
> <darwin:Country>Nicaragua</darwin:Country>
> <darwin:StateProvince xsi:nil="true" />
> <darwin:County xsi:nil="true" />
> <darwin:Locality>Amparo</darwin:Locality>
> <darwin:Longitude>-84.822222</darwin:Longitude>
> <darwin:Latitude>13.666667</darwin:Latitude>
> <darwin:CoordinatePrecision xsi:nil="true" />
> <darwin:MinimumElevation>130</darwin:MinimumElevation>
> <darwin:MaximumElevation>160</darwin:MaximumElevation>
> <darwin:MinimumDepth xsi:nil="true" />
> <darwin:MaximumDepth xsi:nil="true" />
> <darwin:Sex xsi:nil="true" />
> <darwin:PreparationType xsi:nil="true" />
> <darwin:IndividualCount xsi:nil="true" />
> <darwin:PreviousCatalogNumber xsi:nil="true" />
> <darwin:RelationshipType xsi:nil="true" />
> <darwin:RelatedCatalogItem xsi:nil="true" />
> <darwin:Notes xsi:nil="true" />
> </record>
> <record>
> <darwin:DateLastModified>2006-10-26TCentral Ame:rica Standard
> Time</darwin:DateLastModified>
> <darwin:InstitutionCode>HULE</darwin:InstitutionCode>
> <darwin:CollectionCode>Plantae</darwin:CollectionCode>
> <darwin:CatalogNumber>101333</darwin:CatalogNumber>
> <darwin:ScientificName>Inga samanensis</darwin:ScientificName>
> <darwin:BasisOfRecord>S</darwin:BasisOfRecord>
> <darwin:Kingdom xsi:nil="true" />
> <darwin:Phylum xsi:nil="true" />
> <darwin:Class xsi:nil="true" />
> <darwin:Order xsi:nil="true" />
> <darwin:Family>Fabaceae</darwin:Family>
> <darwin:Genus>Inga</darwin:Genus>
> <darwin:Species xsi:nil="true" />
> <darwin:Subspecies xsi:nil="true" />
> <darwin:ScientificNameAuthor>L. Uribe</darwin:ScientificNameAuthor>
> <darwin:IdentifiedBy />
> <darwin:YearIdentified xsi:nil="true" />
> <darwin:MonthIdentified xsi:nil="true" />
> <darwin:DayIdentified xsi:nil="true" />
> <darwin:TypeStatus xsi:nil="true" />
> <darwin:CollectorNumber>2092</darwin:CollectorNumber>
> <darwin:FieldNumber xsi:nil="true" />
> <darwin:Collector />
> <darwin:YearCollected>1984</darwin:YearCollected>
> <darwin:MonthCollected>8</darwin:MonthCollected>
> <darwin:DayCollected>30</darwin:DayCollected>
> <darwin:JulianDay xsi:nil="true" />
> <darwin:TimeOfDay xsi:nil="true" />
> <darwin:ContinentOcean xsi:nil="true" />
> <darwin:Country>Nicaragua</darwin:Country>
> <darwin:StateProvince xsi:nil="true" />
> <darwin:County xsi:nil="true" />
> <darwin:Locality>Sector de Coperna; 13 |140 N, 84 |132 W. Alt. menos de
> 200 m.</darwin:Locality>
> <darwin:Longitude>-84.533333</darwin:Longitude>
> <darwin:Latitude>13.666667</darwin:Latitude>
> <darwin:CoordinatePrecision xsi:nil="true" />
> <darwin:MinimumElevation>200</darwin:MinimumElevation>
> <darwin:MaximumElevation>200</darwin:MaximumElevation>
> <darwin:MinimumDepth xsi:nil="true" />
> <darwin:MaximumDepth xsi:nil="true" />
> <darwin:Sex xsi:nil="true" />
> <darwin:PreparationType xsi:nil="true" />
> <darwin:IndividualCount xsi:nil="true" />
> <darwin:PreviousCatalogNumber xsi:nil="true" />
> <darwin:RelationshipType xsi:nil="true" />
> <darwin:RelatedCatalogItem xsi:nil="true" />
> <darwin:Notes xsi:nil="true" />
> </record>
> </content>
> <diagnostics>
> <diagnostic code="Unknown PHP Error [8]" severity="warn">Use of undefined
> constant DIGIR_STATISTICS_TRACKING - assumed 'DIGIR_STATISTICS_TRACKING'
> (C:\opt\digirpro\DiGIRprov\www\DiGIR.php:541)</diagnostic>
> <diagnostic code="Unknown PHP Error [8]" severity="warn">Use of undefined
> constant DIGIR_STATISTICS_PATH - assumed 'DIGIR_STATISTICS_PATH'
> (C:\opt\digirpro\DiGIRprov\www\DiGIR.php:543)</diagnostic>
> <diagnostic code="Unknown PHP Error [8]" severity="warn">Use of undefined
> constant DIGIR_STATISTICS_PATH - assumed 'DIGIR_STATISTICS_PATH'
> (C:\opt\digirpro\DiGIRprov\www\DiGIR.php:545)</diagnostic>
> <diagnostic code="Unknown PHP Error [2]" severity="warn">touch(): Unable
> to create file DIGIR_STATISTICS_PATH/2006_11.tbl because No such file or
> directory (C:\opt\digirpro\DiGIRprov\www\DiGIR.php:545)</diagnostic>
> <diagnostic code="Unknown PHP Error [8]" severity="warn">Use of undefined
> constant DIGIR_STATISTICS_PATH - assumed 'DIGIR_STATISTICS_PATH'
> (C:\opt\digirpro\DiGIRprov\www\DiGIR.php:548)</diagnostic>
> <diagnostic code="STATUS_INTERVAL" severity="info">600</diagnostic>
> <diagnostic code="STATUS_DATA" severity="info">0,1,0</diagnostic>
> <diagnostic code="MATCH_COUNT" severity="info">585</diagnostic>
> <diagnostic code="RECORD_COUNT" severity="info">10</diagnostic>
> <diagnostic code="END_OF_RECORDS" severity="info">false</diagnostic>
> </diagnostics>
> </response>
>
>
> ----------------------------
> UUW.widget.php-----------------------------------------
>
>
> <?php
>
> // inherit from the NavTool
> include_once(dirname(__FILE__)."/../NavTool.php");
> //include( 'utils.inc.php' );
> require_once('XML.inc.php');
>
> /**
>
> ____________________________________________________________________________
> _
> |
> | "UUW" Widget Class
>
> |___________________________________________________________________________
> __
>
> **/
> class UUW extends NavTool
> {
> // define member vars
> // i.e. var $mszMyVariable;
> var $x;
> var $y;
> var $mszCoords;
> var $poLayer;
> var $pt;
> var $ln;
> var $shp;
> var $pt;
> var $ln;
> var $shp;
> //Variables requeridas para leer el XML
> var $xml_file;
> var $xml_data;
> var $namespace;
> var $xml;
> var $tot;
> var $tot_a;
> var $tot_b;
> var $sc_name;
> var $j;
> var $sc_name2;
> var $latitud;
> var $longitud;
> //Variables lee XML2
> var $xml_fuente;
> var $xml_busqueda;
> var $res;
> var $key;
> var $val;
> var $archivo_xml;
> var $f;
> var $contenido;
> var $registros;
> var $cant;
> var $ini;
> var $fin;
> var $record;
> var $ini2;
> var $fin2;
> var $cant;
> var $poscont;
> var $registros;
>
> var $archivo_xml;
> var $f;
> var $especie;
> var $espe;
> var $v;
> var $archivo;
> var $fp;
> //var $contenido;
> var $write;
>
> /**
>
> _________________________________________________________________________
> |
> | Constructor: "UUW" Widget Class
>
> |_________________________________________________________________________
>
> **/
> function UUW()
> {
> // set the language file
> $this->mszLanguageResource = dirname(__FILE__).'/UUW.dbf';
>
> // invoke constructor of parent
> parent::NavTool();
> $this->SetNavCommand('UUW');
>
>
> $this->maAttributes['COORDS'] =
> new StringAttribute( 'COORDS', true, array( 'aa' ) );
>
> // set the description for this widget
> $this->szWidgetDescription = <<<EOT
> This is the UUW.
> EOT;
> // set the maturity level
> $this->mnMaturityLevel = MATURITY_ALPHA;
>
> // end constructor
> }
>
> function InitDefaults()
> {
> // init defaults for parent
> parent::InitDefaults();
>
> $this->mszCoords = isset( $this->maParams['COORDS'] )?
>
> $this->maParams['COORDS'] : '';
>
>
> // end InitDefaults function.
> }
>
>
> function ParseURL()
> {
> // execute parent function
> parent::ParseURL();
>
> // work some magic
> if ( $this->isVarSet( "NAV_CMD" ) &&
> $this->getVar( "NAV_CMD" ) == 'UUW' )
> {
>
> if ( $this->mszCoords == 'aa')
> {
>
> $this->xml_file='./archivo4.xml';
> $this->xml_data=implode("",file($this->xml_file));
>
> $this->namespace = substr($this->xml_data, strpos($this->xml_data,
> "<content xmlns:")+15, strpos($this->xml_data, "=", strpos($this->xml_data,
> "<content xmlns:")) - strpos($this->xml_data, "<content xmlns:") -15);
> $this->xml_data=str_replace($this->namespace.":", "", $this->xml_data);
>
> $this->xml=new XML();
>
> $this->xml->parse($this->xml_data);
>
> $this->tot = count($this->xml->response);
>
>
> if($this->tot > 0)
> {
> $this->tot_a = count($this->xml->response->content);
>
> if($this->tot_a > 0)
> {
> $this->tot_b = count($this->xml->response->content->record);
>
> if($this->tot_b > 0)
> {
>
> for($this->j = 0; $this->j < $this->tot_b; $this->j++)
> {
> $this->sc_name =
> $this->xml->response->content->record[$this->j]->ScientificName->_value;
>
> if($this->sc_name == "Inga oerstediana")
> {
> $this->sc_name2=
> $this->xml->response->content->record[$this->j]->ScientificName->_value;
> $this->latitud=
> $this->xml->response->content->record[$this->j]->Latitude->_value;
> $this->longitud=
> $this->xml->response->content->record[$this->j]->Longitude->_value;
>
> exit;
> }
> }
> }
> else
> {
> return false;
>
> }
>
> }
> else
> {
> return false;
>
> }
> }
> else
> {
> return false;
> }
>
>
> $this->x = $this->longitud;
> $this->y = $this->latitud;
>
> //$this->lb = $this->getVar('especie');
>
> if ($this->isVarSet('espe') == 0)
> {
> $this->lb = "no";
> }
> else
> {
> $this->lb = $this->getVar('espe');
> }
>
> $poLayer = $this->moMapObject->oMap->getLayerByName('pointlatlon');
> $poLayer->set("status", MS_ON);
> $pt = ms_newPointObj();
> $ln = ms_newLineObj();
> $shp = ms_newShapeObj(MS_SHAPE_POINT);
> $shp->set("text", $this->lb);
> $pt->setXY($this->x,$this->y);
> $ln->add($pt);
> $shp->add($ln);
> $poLayer->addFeature($shp);
>
>
> }
>
>
> }
>
> // return success
> return true;
> }
>
>
> function DrawPublish()
> {
> // init vars
> $szReturn = "<font color='#000000' size='2' face='Arial, Helvetica,
> sans-serif'>Search by scientific name </font><input type='text'
> name='especie' > ";
> $this->espe= $this->getVar('especie');
>
> // execute parent
> $szReturn .= parent::DrawPublish();
>
> // return
> return $szReturn;
>
> // end DrawPublish() function
> }
>
> /**
>
> _________________________________________________________________________
> |
> | GetHTMLHiddenVariables()
> |
> | OPTIONAL - Use this function to define any hidden html form
> variables
> | required by the widget.
> |
> | Postcondition: This function defines html form variables and adds
> | them to the array.
> |
> | Example:
> |
> | $szVariable = "MY_HIDDEN_VAR";
> | $szValue = " <INPUT TYPE=HIDDEN NAME=$szVariable VALUE=\"0\">";
> | $aReturn[$szVariable] = $szValue;
> |
> | @return Array - Array of html form variables.
> | @desc Defines html form variables.
>
> |_________________________________________________________________________
>
> **/
>
> /** REMOVE THIS LINE TO USE THIS FUNCTION
>
> function GetHTMLHiddenVariables()
> {
> // init vars
> $aReturn = parent::GetHTMLHiddenVariables();
>
> ///////// ADD CODE HERE IF NECESSARY /////////
>
> // return
> return $aReturn;
>
> // end GetHTMLHiddenVariables() function
> }
>
> /**
>
> _________________________________________________________________________
> |
> | GetJavascriptIncludeFunctions()
> |
> | OPTIONAL - Use this function to include any external javascript
> files
> | that are required by the widget.
> |
> | Postcondition: This function defines the javascript include
> statements.
> |
> | Example:
> |
> | $szVar = "myjavascript.js";
> | $aReturn[$szVar] = '<script src="http://myjavascript.js"
> |
> type="text/javascript"></script>';
> |
> |
> | @return Array - Array of include statements.
> | @desc Defines javascript include statements.
>
> |_________________________________________________________________________
>
> **/
>
> /** REMOVE THIS LINE TO USE THIS FUNCTION
>
> function GetJavascriptIncludeFunctions()
> {
> // init vars
> $aReturn = parent::GetJavascriptIncludeFunctions();
>
> ///////// ADD CODE HERE IF NECESSARY /////////
>
> // return
> return $aReturn;
>
> // end GetJavascriptIncludeFunctions() function
> }
>
> /**
>
> _________________________________________________________________________
> |
> | GetJavascriptVariables()
> |
> | OPTIONAL - Use this function to define any javascript variables that
> | are required by this widget.
> |
> | Postcondition: This function defines javascript variables and adds
> | them to the array.
> |
> | Example:
> |
> | $aReturn['MyJSVar'] = 'var szMyJSVar = "Default Value";'."\n";
> |
> | @return Array - Array of javascript variables.
> | @desc Defines javascript variables.
>
> |_________________________________________________________________________
>
> **/
>
> /** REMOVE THIS LINE TO USE THIS FUNCTION
>
> function GetJavascriptVariables()
> {
> // init vars
> $aReturn = parent::GetJavascriptVariables();
>
> ///////// ADD CODE HERE IF NECESSARY /////////
>
> // return
> return $aReturn;
>
> // end GetJavascriptVariables() function
> }
>
> /**
>
> _________________________________________________________________________
> |
> | GetJavascriptFunctions()
> |
> | OPTIONAL - Use this function to define all javascript functions
> needed
> | by this widget
> |
> | Postcondition: This function defines javascript functions and adds
> | them to the array.
> |
> | Example:
> |
> | $szJsFunctionName = "myJSFunction";
> | $szFunction = <<<EOT
> | function {$szJsFunctionName}()
> | {
> | alert('myJSFunction');
> | return true;
> | }
> | EOT;
> | $aReturn[$szJsFunctionName] = $szFunction;
> |
> |
> | @return Array - Array of javascript functions.
> | @desc Defines javascript functions.
>
> |_________________________________________________________________________
>
> **/
> /**
>
> function GetJavascriptFunctions()
> {
> // init vars
> $aReturn = parent::GetJavascriptFunctions();
>
> // return
> return $aReturn;
>
> // end GetJavascriptFunctions() function
> }
>
> /**
>
> _________________________________________________________________________
> |
> | GetJavascriptInitFunctions()
> |
> | OPTIONAL - Use this function to define a list of functions that need
> | to run to initialize this widget's javascript variables.
> |
> | Postcondition: This function defines the list javascript functions
> | and adds them to the array.
> |
> | Example:
> |
> | $aReturn['MyInitFunction'] = "MyInitFunction();\n";
> |
> | @return Array - Array of javascript functions.
> | @desc Defines javascript functions.
>
> |_________________________________________________________________________
>
> **/
>
> /** REMOVE THIS LINE TO USE THIS FUNCTION
>
> function GetJavascriptInitFunctions()
> {
> // call parent function
> $aReturn = parent::GetJavascriptInitFunctions();
>
> ///////// ADD CODE HERE IF NECESSARY /////////
>
> // return
> return $aReturn;
>
> // end GetJavascriptInitFunctions() function
> }
>
> /**
>
> _________________________________________________________________________
> |
> | GetJavascriptOnLoadFunctions()
> |
> | OPTIONAL - Use this function to define the list of javascript
> functions
> | to execute in the onload function of the widget.
> |
> | Postcondition: This function defines javascript functions and adds
> | them to the array.
> |
> | Example:
> |
> | $aReturn['MyOnloadFunction'] = "MyOnloadFunction();\n";
> |
> | @return Array - Array of javascript functions.
> | @desc Defines javascript functions.
>
> |_________________________________________________________________________
>
> **/
>
> /**
>
> function GetJavascriptOnLoadFunctions()
> {
> // init vars
> $aReturn = parent::GetJavascriptOnLoadFunctions();
>
> ///////// ADD CODE HERE IF NECESSARY /////////
>
> // return
> return $aReturn;
>
> // end GetJavascriptOnLoadFunctions() function
> }
>
> /**
>
> _________________________________________________________________________
> |
> | GetJavascriptOnMouseMoveFunctions()
> |
> | OPTIONAL - Use this function to define the list of javascript
> functions
> | to execute on a mouse move event.
> |
> | Postcondition: This function defines mouse move functions and adds
> | them to the array.
> |
> | Example:
> |
> | $szJsFunctionName = "MyMouseMove";
> | $szFunction = "$szJsFunctionName(e);\n";
> | $aReturn[$szJsFunctionName] = $szFunction;
> |
> | @return Array - Array of mouse move functions.
> | @desc Defines mouse move functions.
>
> |_________________________________________________________________________
>
> **/
>
> /** REMOVE THIS LINE TO USE THIS FUNCTION
>
> function GetJavascriptOnMouseMoveFunctions()
> {
> // init vars
> $aReturn = parent::GetJavascriptOnMouseMoveFunctions();
>
> ///////// ADD CODE HERE IF NECESSARY /////////
>
> // return
> return $aReturn;
>
> // end GetJavascriptOnMouseMoveFunctions() function
> }
>
> /** **/
>
> // end "UUW"
> }
> ?>
>
> Thank you very much again
> Ines
>
>
>
> -----Mensaje original-----
> De: Julien-Samuel Lacroix [mailto:jlacroix at mapgears.com]
> Enviado el: jueves, 25 de enero de 2007 11:57
> Para: Ines
> CC: chameleon at lists.maptools.org
> Asunto: Re: [Chameleon] How to include (join) php code in custom widget
>
>
> There's probably a php error and your php installation is probably
> configured to not show them.
>
> Try adding the following at the begining of your index.phtml file (or
> whatever the file name is):
>
> error_reporting(E_ALL);
>
>
> Julien
>
> Ines wrote:
>
>>Hi, I tried with adding the isset, but when I run the widget, it goes to a
>>white page. Don't show me the application and don´t show me the errors,
>
> just
>
>>a white page whit no content. I don´t know why. What another thing it
>
> could
>
>>be? I checked the files(archivo4.xml, XML.inc.php), the locations and
>>everything seems right. That two files are in the htdocs folder of my
>>aplication.
>>
>>Thanks again
>>Ines
>>
>>
>>
>>
>>-----Mensaje original-----
>>De: Julien-Samuel Lacroix [mailto:jlacroix at mapgears.com]
>>Enviado el: martes, 23 de enero de 2007 9:09
>>Para: Ines
>>CC: chameleon at lists.maptools.org
>>Asunto: Re: [Chameleon] How to include (join) php code in custom widget
>>
>>
>>Hi,
>>
>>I think the problem is caused by the fact that sometimes
>>$this->_actual_tag->$name doesn't exist. By adding an isset at line 66
>>you should solve the problem.
>>
>>if(isset($this->_actual_tag->$name) &&
>>(is_object($this->_actual_tag->$name) ||
>>is_array($this->_actual_tag->$name))){
>>
>>Julien
>>
>>Ines wrote:
>>
>>
>>>Julien, I tried puting the code just where you tell me. But I had errors
>>>with the variables of my new code. The application don't recognize all the
>>>new variables, for example: $xml_file (the first new variable) and the
>>>others.
>>>
>>>So,
>>>
>>>1) I declared all the new variables in: class UUW extends NavTool:
>>>
>>>var $xml_file;
>>>var $xml_data;
>>>var $namespace;
>>>var $xml;
>>>............etc.
>>>
>>>2) I access at the new variables in this way:
>>>
>>>Example: variable: $xml_file
>>>I access in this way: $this->xml_file
>>>
>>>Now, the application don't show me errors with the new variables. Is 1)
>>
>>and
>>
>>
>>>2) right?
>>>
>>>But the application show me one error in the required file
>>>(require_once('XML.inc.php'), class to use the new code:
>>>
>>>It could be a problem between the objects?
>>>
>>>
>>>I send you:
>>>
>>>A) The error
>>>B) The new code into the widget with all the "$this->variablexx" access
>>>C) The file 'XML.inc.php' with the line 66 marked
>>>
>>>A)
>>>
>>>This is the error, all the errors at the line 66. It marks all the xml
>>
>>tags
>>
>>
>>>(header, version, etc)
>>>
>>>Notice: Undefined property: header in
>>>D:\ms4w\apps\wmsviewer\geointegrator\htdocs\XML.inc.php on line 66
>>>Notice: Undefined property: header in
>>>D:\ms4w\apps\wmsviewer\geointegrator\htdocs\XML.inc.php on line 66
>>>Notice: Undefined property: version in
>>>D:\ms4w\apps\wmsviewer\geointegrator\htdocs\XML.inc.php on line 66
>>>Notice: Undefined property: version in
>>>D:\ms4w\apps\wmsviewer\geointegrator\htdocs\XML.inc.php on line 66
>>>Notice: Undefined property: sendTime in
>>>D:\ms4w\apps\wmsviewer\geointegrator\htdocs\XML.inc.php on line 66
>>>Notice: Undefined property: sendTime in
>>>D:\ms4w\apps\wmsviewer\geointegrator\htdocs\XML.inc.php on line 66
>>>Notice: Undefined property: source in
>>>D:\ms4w\apps\wmsviewer\geointegrator\htdocs\XML.inc.php on line 66
>>>Notice: Undefined property: source in
>>>D:\ms4w\apps\wmsviewer\geointegrator\htdocs\XML.inc.php on line 66
>>>Notice: Undefined property: destination in
>>>D:\ms4w\apps\wmsviewer\geointegrator\htdocs\XML.inc.php on line 66
>>>Notice: Undefined property: destination in
>>>D:\ms4w\apps\wmsviewer\geointegrator\htdocs\XML.inc.php on line 66
>>>Notice: Undefined property: type in
>>>D:\ms4w\apps\wmsviewer\geointegrator\htdocs\XML.inc.php on line 66
>>>Notice: Undefined property: type in
>>>D:\ms4w\apps\wmsviewer\geointegrator\htdocs\XML.inc.php on line 66
>>>Notice: Undefined property: content in
>>>D:\ms4w\apps\wmsviewer\geointegrator\htdocs\XML.inc.php on line 66
>>>Notice: Undefined property: content in
>>>D:\ms4w\apps\wmsviewer\geointegrator\htdocs\XML.inc.php on line 66
>>>................etc
>>>--------------------------------------------------------------------------
>>
>>--
>>
>>
>>>------------------
>>>
>>>B)
>>>
>>>if ( $this->isVarSet( "NAV_CMD" ) &&
>>> $this->getVar( "NAV_CMD" ) == 'UUW' )
>>>{
>>>
>>> if ( $this->mszCoords == 'aa')
>>> {
>>>
>>> $this->xml_file="archivo4.xml";
>>> $this->xml_data=implode("",file($this->xml_file));
>>>
>>> $this->namespace = substr($this->xml_data, strpos($this->xml_data,
>>>"<content xmlns:")+15, strpos($this->xml_data, "=",
>>
>>strpos($this->xml_data,
>>
>>
>>>"<content xmlns:")) - strpos($this->xml_data, "<content xmlns:") -15);
>>>
>>>
>>> $this->xml_data=str_replace($this->namespace.":", "", $this->xml_data);
>>>
>>> $this->xml=new XML();
>>>
>>> $this->xml->parse($this->xml_data);
>>>
>>> $this->tot = count($this->xml->response);
>>>
>>>
>>> if($this->tot > 0)
>>> {
>>> $this->tot_a = count($this->xml->response->content);
>>>
>>> if($this->tot_a > 0)
>>> {
>>> $this->tot_b = count($this->xml->response->content->record);
>>>
>>> if($this->tot_b > 0)
>>> {
>>>
>>> for($this->j = 0; $this->j < $this->tot_b; $this->j++)
>>> {
>>> $this->sc_name =
>>>$this->xml->response->content->record[$this->j]->ScientificName->_value;
>>>
>>> if($this->sc_name == "Inga oerstediana")
>>> {
>>> $this->sc_name2=
>>>$this->xml->response->content->record[$this->j]->ScientificName->_value;
>>> $this->latitud=
>>>$this->xml->response->content->record[$this->j]->Latitude->_value;
>>> $this->longitud=
>>>$this->xml->response->content->record[$this->j]->Longitude->_value;
>>>
>>> exit;
>>> }
>>> }
>>> }
>>> else
>>> {
>>> return false;
>>>
>>> }
>>>
>>> }
>>> else
>>> {
>>> return false;
>>>
>>> }
>>> }
>>> else
>>> {
>>> return false;
>>> }
>>>
>>>
>>> $this->x = $this->longitud;
>>> $this->y = $this->latitud;
>>>
>>> //$this->lb = $this->getVar('especie');
>>>
>>> if ($this->isVarSet('espe') == 0)
>>> {
>>> $this->lb = "no";
>>> }
>>> else
>>> {
>>> $this->lb = $this->getVar('espe');
>>> }
>>>
>>> $poLayer = $this->moMapObject->oMap->getLayerByName('pointlatlon');
>>> $poLayer->set("status", MS_ON);
>>> $pt = ms_newPointObj();
>>> $ln = ms_newLineObj();
>>> $shp = ms_newShapeObj(MS_SHAPE_POINT);
>>> $shp->set("text", $this->lb);
>>> $pt->setXY($this->x,$this->y);
>>> $ln->add($pt);
>>> $shp->add($ln);
>>> $poLayer->addFeature($shp);
>>>
>>>
>>> }
>>>
>>>
>>>}
>>>
>>>--------------------------------------------------------------------------
>>
>>--
>>
>>
>>>---------------------
>>>
>>>C)
>>>
>>>
>>><?php
>>>/*
>>>* XML.inc.php
>>>*
>>>* Class to convert an XML file into an object
>>>*
>>>* Copyright (C) 2006 Oliver Strecke <oliver.strecke at browsertec.de>
>>>*
>>>* This library is free software; you can redistribute it and/or
>>>* modify it under the terms of the GNU Lesser General Public
>>>* License as published by the Free Software Foundation; either
>>>* version 2 of the License, or (at your option) any later version.
>>>*
>>>* This library is distributed in the hope that it will be useful,
>>>* but WITHOUT ANY WARRANTY; without even the implied warranty of
>>>* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
>>>* Lesser General Public License for more details.
>>>*
>>>* You should have received a copy of the GNU Lesser General Public
>>>* License along with this library; if not, write to the Free Software
>>>* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
>>
>>USA
>>
>>
>>>*/
>>>
>>>class XML{
>>> var $_parser;
>>> var $_xml_data;
>>> var $_actual_tag;
>>>
>>> //Constructor...
>>> function xml(){
>>> $this->_parser=xml_parser_create("ISO-8859-1");
>>> $this->_xml_data="";
>>> $this->_actual_tag=$this;
>>>
>>> xml_set_object($this->_parser,$this);
>>>
>>
>>xml_parser_set_option($this->_parser,XML_OPTION_CASE_FOLDING,false);
>>
>>
>>> xml_set_element_handler($this->_parser,"tag_open","tag_close");
>>> xml_set_character_data_handler($this->_parser,"tag_data");
>>> xml_set_default_handler($this->_parser,"tag_data");
>>> }
>>>
>>> //get XML data from file...
>>> function file_read($xml_file){
>>> if(file_exists($xml_file)){
>>> $this->_xml_data=implode("",file($xml_file));
>>> }
>>> return 1;
>>> }
>>>
>>> //parse XML data...
>>> function parse($xml_data=0){
>>> if($xml_data)$this->_xml_data=$xml_data;
>>> xml_parse($this->_parser,$this->_xml_data);
>>> xml_parser_free($this->_parser);
>>> return 1;
>>> }
>>>
>>> function tag_open($parser,$name,$attrs){
>>> //create new tag...
>>> $tag=new XML_TAG(&$this->_actual_tag);
>>> $tag->_name=$name;
>>> $tag->_param=$attrs;
>>>
>>> //add tag object to parent/actual tag object...
>>> if(is_a($this->_actual_tag,"XML_TAG")){
>>>
>>>///////////////-----------LINE
>>>66: --------------///////////////////////////////////////
>>>
>>> if(is_object($this->_actual_tag->$name) ||
>>>is_array($this->_actual_tag->$name)){
>>>
>>>
>>
>>
> ////////////////////////////////////////////////////////////////////////////
>
>>>////////////////
>>>
>>> //same child objects -> Array...
>>> $last_index=$this->_actual_tag->new_child_array($tag,$name);
>>> $this->_actual_tag=&$this->_actual_tag->{$name}[$last_index];
>>> }else{
>>> //add new child object to actual tag...
>>> $this->_actual_tag->new_child($tag,$name);
>>> $this->_actual_tag=&$this->_actual_tag->$name;
>>> }
>>> }else{
>>> //copy first tag object in this object...
>>> $this->$name=$tag;
>>> $this->_actual_tag=&$this->{$name};
>>> }
>>> return 1;
>>> }
>>>
>>> function tag_data($parser,$string){
>>> if(strlen(trim($string))>0)$this->_actual_tag->_value=$string;
>>> return 1;
>>> }
>>>
>>> function tag_close($parser,$name){
>>> $this->_actual_tag=&$this->_actual_tag->_parent;
>>> return 1;
>>> }
>>>
>>> //Debug...
>>> function debug($exit=0){
>>> echo "<pre>";
>>> print_r($this);
>>> echo "</pre>";
>>> if($exit)exit;
>>> }
>>>}
>>>
>>>class XML_TAG{
>>> var $_parent;
>>> var $_name;
>>> var $_value;
>>> var $_param;
>>>
>>> //Constructor...
>>> function xml_tag($parent){
>>> $this->_parent=&$parent;
>>> $this->_name="";
>>> $this->_value=false;
>>> $this->_param=Array();
>>> return 1;
>>> }
>>>
>>> //simply add ne child to this object...
>>> function new_child($child,$child_name){
>>> $this->$child_name=&$child;
>>> }
>>>
>>> //add child array for more same childs to this object...
>>> function new_child_array($child,$child_name){
>>> //create array and set old child object to the first array element...
>>> if(is_object($this->$child_name)){
>>> $tmp_obj=$this->$child_name;
>>> $this->$child_name=Array();
>>> $this->new_child_array($tmp_obj,$child_name);
>>> }
>>> //push child reference into child array...
>>> $this->{$child_name}[]=&$child;
>>> $last_index=count($this->$child_name)-1;
>>> return $last_index;
>>> }
>>>
>>> //Debug...
>>> function debug(){
>>> echo "<pre>";
>>> print_r($this);
>>> echo "</pre>";
>>> }
>>>}
>>>?>
>>>
>>>Thank you very much again,
>>>Ines
>>>
>>>-------------------------------------
>>>
>>>Hi,
>>>
>>>Sorry for the late response. Put your PHP where your $this->x=... is.
>>>This will give you a widget file like the following. Note that I will
>>>skip some part of the code to make the message shorter.
>>>
>>>function ParseURL()
>>> {
>>> // execute parent function
>>> parent::ParseURL();
>>>
>>> // work some magic
>>>if ( $this->isVarSet( "NAV_CMD" ) &&
>>> $this->getVar( "NAV_CMD" ) == 'UUW' )
>>>{
>>> if ( $this->mszCoords == 'aa')
>>> {
>>>
>>>/////////////////////////////
>>>// Put your code here
>>>/////////////////////////////
>>>$xml_file="./archivo4.xml";
>>>$xml_data=implode("",file($xml_file));
>>>
>>>//[...snip...]
>>>
>>> for($j = 0; $j < $tot_b; $j++)
>>> {
>>> $sc_name =
>>
>>$xml->response->content->record[$j]->ScientificName->_value;
>>
>>
>>> if($sc_name == "Inga oerstediana")
>>> {
>>>
>>>/////////////////////////////////////////////////////
>>>/// Here//////////////
>>>////////////////////////////////////////////////
>>> $sc_name2=
>>
>>$xml->response->content->record[$j]->ScientificName->_value;
>>
>>
>>> $this->y= $xml->response->content->record[$j]->Latitude->_value;
>>> $this->x= $xml->response->content->record[$j]->Longitude->_value;
>>> }
>>> }
>>> }
>>> else
>>> {
>>>//////////////////// Note that! /////////
>>>return false;
>>> }
>>>
>>>
>>> }
>>> else
>>> {
>>>//////////////////// Note that! /////////
>>>return false;
>>> }
>>>}
>>>else
>>>{
>>>//////////////////// Note that! /////////
>>>return false;
>>>}
>>>
>>> //$this->lb = $this->getVar('especie');
>>>
>>> if ($this->isVarSet('espe') == 0)
>>> {
>>> $this->lb = "no";
>>> }
>>> else
>>> {
>>> $this->lb = $this->getVar('espe');
>>> }
>>>
>>> $poLayer = $this->moMapObject->oMap->getLayerByName('pointlatlon');
>>>//[...snip...]
>>>
>>>
>>>
>>>Ines wrote:
>>>
>>>
>>>
>>>>Hi, I'm customizing my widget and have to include a php code in it to
>
> take
>
>>>>the value of differents variables. I need to know in which place of the
>>>>widget have I to write the code.
>>>>
>>>>This is my objective:
>>>>
>>>>1) I have my custom widget yet. The objective of the widget is take a
>>>>longitude and latitude (x, y) an draw a point in the map in that coords.
>
> I
>
>>>>have this code and it works very well and I can see the point in the map.
>>>
>>>I
>>>
>>>
>>>
>>>>solved it in the ParseURL() function but using x,y coords (variables)
>
> with
>
>>>a
>>>
>>>
>>>
>>>>fixed value to prove. Ex: $this->x = -85; $this->y = 13;
>>>>
>>>>2) Now, I have to take that values from a XML file to make the values of
>
> x
>
>>>>and y variables (change the values of x and y) for draw the point layer
>
> in
>
>>>>another coords. I have the code in php to read my XML file and it works
>>>
>>>very
>>>
>>>
>>>
>>>>good, but not into the widget.
>>>>
>>>>3) My question is: In wich place or where do I have to put my php code
>
> (to
>
>>>>read my xml file) in the widget? to use the value of the variables that
>>>
>>>read
>>>
>>>
>>>
>>>>the xml file of my php code. I need to join the widget with my php code.
>
> I
>
>>>>see the widget have many functions. I tried to copy-paste my php code in
>>>>the ParseUrl() function but it show me errors.
>>>>
>>>>
>>>
>>>--
>>>Julien-Samuel Lacroix
>>>Mapgears
>>>http://www.mapgears.com/
>>>
>>>_______________________________________________
>>>Chameleon mailing list
>>>Chameleon at lists.maptools.org
>>>http://lists.maptools.org/mailman/listinfo/chameleon
>>
>>
>>--
>>Julien-Samuel Lacroix
>>Mapgears
>>http://www.mapgears.com/
>>
>>_______________________________________________
>>Chameleon mailing list
>>Chameleon at lists.maptools.org
>>http://lists.maptools.org/mailman/listinfo/chameleon
>
>
> --
> Julien-Samuel Lacroix
> Mapgears
> http://www.mapgears.com/
>
> _______________________________________________
> Chameleon mailing list
> Chameleon at lists.maptools.org
> http://lists.maptools.org/mailman/listinfo/chameleon
--
Julien-Samuel Lacroix
Mapgears
http://www.mapgears.com/
More information about the Chameleon
mailing list