<% *-------------------------------------------------------------------------------- * AfpWiki - a Wiki engine based on Active FoxPro Pages 3.0 and higher. * Further information about Active FoxPro Pages: http://www.afpages.com * Copyright © 1998-2004 Peter Herzog * 2004,2005 Jochen Kirstaetter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *-------------------------------------------------------------------------------- * *-------------------------------------------------------------------------------- *//- Style wird Parameter (zum Testen)... lcWikiType = Evl(Request.QueryString("type"),Request.Form("type")) *//- Welches Thema bearbeiten wir denn überhaupt? lcId = Session.GetSessionData("WikiTopic") *//- Anzahl der Tage für die letzten Änderungen... luOffset = Evl(Request.QueryString("days"),Request.Form("days")) *//- Falls wir über einen Redirect kommen, sollte das auch angezeigt werden, oder? lcFrom = Evl(Request.QueryString("from"),Request.Form("from")) *//- Sicherheitshalber belegen wir ein, zwei Variablen vor... lcCaption = m.lcId lcTopic = GetBorder("_NoEntry") ldEditDate = Datetime() Do Case Case Inlist(Lower(lcId),"alphabet","kategorien","suchen") response.Call(Lower(lcId)+".afp") Return Case Lower(lcId) == "letzteaenderungen" Or ; Lower(lcId) == "recentchanges" Response.Call("letzteaenderungen.afp"+Iif(Empty(m.luOffset),"","?days="+luOffset)) Return Endcase *//- Dokumenttitel definieren - s. Event_PageAfter pcTitle = m.lcId *//- Datenbank abfragen, ob bereits zur gewünschten ID *//- ein entsprechender Eintrag vorliegt. nResult = GetTopic() If nResult < 0 Response.Call("connecterror.afp") Return Endif If Not Reccount("wiki") == 0 *//- Irgendwie haben wir mind. einen Datensatz gefunden und diesen *//- betrachten wir uns jetzt genauer... lcCaption = Alltrim(wiki.subject) lcTopic = wiki.original ldEditDate = wiki.editdate If Substr(Upper(lcTopic),2,9) == "REDIRECT " *//- Falls es sich um einen Redirect handelt, dann führen *//- wir diesen auch entsprechend aus... lcString = GetWordNum(m.lcTopic,2) Response.Reset() *--- Falls der Redirect einen ProtokollHandler (also, :// vorhanden ist), *--- dann führen wir einen direkten Redirect aus. Ansonsten gehen wir davon *--- aus, dass es sich um einen internen Redirect handelt. If "://" $ m.lcString Response.Redirect(m.lcString) Else Response.Redirect("./?id="+m.lcString+"&from="+m.lcid) EndIf Return Endif cSqlCommand = "UPDATE wiki SET count = count + 1 WHERE wiki = '"+Lower(m.lcId)+"'" nResult=SqlQuery(cSqlCommand,"wiki") If nResult < 1 Response.Call("connecterror.afp") Return Endif If Empty(m.lcWikiType) lcTopic = Wikinize(m.lcTopic) Else lcTopic = wiki.html EndIf EndIf %>
<% *//- Topic Response.Write(Server.HtmlEncode(m.lcCaption)) *//- Last update Response.Write([ - Letzte Änderung vom ]+Strtran(Transform(ldEditDate,"@YL"),";"," -")+[]) *//- Forwarded from? Response.Write(Iif(Empty(m.lcFrom),"",; [ (Weiterleitung von ]+; m.lcFrom+[)])) %>
<%*? TopicToolbar()%>
<%? m.lcTopic%>