[Pmwiki-users] Developer Question
Nils Knappmeier
nk
Mon Mar 22 01:12:05 CST 2004
Steven Leite wrote:
>Patrick, that helped TREMENDOUSLY!
>
>It will be a shame for this information to go to waste. I know there's a
>Developer section already on PmWiki, but this information doesn't seem to
>fit there. Maybe we can add it to a DeveloperFAQ or something. It's
>
>
Well, it's not exactly a _Frequently_ Asked Question. But I guess some
kind of
HowtoDevelopYourOwnCookbookModule would be nice. Or a Hints-Page.
I don't know how to best call it.
Nils
>Thanks again. Also thanks to to Greg who also repsponded!
>
>Steven Leite
>
>----- Original Message -----
>From: "Patrick R. Michaud" <pmichaud at pobox.com>
>To: "Steven Leite" <steven_leite at kitimat.net>
>Cc: <pmwiki-users at pmichaud.com>
>Sent: Sunday, March 21, 2004 10:34 PM
>Subject: Re: [Pmwiki-users] Developer Question
>
>
>
>
>>On Mon, Mar 22, 2004 at 11:31:51AM -0800, Steven Leite wrote:
>>
>>
>>> I'm writing an add-on, and I want to pull information from a
>>>
>>>
>data
>
>
>>> file. If I just include the following line of text in my .php file:
>>> $filename = "datafile.txt";
>>> $file_contents = file($filename);
>>> That solves my problem, but I want to do more. I want the data
>>>
>>>
>files
>
>
>>> to be a WikiPage.
>>>
>>> Q: How can I extract the contents of a WikiPage and send it to
>>>
>>>
>my
>
>
>>> script?
>>>
>>>
>>If you just want the markup text of the WikiPage and you're running
>>from pmwiki.php, then the easy way is:
>>
>> $page = ReadPage('Group.WikiPage');
>> $text = $page['text'];
>>
>>Otherwise, there are other options for reading the file:
>>
>>1. You could duplicate the ReadPage script into your own PHP script.
>>2. You can use PmWiki's ?action=source action to retrieve the markup text
>>3. You can use the following Unix shell command:
>> grep '^text=' wiki.d/Group.WikiPage | tr "\262" "\012"
>>4. You can do the equivalent of the Unix shell command in PHP:
>> $text_array = preg_grep('/^text=/',file('wiki.d/Group.WikiPage'));
>> $text = str_replace("\262","\n",$text_array[0]);
>>
>>If you're wanting the rendered output of the page (i.e., after it's been
>>converted to HTML):
>>
>>1. If you need the HTML from some script called by pmwiki.php, then
>> maybe I can fix PrintText() to return a string.
>>2. Alternately, you can make your own calls to PrintText() or
>>
>>
>PrintWikiPage()
>
>
>> and surround the calls with ob_start/ob_get_contents.
>>3. From outside of PHP, you can create a minimal skin template and then
>>
>>
>call
>
>
>> pmwiki.php to render the page using the minimal skin. I.e., create
>> a minskin.tmpl file that contains nothing but <!--PrintText-->, then
>> call PmWiki with that skin
>> (http://localhost/pmwiki.php/Main/HomePage?skin=minskin).
>>
>>Hope this helps?
>>
>>Pm
>>
>>
>>
>>
>>
>>
>
>
>
>
More information about the pmwiki-users
mailing list