/***************************************************************************

    supportware
    Copyright (C) 2001-2010 by c.holzheuer
    c.holzheuer@sourceworx.org

    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.

***************************************************************************/

#ifndef SXPAGEFORUM_H
#define SXPAGEFORUM_H

#include <sxpageforumbase.h>


/// sxpageforumstart : Die Startseite rendern.
/**
	Rendert '/', übernimmt aber auch
	die Funktion der alten homepage, die wir jetzt als 'Startseite'
	bezeichnen und die es als '/home' nicht mehr gibt. 
	
*/

class sxpageforumstart : public sxpageforumbase
{

public:

	sxpageforumstart( const ddstring& name, ddwebsite* site );  	
	
	virtual dd_result on_redirect( dditem& item );

};


/***************************************************************************

    supportware
    Copyright (C) 2001-2008 by c.holzheuer
    c.holzheuer@sourceworx.org

    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.

***************************************************************************/


/// sxpageforumoverview : Die Forums-Übersicht rendern.
/**
	Rendert den Menüpunkt '/forum', Unterschied zu '/':
	auf der Startseite gibt es noch einen teaserblock
	und die Übersicht ist nach Anzahl der Antworten sortiert.
	
*/

class sxpageforumoverview : public sxpageforumbase
{

public:

	sxpageforumoverview( const ddstring& name, ddwebsite* site );  	

};


/***************************************************************************

    supportware
    Copyright (C) 2001-2008 by c.holzheuer
    c.holzheuer@sourceworx.org

    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.

***************************************************************************/


/// sxpageforumgroups : Eine Gruppenübersicht anzeigen
/**
	Eine Gruppenübersicht anzeigen. Es wird versucht, auf den
	Gruppencache zuzugreifen.	
*/

class sxpageforumgroups : public sxpageforumbase
{

public:

	sxpageforumgroups( const ddstring& name, ddwebsite* site );  	
	
	virtual dd_result on_redirect( dditem& item );	

};


/***************************************************************************

    supportware
    Copyright (C) 2001-2008 by c.holzheuer
    c.holzheuer@sourceworx.org

    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.

***************************************************************************/


/// sxpageforumhthread : Die aktuelle thread Darstellung mit '/t/'
/**
	Threads werden wie folgt gerendert:
	
	- alte threads per /threads/
	- neue threads per /t/
	
	- wenn ein alter thread per 't' aufgerufen wird, wird zur homepage redirected.
	- wenn ein neuer threads per 'threads' aufgerufen wird, wird zum 't' weitergeleitet.
	
	- aus den statischen heraus werden die threads als 'listthread' verlinkt, als
	  arme leute loadbalancer. hierbei findet keine fallunterscheidung statt.
	  für google sind aber nur die 't's sichtbar, daher gibt es kein problem mit
	  doppeltem content.
	
*/


class sxpageforumthread : public sxpageforumbase
{

public:

	sxpageforumthread( const ddstring& name, ddwebsite* site );  	
	
	dd_result on_show_entry( dditem& item );
	
};


/// threads
/**
	threads, alte Version: google ist ausgesperrt
*/

class sxpageforumthreadold : public sxpageforumbase
{

public:

	sxpageforumthreadold( const ddstring& name, const ddstring& linkbase, ddwebsite* site );  	
	
	dd_result on_show_entry( dditem& item );
	
};

#endif


