+++ /dev/null
-<?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']='';
- }
- 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']='wms_style';
- }
- else
- {
- $returnedArray[$arrayLayerAndStyle[0]]['type']='sld';
- }
- }
-
- }
- }
-
-
- return $returnedArray;
- }
-
-
- function color_parser($http_col)
- {
- $col=explode('|',$color);
- $total_symbols=array();
- foreach ($col as $color)\r
- {//loop1
- //ftheeten 14/03/2011
- if(strpos($color,'http://')===false)
- {
- $color=explode(':',$color);\r
- $symbols_key=$color[0];\r
- $symbols_val=$color[1];
- }
- else
- {
- $color=explode(':',$color,2);\r
- $symbols_key=$color[0];\r
- $symbols_val=$color[1];
- }\r
-\r
-\r
- if (!ereg(",",$symbols_val))\r
- {\r
- //only fill area; others are default\r
- $total_symbols[$symbols_key][]=$symbols_val; \r
- } \r
- else \r
- {\r
- $s=explode(',',$symbols_val);\r
- foreach ($s as $k=>$v)\r
- {\r
- $total_symbols[$symbols_key][]=$v; \r
- }\r
- }\r
- \r
- }//loop1
-
- foreach ($total_symbols as $k=>$v)\r
- {//loop2\r
- \r
- //foreach ($total_symbols as $k2=>$v2)\r
- //echo $total_symbols[$k][0]."<br>";\r
- //var_dump($total_symbols[$k]);\r
- //$color="a:d7add2,AOOOOOF,2,dotted|b:ab8dc9F"; \r
-\r
- for ($i=0;$i<5;$i++)\r
- {//loop2.1\r
- //echo $total_symbols[$k][$i]."<br>";\r
- switch ($i)\r
- {\r
- case 0:\r
- //if (array_key_exists($i,$total_symbols[$k])){ \r
- if($total_symbols[$k][$i]=="")\r
- {\r
- $total_symbols[$k][$i]="c5bec0";\r
- }\r
-\r
- case 1:\r
- if($total_symbols[$k][$i]=="")\r
- {\r
- $total_symbols[$k][$i]="10090b"; \r
- }\r
- case 2:\r
- if($total_symbols[$k][$i]=="")\r
- {\r
- $total_symbols[$k][$i]="0.5"; \r
- }\r
- /* case 3:\r
- if($total_symbols[$k][$i]=="")\r
- {\r
- $total_symbols[$k][$i]=""; \r
- }*/\r
- /* case 4:\r
- if($total_symbols[$k][$i]=="")\r
- {\r
- $total_symbols[$k][$i]="no_style";\r
- }*/\r
- case 3:\r
- if($total_symbols[$k][$i]=="")\r
- {\r
- $total_symbols[$k][$i]="no_style";\r
- }\r
- case 4:\r
- if($total_symbols[$k][$i]=="")\r
- {\r
- $total_symbols[$k][$i]="no_label";\r
- }\r
- }//fi switch\r
- }//loop 2.1\r
- if (array_key_exists($k,$symbols_url))\r
- {\r
- $total_symbols[$k]['5']=$symbols_url[$k]['url'];\r
- $total_symbols[$k]['6']=$symbols_url[$k]['symbols'];\r
- $total_symbols[$k]['7']=$symbols_url[$k]['size'];\r
- $total_symbols[$k]['8']=$symbols_url[$k]['format'];\r
- }\r
- \r
- }//loop2
- }
-
-
- function($p_arrayLayerStyle, $p_arrayStyleDef)
- {
- $arrayGeneral=array();
- foreach($p_arrayStyleDef as $name=>$value)
- {
- $content=explode('|', $value);
-
- foreach ($content as $color)\r
- {//loop col
-
- $defArray=explode(',', $color);
- if(count($defArray)==1)
- {
- $arrayGeneral[$name]['preloaded_style']=true;
- if(strpos($color,'http://')===false)
- {
- $arrayGeneral[$name]['internalwms']=true;
- $arrayGeneral[$name]['sld']=false;
- $arrayGeneral[$name]['external_value']=$defArray[0];
- }
- else
- {
- $arrayGeneral[$name]['internalwms']=false;
- $arrayGeneral[$name]['sld']=true;
- $arrayGeneral[$name]['external_value']=$defArray[0];
- }
- }
- else
- {
- $arrayGeneral[$name]['preloaded_style']=false;
- if(count($defArray)>=1)
- {
- $arrayGeneral[$name]['color']=$defArray[0];
- }
- if(count($defArray)>=2)
- {
- $arrayGeneral[$name]['border']=$defArray[1];
- }
- if(count($defArray)>=3)
- {
- $arrayGeneral[$name]['opacity']=$defArray[2];
- }
- }
-
-
- \r
- }//loop col
- }
- }
-
-?>