Thank you, it spits out:

(:if exists Profile-Data.{Members/Hosts$:201504} :) [...] (:else:) [...] (:if:)

So the PTV does not appear to have been processed yet -- the markup expression 
has, though.  And this goes for ALL the PTVs throughout the entire IF 
condition, including the ones I've redacted with [...]

However this violates documentation:

Use page text variables in conditional markup 
<http://www.pmwiki.org/wiki/PmWiki/ConditionalMarkup>
Page text variables will be assigned/evaluated before any conditional markup is 
evaluated. This effectively means that you cannot declare a PTV within an 
if...else condition; and also that a PTV will have a value even if it is set 
within a (:if false:)....(:if:) condition.

on page
http://www.pmwiki.org/wiki/PmWiki/PageTextVariables 
<http://www.pmwiki.org/wiki/PmWiki/PageTextVariables>

I upgraded to the latest version and it still doesn't work.  I turned off each 
recipe and commented out sections of code that even vaguely might affect 
conditional processing or PTV evaluation one at a time (it's a live site), and 
no change.  I did not comment out authentication, captcha or PmForm, since 
these would break the site in a very bad way and are released by PM & Petko.

Just for giggles, to take the complexity out of the if-conditional, I even 
tried:

TempVar:Profile-Data.{Members/Hosts$:{(ftime "%Y%m")}}

(:if exists {$:TempVar} :)

But of course, that failed too.  But the variable itself is set correctly.

This fails too, whether I use the full expression, or the new variable:

(:if equal "{$:TempVar}" "Profile-Data.HEdelman" :)  
revealing the if conditional before it processes:
(:if equal "Profile-Data.{Members/Hosts$:201504}" "Profile-Data.HEdelman" :)


(:if false:)
TempVar:Profile-Data.{Members/Hosts$:{(ftime "%Y%m")}}
(:if:)

Still sets the variable.

> On Apr 1, 2015, at 8:25 PM, John Rankin <[email protected] 
> <mailto:[email protected]>> wrote:
> 
> It may be possible to intercept the if code and find out what condition 
> pmwiki is evaluating, which should give information about what is happening. 
> Try this in local/config.php:
> 
> $CondTextReplacement = "MyTempRepl(\$pagename, \$m[0], \$m[1])";
> function MyTempRepl($pagename, $text, $code='') {
>   echo $text;
>   return CondText2($pagename, $text, $code);
> }
> 
> If I am reading stdmarkup.php correctly, this should echo the contents of the 
> if code at the time the conditional is evaluated, which will show whether the 
> var has been evaluated as intended.
> 
> JR
> 
> On 2/04/15 12:07 AM, Criss Ittermann wrote:
>> I'm trying to figure out why this is returning false ("To be announced."):
>> 
>> (:if exists Profile-Data.{Members/Hosts$:{(ftime "%Y%m")}} :)
>> ...
>> (:else:)
>> To be announced.
>> (:ifend:)
>> 
>> 
>> When the following returns a fully functioning link to the correct page, 
>> which exists:
>> 
>> [[Profile-Data.{Members/Hosts$:{(ftime "%Y%m")}}]]
>> 
>> 
>> What am I doing wrong?
>> 
>> Crisses
>> 
>> 
>> 
>> _______________________________________________
>> pmwiki-users mailing list
>> [email protected] <mailto:[email protected]>
>> http://www.pmichaud.com/mailman/listinfo/pmwiki-users 
>> <http://www.pmichaud.com/mailman/listinfo/pmwiki-users>
> 
> -- 
> John Rankin
> Affinity Limited
> T +64 4 495 3737
> M +64 21 726 546
> _______________________________________________
> pmwiki-users mailing list
> [email protected] <mailto:[email protected]>
> http://www.pmichaud.com/mailman/listinfo/pmwiki-users

_______________________________________________
pmwiki-users mailing list
[email protected]
http://www.pmichaud.com/mailman/listinfo/pmwiki-users

Reply via email to