[pmwiki-users] substr markup breaks with httpvariables

Peter Bowers pbowers at pobox.com
Fri Feb 5 13:24:39 CST 2010

On Thu, Feb 4, 2010 at 8:59 PM, edwin marte <edwin.marte at leidba.com> wrote:
> Ok, I found that the result {Dec   is coming from my tests. The Group I am
> using is named Decisiones (spanish) so the problem is that substr in not
> evaluating {Test.{$?page}$:date} . is only  seeing the  expression as Plain
> Text ( it should be {Tes for our porpuses.)
> Anyway or ideas on making substr evaluate correctly ?

This is a problem with httpvariables that has been reported before
(multiple times, I believe?) on this list with suggested fixes.


Basically the GET variables are supposed to be interpolated once
before PTVs and once after.  But because of the name of the markup
(simple typo) it only gets evaluated *after* PTVs and thus
{Test.0001$:date} cannot be interpolated.

If you want to fix it, here's what to change in httpvariables.php:

Note these 2 Markup calls are almost identical.  Specifically the
*name* of the markup (the first argument) is identical  -

This (having the same name for 2 rules) doesn't work as expected.

# {$?!|@~var} http variable substitutions before {$var}
Markup('{$?|!@~var}', '<{$var}',
  "HttpVariables(\$pagename, PSS('$1'), PSS('$2'))");

# {$?!|@~var} http variable substitutions after {$var}
Markup('{$?|!@~var}', '>{$var}',
  "HttpVariables(\$pagename, PSS('$1'), PSS('$2'))");

Change one of the names in your copy of httpvariables -- just add an
"x" to the end of one of them (doesn't matter what the change is or
which one is changed -- just make sure it doesn't step on the name of
another rule...)

I think that will solve your problem and leave you without having to
use the custom action...


More information about the pmwiki-users mailing list