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. 42
      templates/Full/elems/Main.xslt

@ -95,6 +95,11 @@ namespace FLocal.Common.dataobjects {
return this._parentBoardId; return this._parentBoardId;
} }
} }
public Board parentBoard {
get {
return Board.LoadById(this.parentBoardId.Value);
}
}
protected override void doFromHash(Dictionary<string, string> data) { protected override void doFromHash(Dictionary<string, string> data) {
this._sortOrder = int.Parse(data[TableSpec.FIELD_SORTORDER]); 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", XElement result = new XElement("board",
new XElement("id", this.id), new XElement("id", this.id),
new XElement("sortOrder", this.sortOrder), new XElement("sortOrder", this.sortOrder),
@ -159,9 +173,9 @@ namespace FLocal.Common.dataobjects {
new XElement("lastPostInfo", this.exportLastPostInfo()) new XElement("lastPostInfo", this.exportLastPostInfo())
); );
if(!this.parentBoardId.HasValue) { if(includeSubBoards) {
result.Add(new XElement("subBoards", 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) { public XElement exportToXmlForMainPage(UserContext context) {
return new XElement("category", return new XElement("category",
new XElement("id", this.id),
new XElement("name", this.name), new XElement("name", this.name),
new XElement("sortOrder", this.sortOrder), 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(); // return new handlers.WrongUrlHandler();
// throw new FLocalException("Malformed url"); // throw new FLocalException("Malformed url");
// } // }
string[] requestParts = context.httprequest.Path.Split("/", StringSplitOptions.RemoveEmptyEntries); if(context.requestParts.Length < 1) return new handlers.RootHandler();
if(requestParts.Length < 1) return new handlers.RootHandler(); switch(context.requestParts[0].ToLower()) {
switch(requestParts[0]) {
case "boards": case "boards":
return new handlers.BoardsHandler(); return new handlers.BoardsHandler();
case "board":
return new handlers.BoardHandler();
case "static": case "static":
return new handlers.StaticHandler(requestParts); return new handlers.StaticHandler(context.requestParts);
default: default:
return new handlers.DebugHandler(requestParts[0]); return new handlers.DebugHandler(context.requestParts[0]);
} }
} }

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

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Web; using System.Web;
using FLocal.Core;
namespace FLocal.IISHandler { namespace FLocal.IISHandler {
class WebContext : Common.UserContext { 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 { public HttpResponse httpresponse {
get { get {
return this.httpcontext.Response; 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 { override protected string templateName {
get { get {
throw new NotImplementedException(); return "Root.xslt";
} }
} }
override protected XElement[] getSpecificData(WebContext context) { 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"); 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 = ""; string path = "";
for(int i=1; i<this.requestParts.Length; i++) { for(int i=1; i<this.requestParts.Length; i++) {
if(!checker.IsMatch(this.requestParts[i])) { if(!checker.IsMatch(this.requestParts[i])) {

@ -50,3 +50,21 @@ pre
width: 99%; 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"?> <?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: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\Main.xslt"/>
<xsl:import href="elems\BoardInfo.xslt"/>
<xsl:template name="specific"> <xsl:template name="specific">
<table width="95%" align="center" class="tablesurround" cellspacing="1" cellpadding="1"> <table width="95%" align="center" class="tablesurround" cellspacing="1" cellpadding="1">
<tr> <tr>
@ -21,17 +22,17 @@
</tr> </tr>
<tr class="lighttable"> <tr class="lighttable">
<td width="45%" class="small" valign="top"> <td width="45%" class="small" valign="top">
Âû âîøëè â ôîðóì êàê summersun <span>Вы вошли в форум как summersun</span>
<br /> <br />
18983 Çàðåãèñòðèðîâàííûõ ïîëüçîâàòåëåé. <span>18983 Зарегистрированных пользователей.</span>
<br /> <br />
Ïðèâåòñòâóåì íîâîãî ïîëüçîâàòåëÿ, <span>Приветствуем нового пользователя,</span>
<a href="/showprofile.php?User=_PC&amp;What=ubbthreads">_PC</a> <a href="/showprofile.php?User=_PC&amp;What=ubbthreads">_PC</a>
<br /> <br />
Ñåé÷àñ 222 çàðåãèñòðèðîâàííûõ è 54 àíîíèìíûõ ïîëüçîâàòåëåé â îíëàéíå. <span>Сейчас 222 зарегистрированных и 54 анонимных пользователей в онлайне.</span>
<br /> <br />
<a href="/editdisplay.php?Cat=#offset">Òåêóùåå âðåìÿ:</a> <a href="/editdisplay.php?Cat=#offset">Òåêóùåå âðåìÿ:</a>
08.06.2010 14:17, Âòîðíèê <span>08.06.2010 14:17, Вторник</span>
</td> </td>
<td width="30%" class="small" valign="top"> <td width="30%" class="small" valign="top">
<b>Ïðîñìîòð íîâûõ ñîîáùåíèé</b> <b>Ïðîñìîòð íîâûõ ñîîáùåíèé</b>
@ -48,10 +49,10 @@
<b>Ëåãåíäà:</b> <b>Ëåãåíäà:</b>
<br /> <br />
<img src="/static/images/newposts.gif" alt="*" /> <img src="/static/images/newposts.gif" alt="*" />
Íîâûå ñîîáùåíèÿ <span>Новые сообщения</span>
<br /> <br />
<img src="/static/images/nonewposts.gif" alt="*" /> <img src="/static/images/nonewposts.gif" alt="*" />
Íåò íîâûõ ñîîáùåíèé <span>Нет новых сообщений</span>
</td> </td>
</tr> </tr>
</table> </table>
@ -73,82 +74,4 @@
</table> </table>
</xsl:template> </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> </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> <tr>
<td width="100%" class="topmenu" align="center"> <td width="100%" class="topmenu" align="center">
<a href ="/" >Root</a> <a href ="/" >Root</a>
| <a href ="http://google.com/" target="_blank">Google</a> <span> | </span>
| <a href ="http://yandex.ru/" target="_blank">Yandex</a> <a href ="http://google.com/" target="_blank">Google</a>
| <a href ="http://mail.ru" target="_blank">Mail.ru</a> <span> | </span>
| <a href ="http://www.vedomosti.ru/" target="_blank">Vedomosti</a> <a href ="http://yandex.ru/" target="_blank">Yandex</a>
| <a href ="http://www.afisha.ru/" target="_blank">Afisha</a> <span> | </span>
| <a href ="http://weather.yandex.ru/27612/" target="_blank">Weather</a> <a href ="http://mail.ru" target="_blank">Mail.ru</a>
| <a href ="/sendmail.php" target="_blank">LAN Support</a> <span> | </span>
</td> <a href ="http://www.vedomosti.ru/" target="_blank">Vedomosti</a>
</tr> <span> | </span>
<tr> <a href ="http://www.afisha.ru/" target="_blank">Afisha</a>
<td width="100%" colspan="3" height="1" class="tableborders"> <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> </td>
</tr> </tr>
</table> </table>
@ -31,18 +34,19 @@
<table width="100%" class="tableborders" cellpadding="3" cellspacing="1"> <table width="100%" class="tableborders" cellpadding="3" cellspacing="1">
<tr> <tr>
<td align="center" class="menubar"> <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> <a href = "/word-search.php" target="_top">Ïîèñê</a>
| <span> | </span>
<a href = "/login.php?Cat=" target="_top">My Home</a> <a href = "/login.php?Cat=" target="_top">My Home</a>
| <span> | </span>
<a href = "/online.php?Cat=" target="_top">Êòî â îíëàéíå</a> <a href = "/online.php?Cat=" target="_top">Êòî â îíëàéíå</a>
| <span> | </span>
<a href = "/faq_russian.php" target="_top">FAQ</a> <a href = "/faq_russian.php" target="_top">FAQ</a>
| <span> | </span>
<a href = "/logout.php?key=8b46d53aaa0096f6695478f81503082c" target="_top">Âûõîä</a> <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> </td>
</tr> </tr>
</table> </table>

@ -14,30 +14,34 @@
<xsl:call-template name="header"/> <xsl:call-template name="header"/>
<xsl:call-template name="specific"/> <xsl:call-template name="specific"/>
<br /> <br />
Data used for authoring this XHTML document: <span>Data used for authoring this XHTML document:</span>
<xmp><xsl:copy-of select="/"/></xmp> <xmp><xsl:copy-of select="/"/></xmp>
</body> </body>
</html> </html>
</xsl:template> </xsl:template>
</xsl:stylesheet> <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">
<h1>Persons</h1> <xsl:apply-templates select="*/parent" mode="breadcrumbsPart"/>
<ul> <xsl:value-of select="board/name"/>
<xsl:apply-templates select="person"> </xsl:template>
<xsl:sort select="family-name" />
</xsl:apply-templates>
</ul>
</body>
</html>
</xsl:template>
<xsl:template match="person"> </xsl:stylesheet>
<li>
<xsl:value-of select="family-name"/><xsl:text>, </xsl:text>
<xsl:value-of select="name"/>
</li>
</xsl:template>
-->
Loading…
Cancel
Save