HypertWiki:Code/lib/data: Difference between revisions

From HypertWiki
m HypertWiki:Code/lib/links moved to HypertWiki:Code/lib/data: library is for handling data pages, not just links (and not sure if I'll ever need to handle links within HypertWiki anyway)
adding func ShowBlogPost (to be tested)
Line 95: Line 95:
     <let name=data null />
     <let name=data null />
   </for>
   </for>
</func>
<func ShowBlogPost>
  <hide>
  <let name=PostDate copy=data[TimeStamp] len=10 />
  <let name=wtDate>[[</let>
  <let name=wtDate append copy=PostDate />
  <let name=wtDate append>]] ([[:category:</let>
  <let name=wtDate append copy=PostDate />
  <let name=wtDate append>|category]])</let>
  <if flag=docat>
    <let name=wtDate append>[[category:</let>
    <let name=wtDate append copy=PostDate />
    <let name=wtDate append>]]</let>
  </if>
  <let name=wtTitle>__NOEDITSECTION__
==</let>
  <let name=wtTitle append copy=data[Title] />
  <let name=wtTitle append>==</let>
  <if flag=data[TextAbove]>
    <let name=wtTextBrief>
===In Brief===
</let>
    <let name=wtTextFull>
===Full Story===
</let>
    <let name=wtTextBrief append copy=data[TextAbove] />
  </if><else>
    <let name=wtTextBrief null />
  </else>
  <let name=wtTextFull append copy=data[TextBelow] />
  <let name=catUser copy=data[TopicsUser] />
  <let name=catGlob copy=data[TopicsGlobal] />
  <let name=wtCatUser null />
  <xploop list=$catUser var=topic>
    <let name=wtCatUser append> [[user:</let>
    <let name=wtCatUser append copy=data[User] />
    <let name=wtCatUser append>/</let>
    <let name=wtCatUser append copy=topic />
    <let name=wtCatUser append>|</let>
    <let name=wtCatUser append copy=topic />
    <let name=wtCatUser append>]]</let>
    <let name=wtCatUser append><sub>'''[[:category:user/</let>
    <let name=wtCatUser append copy=data[User] />
    <let name=wtCatUser append>/</let>
    <let name=wtCatUser append copy=topic />
    <let name=wtCatUser append>|c]]'''</sub></let>
    <if flag=docat>
      <let name=wtCatUser append> [[category:user/</let>
      <let name=wtCatUser append copy=data[User] />
      <let name=wtCatUser append>/</let>
      <let name=wtCatUser append copy=topic />
      <let name=wtCatUser append>|</let>
      <let name=wtCatUser append copy=topic />
      <let name=wtCatUser append>]]</let>
    </if>
  </xploop>
  <let name=wtCatGlob null />
  <xploop list=$catGlob var=topic>
    <let name=wtCatGlob append> [[</let>
    <let name=wtCatGlob append copy=topic />
    <let name=wtCatGlob append>]]</let>
    <let name=wtCatGlob append><sub>'''[[:category:</let>
    <let name=wtCatGlob append copy=topic />
    <let name=wtCatGlob append>|c]]'''</sub></let>
    <if flag=docat>
      <let name=wtCatGlob append>[[category:</let>
      <let name=wtCatGlob append copy=topic />
      <let name=wtCatGlob append>]]</let>
    </if>
  </xploop>
  <let name=user copy=data[User] />
  <if flag=user>
    <let name=wtUser>[[user:</let>
    <let name=wtUser append copy=user />
    <let name=wtUser append>|</let>
    <let name=wtUser append copy=user />
    <let name=wtUser append>]]</let>
  </if><else>
    <let name=wtUser>''unknown''</let>
  </else>
  </hide>__NOEDITSECTION__
==Specs==
{|
|-
| align=right | '''Timestamp''': || <get name=PostDate />
|-
| align=right | '''Author''': || <get name=wtUser /></font>
|-
| align=right | '''User topics''': || <get name=wtCatUser />
|-
| align=right | '''Global topics''': || <get name=wtCatGlob />
|}
<get name=wtTitle />
<get name=data index=Text /><get name=wtTextBrief /><get name=wtTextFull />
</func>
</func>


</hide>
</hide>

Revision as of 14:05, 14 February 2009

<hide>

<func GetBrief>

   <let name=links.out>
  • </let>
   <let name=links.out append copy=data[Date] />
   <let name=links.out append> :[[</let>
   <let name=links.out append copy=pg_title />
   <let name=links.out append>|more]]:[[Talk:</let>
   <let name=links.out append copy=pg_title />
   <let name=links.out append>|talk]]: </let>
   <if flag=data[wpage]>
     <let name=wtLink>[[</let>
     <let name=wtLink append copy=data[wpage] />
     <let name=wtLink append>|</let>
     <let name=wtLink append copy=data[Title] />
     <let name=wtLink append>]]</let>
   </if><else>
     <let name=wtLink>[</let>
     <let name=wtLink append copy=data[URL] />
     <let name=wtLink append> </let>
     <let name=wtLink append copy=data[Title] />
     <let name=wtLink append>]</let>
   </else>
   <let name=links.out append copy=wtLink />
   <let name=links.out append> § </let>
   <let name=text copy=data[TextShort] />
   <if flag=text></if><else>
     <let name=text copy=data[Text] len=200 />
   </else>
   <let name=links.out append copy=text trim />
   <let name=links.out append> [[</let>
   <let name=links.out append copy=pg_title />
   <let name=links.out append>|more...]]</let>

</func>

<func ShowRecentLinks max>

 <let name=idx />
 <let name=including val=1 />
 <for table="qryW3_Titles_Catgs" where="(cl_to='Data/links') AND (page_namespace=0)" sort="page_title DESC" limit=$max name=pg hide>
   <let name=pg_title val="@row.pg.page_title" />
   <let name=idx inc />
   <if not flag=noLoad>
     <load page=$pg_title nocat />
   </if>
   <if flag=data[Title]>
     <call GetBrief />
   </if><else>
     <let name=links.out>
  • [[</let>
     <let name=links.out append copy=pg_title />
     <let name=links.out append>]]</let>
   </else>
   <let name=links.rtn append copy=links.out />
   <let name=links.out />
   <let name=data />
 </for>

</func>

<func ShowTopic iTopic iMax>

 <let name=idx />
 <let name=including val=1 />
 <let name=topic farg=iTopic />
 <if not flag=topic>
   <let name=topic parse>Code/lib/data</let>
 </if>
 <let name=topic self with="_"> </let>
 <let name=sqlWhere>(page_namespace=0) AND (cl_to='</let>
 <let name=sqlWhere append copy=topic />
 <let name=sqlWhere append>')</let>
 <for table="qryW3_Titles_Catgs" where=$sqlWhere sort="page_title DESC" name=pg empty="no items yet" limit=$iMax hide>
   <let name=pg_title val="@row.pg.page_title" />
   <let name=idx inc />
   <if not flag=noLoad>
     <load page=$pg_title local nocat />
   </if>
   <if flag=data[Title]>
     <call GetBrief />
   </if><else>
     <let name=links.out>
  • [[</let>
     <let name=links.out append copy=pg_title />
     <let name=links.out append>]]</let>
   </else>
   <let name=exclude val=0 />
   <let name=links.rtn append copy=links.out />
   <let name=data null />
 </for>

</func>

<func ShowBlogPost>

 <hide>
 <let name=PostDate copy=data[TimeStamp] len=10 />
 <let name=wtDate>[[</let>
 <let name=wtDate append copy=PostDate />
 <let name=wtDate append>]] ([[:category:</let>
 <let name=wtDate append copy=PostDate />
 <let name=wtDate append>|category]])</let>
 <if flag=docat>
   <let name=wtDate append>[[category:</let>
   <let name=wtDate append copy=PostDate />
   <let name=wtDate append>]]</let>
 </if>
 <let name=wtTitle>

==</let>

 <let name=wtTitle append copy=data[Title] />
 <let name=wtTitle append>==</let>
 <if flag=data[TextAbove]>
   <let name=wtTextBrief>

In Brief

</let>

   <let name=wtTextFull>

Full Story

</let>

   <let name=wtTextBrief append copy=data[TextAbove] />
 </if><else>
   <let name=wtTextBrief null />
 </else>
 <let name=wtTextFull append copy=data[TextBelow] />
 <let name=catUser copy=data[TopicsUser] />
 <let name=catGlob copy=data[TopicsGlobal] />
 <let name=wtCatUser null />
 <xploop list=$catUser var=topic>
   <let name=wtCatUser append> [[user:</let>
   <let name=wtCatUser append copy=data[User] />
   <let name=wtCatUser append>/</let>
   <let name=wtCatUser append copy=topic />
   <let name=wtCatUser append>|</let>
   <let name=wtCatUser append copy=topic />
   <let name=wtCatUser append>]]</let>
   <let name=wtCatUser append>[[:category:user/</let>
   <let name=wtCatUser append copy=data[User] />
   <let name=wtCatUser append>/</let>
   <let name=wtCatUser append copy=topic />
   <let name=wtCatUser append>|c]]</let>
   <if flag=docat>
     <let name=wtCatUser append> [[category:user/</let>
     <let name=wtCatUser append copy=data[User] />
     <let name=wtCatUser append>/</let>
     <let name=wtCatUser append copy=topic />
     <let name=wtCatUser append>|</let>
     <let name=wtCatUser append copy=topic />
     <let name=wtCatUser append>]]</let>
   </if>
 </xploop>
 <let name=wtCatGlob null />
 <xploop list=$catGlob var=topic>
   <let name=wtCatGlob append> [[</let>
   <let name=wtCatGlob append copy=topic />
   <let name=wtCatGlob append>]]</let>
   <let name=wtCatGlob append>[[:category:</let>
   <let name=wtCatGlob append copy=topic />
   <let name=wtCatGlob append>|c]]</let>
   <if flag=docat>
     <let name=wtCatGlob append>[[category:</let>
     <let name=wtCatGlob append copy=topic />
     <let name=wtCatGlob append>]]</let>
   </if>
 </xploop>
 <let name=user copy=data[User] />
 <if flag=user>
   <let name=wtUser>[[user:</let>
   <let name=wtUser append copy=user />
   <let name=wtUser append>|</let>
   <let name=wtUser append copy=user />
   <let name=wtUser append>]]</let>
 </if><else>
   <let name=wtUser>unknown</let>
 </else>
 </hide>

Specs

Timestamp: <get name=PostDate />
Author: <get name=wtUser />
User topics: <get name=wtCatUser />
Global topics: <get name=wtCatGlob />

<get name=wtTitle /> <get name=data index=Text /><get name=wtTextBrief /><get name=wtTextFull /> </func>

</hide>