[pLog-svn] r5861 - plog/branches/lifetype-1.2/class/data

Oscar Renalias oscar at renalias.net
Wed Aug 29 00:48:31 EDT 2007


Did you get this to work?

On 8/24/07, Jon Daley <plogworld at jon.limedaley.com> wrote:
>         Ah.  I was too narrowly focusing on getValue, rather than the
> constructor.
>         Yes, that method looks good.  I'll test it on my blog and see how
> it goes.
>
> On Fri, 24 Aug 2007, Oscar Renalias wrote:
>
> > I still don't understand :-)
> >
> > What I am suggesting is:
> >
> > class Request extends Properties
> > {
> >  function Request( $request ) {
> >    if( magic_quotes_gpc()) {
> >      foreach( $request as $key => $value ) {
> >        $request[$key] = strip_slashes($value);
> >      }
> >    }
> >    parent::__construct( $request );
> >  }
> >  ...
> > }
> >
> > So after this point, we can call getValue(), getFilteredValue(), etc,
> > and we can be sure that all data has been filtered as expected. Or am
> > I missing something?
> >
> > Oscar
> >
> > On 8/24/07, Jon Daley <plogworld at jon.limedaley.com> wrote:
> >> On Fri, 24 Aug 2007, Oscar Renalias wrote:
> >>> We can remove the $filter parameter from Properties::getValue() if
> >>> it's true that it is not being used.
> >>         The problem is that doesn't make a difference, since there is the
> >> "|| isset(filterclass) inside getValue()
> >>
> >>> We don't need to implement Properties::getUnfilteredValue() because we
> >>> already have the opposite, Properties::getFilteredValue().
> >>         getValue and getFilteredValue are basically the same thing.
> >>
> >>> But what would you need Properties::filterData() for?
> >>         Because the data should always be filtered, just after the
> >> stripslashes() call.  So, request->getValue would look like:
> >>
> >> getunfilteredata();
> >> if(magic_quotes)
> >>    stripslashes();
> >> filterData();
> >>
> >>> Why don't we just process all values in the request inside the Request
> >>> constructor, and perform the call to strip_slashes in there rather
> >>> than in the get[Filtered]Value() methods? In that case we wouldn't
> >>> need to worry about doing it later, and we could be sure that the data
> >>> has already been filtered.
> >>         That sounds fine, it is just duplicating code from inside the
> >> parent class.
> >>
> >> I think you are proposing:
> >>
> >> function getValue( $key, $defaultValue = null)
> >> {
> >>     if( !isset($this->_props[$key]) ) {
> >>          $value = $defaultValue;
> >>     } else {
> >>          $value = $this->_props[$key];
> >>     }
> >>
> >>     if( get_magic_quotes_gpc() && !is_array( $value ))
> >>         $value = stripslashes( $value );
> >>
> >>     if(isset( $this->_keyFilters[$key] ))
> >>         $value = $this->_keyFilters[$key]->filter($value);
> >>
> >>     return( $value );
> >> }
> >>
> >>
> >> I think it would be better to not duplicate the code from properties and
> >> only reference the _props and _keyFilters from inside Properties with a
> >> getUnfilteredValue() and filterData() which would do the first and third
> >> blocks of the above code.
> >>
> >> _______________________________________________
> >> pLog-svn mailing list
> >> pLog-svn at devel.lifetype.net
> >> http://limedaley.com/mailman/listinfo/plog-svn
> >>
> > _______________________________________________
> > pLog-svn mailing list
> > pLog-svn at devel.lifetype.net
> > http://limedaley.com/mailman/listinfo/plog-svn
> >
>
> --
> Jon Daley
> http://jon.limedaley.com/
>
> Normal people believe that if it ain't broke,
>     don't fix it.
> Engineers believe that if it ain't broke,
>     it doesn't have enough features yet.
> _______________________________________________
> pLog-svn mailing list
> pLog-svn at devel.lifetype.net
> http://limedaley.com/mailman/listinfo/plog-svn
>


More information about the pLog-svn mailing list