[pmwiki-users] FmtPageList undefined
adam overton
a at plus1plus1plus.org
Tue Jul 21 04:59:12 CDT 2009
hi hans
thanks for the response
here's what i'm trying to do:
i'm in the process of putting together some simple code to send
automatic updates to Twitter (that part already works).
the plan is to set up a cron job (once-a-day) that calls something like:
http://mySite.com/Main/Page?action=postToTwitter
the function for 'action=postToTwitter' will look to see which pages
(in a certain set of groups) have a creation dates ($page["ctime"])
within the last 24 hours.
my plan was to use your powertools pagelist function to spit out a
comma-separated list of the pages that meet this specification. i was
testing to make sure it would work by using a PV executing powertools
- it looks like this:
$FmtPV['$tweettest'] = 'MxPageList($pn, "list=nocoregroups if=\"date
'.strftime('%Y%m%d%H%M', strtotime('-24 hours')).'.. {=\
$PageCreationDateYMDHS}\"")';
# {=$PageCreationDateYMDHS} simply gathers $page["ctime"]
this spits out exactly what i need...
group1.newpage1,group1.newpage2,group2.newpage1 ... but the problem
is it only spits it out to the page/screen. that was sufficient for
the test. the next step i was hoping to accomplish was to instead
redirect the output of MxPageList as a string to a function, i.e.:
$HandleActions['postToTwitter'] = 'postToTwitter';
function postToTwitter($pagename, $auth) {
$mxpagelistOutput = MxPageList($pagename, "list=nocoregroups if=
\"date ".strftime('%Y%m%d%H%M',
strtotime('-24 hours')).".. {=\$PageCreationDateYMDHS}\"");
foreach(explode(",",$mxpagelistOutput) as $pn) {
$twitterMessage = "Yay! a new page was added today! ".PageVar
($pn,'$PageUrl');
myTwitterUpdateFunc($twitterMessage);
}
}
the wall i'm hitting is that i don't seem to know how to grab hold of
the MxPageList (or FmtPageList) output. i figured it was spitting out
a string, but apparently it's not, because it spits out some odd
binary gibberish, something like "??3P??". either that or the {=\
$PageCreationDateYMDHS} PV is getting chewed up. i think it's the
former issue, though, because the problem persists even when i
simplify the pagelist args to "group=Test".
note that i've also tried the same operations by substituting what i
think is appropriate FmtPageList code above (at least it's the
FmtPageList code i saw in PowerTools, and copied&pasted it), with the
same gibberish result.
i wonder if this makes sense now what i'm trying to accomplish?
do you or patrick see a way to get the output of MxPageList or
FmtPageList? is there something i'm not understanding?
many many thanks for your help!
adam
On 21 Jul 2009, at 12:26 AM, Hans wrote:
> Tuesday, July 21, 2009, 12:26:48 AM, adam overton wrote:
>
>> # i've tried loading both pagelist.php and stdconfig.php
>> beforehand (one and then the other)
>> //include_once('scripts/pagelist.php');
>> include_once('scripts/stdconfig.php');
>
>> $argsx = "group=Test";
>> $optx = array('o' => $argsx, 'fmt' => 'csv');
>> $pagelistTest = FmtPageList('$MatchList', $pagename, $optx, 0);
>> # or using the PowerTools pagelist function:
>> //$pagelistTest = MxPageList($pagename, "group=Test");
>> echo $pagelistTest;
>
>> this all at the very very bottom of config.php beneath everything
>> as suggested.
>> and, something like the following still works fine, running at the
>> same time:
>> $FmtPV['$blamtest'] = 'MxPageList($pn, "group=Test")'; # works
>> perfect, show a csv-list of pages in the group 'Test'
>
> Adam, i am puzzled to understand what you are trying to achieve.
> To put the code above in config.php makes no sense to me.
>
> Regards powertools.php functions: they are designed to work with the
> powertools markup expressions, and those markup expressions use the
> standard PmWiki approach for creating new expressions, and of course
> the standard syntax in a page.
>
> Above you seem to be trying to create a formatted pagelist output
> using a page variable. I would think this could be problematic, and
> using a markup expression would be better.
>
> Regards the powertools markup expression (MX) {(pagelist ...)}:
> The output format is limited, and one cannot use fmt= options in the
> expression. Specifically it was not designed to use pagelist
> templates, as i did not know how to do that. Any modifications to the
> code needs to be done in the helper function FPLSimpleText.
>
> But without knowing what you try to achieve it is not possible to
> give any hints on this.
>
>
> ~Hans
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.pmichaud.com/pipermail/pmwiki-users/attachments/20090721/cf7da664/attachment-0001.html
More information about the pmwiki-users
mailing list