Initial commit of main page and board page

main
Inga 🏳‍🌈 15 years ago
parent bab06318a4
commit 73505ad15d
  1. 2
      Builder/IISMainHandler/build.txt
  2. 20
      Common/dataobjects/Board.cs
  3. 10
      Common/dataobjects/Category.cs
  4. 11
      IISMainHandler/HandlersFactory.cs
  5. 1
      IISMainHandler/IISMainHandler.csproj
  6. 8
      IISMainHandler/WebContext.cs
  7. 30
      IISMainHandler/handlers/BoardHandler.cs
  8. 4
      IISMainHandler/handlers/RootHandler.cs
  9. 2
      IISMainHandler/handlers/StaticHandler.cs
  10. 18
      static/css/global.css
  11. BIN
      static/images/all.gif
  12. BIN
      static/images/book-notread.gif
  13. BIN
      static/images/book-read.gif
  14. BIN
      static/images/chat-notread.gif
  15. BIN
      static/images/chat-read.gif
  16. BIN
      static/images/greyprevious.gif
  17. BIN
      static/images/lb.gif
  18. BIN
      static/images/newpost.gif
  19. BIN
      static/images/next.gif
  20. BIN
      static/images/sticky.gif
  21. 267
      templates/Full/Board.xslt
  22. 93
      templates/Full/Boards.xslt
  23. 141
      templates/Full/Root.xslt
  24. 84
      templates/Full/elems/BoardInfo.xslt
  25. 40
      templates/Full/elems/Header.xslt
  26. 44
      templates/Full/elems/Main.xslt

@ -95,6 +95,11 @@ namespace FLocal.Common.dataobjects {
return this._parentBoardId;
}
}
public Board parentBoard {
get {
return Board.LoadById(this.parentBoardId.Value);
}
}
protected override void doFromHash(Dictionary<string, string> data) {
this._sortOrder = int.Parse(data[TableSpec.FIELD_SORTORDER]);
@ -146,7 +151,16 @@ namespace FLocal.Common.dataobjects {
}
}
public XElement exportToXmlForMainPage(UserContext context) {
public XElement exportToXmlSimpleWithParent(UserContext context) {
return new XElement("board",
new XElement("id", this.id),
new XElement("name", this.name),
new XElement("description", this.description),
new XElement("parent", this.parentBoardId.HasValue ? this.parentBoard.exportToXmlSimpleWithParent(context) : this.category.exportToXmlSimple(context))
);
}
public XElement exportToXml(UserContext context, bool includeSubBoards) {
XElement result = new XElement("board",
new XElement("id", this.id),
new XElement("sortOrder", this.sortOrder),
@ -159,9 +173,9 @@ namespace FLocal.Common.dataobjects {
new XElement("lastPostInfo", this.exportLastPostInfo())
);
if(!this.parentBoardId.HasValue) {
if(includeSubBoards) {
result.Add(new XElement("subBoards",
from board in this.subBoards select board.exportToXmlForMainPage(context)
from board in this.subBoards select board.exportToXml(context, false)
));
}

@ -96,11 +96,19 @@ namespace FLocal.Common.dataobjects {
}
}
public XElement exportToXmlSimple(UserContext context) {
return new XElement("category",
new XElement("id", this.id),
new XElement("name", this.name)
);
}
public XElement exportToXmlForMainPage(UserContext context) {
return new XElement("category",
new XElement("id", this.id),
new XElement("name", this.name),
new XElement("sortOrder", this.sortOrder),
new XElement("boards", from board in this.subBoards select board.exportToXmlForMainPage(context))
new XElement("boards", from board in this.subBoards select board.exportToXml(context, true))
);
}

@ -13,15 +13,16 @@ namespace FLocal.IISHandler {
// return new handlers.WrongUrlHandler();
// throw new FLocalException("Malformed url");
// }
string[] requestParts = context.httprequest.Path.Split("/", StringSplitOptions.RemoveEmptyEntries);
if(requestParts.Length < 1) return new handlers.RootHandler();
switch(requestParts[0]) {
if(context.requestParts.Length < 1) return new handlers.RootHandler();
switch(context.requestParts[0].ToLower()) {
case "boards":
return new handlers.BoardsHandler();
case "board":
return new handlers.BoardHandler();
case "static":
return new handlers.StaticHandler(requestParts);
return new handlers.StaticHandler(context.requestParts);
default:
return new handlers.DebugHandler(requestParts[0]);
return new handlers.DebugHandler(context.requestParts[0]);
}
}

@ -53,6 +53,7 @@
<Compile Include="Extensions.cs" />
<Compile Include="HandlersFactory.cs" />
<Compile Include="handlers\AbstractGetHandler.cs" />
<Compile Include="handlers\BoardHandler.cs" />
<Compile Include="handlers\BoardsHandler.cs" />
<Compile Include="handlers\DebugHandler.cs" />
<Compile Include="handlers\RootHandler.cs" />

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using FLocal.Core;
namespace FLocal.IISHandler {
class WebContext : Common.UserContext {
@ -15,6 +16,13 @@ namespace FLocal.IISHandler {
}
}
private object requestParts_Locker = new object();
public string[] requestParts {
get {
return Cache<string[]>.instance.get(requestParts_Locker, () => this.httprequest.Path.Split("/", StringSplitOptions.RemoveEmptyEntries));
}
}
public HttpResponse httpresponse {
get {
return this.httpcontext.Response;

@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Xml.Linq;
using FLocal.Common;
using FLocal.Common.dataobjects;
namespace FLocal.IISHandler.handlers {
class BoardHandler : AbstractGetHandler {
override protected string templateName {
get {
return "Board.xslt";
}
}
override protected XElement[] getSpecificData(WebContext context) {
Board board = Board.LoadById(int.Parse(context.requestParts[1]));
return new XElement[] {
new XElement("currentBoard", board.exportToXmlSimpleWithParent(context)),
new XElement("boards", from subBoard in board.subBoards select subBoard.exportToXml(context, true))
};
}
}
}

@ -11,12 +11,12 @@ namespace FLocal.IISHandler.handlers {
override protected string templateName {
get {
throw new NotImplementedException();
return "Root.xslt";
}
}
override protected XElement[] getSpecificData(WebContext context) {
throw new NotImplementedException();
return new XElement[0];
}
}

@ -21,7 +21,7 @@ namespace FLocal.IISHandler.handlers {
throw new HttpException(403, "listing not allowed");
}
Regex checker = new Regex("^[a-z][0-9a-z]*(\\.[a-zA-Z]+)?$", RegexOptions.Compiled | RegexOptions.CultureInvariant | RegexOptions.IgnoreCase | RegexOptions.Singleline);
Regex checker = new Regex("^[a-z][0-9a-z\\-]*(\\.[a-zA-Z]+)?$", RegexOptions.Compiled | RegexOptions.CultureInvariant | RegexOptions.IgnoreCase | RegexOptions.Singleline);
string path = "";
for(int i=1; i<this.requestParts.Length; i++) {
if(!checker.IsMatch(this.requestParts[i])) {

@ -50,3 +50,21 @@ pre
width: 99%;
}
[type=button].iconize, [type=submit].iconize {
padding-left:16px;
background-position:center left;
background-repeat:no-repeat;
font-size:10px;
}
.separate {
padding-left:0.2em;
padding-right:0.2em;
}
.tablesurround, .tableborders {
border-collapse:collapse;
}
.tablesurround > tr > td, .tableborders > tr > td {
border:solid 1px black;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 B

@ -0,0 +1,267 @@
<?xml version="1.0" encoding="Windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
<xsl:import href="elems\Main.xslt"/>
<xsl:import href="elems\BoardInfo.xslt"/>
<xsl:template name="specific">
<table width="95%" align="center" cellpadding="1" cellspacing="1" class="tablesurround">
<tr>
<td>
<table cellpadding="3" cellspacing="1" width="100%" border="0" class="tableborders">
<tr class="darktable">
<td colspan="6">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2" class="catandforum">
<xsl:apply-templates select="currentBoard" mode="breadcrumbs"/>
</td>
<td align="right" valign="bottom">
<table border="0" class="tablesurround">
<tr>
<td class="navigation" nowrap="nowrap">
<!-- postoption is either newpost.gif or greynewpost.gif -->
<img src="/static/images/newpost.gif" alt="Íîâîå ñîîáùåíèå" border="0" width="13" height="15" style="vertical-align: text-bottom" />
<a href="/newpost.php?Cat=&amp;Board=Common&amp;page=0&amp;src=&amp;sb=5&amp;o=&amp;showlite=">Ñîîáùåíèå</a>
</td>
<td class="navigation" nowrap="nowrap">
<form method="get" action="/postlist.php" name="fullview">
<select name="fullview" class="formboxes" style="font-size:10px" onchange="document.forms.fullview.submit()">
<option value="0">Íîðì</option>
<option value="1">Îôò</option>
<option value="2" selected="selected">Ìóñ</option>
</select>
</form>
</td>
<td class="navigation" nowrap="nowrap">
<!-- prevoption is either previous.gif or greyprevious.gif -->
<a>
<img alt="Ïðåäûäóùàÿ ñòðàíèöà" border="0" width="12" height="15" style="vertical-align: text-bottom">
<xsl:attribute name="src">/static/images/greyprevious.gif</xsl:attribute>
</img>
<span>Ïðåä.</span>
</a>
</td>
<td class="navigation" nowrap="nowrap">
<a href="/ubbthreads.php?Cat=&amp;C=1">
<img src="/static/images/all.gif" alt="Ñïèñîê ôîðóìîâ" border="0" width="19" height="15" style="vertical-align: text-bottom" />
<span>Ñïèñîê</span>
</a>
</td>
<td class="navigation" nowrap="nowrap">
<!-- nextoption is either next.gif or greynext.gif -->
<a href="/postlist.php?Cat=&amp;Board=Common&amp;page=1&amp;fullview=&amp;src=&amp;sb=5&amp;o=&amp;showlite=">
<img alt="Ñëåäóþùàÿ ñòðàíèöà" border="0" width="14" height="15" style="vertical-align: text-bottom">
<xsl:attribute name="src">/static/images/next.gif</xsl:attribute>
</img>
<span>Ñëåä.</span>
</a>
</td>
<td class="navigation">
<a href="/ubbthreads.php?check=Common&amp;src=&amp;showlite=">
<img src="/static/images/lb.gif" border="0" alt="Ïðî÷èòàòü âñ¸" style="vertical-align: text-bottom" />
</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<br/>
<xsl:if test="boards/board">
<table width="95%" align="center" class="tableborders" border="1">
<tr>
<td class="tdheader" colspan="2" width="61%">Ïîäðàçäåëû</td>
<td class="tdheader" align="center" width="7%">Òåìû</td>
<td class="tdheader" align="center" width="7%">Ñîîáùåíèé</td>
<td class="tdheader" align="center" width="15%">Ïîñëåäíåå</td>
<td class="tdheader" align="center" width="10%">Ìîäåðàòîð</td>
</tr>
<xsl:apply-templates select="boards/board"/>
</table>
<br/>
</xsl:if>
<table width="95%" align="center" class="tablesurround">
<tr>
<td>
<table cellpadding="3" cellspacing="1" width="100%" class="tableborders">
<tr>
<td align="left" width="55%" class="tdheader">Òåìà</td>
<td align="left" nowrap="nowrap" width="15%" class="tdheader">Àâòîð</td>
<td nowrap="nowrap" width="5%" class="tdheader" align="center">Ïðîñìîòðû</td>
<td nowrap="nowrap" width="5%" class="tdheader" align="center">Îòâåòû</td>
<td nowrap="nowrap" width="20%" class="tdheader" align="center">Ïîñëåäíåå</td>
</tr>
<!-- BEGIN POST LOOP DO NOT DELETE -->
<tr>
<td align="left" class="lighttable">
<xsl:attribute name="title">Äàâàéòå âûêëàäûâàòü ñþäà ñâîè ôîòîãðàôèè ñ ïðåòåíçèåé íà õóäîæåñòâåííîñòü èëè ïðîñòî êðàñèâûå.
À ïîòîì ïðîâåäåì êîíêóðñ è äàäèì êàêîé-íòü ïðèç
&#160;Åñëè Âû íàøëè ýòîò òðåä â ìóñîðêå, âåðíèòå åãî ïîæàëóéñòà â Common. Atilla
Ñïåöèàëèçèðîâàííûé ñàéò ôîòî-âûñòàâêè: http://hg.b.gz.ru/peg/ by heGoat.</xsl:attribute>
<img alt="*" src="/static/images/book-notread.gif" hspace="5" style="vertical-align: text-bottom" />
<a href="/showflat.php?Cat=&amp;Board=Common&amp;Number=9546068&amp;Main=479355&amp;fullview=&amp;src=&amp;o=&amp;showlite=&amp;tistart=#Post9546068">
<img src="/static/images/sticky.gif" width="16" height="16" alt="" border="0" style="vertical-align: text-bottom" />
<span>Ôîòî-âûñòàâêà.</span>
</a>
<span class="small" style="margin-left:1.5em">
<a class="separate" href="/Thread/NOTIMPLEMENTED/p0/">0</a>
<a class="separate" href="/Thread/NOTIMPLEMENTED/p20/">20</a>
<a class="separate" href="/Thread/NOTIMPLEMENTED/p4620/">4620</a>
<a class="separate" href="/Thread/NOTIMPLEMENTED/p4640/">4640</a>
<a class="separate" href="/Thread/NOTIMPLEMENTED/all/">Âñå</a>
</span>
</td>
<td align="left" nowrap="nowrap" class="lighttable">
<a href="/showprofile.php?Cat=&amp;User=heGoat&amp;Board=Common&amp;what=ubbthreads&amp;page=0&amp;src=&amp;sb=5&amp;o="><font color="#0000FF">heGoat</font></a>
</td>
<td align="center" class="lighttable">
<span>811077</span>
</td>
<td align="center" nowrap="nowrap" class="lighttable">
<span class="separate">26633</span>
<a class="cup separate" href="/postlist.php?Cat=&amp;Board=Common&amp;page=0&amp;fullview=&amp;src=&amp;sb=5&amp;o=&amp;cupthread=479355&amp;cupmaxnumber=9559703&amp;showlite=" >
<font class="new"><i>(10)</i></font>
</a>
<a class="cup separate" href="/postlist.php?Cat=&amp;Board=Common&amp;page=0&amp;fullview=&amp;src=&amp;sb=5&amp;o=&amp;cupthread=479355&amp;cupdisc=1&amp;showlite=" >
<font class="new2"><i>(41)</i></font>
</a>
</td>
<td nowrap="nowrap" align="center" class="lighttable">
<span>13.09.2003 15:08</span>
</td>
</tr>
<!-- END OF LOOP -->
<tr class="tdheader">
<td colspan="5">
<font class="onbody">
<span class="separate">ñòðàíèöû:</span>
<a class="separate">0</a>
<a class="separate">
<xsl:attribute name="href">/Board/1/p20/</xsl:attribute>
<span>20</span>
</a>
<a class="separate">
<xsl:attribute name="href">/Board/1/p40/</xsl:attribute>
<span>40</span>
</a>
<a class="separate">
<xsl:attribute name="href">/Board/1/p60/</xsl:attribute>
<span>60</span>
</a>
</font>
</td>
</tr>
</table>
</td>
</tr>
</table>
<br />
<table width="95%" align="center" cellpadding="1" cellspacing="1" class="tablesurround">
<tr>
<td>
<table cellpadding="3" cellspacing="1" width="100%" border="0" class="tableborders">
<tr class="tdheader">
<td colspan="3">Äîïîëíèòåëüíàÿ èíôîðìàöèÿ</td>
</tr>
<tr class="lighttable">
<td width="33%" class="small" valign="top">
<span>11 çàðåãèñòðèðîâàííûõ è 1 àíîíèìíûõ ïîëüçîâàòåëåé ïðîñìàòðèâàþò ýòîò ôîðóì.</span>
<br />
<br />
<span>Ìîäåðàòîðû:</span>
<a class="separate" href="/showprofile.php?User=Sash&amp;What=ubbthreads">Sash</a>
<a class="separate" href="/showprofile.php?User=DeadmoroZ&amp;What=ubbthreads">DeadmoroZ</a>&#160;
<br />
<br />
</td>
<td valign="top" align="left" class="small" width="33%">
<b>Ïðàâà</b>
<table style="margin-left:4em">
<tr><td>Âû ìîæåòå ñîçäàâàòü íîâûå òåìû</td></tr>
<tr><td>Âû ìîæåòå îòâå÷àòü íà ñîîáùåíèÿ</td></tr>
<tr><td>HTML îòêëþ÷åí</td></tr>
<tr><td>UBBCode âêëþ÷åí</td></tr>
</table>
</td>
<td class="small" valign="top">
<b>Ëåãåíäà:</b>
<table style="margin-left:4em">
<tr>
<td><img src="/static/images/book-notread.gif" alt="" style="vertical-align: text-bottom" /></td>
<td><span>Íîâûå ñîîáùåíèÿ</span></td>
</tr>
<tr>
<td><img src="/static/images/book-read.gif" alt="" style="vertical-align: text-bottom" /></td>
<td><span>Íåò íîâûõ ñîîáùåíèé</span></td>
</tr>
<tr>
<td><img src="/static/images/chat-notread.gif" alt="" style="vertical-align: text-bottom" /></td>
<td><span>Íîâûå ñîîáùåíèÿ</span></td>
</tr>
<tr>
<td><img src="/static/images/chat-read.gif" alt="" style="vertical-align: text-bottom" /></td>
<td><span>Íåò íîâûõ ñîîáùåíèé</span></td>
</tr>
</table>
</td>
</tr>
<tr class="lighttable">
<td align="left" width="33%" class="small">
<form method="get" action="/dosearch.php">
<span>Ïîèñê â ôîðóìå</span>
<input type="text" name="Words" class="formboxes" style="font-size:10px" />
<input type="submit" name="textsearch" value="Ïîèñê" class="buttons" style="font-size:10px" />
</form>
</td>
<td align="left" width="33%" class="small">
<form method="post" action="/addfav.php?Cat=&amp;Board=Common&amp;type=board&amp;src=&amp;showlite=">
<input type="submit" value="Â ôàâîðèòû!" class="buttons iconize" style="background-image:url('/images/favorites.gif');" />
</form>
<form method="post" action="/togglesub.php?Cat=&amp;Board=Common&amp;page=0&amp;src=&amp;sb=5&amp;o=">
<input type="submit" value="Ñïðÿòàòü" class="buttons iconize" style="background-image:url('/images/hide.gif');" />
</form>
<form action="/changerss.php?Cat=&amp;rss_board_add=Common&amp;src=" method="post">
<input type="submit" value="&#160;&#160;" class="buttons iconize" style="width:32px;background-image:url('/images/rss.png');" />
</form>
</td>
<td align="left" class="small">
<form method="post" action="/jumper.php">
<span>Ïåðåõîä â</span>
<select name="board" class="formboxes" style="font-size:10px" >
<option value ="-CATJUMP-1">-General-</option>
<option value="Common" selected="selected">&#160;&#160;&#160;Common</option>
<option value="current" >&#160;&#160;&#160;Current</option>
<option value="University" >&#160;&#160;&#160;University</option>
</select>
<input type="submit" style="font-size:10px" name="Jump" value="Ïåðåéòè" class="buttons" />
</form>
</td>
</tr>
</table>
</td>
</tr>
</table>
</xsl:template>
<xsl:template match="category">
<table width="100%" align="center" class="tableborders" cellpadding="3" cellspacing="1">
<tr>
<td class="tdheader" colspan="2" width="61%"><xsl:value-of select="name"/></td>
<td class="tdheader" align="center" width="7%">Òåìû</td>
<td class="tdheader" align="center" width="7%">Ñîîáùåíèé</td>
<td class="tdheader" align="center" width="15%">Ïîñëåäíåå</td>
<td class="tdheader" align="center" width="10%">Ìîäåðàòîð</td>
</tr>
<xsl:apply-templates select="boards/board"/>
</table>
</xsl:template>
</xsl:stylesheet>

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="Windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
<xsl:import href="elems\Main.xslt"/>
<xsl:import href="elems\BoardInfo.xslt"/>
<xsl:template name="specific">
<table width="95%" align="center" class="tablesurround" cellspacing="1" cellpadding="1">
<tr>
@ -21,17 +22,17 @@
</tr>
<tr class="lighttable">
<td width="45%" class="small" valign="top">
Âû âîøëè â ôîðóì êàê summersun
<span>Вы вошли в форум как summersun</span>
<br />
18983 Çàðåãèñòðèðîâàííûõ ïîëüçîâàòåëåé.
<span>18983 Зарегистрированных пользователей.</span>
<br />
Ïðèâåòñòâóåì íîâîãî ïîëüçîâàòåëÿ,
<span>Приветствуем нового пользователя,</span>
<a href="/showprofile.php?User=_PC&amp;What=ubbthreads">_PC</a>
<br />
Ñåé÷àñ 222 çàðåãèñòðèðîâàííûõ è 54 àíîíèìíûõ ïîëüçîâàòåëåé â îíëàéíå.
<span>Сейчас 222 зарегистрированных и 54 анонимных пользователей в онлайне.</span>
<br />
<a href="/editdisplay.php?Cat=#offset">Òåêóùåå âðåìÿ:</a>
08.06.2010 14:17, Âòîðíèê
<span>08.06.2010 14:17, Вторник</span>
</td>
<td width="30%" class="small" valign="top">
<b>Ïðîñìîòð íîâûõ ñîîáùåíèé</b>
@ -48,10 +49,10 @@
<b>Ëåãåíäà:</b>
<br />
<img src="/static/images/newposts.gif" alt="*" />
Íîâûå ñîîáùåíèÿ
<span>Новые сообщения</span>
<br />
<img src="/static/images/nonewposts.gif" alt="*" />
Íåò íîâûõ ñîîáùåíèé
<span>Нет новых сообщений</span>
</td>
</tr>
</table>
@ -73,82 +74,4 @@
</table>
</xsl:template>
<xsl:template match="board">
<tr>
<td width="4%" class="darktable" align="center" valign="middle">
<a>
<xsl:attribute name="onClick">if(!confirm('Ïîìåòèòü âñå ñîîáùåíèÿ êàê ïðî÷èòàííûå?')) {event.returnValue=false; return false;} else { alert("Not implemented yet"); }</xsl:attribute>
<xsl:choose>
<xsl:when test="hasNewPosts='true'">
<img border="0" width="17" height="21" src="/static/images/newposts.gif" alt=""/>
</xsl:when>
<xsl:otherwise>
<img border="0" width="17" height="21" src="/static/images/nonewposts.gif" alt=""/>
</xsl:otherwise>
</xsl:choose>
</a>
</td>
<td width="57%" class="darktable">
<font class="forumtitle">
<a>
<xsl:attribute name="href">/Threads/<xsl:value-of select="id"/>/</xsl:attribute>
<xsl:value-of select="name"/>
</a>
</font>
<br />
<table cellpadding="0" cellspacing="0">
<tr>
<td class="forumdescript" style="padding-right:0.5em">
<a href="/apostlist.php?Cat=&amp;Board=Common">
<xsl:attribute name="href">/Threads/<xsl:value-of select="id"/>/</xsl:attribute>
A
</a>
</td>
<td class="forumdescript"><xsl:value-of select="description"/></td>
</tr>
<xsl:if test="subBoards/board">
<tr>
<td class="forumdescript">&#160;</td>
<td class="forumdescript" style="padding-top:0.3em">
<xsl:apply-templates select="subBoards/board"/>
</td>
</tr>
</xsl:if>
</table>
</td>
<td width="7%" align="center" class="threadtotal" nowrap="nowrap"><xsl:value-of select="totalThreads"/></td>
<td width="7%" align="center" class="posttotal" nowrap="nowrap"><xsl:value-of select="totalPosts"/></td>
<td width="15%" nowrap="nowrap" class="posttime">
<xsl:apply-templates select="lastPostInfo"/>
</td>
<td width="10%" class="modcolumn" align="center">
<a href="/showprofile.php?User=Sash&amp;What=ubbthreads">Sash</a>,
<a href="/showprofile.php?User=DeadmoroZ&amp;What=ubbthreads">DeadmoroZ</a>
</td>
</tr>
</xsl:template>
<xsl:template match="lastPostInfo">
<xsl:choose>
<xsl:when test="post">
<xsl:value-of select="post/date"/><br />
<a>
<xsl:attribute name="href">/Thread/NOTIMPLEMENTED/p<xsl:value-of select="post/id"/>/</xsl:attribute>
îò <xsl:value-of select="post/user/name"/>
</a>
</xsl:when>
<xsl:otherwise>
N/A
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="subBoards/board">
<span style="margin-left:0.5em;margin-right:0.5em">
<a>
<xsl:attribute name="href">/Threads/<xsl:value-of select="id"/>/</xsl:attribute>
<xsl:value-of select="description"/>
</a>
</span>
</xsl:template>
</xsl:stylesheet>

@ -0,0 +1,141 @@
<?xml version="1.0" encoding="Windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
<xsl:output method="xml" indent="no" encoding="UCS-2"/>
<xsl:template match="/root">
<html>
<head>
<link rel="stylesheet" href="/static/css/coffeehaus.css" type="text/css" />
<title><xsl:value-of select="title"/></title>
<link rel="stylesheet" href="/static/css/decoration.css" />
</head>
<body>
<center>
<font size="-2">Âñåãäà ïîëåçíî:</font>
<br/>
<a href="http://www.yandex.ru" target="_blank"><img src="/icons/yandex.gif" alt="Yandex"/></a>
<a href="http://www.google.com" target="_blank"><img src="/icons/google.gif" alt="Google"/></a>
<a href="http://www.mail.ru" target="_blank"><img src="/icons/mailru.gif" alt="Mail.ru"/></a>
<a href="http://www.rambler.ru" target="_blank"><img src="/icons/rambler.gif" alt="Rambler"/></a>
<br/>
<br/>
<a href="http://www.msumarket.ru/"><img src="/banners/msumarket-hor.jpg"/></a>
</center>
<br/>
<table WIDTH="95%" align="center" cellpadding="1" cellspacing="1" class="tablesurround">
<tr>
<td>
<table cellpadding="1" cellspacing="0" width="100%" class="tableborders" height="100%">
<tr class="menubar">
<td width="90">Internet &gt;&gt;</td>
<td><a href="https://172.16.0.11/">Èíòåðíåò...</a></td>
<td align="right"><a href="/sendmail.php"><font color="red">Ïðîáëåìû ñ ñåòüþ èëè èíòåðíåòîì?</font></a></td>
</tr>
</table>
</td>
</tr>
</table>
<table width="95%" align="center" cellpadding="1" cellspacing="1" class="tablesurround">
<tr>
<td>
Hello, summersun (External IP).
<table cellpadding="1" cellspacing="0" width="100%" class="tableborders" height="100%">
<tr class="menubar">
<td align="left" width="50%" id="decor">
<a href="/Boards/">Ôîðóì</a>&#160;|&#160;<a href="/Boards/">Ëàéò</a>&#160;|&#160;<a href="/Boards/">SL</a>
</td>
<td align="right" width="50%">
<a href="/Boards/">SL</a>&#160;|&#160;<a href="/Boards/">Lite</a>&#160;|&#160;<a href="/Boards/">Forum</a>
</td>
</tr>
<tr class="menubar">
<td align="left" width="50%">
<a href="http://search.snto.ru">Ïîèñê â ñåòè</a>
</td>
<td align="right" width="50%">
<a href="http://search.snto.ru">Search in network</a>
</td>
</tr>
<tr class="menubar">
<td align="left" width="50%">
<a href="http://radio.local:8000">Ðàäèî â ñåòè</a>
</td>
<td align="right" width="50%">
<a href="http://radio.local:8000">Radio</a>
</td>
</tr>
<tr class="menubar">
<td align="left" width="50%">
<a href="http://lib.mexmat.ru/">Ýëåêòðîííàÿ áèáëèîòåêà ìåõìàòà</a>
</td>
<td align="right" width="50%">
<a href="http://lib.mexmat.ru/">Scientific Library</a>
</td>
</tr>
<tr class="menubar">
<td align="left" width="50%">
<a href="http://lair.mexmat.net/wiki/weather">Ïîãîäà</a>
</td>
<td align="right" width="50%">
<a href="http://lair.mexmat.net/wiki/weather">Weather</a>
</td>
</tr>
<tr class="menubar">
<td align="left" width="50%">
<a href="http://lib.v.ru/">Çåðêàëî Áèáëèîòåêè Ìîøêîâà</a>
</td>
<td align="right" width="50%">
<a href="http://lib.v.ru/">Lib.ru Mirror</a>
</td>
</tr>
<tr class="menubar">
<td align="left" width="50%">
<a href="http://search.snto.ru/shownet.pl">Îáçîð ñåòè</a>
</td>
<td align="right" width="50%">
<a href="http://search.snto.ru/shownet.pl">Browse network</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="95%" align="center" cellpadding="1" cellspacing="1" class="tablesurround">
<tr>
<td>
Íàéòè ôàéë â ñåòè:
<form name="searchform" action="send_lorien.php" method="get">
<input type="text" name="what" size="25"/>
<input type="hidden" name="restype" value="all"/>
</form>
</td>
</tr>
</table>
<center>
<font size="-2">Ìîæåò ïðèãîäèòüñÿ:</font>
<br/>
<a href="http://www.megabook.ru/Megabook2/"><img src="/icons/megabook.gif" alt="Ýíöèêëîïåäèÿ &quot;Êèðèëëà è Ìåôîäèÿ&quot;"/></a>
<a href="http://lingvo.yandex.ru"><img src="/icons/lingvo.gif" alt="Lingvo - ýëåêòðîííûé ñëîâàðü"/></a>
<a href="http://www.eatlas.ru"><img src="/icons/eatlas.gif" alt="Êàðòû ãîðîäîâ è ñòðàí ìèðà"/></a>
<a href="http://www.gismeteo.ru"><img src="/icons/gismeteo.gif" alt="Ïîãîäà îò Ôîáîñ"/></a>
<a href="http://www.afisha.ru"><img src="/icons/afisha.gif" alt="Afisha - Âñå ðàçâëå÷åíèÿ Ìîñêâû"/></a>
<a href="http://www.translate.ru"><img src="/icons/logo_a.gif" alt="Online ïåðåâîä÷èê"/></a>
<a href="http://metallibrary.ru/"><img src="/icons/metlib-88x31.gif" alt="Metal Library"/></a>
<br/>
<hr width="95%"/>
<font size="-2">Áåç ðåêëàìû íèêóäà:</font>
<br/>
<a href="http://www.cd-studio.ru/index_full.php"><img src="/icons/rabot.gif" alt="Rabot"/></a>
<br/>
<a href="http://www.fxmoney.ru/"><img src="/banners/fxmoney.gif" alt="FXMoney"/></a>
<br/>
<a href="http://www.zhelezona.ru/"><img src="/user/upload/file10116.png" alt="ZheleZona"/></a>
<br/>
<br/>
<br/>
</center>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="Windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
<xsl:template match="board">
<tr>
<td width="4%" class="darktable" align="center" valign="middle">
<a>
<xsl:attribute name="onClick">if(!confirm('Ïîìåòèòü âñå ñîîáùåíèÿ êàê ïðî÷èòàííûå?')) {event.returnValue=false; return false;} else { alert("Not implemented yet"); }</xsl:attribute>
<xsl:choose>
<xsl:when test="hasNewPosts='true'">
<img border="0" width="17" height="21" src="/static/images/newposts.gif" alt=""/>
</xsl:when>
<xsl:otherwise>
<img border="0" width="17" height="21" src="/static/images/nonewposts.gif" alt=""/>
</xsl:otherwise>
</xsl:choose>
</a>
</td>
<td width="57%" class="darktable">
<font class="forumtitle">
<a>
<xsl:attribute name="href">/Board/<xsl:value-of select="id"/>/</xsl:attribute>
<xsl:value-of select="name"/>
</a>
</font>
<br />
<table cellpadding="0" cellspacing="0">
<tr>
<td class="forumdescript" style="padding-right:0.5em">
<a href="/apostlist.php?Cat=&amp;Board=Common">
<xsl:attribute name="href">/Board/<xsl:value-of select="id"/>/</xsl:attribute>
<span>A</span>
</a>
</td>
<td class="forumdescript"><xsl:value-of select="description"/></td>
</tr>
<xsl:if test="subBoards/board">
<tr>
<td class="forumdescript">&#160;</td>
<td class="forumdescript" style="padding-top:0.3em">
<xsl:apply-templates select="subBoards/board"/>
</td>
</tr>
</xsl:if>
</table>
</td>
<td width="7%" align="center" class="threadtotal" nowrap="nowrap"><xsl:value-of select="totalThreads"/></td>
<td width="7%" align="center" class="posttotal" nowrap="nowrap"><xsl:value-of select="totalPosts"/></td>
<td width="15%" nowrap="nowrap" class="posttime">
<xsl:apply-templates select="lastPostInfo"/>
</td>
<td width="10%" class="modcolumn" align="center">
<a href="/showprofile.php?User=Sash&amp;What=ubbthreads">Sash</a>
<span>, </span>
<a href="/showprofile.php?User=DeadmoroZ&amp;What=ubbthreads">DeadmoroZ</a>
</td>
</tr>
</xsl:template>
<xsl:template match="lastPostInfo">
<xsl:choose>
<xsl:when test="post">
<xsl:value-of select="post/date"/><br />
<a>
<xsl:attribute name="href">/Thread/NOTIMPLEMENTED/p<xsl:value-of select="post/id"/>/</xsl:attribute>
<span>îò</span>
<xsl:value-of select="post/user/name"/>
</a>
</xsl:when>
<xsl:otherwise>
<span>N/A</span>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="subBoards/board">
<span style="margin-left:0.5em;margin-right:0.5em">
<a>
<xsl:attribute name="href">/Board/<xsl:value-of select="id"/>/</xsl:attribute>
<xsl:value-of select="name"/>
</a>
</span>
</xsl:template>
</xsl:stylesheet>

@ -8,17 +8,20 @@
<tr>
<td width="100%" class="topmenu" align="center">
<a href ="/" >Root</a>
| <a href ="http://google.com/" target="_blank">Google</a>
| <a href ="http://yandex.ru/" target="_blank">Yandex</a>
| <a href ="http://mail.ru" target="_blank">Mail.ru</a>
| <a href ="http://www.vedomosti.ru/" target="_blank">Vedomosti</a>
| <a href ="http://www.afisha.ru/" target="_blank">Afisha</a>
| <a href ="http://weather.yandex.ru/27612/" target="_blank">Weather</a>
| <a href ="/sendmail.php" target="_blank">LAN Support</a>
</td>
</tr>
<tr>
<td width="100%" colspan="3" height="1" class="tableborders">
<span> | </span>
<a href ="http://google.com/" target="_blank">Google</a>
<span> | </span>
<a href ="http://yandex.ru/" target="_blank">Yandex</a>
<span> | </span>
<a href ="http://mail.ru" target="_blank">Mail.ru</a>
<span> | </span>
<a href ="http://www.vedomosti.ru/" target="_blank">Vedomosti</a>
<span> | </span>
<a href ="http://www.afisha.ru/" target="_blank">Afisha</a>
<span> | </span>
<a href ="http://weather.yandex.ru/27612/" target="_blank">Weather</a>
<span> | </span>
<a href ="/sendmail.php" target="_blank">LAN Support</a>
</td>
</tr>
</table>
@ -31,18 +34,19 @@
<table width="100%" class="tableborders" cellpadding="3" cellspacing="1">
<tr>
<td align="center" class="menubar">
<a href = "/ubbthreads.php?Cat=" target="_top">Ñïèñîê ôîðóìîâ</a>
|
<a href = "/Boards/" target="_top">Ńďčńîę ôîđóěîâ</a>
<span> | </span>
<a href = "/word-search.php" target="_top">Ïîèñê</a>
|
<span> | </span>
<a href = "/login.php?Cat=" target="_top">My Home</a>
|
<span> | </span>
<a href = "/online.php?Cat=" target="_top">Êòî â îíëàéíå</a>
|
<span> | </span>
<a href = "/faq_russian.php" target="_top">FAQ</a>
|
<span> | </span>
<a href = "/logout.php?key=8b46d53aaa0096f6695478f81503082c" target="_top">Âûõîä</a>
| <a href="/showmembers.php?Cat=&amp;page=1" target="_top">Ïîëüçîâàòåëè</a>
<span> | </span>
<a href="/showmembers.php?Cat=&amp;page=1" target="_top">Ďîëüçîâŕňĺëč</a>
</td>
</tr>
</table>

@ -14,30 +14,34 @@
<xsl:call-template name="header"/>
<xsl:call-template name="specific"/>
<br />
Data used for authoring this XHTML document:
<span>Data used for authoring this XHTML document:</span>
<xmp><xsl:copy-of select="/"/></xmp>
</body>
</html>
</xsl:template>
<xsl:template match="parent" mode="breadcrumbsPart">
<xsl:apply-templates select="*/parent" mode="breadcrumbsPart"/>
<xsl:if test="category/id">
<a>
<xsl:attribute name="href">/Boards/</xsl:attribute>
<xsl:value-of select="category/name"/>
</a>
<span> &gt;&gt; </span>
</xsl:if>
<xsl:if test="board/id">
<a>
<xsl:attribute name="href">/Board/<xsl:value-of select="board/id"/>/</xsl:attribute>
<xsl:value-of select="board/name"/>
</a>
<span> &gt;&gt; </span>
</xsl:if>
</xsl:template>
<xsl:template match="currentBoard" mode="breadcrumbs">
<xsl:apply-templates select="*/parent" mode="breadcrumbsPart"/>
<xsl:value-of select="board/name"/>
</xsl:template>
</xsl:stylesheet>
<!--
<h1>Persons</h1>
<ul>
<xsl:apply-templates select="person">
<xsl:sort select="family-name" />
</xsl:apply-templates>
</ul>
</body>
</html>
</xsl:template>
<xsl:template match="person">
<li>
<xsl:value-of select="family-name"/><xsl:text>, </xsl:text>
<xsl:value-of select="name"/>
</li>
</xsl:template>
-->
Loading…
Cancel
Save