Revert "converting CRLF to LF"
[geo.git] / edit_wp5_web_folder / v1.1 / function_lib_rest_dev.php
diff --git a/edit_wp5_web_folder/v1.1/function_lib_rest_dev.php b/edit_wp5_web_folder/v1.1/function_lib_rest_dev.php
new file mode 100644 (file)
index 0000000..35cc235
--- /dev/null
@@ -0,0 +1,193 @@
+<?php
+       function associate_layer_to_style($p_layer_string, $p_delimiter1, $p_delimiter2, $isURL=false)
+       {
+               $returnedArray=Array();
+               $listLayers=explode($p_delimiter1, $p_layer_string);
+
+               foreach ($listLayers as $layerItem)
+               {
+                               
+                               $pos=strpos( $layerItem, $p_delimiter2);
+                                                               
+                               if($pos===false)
+                               {
+                                                                               
+                                       $returnedArray[$layerItem]['value']='';
+                                       $returnedArray[$layerItem]['type']='wms_style';
+                               }
+                               else
+                               {
+                                       
+                                       $arrayLayerAndStyle=Array();
+                                       if($isURL===true && ($p_delimiter2=='/'||$p_delimiter2==':'))
+                                       {
+                                               $arrayLayerAndStyle=explode($p_delimiter2,$layerItem,2);
+                                       }
+                                       else
+                                       {
+                                               $arrayLayerAndStyle=explode($p_delimiter2,$layerItem);
+                                       }                                       
+                                       if(count($arrayLayerAndStyle)>=2)
+                                       {
+                                               $returnedArray[$arrayLayerAndStyle[0]]['value']=$arrayLayerAndStyle[1];
+                                               if(strpos($arrayLayerAndStyle[1],'http://')===false)
+                                               {
+                                                       $returnedArray[$arrayLayerAndStyle[0]]['type']='user_sld';
+                                               }
+                                               else
+                                               {
+                                                       $returnedArray[$arrayLayerAndStyle[0]]['type']='sld';
+                                               }
+                                       }
+                                       else
+                                       {
+$returnedArray[$layerItem]['value']='';                                                $returnedArray[$arrayLayerAndStyle[0]]['type']='default';
+                                       }
+                                               
+                               }       
+               }
+               
+               
+               return $returnedArray;
+       }
+
+       function generate_xml_simple_style_no_zone($displayedLayer, $keyStyle, $label, $arrayInternalSymbols, $arrayURLSymbols)
+{      
+       
+       $xml="<gml>";
+
+       
+
+       $xml.="<feature>".$displayedLayer."</feature>";
+
+       
+
+       //foreach ($v as $keyStyle=>$value)
+
+       //{// loop style=>value
+
+               //print($keyStyle);
+
+               //print_r($value);
+
+               $xml.="<style><name>".$keyStyle."</name>";
+
+               $xml.="<label>".$label."</label>";
+
+       
+
+               if (array_key_exists($keyStyle,$arrayURLSymbols))
+
+               {//if key exists
+
+                       //var_dump($arrayURLSymbols[$keyStyle]);
+
+                       $xml.="<hatching>http://".$arrayURLSymbols[$keyStyle]['url']."/".$arrayURLSymbols[$keyStyle]['symbols'].".".$arrayURLSymbols[$keyStyle]['format']."</hatching>";
+
+                       $format='image/png';
+                       switch ($arrayURLSymbols[$keyStyle]['format'])
+                       {
+                               
+                               case ('gif'): 
+                                       $format='image/gif';
+                               break;
+
+                               case ('png'): 
+                                       $format='image/png';
+                               break;
+
+                               case ('jpeg'): 
+                                       $format='image/jpeg';
+                               break;
+
+                       }
+
+                       $xml.="<symbol_size>".$arrayURLSymbols[$keyStyle]['size']."</symbol_size>";
+
+                       $xml.="<symbol_format>".$format."</symbol_format>";
+
+                       //$xml.="<hatch_symbol>".."</hatch_symbol>";
+
+                       $xml.="<color>hatching</color>";
+
+               }//if key exists
+
+               else 
+
+               {//if key not exists 
+
+                       $xml.="<hatching>NO</hatching>";
+
+                       $xml.="<color>".$arrayInternalSymbols[$keyStyle][0]."</color>";
+
+               }//if key not exists
+
+               $xml.="<stroke_color>".$arrayInternalSymbols[$keyStyle][1]."</stroke_color>";
+
+               $xml.="<stroke_width>".$arrayInternalSymbols[$keyStyle][2]."</stroke_width>";
+
+               switch ($arrayInternalSymbols[$keyStyle][3])
+
+               {//loop total symbols
+
+                       case ('1_2'): 
+                               $arrayInternalSymbols[$keyStyle][3]="1 2 1 2";
+                       break;
+
+                       case ('1_4'): 
+                               $arrayInternalSymbols[$keyStyle][3]="1 4 1 4";
+                       break;
+
+                       case ('2_2'): 
+                               $arrayInternalSymbols[$keyStyle][3]="2 2 2 2";
+                       break;
+
+                       case ('2_4'): 
+                               $arrayInternalSymbols[$keyStyle][3]="2 4 2 4";
+                       break;
+
+                       case ('5_7'): 
+                               $arrayInternalSymbols[$keyStyle][3]="5 7 5 7";
+                       break;
+
+                       case ('10_5'): 
+                               $arrayInternalSymbols[$keyStyle][3]="10 5 10 5";
+                       break;
+
+               }//loop total symbols
+
+               $xml.="<stroke_style>".$arrayInternalSymbols[$keyStyle][3]."</stroke_style>";
+
+
+
+       //}//loop styles=>values
+       $xml.="</style>";
+       $xml.="</gml>";
+
+       
+       return $xml;
+}
+
+function xml_to_sld_xslt($p_xml, $displayedLayer, $p_xslt,$path_towrite, $hatching="", $field="", $label_field="")
+{      
+       $dom_new = new DOMDocument();
+       $p=simplexml_load_string($p_xml);
+       
+       $hatching=$p->style->hatching;
+       $xsl = new XSLTProcessor;
+       $xsl->setParameter( '', 'symbol', $hatching);
+       $xsl->setParameter( '', 'layer', $displayedLayer);
+       $xsl->setParameter( '', 'field', $field);
+       $xsl->setParameter( '', 'label_field', $label_field);
+       $style = realpath($p_xslt);
+       
+       $dom_new->load($style);
+       $xsl->importStyleSheet($dom_new);
+       $dom_new->loadXML($p_xml);
+       $out = $xsl->transformToXML($dom_new);
+       $fp=fopen("$path_towrite","w");
+       $write=fwrite($fp,$out);
+
+}
+
+?>