[CMF-checkins] CVS: Products/CMFWiki/skins/zpt_wiki - wiki_allpages.pt:1.1 wiki_listpages.py:1.1 wiki_recentchanges.pt:1.1 wiki_skeleton.pt:1.1 wiki_toc.pt:1.1 wikipage_advanced_form.pt:1.1 wikipage_backlinks.pt:1.1 wikipage_comment_form.pt:1.1 wikipage_edit_form.pt:1.1 wikipage_header.pt:1.1 wikipage_history.pt:1.1 wikipage_owners_description.py:1.1 wikipage_regop_description.py:1.1 wikipage_toc.pt:1.1 wikipage_view.pt:1.1

Tres Seaver tseaver@zope.com
Tue, 7 Aug 2001 17:06:32 -0400


Update of /cvs-repository/Products/CMFWiki/skins/zpt_wiki
In directory cvs.zope.org:/tmp/cvs-serv7840/skins/zpt_wiki

Added Files:
	wiki_allpages.pt wiki_listpages.py wiki_recentchanges.pt 
	wiki_skeleton.pt wiki_toc.pt wikipage_advanced_form.pt 
	wikipage_backlinks.pt wikipage_comment_form.pt 
	wikipage_edit_form.pt wikipage_header.pt wikipage_history.pt 
	wikipage_owners_description.py wikipage_regop_description.py 
	wikipage_toc.pt wikipage_view.pt 
Log Message:


 - Rationalize DTML-based skin using "standard" naming scheme;  clean
   out the 'standard_wiki_{header,footer}' cruft, etc.

 - Add ZPT-based skin.


=== Added File Products/CMFWiki/skins/zpt_wiki/wiki_allpages.pt ===
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
       xmlns:metal="http://xml.zope.org/namespaces/metal"
       metal:use-macro="here/main_template/macros/master">
<body>
<div metal:fill-slot="main">

<div class="Desktop"
     tal:define="pages python: here.wiki_listpages( sort_order='id' )"
>

<p> All pages in this CMFWikiWeb.  See also 
    <a href="wiki_recentchanges">Recent Changes</a>.
</p>

<table border="0">

 <tr>
  <th align="left">Page</th>
  <th align="left">Size</th>
  <th align="left">Last modified</th>
 </tr>

 <tr tal:repeat="page pages">

  <td>
   <a href="PageID"
      tal:attributes="href page/getId"
      tal:content="page/getId"
   >PageID</a>
  </td>
  <td align="right" tal:content="page/getSize">
    1234
  </td>
  <td tal:content="page/bobobase_modification_time">
    2001/01/01 08:00:00 CST
  </td>
 </tr>
</table>

<p> (<span tal:content="python: len( pages )">123</span> pages) </p>


</div>

</div>
</body>
</html>


=== Added File Products/CMFWiki/skins/zpt_wiki/wiki_listpages.py ===
## Script (Python) "wiki_listpages"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=sort_order=None
##title=
##
pages = context.objectValues( ['CMF Wiki Page'] )
if sort_order == 'modified':
    pages.sort( lambda x, y:
                    cmp( y.bobobase_modification_time()
                       , x.bobobase_modification_time()
                       ) )
else:
    pages.sort( lambda x, y:
                    cmp( x.getId(), y.getId() ) )

return pages

=== Added File Products/CMFWiki/skins/zpt_wiki/wiki_recentchanges.pt ===
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
       xmlns:metal="http://xml.zope.org/namespaces/metal"
       metal:use-macro="here/main_template/macros/master">
<body>
<div metal:fill-slot="main">

<div class="Desktop"
     tal:define="pages python: here.wiki_listpages( sort_order='modified' )"
>

<p> Most recently changed pages in this CMFWikiWeb.  See also 
    <a href="wiki_allpages">All Pages</a>.
</p>

<table border="0">

 <tr>
  <th align="left">Page</th>
  <th align="left">Size</th>
  <th align="left">Last modified</th>
 </tr>

 <tr tal:repeat="page pages">

  <td>
   <a href="PageID"
      tal:attributes="href page/getId"
      tal:content="page/getId"
   >PageID</a>
  </td>
  <td align="right" tal:content="page/getSize">
    1234
  </td>
  <td tal:content="page/bobobase_modification_time">
    2001/01/01 08:00:00 CST
  </td>
 </tr>
</table>

<p> (<span tal:content="python: len( pages )">123</span> pages) </p>


</div>

</div>
</body>
</html>


=== Added File Products/CMFWiki/skins/zpt_wiki/wiki_skeleton.pt ===
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
       xmlns:metal="http://xml.zope.org/namespaces/metal"
       metal:use-macro="here/main_template/macros/master">
<body>
<div metal:fill-slot="main">

<div class="Desktop">

<div tal:replace="structure here/wikipage_header"> </div>


</div>

</div>
</body>
</html>


=== Added File Products/CMFWiki/skins/zpt_wiki/wiki_toc.pt ===
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
       xmlns:metal="http://xml.zope.org/namespaces/metal"
       metal:use-macro="here/main_template/macros/master">
<body>
<div metal:fill-slot="main">

<div class="Desktop"
     tal:define="callresults here/FrontPage/wiki_map;
                 nesting     python: callresults[0];
                 singletons  python: callresults[1];
                "
>

<h3> <em tal:content="here/getId">PageID</em> Contents</h3>

<!-- this should really not depend on nesting coming back as HTML,
  -- but I don't have time to fix it right now - chrism
  -->
<p tal:content="structure nesting"> Nesting goes here. </p>

<h3> <em tal:content="here/getId">PageID</em> Singletons</h3>

<p> (no parents and no offspring): </p>

<ul>
 <li tal:repeat="single singletons">
  <a href="single"
     name="single"
     tal:attributes="href single; name single"
     tal:content="single" >single</a>
 </li>
</ul>

</div>

</div>
</body>
</html>


=== Added File Products/CMFWiki/skins/zpt_wiki/wikipage_advanced_form.pt ===
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
       xmlns:metal="http://xml.zope.org/namespaces/metal"
       metal:use-macro="here/main_template/macros/master">
<body>
<div metal:fill-slot="main">

<div class="Desktop"
     tal:define="global pgowners
                   python: ( modules['string'].join( here.page_owners() )
                                or 'Anonymous User' )"
>

<div tal:replace="structure here/wikipage_header"> </div>

<table border="1">

 <tr>
  <th align="left" bgcolor="ffffcc">
      <em tal:content="here/getId"> PageID </em> Attributes
  </th>
 </tr>

 <tr>
  <td colspan="2">

    <table width="100%">

     <tr>

      <th> Name: </th>
      <td tal:content="here/getId"> PageID </td>

      <th> Local Owner(s): </th>
      <td tal:content="pgowners"> owners </td>

     </tr>
     <tr>
      <th> Type: </th>
      <td tal:content="here/page_type"> page_type </td>
     </tr>
    </table>

  </td>
 </tr>

 <tr>
  <th align="left" bgcolor="ffffcc">
      <em tal:content="here/getId"> PageID </em> Rename and Delete
  </th>
 </tr>

 <tr>
  <td tal:define="isFP    python: here.getId() == 'FrontPage';
                  mover   python: here.isAllowed( 'move' );
                  showRD  python: mover and not isFP;
                 ">
   <span tal:condition="isFP">
    <font color="gray"> No Delete or Rename forms for FrontPage - it
                        can not be removed.
    </font>
   </span>

   <span tal:condition="python: not mover">
        You can not rename or delete this page.
        <span tal:replace="python: here.whichWho[ here.opCategory( 'move' ) ]">
        movers </span> do so.
   </span>

   <table width="100%" cellspacing="7" tal:condition="showRD" >
    <tr>


     <td width="50%" nowrap bgcolor="eeeeee">

       Rename <strong tal:content="here/getId">PageID</strong> to: <br>

       <form method="POST"
             action="wikipage_deleterename_handler"
             enctype="multipart/form-data">

       <input type="text" name="new_id" size="25"
              tal:attributes="value here/getId"> &nbsp;

       <input type="submit" name="Rename" value="Rename">

       </form>

     </td>


     <td align="center" width="50%" nowrap bgcolor="eeeeee">

       <form method="POST"
             action="wikipage_deleterename_handler"
             enctype="multipart/form-data">

       <input type="hidden" name="confirm_delete:int:default" value="0">

       <input type="checkbox" name="confirm_delete:boolean">
              Confirm delete &nbsp;

       <input type="submit" name="Delete" value="Delete">

       </form>

     </td>

    </tr>
   </table>

  </td>
 </tr>

 <tr>
  <th align="left" bgcolor="ffffcc">
      <em tal:content="here/getId"> PageID </em> Regulations
  </th>
 </tr>

 <tr>
  <td>
   <p> This is where wiki page and folder owners choose who can do which of
       the common wiki operations on the page.  The operations include
       editing the page, creating new pages from it, commenting on it, and
       resituating it (renaming it, deleting, or changing its designated
       parents).   You can <span tal:condition="here/isRegSetter"> set </span>
       <span tal:condition="python: not here.isRegSetter()"> see </span>
       the page regulations below.

   <p> <strong> See <a href="RegulatingYourPages" target="_blank">
       RegulatingYourPages</a> for more info.</strong>
   </p>

   <form method="POST"
         action="wikipage_advanced_handler"
         enctype="multipart/form-data">

    <table width="100%" border="0" cellspacing="0" cellpadding="5"
           bgcolor="eeeeee">
     <tr>

      <td><br></td>

      <th tal:repeat="op here/regOps"
          tal:content="python: modules['string'].capitalize( op )" >
        Operation
      </th>

     </tr>

     <tr>

      <td> <br> </td>

      <td align="center" valign="top"
          tal:repeat="op here/regOps"
      >
       <font size="-1"
               tal:content="python: here.wikipage_regop_description( op )"
       >
          Operation description
       </font>
      </td>
     </tr>

     <tr>

      <th align="right" valign="bottom">
            Role categories:
      </th>

      <td align="center" valign="middle"
          tal:repeat="op here/regOps">

       <select size="1"
               tal:attributes="name python: '%s-category:string' % op;
                               disabled python: not here.isRegSetter();
                              "
               tal:define="opcat python: here.opCategory( op )"
       >
        <option tal:repeat="cat here/regCategories"
                tal:attributes="value cat;
                                selected python: cat == opcat;
                               "
                tal:content="python: modules['string'].capitalize( cat )"
        >
         Category
        </option>
       </select>
      </td>
     </tr>

     <tr>

      <th align="right" valign="middle">
          Additional allowed users:
      </th>

      <td align="center"
          tal:repeat="op here/regOps"
      >
       <textarea rows="2" cols="8"
                 name="&dtml-op;-usernames:lines"
                 tal:attributes="name python: '%s-usernames:lines' % op;
                                 readonly here/isRegSetter;
                                 onkeydown python: ( not here.isRegSetter()
                                                and 'this.blur();; return false'
                                                 or nothing
                                                   )
                                   "
                    tal:content="python: modules['string'].join(
                                   here.opUsernames( op ), '\n' )"
            ></textarea>
        </td>
      </tr>

      <tr>

       <th align="right" valign="middle">
          Propagate to offspring:
       </th>

       <td align="center"
           tal:repeat="op here/regOps"
       >
        <input type="hidden"
               name="propagate-op:default"
               value="off"
               tal:attributes="name python: 'propagate-%s:default' % op"
        >
        <input type="checkbox"
               name="propagate-op"
               value="on"
               tal:attributes="name python: 'propagate-%s' % op;
                               readonly here/isRegSetter;
                               onkeydown python: ( not here.isRegSetter()
                                             and 'this.blur();; return false'
                                              or nothing
                                                 )
                              "
        >
       </td>

      </tr>

      <tr>
        <td colspan="5"> <hr /> </td>
      </tr>

      <tr>

       <th align="right" valign="top">
          Who owns pages created <br>
          from this one:
       </th>

       <td colspan="4"
            tal:define="sub here/subOwner">

          <span tal:repeat="who python: ('creator','original_owner','both')">
           <input type="radio" name="who_owns_subs"
                  value="owner"
                  tal:attributes="value who;
                                  disabled python: not here.isRegSetter();
                                  checked python: who == sub;
                                 "
           >
           <span tal:replace="python: here.wikipage_owners_description( who )">
              Owner description.  </span>
           <br>
          </span>
       </td>

      </tr>

      <tr tal:condition="here/isRegSetter">
       <td colspan="5"> <hr> </td>
      </tr>

      <tr tal:condition="here/isRegSetter">
        <td align="right" colspan="3"> 
          <input type="submit" name="regulate"
                 value="Set Regulations"
                 tal:attributes="value string:Set ${here/getId} Regulations"
          >
        </td>
        <td colspan="2"><br></td>
      </tr>

    </table>
   </form>

  </td>
 </tr>
</table>


</div>

</div>
</body>
</html>


=== Added File Products/CMFWiki/skins/zpt_wiki/wikipage_backlinks.pt ===
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
       xmlns:metal="http://xml.zope.org/namespaces/metal"
       metal:use-macro="here/main_template/macros/master">
<body>
<div metal:fill-slot="main">

<div class="Desktop"
     tal:define="thispage    here/getId;
                 thisparents here/getParents;
                 mover       python: here.isAllowed( 'move' )"
>

<div tal:replace="structure here/wikipage_header"> </div>

<h2> Backlinks and Nesting Information </h2>

<p> <a href="thispage" tal:attributes="href thispage"
    ><span tal:replace="thispage">thispage</span></a>
    is linked on the following pages:
</p>

<p tal:condition="python: not mover">
    <font color="gray"> (You're not allowed to change this page's lineage)
    </font>
</p>

<form action="wikipage_reparent_handler">

<table>

 <tr>
  <th align="left" width="10%"> Parent? </th>
  <th align="left" width="90%"> Backlink </th>
 </tr>

 <tr tal:repeat="link here/backlinks">
  <td> <input type="checkbox"
              name="parents"
              value="referrer"
              tal:attributes="value link/pageid;
                              checked link/isparent;
                              disabled python: not mover">
  </td>
  <td> <a href="../thispage"
          tal:attributes="href python: '../%s' % link['pageid']"
          tal:content="link/pageid"
       >referrer</a>
  </td>
 </tr>

 <tr tal:condition="mover">
  <td colspan="2" align="left">
    <input type="submit" value="Reparent">
    <input type="reset" value="Reset Form">
  </td>
 </tr>
</table>
</form>

<div tal:replace="nothing">
  No time for this right now, but this is broken - chrism
  <p> <a name="nesting"><a href="../<dtml-var id>"><dtml-var id></a></a> nesting
context in the Wiki folder, including offspring, ancestors, and siblings.
(Branches are abbreviated with '...' elipses after the first time they're
spelled out.)

<dtml-var expr="wiki_context(REQUEST, with_siblings=1)">
</div>

</div>

</div>
</body>
</html>


=== Added File Products/CMFWiki/skins/zpt_wiki/wikipage_comment_form.pt ===
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
       xmlns:metal="http://xml.zope.org/namespaces/metal"
       metal:use-macro="here/main_template/macros/master">
<body>
<div metal:fill-slot="main">

<div class="Desktop">

<div tal:replace="structure here/wikipage_header"> </div>

<div
  tal:define="commentator python:here.isAllowed('comment', REQUEST=request);
              editor python:here.isAllowed('edit', REQUEST=request);
              commentcat python:here.opCategory('comment')">

 <h3> Submit a Comment for <em tal:content="here/getId">page</em> </h3>

 <p tal:condition="python:not commentator">
   <strong> You are not allowed to comment on <span tal:replace="here/getId">
    this page</span>. </strong>
   (<span tal:replace="python:here.whichWho( commentcat )" /> may add
   a comment to this page.)
 </p>

<div tal:condition="commentator">

  <p> Submit a comment to be appended to the page.  Your comment 
      will be automatically prefaced with your username and the current
      time, and be formatted according to the
      <a href="TextFormattingRules" target="_blank">TextFormattingRules</a>.
  </p>

  <p> The current page source is provided for cut-and-paste citing.
      Groups of '&gt;' prefixed citation lines will be bracketed with
      &lt;pre&gt; ... &lt;/pre&gt;, to prevent unruly flowing.  Please be
      sparing with cited text!
  </p>

  <p tal:condition="python:not editor">
      <em>Note that you can't change your comments, once submitted.
      See <a href="wikipage_advanced_form">Advanced Actions</a>
      for page policy. </em> </p>

  <form method="POST"
        action="wikipage_editcomment_handler"
        enctype="multipart/form-data">
  <input type="hidden" name="page" tal:attributes="value here/getId">

  <table width="100%" border="0" cellspacing="0" cellpadding="5">
    <tr bgcolor="eeeeee">
      <td colspan=2 align="center">
        <strong> Comment on <span tal:replace="python: here.getId()[:40]">
                 page </span>; </strong> <br>
        <textarea wrap="soft" name="comment"
                  rows="7" cols="80"
                  tal:attributes="cols request/zwiki_width missing | default"
        ></textarea>
      </td>
    </tr>
    <tr bgcolor="eeeeee">
      <td valign="middle" align="left">
        See <a href="HowDoIEdit" target="_blank">HowDoIEdit</a>
        for help. <br> <span tal:replace="here/page_type" />
      </td>
      <td valign="middle" align="right">
        <table> <tr>
          <td>
            <input type="checkbox" name="ack_requested" value="ON">
                   Request Editor Remark? &nbsp;
          </td>
          <td>
            <input type="submit"
                   name="Comment"
                   value="Submit Comment">
          </td> </tr> </table>
      </td>
    </tr>
    <tr>
      <td colspan=2 align="center">
        <strong> Citation Source </strong> (For copying - not editable) <br>
        <!-- Readonly *and* onkeydown for browser diversity: -->
        <textarea wrap="soft" name="text"
                  rows="15" cols="80" readonly
                  onkeydown="this.blur(); return false;"
                  tal:attributes="rows request/zwiki_height | default;
                                  cols request/zwiki_width  | default"
                  tal:content="here/prep_citation"></textarea>
      </td>
    </tr>
  </table>
 </form>

</div>

</div>

</div>

</div>

</body>
</html>


=== Added File Products/CMFWiki/skins/zpt_wiki/wikipage_edit_form.pt ===
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
       xmlns:metal="http://xml.zope.org/namespaces/metal"
       metal:use-macro="here/main_template/macros/master">
<body>
<div metal:fill-slot="main">

<div class="Desktop"
     tal:define="editor python:here.isAllowed( 'edit' )">

<div tal:replace="structure here/wikipage_header"> </div>

<h3> <span tal:condition="python: not editor"> View </span>
     <span tal:condition="editor"> Edit </span>
      <em tal:content="here/getId"> PageName </em> CMFWiki Page </h3>

    <p tal:condition="python: not editor">
      <strong> You can view the page source, below, but not edit it. </strong>
      (<span tal:replace="python: here.whichWho( opCategory( 'edit' ) )" />
       edit this page.)
    </p>

  <div tal:condition="editor">

    <form method="POST"
          action="wikipage_editcomment_handler"
          enctype="multipart/form-data">
    <input type="hidden" name="timeStamp"
           tal:attributes="value here/editTimestamp">
    <input type="hidden" name="page"
           tal:attributes="value here/getId">

    <table width="100%" border="0" cellspacing="0" cellpadding="5">
      <tr bgcolor="eeeeee">
        <td colspan="2" align="center">
          <textarea wrap="soft" name="text"
                    rows="18" cols="80"
                    tal:attributes="rows request/zwiki_height | default;
                                    cols request/zwiki_width  | default"
                    tal:content="here/text"
                  ></textarea>
        </td>
      </tr>
      <tr bgcolor="eeeeee">
        <td valign="middle" align="left">
          <br> Format: <em tal:content="here/page_type"> page_type </em>
        </td>
        <td valign="middle" align="right">
          <input type="submit"
                 name="edit"
                 value="Edit page"
                 tal:attributes="value python: 'Edit: %s' % here.getId()[:20]"
          >
        </td>
      </tr>
      <tr bgcolor="eeeeee">
         <th colspan=2 align="center"> Log Message </th>
      </tr>
      <tr bgcolor="eeeeee">
         <td colspan=2 align="center">
           <textarea wrap="soft" name="log"
                     rows="3"
                     cols="80"></textarea>
         </td>
      </tr>
      <tr bgcolor="eeeeee">
         <td colspan=2>
           Log for landmark changes - enter a note characterizing your
           change.  It will be connected with the page version,
           exposing the version for browsing in the condensed
           <a href="wikipage_history">page history</a>.
         </td>
      </tr>
    </table>
   </form>

  </div>

</div>

</div>
</body>
</html>


=== Added File Products/CMFWiki/skins/zpt_wiki/wikipage_header.pt ===
<table width="100%" border="0" cellspacing="0" cellpadding="0">
 <tr>
 <td>
 <small><span tal:replace="here/id"> my ID </span>
 page of
 <span tal:replace="here/aq_parent/id"> my Parent </span>
 </small>
 </td>
 <td align="right">
 <small>
 Last 
 <a href="wikipage_history"
    tal:attributes="href python:here.getTypeInfo().getActionById( 'history' )">edited</a>
 <span tal:condition="here/last_editor">
  by <b tal:content="here/last_editor">some editor</b>
 </span>
 on <span tal:replace="python: here.bobobase_modification_time().aCommon()" />
 </small>
 </td>
 </tr>
 </table>
 <table width="100%" border="0" cellspacing="0" cellpadding="5">
 <tr align="left" bgcolor="#eeeeee">
 <td>
 <span tal:replace="structure python: here.wiki_context( request, with_siblings=0 )" />
 </td>
 </tr>
</table>


=== Added File Products/CMFWiki/skins/zpt_wiki/wikipage_history.pt ===
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
       xmlns:metal="http://xml.zope.org/namespaces/metal"
       metal:use-macro="here/main_template/macros/master">
<body>
<div metal:fill-slot="main">

<div class="Desktop">

<div tal:replace="structure here/wikipage_header"> </div>

<div
  tal:define="mode python: request.get( 'mode', 'condensed' );
              editor python: here.isAllowed('edit');

              b_start python: int( request.get( 'b_start', 0 ) );
              b_size  python: int( request.get( 'b_size', 20 ) );
              b_end   python: b_start + b_size;
              batch   python: here.get_page_history( mode=mode
                                                   , batchsize=b_size
                                                   , first=b_start
                                                   , last=b_end
                                                   );
              b_more  python: len( batch ) >= b_size;
             "
>

<h3> <span tal:replace="here/getId">Page ID</span>
     <span tal:replace="python: modules['string'].capitalize( mode )">Mode</span>
     Change History </h3>

<p> This is a <span tal:replace="mode">condensed</span> record of
    <span tal:replace="here/getId">Page ID</span>'s historical
    versions.  You can view old versions by clicking on the
    links <span tal:condition="python: not editor"> and view difference-style
    comparisons between them.</span><span tal:condition="editor">, view
    difference-style comparisons between them, and bring copies of old
    versions out of the past to serve as the current one.</span>
</p>

<div tal:condition="python: mode=='condensed'">
<p> This condensed listing omits "interim" versions: versions of the
    page that lack a log message, and that were replaced with a new
    version by the same editor, within thirty minutes after the edits
    were committed.
</p>
<p> You can visit <a href="wikipage_history"
      tal:attributes="href string: wikipage_history?mode=complete"
    >the complete listing</a>, instead of this condensed one.
</p>
</div>

<div tal:condition="python: mode!='condensed'">
  You can also visit <a href="wikipage_history">a
  condensed listing</a>, which omits intermediate page versions.
</div>

<form method="POST" tal:attributes="action here/absolute_url">

<table
>
 <tr tal:condition="python: b_start > 0">
  <td colspan="2"> <br> </td>
  <td align="left">
   <span tal:define="b_prev python: max( b_start-b_size, 0 );
                     q_mode string:mode=${mode};
                     q_start string:b_start=${b_prev};
                     q_size  string:b_size=${b_size};
                     q       string:${q_mode}&${q_start}&${q_size};
                    ">
    <a href="wikipage_history"
       tal:attributes="href string:wikipage_history?${q}"
    > (More Recent Revisions) </a>
   </span>
  </td>
 </tr>

 <tr tal:repeat="trans batch">

  <td align="right" valign="top" NOWRAP>
   <font color="gray">-<span tal:replace="trans/tacked_on_index">?</span></font>
  </td>

  <td valign="top">
   <input type="checkbox"
          name="keys:list"
          tal:attributes="value trans/key"
   >
  </td>

  <td valign="top">
   <span tal:condition="python: trans['tacked_on_index'] == 0">
     <strong>(Current)</strong>
   </span>
   <a href="history"
      tal:attributes="href
        string:${here/absolute_url}/HistoricalRevisions/${trans/key}"
   ><span tal:replace="python: trans['time'].Mon()">Jan</span> 
    <span tal:replace="python: trans['time'].day()">01</span>
    <span tal:replace="python: trans['time'].Time()">08:00:00</span>
    <span tal:condition="trans/user_name"
          tal:replace="trans/user_name">user</span>
   </a>
   <span tal:define="descr python:modules['string'].split( trans['description']
                                                         , '\012\012'
                                                         )">
     <font color="gray"><span tal:replace="python:descr[0]">method</span></font>
     <span tal:repeat="more python:descr[1:]">
       <br /><span tal:replace="more" />
     </span>
   </span>
   <span tal:condition="exists: trans/revision">
    <br>Revision: <em tal:content="trans/revision">revision</em>
   </span>
  </td>
 </tr>

 <tr tal:condition="b_more">
  <td colspan="2"> <br> </td>
  <td align="left">
   <span tal:define="q_mode string:mode=${mode};
                     q_start string:b_start=${b_end};
                     q_size  string:b_size=${b_size};
                     q       string:${q_mode}&${q_start}&${q_size};
                    ">
    <a href="wikipage_history"
       tal:attributes="href string:wikipage_history?${q}"
    > (Less Recent Revisions) </a>
   </span>
  </td>
 </tr>

 <tr>
  <td> &nbsp; </td>
  <td> &nbsp; </td>
  <td>
    <input type="submit" name="wikipage_compare_versions:method"
           value="Compare">
    <span tal:condition="editor">
         &nbsp; &nbsp;
         <input type="submit" name="wikipage_copyhistory_handler:method"
                value="Copy to present">
    </span>
  </td>
 </tr>

</table>
</form>
</div>


</div>

</div>
</body>
</html>


=== Added File Products/CMFWiki/skins/zpt_wiki/wikipage_owners_description.py ===
## Script (Python) "wikipage_owners_description"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=owner
##title=
##
descriptions = { 'creator'        : 'Only creator of new page'
               , 'original_owner' : 'Only original page owner(s)'
               , 'both'           : 'Both original page owner(s)'
                                    ' and sub-page creators'
               }
return descriptions.get( owner, 'Unknown owner: %s' % owner )

=== Added File Products/CMFWiki/skins/zpt_wiki/wikipage_regop_description.py ===
## Script (Python) "wikipage_regop_description"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=op
##title=
##
descriptions = { 'create'  : 'Create new pages from this one.'
               , 'edit'    : 'Change the text.'
               , 'comment' : 'Append text to end.'
               , 'move'    : 'Rename, delete, reparent.'
               }
return descriptions.get( op, 'Unknown operation: %s' % op )

=== Added File Products/CMFWiki/skins/zpt_wiki/wikipage_toc.pt ===
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
       xmlns:metal="http://xml.zope.org/namespaces/metal"
       metal:use-macro="here/main_template/macros/master">
<body>
<div metal:fill-slot="main">

<div class="Desktop"
     tal:define="callresults here/wiki_map;
                 nesting     python: callresults[0];
                 singletons  python: callresults[1];
                "
>

<div tal:replace="structure here/wikipage_header"> </div>

<h3> <em tal:content="here/getId">PageID</em> Contents</h3>

<!-- this should really not depend on nesting coming back as HTML,
  -- but I don't have time to fix it right now - chrism
  -->
<p tal:content="structure nesting"> Nesting goes here. </p>

<h3> <em tal:content="here/getId">PageID</em> Singletons</h3>

<p> (no parents and no offspring): </p>

<ul>
 <li tal:repeat="single singletons">
  <a href="single"
     name="single"
     tal:attributes="href single; name single"
     tal:content="single" >single</a>
 </li>
</ul>


</div>

</div>
</body>
</html>


=== Added File Products/CMFWiki/skins/zpt_wiki/wikipage_view.pt ===
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
       xmlns:metal="http://xml.zope.org/namespaces/metal"
       metal:use-macro="here/main_template/macros/master">
<body>
<div metal:fill-slot="main">

<div class="Desktop">

<div tal:replace="structure here/wikipage_header"> </div>

<div tal:replace="structure here/render"> </div>

</div>

</div>
</body>
</html>