Difference between revisions of "HypertWiki:Code/lib/data"

From HypertWiki
Jump to navigation Jump to search
(removed "hide" inside func and used "echo" to display stuff; hope this works)
(revised format for specs footer)
 
(42 intermediate revisions by the same user not shown)
Line 1: Line 1:
<hide>
==GetLinkBrief()==
 
<func GetLinkBrief>
<func GetBrief>
     <let name=links.out>
     <let name=links.out>
* '''</let>
* '''</let>
Line 11: Line 10:
     <let name=links.out append>|talk]]: </let>
     <let name=links.out append>|talk]]: </let>


     <if flag=data[wpage]>
     <if flag=$data[wpage]>
       <let name=wtLink>[[</let>
       <let name=wtLink>[[</let>
       <let name=wtLink append copy=data[wpage] />
       <let name=wtLink append copy=data[wpage] />
       <let name=wtLink append>|</let>
       <let name=wtLink append>|</let>
       <let name=wtLink append copy=data[Title] />
       <let name=wtLink append copy=data[Title] />
       <let name=wtLink append>]]</let>
       <let name=wtLink append>]] &sect; </let>
     </if><else>
     </if><else>
       <let name=wtLink>[</let>
       <let name=wtLink>[</let>
Line 29: Line 28:


     <let name=text copy=data[TextShort] />
     <let name=text copy=data[TextShort] />
     <if flag=text></if><else>
     <if flag=$text></if><else>
       <let name=text copy=data[Text] len=200 />
       <let name=text copy=data[Text] len=200 />
     </else>
     </else>
Line 39: Line 38:


</func>
</func>
 
==ShowRecentLinks(max)==
<func ShowRecentLinks max>
<func ShowRecentLinks max>
   <let name=idx />
   <let name=idx />
   <let name=including val=1 />
   <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>
   <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=pg_title val="@row.page_title" />
     <let name=idx inc />
     <let name=idx inc />
     <if not flag=noLoad>
     <if not flag=$noLoad>
       <load page=$pg_title nocat />
       <load page=$pg_title />
     </if>
     </if>
     <if flag=data[Title]>
     <if flag=$data[Title]>
       <call GetBrief />
       <call GetLinkBrief />
     </if><else>
     </if><else>
<!-- if no new-style data, just display link to page so we can fix the problem: -->
<!-- if no new-style data, just display link to page so we can fix the problem: -->
Line 63: Line 62:
   </for>
   </for>
</func>
</func>
 
==ShowTopic(iTopic,iMax)==
This should eventually be able to show data in any format: news links, blog entries...
<func ShowTopic iTopic iMax>
<func ShowTopic iTopic iMax>
   <let name=idx />
   <let name=idx />
   <let name=including val=1 />
   <let name=including val=1 />
   <let name=topic farg=iTopic />
   <let name=topic farg=iTopic />
   <if not flag=topic>
   <if not flag=$topic>
     <let name=topic parse>{{PAGENAME}}</let>
     <let name=topic parse>{{PAGENAME}}</let>
   </if>
   </if>
Line 78: Line 78:


   <for table="qryW3_Titles_Catgs" where=$sqlWhere sort="page_title DESC" name=pg empty="no items yet" limit=$iMax hide>
   <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=pg_title val="@row.page_title" />
     <let name=idx inc />
     <let name=idx inc />
     <if not flag=noLoad>
     <if not flag=$noLoad>
       <load page=$pg_title local nocat />
       <load page=$pg_title local />
     </if>
     </if>
     <if flag=data[Title]>
     <if flag=$data[Title]>
       <call GetBrief />
       <call GetBrief />
     </if><else>
     </if><else>
Line 96: Line 96:
   </for>
   </for>
</func>
</func>
==GetBlogEntryBrief()==
<func GetBlogEntryBrief>
INPUT:
  data[*] - from blog entry page
  pg_name - full name of page being displayed (including namespace)
    <if not flag=$noLoad>
      <load page=$pg_name />
    </if>
    <let name=e.out>
* '''</let>
    <let name=e.out append copy=data[TimeStamp] />
    <let name=e.out append>''' [[</let>
    <let name=e.out append copy=pg_name />
    <let name=e.out append>|</let>
    <let name=e.out append copy=data[Title] />
    <let name=e.out append>]] &sect; </let>
    <let name=text copy=data[TextAbove] />
    <if flag=$text></if><else>
      <let name=text copy=data[TextBelow] len=200 />
    </else>
    <let name=e.out append copy=text trim />
    <let name=e.out append> ''[[</let>
    <let name=e.out append copy=pg_name />
    <let name=e.out append>|more...]]''</let>
</func>
==GetBlogEntryBriefChrisFormat()==
<func GetBlogEntryBriefChrisFormat>
INPUT:
  data[*] - from blog entry page
  pg_name - full name of page being displayed (including namespace)


<func ShowBlogPost>
    <if not flag=$noLoad>
  <let name=PostDate copy=data[TimeStamp] len=10 />
      <load page=$pg_name />
  <let name=wtDate>[[</let>
    </if>
  <let name=wtDate append copy=PostDate />
 
  <let name=wtDate append>]] ([[:category:</let>
    <let name=e.out></let>
  <let name=wtDate append copy=PostDate />
    <let name=e.out append><big>[[</let>
  <let name=wtDate append>|category]])</let>
    <let name=e.out append copy=pg_name />
    <let name=e.out append>|</let>
    <let name=e.out append copy=data[Title] />
    <let name=e.out append>]]</big>, ''</let>
    <let name=e.out append copy=data[TimeStamp] />
    <let name=e.out append>''
 
</let>
 
    <let name=text copy=data[TextAbove] />
    <if flag=$text></if><else>
      <let name=text copy=data[TextBelow] len=200 />
    </else>
 
    <let name=e.out append copy=text trim />
    <let name=e.out append> ''[[</let>
    <let name=e.out append copy=pg_name />
    <let name=e.out append>|more...]]''
 
</let>
</func>
==GetBlogEntryFull()==
<func GetBlogEntryFull>
INPUT:
  data[*] - from blog entry page
  pg_name - full name of page being displayed (including namespace)


  <if flag=docat>
    <if not flag=$noLoad>
    <let name=wtDate append>[[category:</let>
      <load page=$pg_name />
    <let name=wtDate append copy=PostDate />
     </if>
     <let name=wtDate append>]]</let>
  </if>


  <let name=wtTitle>__NOEDITSECTION__
    <let name=e.out>
==</let>
==</let>
  <let name=wtTitle append copy=data[Title] />
    <let name=e.out append copy=data[Title] />
  <let name=wtTitle append>==</let>
    <let name=e.out append>==
  <if flag=data[TextAbove]>
''<small>posted at </let>
     <let name=wtTextBrief>
    <let name=e.out append copy=data[TimeStamp] />
===In Brief===
     <let name=e.out append></small>''
 
</let>
</let>
     <let name=wtTextFull>
     <let name=e.out append copy=data[TextAbove] />
===Full Story===
    <let name=e.out append copy=BlogFoldDivider />
</let>
    <let name=e.out append copy=data[TextBelow] />
     <let name=wtTextBrief append copy=data[TextAbove] />
-- category display
   </if><else>
    <let name=e.out append copy=BlogFoldDivider />
     <let name=wtTextBrief null />
    <let name=e.out append>
   </else>
<small>'''Categories''' &ndash;</let>
   <let name=wtTextFull append copy=data[TextBelow] />
    <let name=noCat val=1 />
    <call MakeBlogCatgs />
    <if flag=$wtCatGlob>
      <let name=e.out append> general: </let>
      <let name=e.out append copy=wtCatGlob>
     </if>
    <if flag=$wtCatUser>
      <let name=e.out append> user: </let>
      <let name=e.out append copy=wtCatUser>
    </if>
    <let name=e.out append></small></let>
</small></let>
</func>
==ShowRecentBlogEntries(max,funcEntry)==
<func ShowRecentBlogEntries max funcEntry>
  <let name=idx />
  <if not flag=$funcEntry>
    <let name=funcEntry val="GetBlogEntryBrief" />
   </if>
  <let name=including val=1 />
  <for table="qryW3_Titles_Catgs" where="(cl_to='Data/blog/post')" sort="page_title DESC" limit=$max name=pg hide>
    <let name=pg_nspace_code>{{ns:</let>
    <let name=pg_nspace_code append val=@row.page_namespace />
    <let name=pg_nspace_code append>}}</let>
    <let name=pg_nspace copy=pg_nspace_code parse />
    <let name=pg_title val="@row.page_title" />
    <let name=pg_name copy=pg_nspace />
    <let name=pg_name append>:</let>
    <let name=pg_name append copy=pg_title />
    <let name=idx inc />
    <call func=$funcEntry />
     <let name=e.rtn append copy=e.out />
    <let name=data />
   </for>
</func>
==ShowRecentBlogEntriesFull(max)==
<func ShowRecentBlogEntriesFull max>
  <let name=idx />
   <let name=including val=1 />
  <for table="qryW3_Titles_Catgs" where="(cl_to='Data/blog/post')" sort="page_title DESC" limit=$max name=pg hide>
    <let name=pg_nspace_code>{{ns:</let>
    <let name=pg_nspace_code append val=@row.page_namespace />
    <let name=pg_nspace_code append>}}</let>
    <let name=pg_nspace copy=pg_nspace_code parse />
    <let name=pg_title val="@row.page_title" />
    <let name=pg_name copy=pg_nspace />
    <let name=pg_name append>:</let>
    <let name=pg_name append copy=pg_title />
    <let name=idx inc />
    <call GetBlogEntryFull />
    <let name=e.rtn append copy=e.out />
    <let name=data />
  </for>
</func>
==ShowRecentBlogEntriesByTopic(max,topic)==
<func ShowRecentBlogEntriesByTopic max topic>
  <let name=topic self with="_"> </let>
 
  <let name=sql>(cl_to='</let>
  <let name=sql>SELECT q1.* FROM qryW3_Titles_Catgs AS q1 LEFT JOIN qryW3_Titles_Catgs AS q2 ON q1.cl_from=q2.cl_from WHERE (q1.cl_to='Data/blog/post') AND (q2.cl_to='</let>
  <let name=sql append copy=topic />
  <let name=sql append>') ORDER BY page_title DESC LIMIT </let>
  <let name=sql append copy=max />


  <for sql=$sql>
    <let name=pg_nspace_code>{{ns:</let>
    <let name=pg_nspace_code append val=@row.page_namespace />
    <let name=pg_nspace_code append>}}</let>
    <let name=pg_nspace copy=pg_nspace_code parse />
    <let name=pg_title val="@row.page_title" />
    <let name=pg_name copy=pg_nspace />
    <let name=pg_name append>:</let>
    <let name=pg_name append copy=pg_title />
    <let name=idx inc />
    <let name=data[Title] null />
    <load page=$pg_name />
    <if flag=$data[Title]>
      <call GetBlogEntryBrief />
      <let name=e.rtn append copy=e.out />
    </if>
    <let name=data />
  </for>
</func>
==MakeBlogCatgs()==
<func MakeBlogCatgs>
   <let name=catUser copy=data[TopicsUser] />
   <let name=catUser copy=data[TopicsUser] />
   <let name=catGlob copy=data[TopicsGlobal] />
   <let name=catGlob copy=data[TopicsGlobal] />
Line 146: Line 287:
     <let name=wtCatUser append>|c]]'''</sub></let>
     <let name=wtCatUser append>|c]]'''</sub></let>


     <if flag=docat>
     <if not flag=$noCat>
       <let name=wtCatUser append> [[category:user/</let>
       <let name=wtCatUser append> [[category:user/</let>
       <let name=wtCatUser append copy=data[User] />
       <let name=wtCatUser append copy=data[User] />
Line 166: Line 307:
     <let name=wtCatGlob append>|c]]'''</sub></let>
     <let name=wtCatGlob append>|c]]'''</sub></let>


     <if flag=docat>
     <if not flag=$noCat>
       <let name=wtCatGlob append>[[category:</let>
       <let name=wtCatGlob append>[[category:</let>
       <let name=wtCatGlob append copy=topic />
       <let name=wtCatGlob append copy=topic />
       <let name=wtCatGlob append>]]</let>
       <let name=wtCatGlob append>]]</let>
     </if>
     </if>
   </xploop>
   </xploop>
</func>
==ShowBlogPostPage()==
<func ShowBlogPostPage>
  <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>
  <let name=wtDate append>[[category:</let>
  <let name=wtDate append copy=PostDate />
  <let name=wtDate append>]]</let>
  <let name=wtTitle>__NOEDITSECTION__
==</let>
  <let name=wtTitle append copy=data[Title] />
  <let name=wtTitle append>==</let>
  <if flag=$data[TextAbove]>
    <let name=wtTextBrief>
<span class=blog-post-section-hdr>In Brief</span>
</let>
    <let name=wtTextFull>
<hr>
<span class=blog-post-section-hdr>The Rest</span>
</let>
    <let name=wtTextBrief append copy=data[TextAbove] />
  </if><else>
    <let name=wtTextBrief null />
  </else>
  <let name=wtTextFull append copy=data[TextBelow] />
  <call MakeBlogCatgs />
General categories for blog posts:
-- the fact that it's a post:
  <let name=wtCatGlob append>[[category:data/blog/post]]</let>
-- date:
  <let name=wtCatGlob append>[[category:</let>
  <let name=wtCatGlob append copy=PostDate len=10 /> -- just the date for the category
  <let name=wtCatGlob append>|]]</let>
  <let name=wtCatGlob append copy=PostDate /> -- full timestamp for sorting
  <let name=wtCatGlob append>]]</let>
   <let name=user copy=data[User] />
   <let name=user copy=data[User] />
   <if flag=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>
  <echo>__NOEDITSECTION__
<get name=wtTitle />
<get name=data index=Text /><get name=wtTextBrief /><get name=wtTextFull />
<hr>
<div align=right style="font-size: 75%; line-height: 75%;">Posted by <get name=wtUser /> at <get name=PostDate />. <b>Topics</b>: <get name=wtCatUser /> <get name=wtCatGlob /></echo>
</func>
==ShowBlogPostPage_v2()==
<func ShowBlogPostPage_v2>
  <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>
 
  <let name=wtDate append>[[category:</let>
  <let name=wtDate append copy=PostDate />
  <let name=wtDate append>]]</let>
 
  <let name=wtTitle>__NOEDITSECTION__
==</let>
  <let name=wtTitle append copy=data[Title] />
  <let name=wtTitle append>==</let>
  <if flag=$data[TextAbove]>
    <let name=wtTextBrief>
<span class=blog-post-section-hdr>In Brief</span>
</let>
    <let name=wtTextFull>
<hr>
<span class=blog-post-section-hdr>The Rest</span>
</let>
    <let name=wtTextBrief append copy=data[TextAbove] />
  </if><else>
    <let name=wtTextBrief null />
  </else>
  <let name=wtTextFull append copy=data[TextBelow] />
 
  <call MakeBlogCatgs />
General categories for blog posts:
-- the fact that it's a post:
  <let name=wtCatGlob append>[[category:data/blog/post]]</let>
-- date:
  <let name=wtCatGlob append>[[category:</let>
  <let name=wtCatGlob append copy=PostDate len=10 /> -- just the date for the category
  <let name=wtCatGlob append>|]]</let>
  <let name=wtCatGlob append copy=PostDate /> -- full timestamp for sorting
  <let name=wtCatGlob append>]]</let>
 
  <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>
  <echo>__NOEDITSECTION__
<get name=wtTitle />
<get name=data index=Text /><get name=wtTextBrief /><get name=wtTextFull />
<hr>
{| style="font-size: 75%; line-height: 75%;"
|-
| colspan=2 |
==Specs==
 
|-
| align=right | '''Timestamp''': || <get name=PostDate />
|-
| align=right | '''Author''': || <get name=wtUser />
|-
| align=right | '''User topics''': || <get name=wtCatUser />
|-
| align=right | '''Global topics''': || <get name=wtCatGlob />
|}</echo>
</func>
==ShowBlogPostPage_v1()==
<func ShowBlogPostPage_v1>
  <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>
 
  <let name=wtDate append>[[category:</let>
  <let name=wtDate append copy=PostDate />
  <let name=wtDate append>]]</let>
 
  <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] />
 
  <call MakeBlogCatgs />
General categories for blog posts:
-- the fact that it's a post:
  <let name=wtCatGlob append>[[category:data/blog/post]]</let>
-- date:
  <let name=wtCatGlob append>[[category:</let>
  <let name=wtCatGlob append copy=PostDate len=10 /> -- just the date for the category
  <let name=wtCatGlob append>|]]</let>
  <let name=wtCatGlob append copy=PostDate /> -- full timestamp for sorting
  <let name=wtCatGlob append>]]</let>
 
  <let name=user copy=data[User] />
  <if flag=$user>
     <let name=wtUser>[[user:</let>
     <let name=wtUser>[[user:</let>
     <let name=wtUser append copy=user />
     <let name=wtUser append copy=user />
Line 188: Line 501:
| align=right | '''Timestamp''': || <get name=PostDate />
| align=right | '''Timestamp''': || <get name=PostDate />
|-
|-
| align=right | '''Author''': || <get name=wtUser /></font>
| align=right | '''Author''': || <get name=wtUser />
|-
|-
| align=right | '''User topics''': || <get name=wtCatUser />
| align=right | '''User topics''': || <get name=wtCatUser />
Line 197: Line 510:
<get name=data index=Text /><get name=wtTextBrief /><get name=wtTextFull /></echo>
<get name=data index=Text /><get name=wtTextBrief /><get name=wtTextFull /></echo>
</func>
</func>
</hide>

Latest revision as of 19:44, 22 January 2013

GetLinkBrief()


> function getlinkbrief() <= ()

ShowRecentLinks(max)


> function showrecentlinks() <= ()

ShowTopic(iTopic,iMax)

This should eventually be able to show data in any format: news links, blog entries...
> function showtopic() <= ()

GetBlogEntryBrief()


> function getblogentrybrief() <= ()

GetBlogEntryBriefChrisFormat()


> function getblogentrybriefchrisformat() <= ()

GetBlogEntryFull()


> function getblogentryfull() <= ()

ShowRecentBlogEntries(max,funcEntry)


> function showrecentblogentries() <= ()

ShowRecentBlogEntriesFull(max)


> function showrecentblogentriesfull() <= ()

ShowRecentBlogEntriesByTopic(max,topic)


> function showrecentblogentriesbytopic() <= ()

MakeBlogCatgs()


> function makeblogcatgs() <= ()

ShowBlogPostPage()


> function showblogpostpage() <= ()

ShowBlogPostPage_v2()


> function showblogpostpage_v2() <= ()

ShowBlogPostPage_v1()


> function showblogpostpage_v1() <= ()