[Chameleon] date filter

Dirk Jesko ml.dje at geocontent.de
Wed Nov 2 02:40:30 EST 2005


Dear Jason,

I was looking for such a solution too. Thanks.

Now I have another question: Is it also possible to change the status of 
a layer at this point? I would like to activate/deactivate a layer based 
on the value of some form field. I tried to set the value of the layer's 
status field to MS_ON, but it did not work. Is there something else 
inside Chameleon that needs to be set, if a layer should be 
activated/deactivated?

Regards,
Dirk



Jason Fournier wrote:

> Danna,
>
> If I understand correctly I think one way to approach this is to add 
> custom code in index.phtml handle the layer selection process.  In 
> your index.phtml you have something like the following:
>
> class SampleApp extends Chameleon
> {
>
>     function SampleApp()
>     {
>         parent::Chameleon();
>         $this->moMapSession = new MapSession_RW;
>         $this->moMapSession->setTempDir( getSessionSavePath());
>     }
>
>     function CWCProcessURL(&$oHTTPFormVars)
>     {
>         $bRes =  parent::CWCProcessURL($oHTTPFormVars);
>         // include any kind of execute processing here ...
>         return $bRes;
>     }
>
> }
>
> The function CWCProcessURL (which I don't think is there by default) 
> is where you can execute PHP MapScript to affect the state of the 
> current session mapfile (after $bRes is declared and before $bRes is 
> returned).  So, for instance, you can get the value of your dropdown, 
> cycle through the mapfile layers, and perform whichever action you 
> deem necessary on that layer (eg, visibility, expression, add classes, 
> etc):
>
> $value = $_REQUEST['dropdown'];
> if( $value == 1990 )
> {
>         $oMap = $oApp->moMapSession->oMap;
>         $nMapLayers = $oMap->numlayers;
>         for($i=0;$i<$nMapLayers;$i++)
>         {
>             $oLayer = $oMap->getLayer($i);
>             //etc etc
>         }
> }
>
> Replace or modify the above code with your own.  You may want to keep 
> an array of layers to turn on for a given dropdown value then write 
> some generic code to handle it - would save you time in the long run.
>
> Is this what you were going after?
>
> Best Regards,
> Jason
>
>
>
>
> Danna Dowdy wrote:
>
>> I have found where I can use set FILTER in the map file dynamically 
>> using a form or a url variable but am still not sure how to get those 
>> variables passed from chameleon??
>>
>> Danna Dowdy wrote:
>>
>>> I am working on a basic mapping application that currently displays 
>>> data from a spatial database based on variable groupings.  I have 
>>> individual views set up for each individual layer.  I would like to 
>>> add a drop down menu somewhere on the interface so that the user 
>>> could select a year and plot whatever layers are chosen for that 
>>> particular year.  The date field is in the database.  Could someone 
>>> point me in the right direction of how to do this?
>>> _______________________________________________
>>> Chameleon mailing list
>>> Chameleon at lists.maptools.org
>>> http://lists.maptools.org/mailman/listinfo/chameleon
>>>
>>
>> _______________________________________________
>> Chameleon mailing list
>> Chameleon at lists.maptools.org
>> http://lists.maptools.org/mailman/listinfo/chameleon
>>
>



More information about the Chameleon mailing list