[pmwiki-users] Text variables & ZAP...

The Editor editor at fast.st
Thu Oct 12 12:09:25 CDT 2006


Hi Pm (and rest)

part 1:  Getting text variables to work with current ZAP format

I couldn't seem to get Text Variables to work with ZAP's old format.
Maybe you can spot where the problem is:

version pmwiki-2.2.0-beta12

pagelist template:
fmt=#forum
[[#forum]]
||[[Forum/{=$Name}]] ||{=$:Post} ||{=$:Date} ||{=$:Author}
[[#forumend]]

Here's the code I want them showing up in.
(:pagelist group=Data-Forum list=simple fmt=#forum -RecentChanges:)

The data pages store info as:
field="value"

I have this line in my config.php file:
$PDataPattern[] = '/^(\\w+)="(.*?)"/m';

But I'm just getting the link in my pagelist and none of the text variables.

Also, can you just set the pattern in local config files for the
actual pages calling the pagelist?


part 2:  Getting ZAP to read either format

As noted above the old format saves it as field="value".  Which might
be an advantage, in that users CAN'T extract text variables if you
don't let them (by setting the PDataPattern).

(ie {Profiles.AdminName$:Password}...

Just the same, I would like to be able to use a better formatting,
such as  field: value.  I can get the data to save fine but not sure
how to do the reading both ways.  The following lines work as expected
depending on whether the first pair are commented or the second pair.

		foreach ($field as $value) {  //Data variables
//			$v[0] = substr($value, 0, strpos($value, '='));
//			$v[1] = substr($value, strpos($value, "=") + 2, -1);
			$v[0] = substr($value, 0, strpos($value, ':'));
			$v[1] = substr($value, strpos($value, ":") + 2);
			if ($v[0] != "") $FmtPV["$$v[0]"] = "'" . $v[1] . "'";
			}

The question is how do you suggest getting it to switch based on the
format of each item in the list?  I was thinking something like

       if strpos ":" > "=" || strpos ":" != false use first pair of lines
       if strpos ":" < "=" || strpos "=" != false use second pair of lines

The logic is a bit challenging, as there may or may not be a : or = in
the value. Or help with the coding of these two conditionals?

Cheers,
Caveman




More information about the pmwiki-users mailing list