<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><o:SmartTagType
 namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="State"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="place"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=blue>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>When a page is deleted it&#8217;s, well, um,
deleted.&nbsp; It&#8217;s not meant to be viewed within pmwiki anymore.&nbsp; It&#8217;s
kept around in that *,del-timestamp form so that an *<b><span style='font-weight:
bold'>administrator</span></b>* can go behind the scenes (either ftp or command
line) and rename it to undelete it.&nbsp; So I don&#8217;t believe the
capabilities you are looking for exist &#8211; deleted files are meant to be
inaccessible by design.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>You may find a single place in the source
(or a few) where it can be changed to allow them to be viewed, but more likely you&#8217;ll
have to write a recipe (or find one) that allows you to view and undelete
deleted pages.&nbsp; (Note that changing core source is frowned on because of
the difficulty it presents when you upgrade.)&nbsp; If you really need true browse/view/edit
privilege on deleted pages then you could theoretically write a different
pagestore class but you&#8217;ve got some relatively insurmountable obstacles
in doing that (if the same page was created and deleted and created and deleted
then you have 2 of the same page out there in the deleted form, each with a
different timestamp &#8211; which one would you choose?)&#8230;&nbsp; It also
seems somewhat strange to give that kind of capability to &#8220;deleted&#8221;
pages -- but you know your functional specs&#8230;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Reading a page &#8220;from scratch&#8221;
is not that difficult (see the read() function within the pagestore
class).&nbsp; You could set up some kind of markup or ?action=readdeleted or
something like that which would read a given file on disk and display the
contents on a page.&nbsp; I can foresee your cookbook (that already returns a
list of filenames) returning them in a form something like this:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>* [[Page.X?action=readdeleted?pn=Mygroup.Myfile1,del-01234|Mygroup.Myfile1]]<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>* [[Page.X?action=readdeleted?pn=Mygroup.Myfile2,del-03412|Mygroup.Myfile2]]<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>* [[Page.X?action=readdeleted?pn=Mygroup.Myfile3,del-01456|Mygroup.Myfile3]]<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Page.X is pretty unimportant &#8211;
whatever is there will probably just be ignored as long as the action is
readdeleted.&nbsp; Or, if you don&#8217;t like setting up a new ?action= then
you could have some special markup on Page.X which would look at the $_GET[&#8216;pn&#8217;]
and replace with the contents of the deleted page.&nbsp; (Note that you have a
bit of processing on the contents of the page after you fread() or fgets() it,
notably finding the line that starts with text= and then doing a search/replace
of %0a with carriage returns -- it&#8217;s actually a bit more complicated than
that, but that&#8217;s the basics &#8211; see PageStore.read() for how it&#8217;s
meant to be done).<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Looking at it from another perspective you
could override the delete capabilities (by extending the pagestore class with
an override delete() function) so that instead of deleting the page (which
actually renames it to group.page,del-timestamp) you would rename it and put it
some group (like &#8220;Deleted&#8221;).&nbsp; Thus when you &#8220;deleted&#8221;
the page Hello.World it would be moved to Deleted.Hello-World or something like
that.&nbsp; Then you don&#8217;t have to do anything else except to exclude
pages from the Deleted group in typical pagelists and handle everything else in
absolutely standard, vanilla pmwiki.&nbsp; This is a much more elegant
solution, but unfortunately it leaves any already deleted files inaccessible &#8211;
it only helps for pages that are deleted after the change is made&#8230;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Long answer to a short question &#8211; I hope
that helps get you started in the right direction&#8230;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>-Peter<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'>
pmwiki-users-bounces@pmichaud.com [mailto:pmwiki-users-bounces@pmichaud.com] <b><span
style='font-weight:bold'>On Behalf Of </span></b>Thierry Vanderschueren<br>
<b><span style='font-weight:bold'>Sent:</span></b> Monday, December 01, 2008
8:59 AM<br>
<b><span style='font-weight:bold'>To:</span></b> pmwiki-users@pmichaud.com<br>
<b><span style='font-weight:bold'>Subject:</span></b> Re: [pmwiki-users]
deleted pages in pagelists</span></font><o:p></o:p></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='margin-bottom:12.0pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>Hi, <br>
this doesn't work.<br>
Isn't there somewhere in the source code a pattern that excludes all files
named &quot;.*?,<st1:State w:st="on"><st1:place w:st="on">del-</st1:place></st1:State>.*&quot;
from the pagelists ?<br>
<br>
Thierry<o:p></o:p></span></font></p>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>2008/11/29 noskule &lt;<a href="mailto:noskule@gmx.net">noskule@gmx.net</a>&gt;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Am Freitag 28 November 2008 14:30:57 schrieb Thierry Vanderschueren:<br>
<br>
hi Thierry<br>
delete the file wiki.d/.pageindex. As far as I remember this should usually do<br>
the trick.<br>
grz nos<o:p></o:p></span></font></p>

<div>

<div>

<p class=MsoNormal style='margin-bottom:12.0pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'><br>
<br>
&gt; Hi,<br>
&gt;<br>
&gt; I would like to display in a page the list of deleted pages in a group.<br>
&gt; As the deleted pages are skipped from the search and page list results, I<br>
&gt; tried the following without success :<br>
&gt;<br>
&gt; in the MyGroup.DeletedPages.php file : $SearchPatterns['deleted'][] =<br>
&gt; '/MyGroup\..*?,<st1:State w:st="on"><st1:place w:st="on">del</st1:place></st1:State>.*?/';<br>
&gt; in the MyGroup.DeletedPages wiki page : (:pagelist list=deleted:)<br>
&gt;<br>
&gt; This doesn't work.<br>
&gt;<br>
&gt; Then, I tried writing a small cookbook that opens the wiki.d directory and<br>
&gt; scans it for all MyGroup\..*?,<st1:State w:st="on"><st1:place w:st="on">del</st1:place></st1:State>.*?
files and shows them as wikilinks in<br>
&gt; the page. This works but of course the wikilinks do not work, they appear<br>
&gt; with the question mark after them.<br>
&gt;<br>
&gt; Is there an easy workaround ?<br>
&gt;<br>
&gt; Thanks for your cooperation<br>
&gt;<br>
&gt; Thierry<br>
<br>
<o:p></o:p></span></font></p>

</div>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>_______________________________________________<br>
pmwiki-users mailing list<br>
<a href="mailto:pmwiki-users@pmichaud.com">pmwiki-users@pmichaud.com</a><br>
<a href="http://www.pmichaud.com/mailman/listinfo/pmwiki-users" target="_blank">http://www.pmichaud.com/mailman/listinfo/pmwiki-users</a><o:p></o:p></span></font></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

</div>

</div>

</body>

</html>