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

    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 DDDEFINES_H
#define DDDEFINES_H


/// This file contains some simple defines and all default keys to access properties in a config tree.

using namespace std;

// nicknames
#define DDNICKMAXLEN 16
#define DDNICKMINLEN 3

// FIX! 
#define DDHINTHALTED "<h2><font color='red'>Wartungsarbeiten</font></h2>Wegen Wartungsarbeiten sind wir im Moment nicht erreichbar.<br>In K&uuml;rze wird der Service wieder f&uuml;r Sie erreichbar sein.<br>Wir bitten die Unterbrechung zu entschuldigen.<br><br>Mit freundlichen Gr&uuml;&szlig;en<br><br>Ihr SupportTeam"
#define DDHINTFASTPOST "Aus Sicherheitsgr&uuml;nden k&ouml;nnen Sie nicht so schnell hintereinander Mitteilungen verschicken."
#define DDHINTERRPAGE "<html><head><script type='text/javascript'>var http_retcode=|1|;var http_message='|3|';var error_message='|3|';</script><title>&lt;supportware&gt; error</title></head><body><h2>&lt;supportware&gt; error</h2><hr><h1><font color='red'>|5|</font></h1><b>|7|</b><br><br><code>|8|</code><p><hr><address>&lt;|9|&gt;&nbsp;</address></body></html>"
#define DDHINTDEPRECATED "<b>Diese Frage ist schon etwas &auml;lter, Sie k&ouml;nnen daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gel&ouml;st sein, stellen Sie einfach eine neue Frage im <a href='/forum' class='sn_cont'>Forum</a>..</b>"
#define DDHINTNONPUBLIC "<b>Dieser Thread ist nicht &ouml;ffentlich.</b>"
#define DDHINTNOENTRY "<b>Kein Eintrag f&uuml;r diesen Artikel gefunden.</b>"
#define DDHINTNOTFOUND "<b>Kein Eintrag gefunden.</b>"
#define DDHINTNOMESSAGE "<b>Noch keine Nachrichten vorhanden.</b>"
#define DDHINTNOGROUPENTRY "<b>Noch kein Eintrag in dieser Gruppe gefunden.</b>"
#define DDHINTNOCATEGORYENTRY "<b>Noch kein Eintrag in dieser Kategorie gefunden.</b>"
#define DDHINTCLOSED "<b>(Thread geschlossen.)</b><br><br>"
#define DDHINTL1 "<b>Noch kein Eintrag f&uuml;r '"
#define DDHINTL2 "' gefunden.</b>"
#define DDHINTNONPUBLICGROUP "<b>(Diese Gruppe ist nicht &ouml;ffentlich)</b><br>"
#define DDHINTBADMAIL "<b>Ihre eMail-Adresse konnte nicht akzeptiert werden.</b><br>"
#define DDHINTBADQUERY "<b>Bitte geben Sie hier nur maximal f&uuml;nf Suchbgriffe an.</b><br>"
#define DDHINTLREGISTER1 "F&uuml;r diese Funktion m&uuml;ssen Sie Mitglied sein."
#define DDHINTLREGISTER2 "Hier k&ouml;nnen Sie sich als kostenlos Mitlied registieren."

// Zeitintervall zwischen zwei Cleanups (Clear old sessions etc)
#define DDTIMERINTERVALL 60
//#define DDTIMERINTERVALL 5
// erste angezeigte gruppe
// FIX! gehört hier nicht rein!
// dummygruppe 'news' wird ausgeblendet, daher die 1
#define DDFIRSTGROUPINDEX 1
#define DDFIRSTGROUPID 3
#define DDLASTGROUPID 56

// chat settings
#define DDCHATFLOODTIMEOUT 2
#define DDCHATUSERTIMEOUT 30
#define DDCHATMAXTEXTLEN	150
#define DDCHATMAXNAMELEN	12
#define DDCHATMESSAGEBUFSIZE 1000
#define DDCHATMAXREFRESH 10000
#define DDCHATMAXLINES   200

// buffer settings
#define DDBUFFERBODYGROW 80000
#define DDBUFFERINBUFSIZE 32768
#define DDBUFFEROUTBUFSIZE 200000

// ddwebconnection
#define DDMAXBODYSIZE 3000000
#define DDMAXHEADSIZE 1024
//#define DDMAXUPLOADSIZE 250000
#define DDMAXUPLOADSIZE 22000000

// min time between posts
#define DDPOSTINGDELAY 10

// min time between admin alerts
#define DDALERTDELAY 120

// upload pfad
#define DDTMPPATH 			"sntmp/"
#define DDPICPATH 			"articleimage/"
#define DDUSERPICPATH 	"memberimage/"
#define DDUSERPICPREFIX "memimg-"
#define DDLASTPATH 			"sn_last_path"
#define DDREGISTERLINK	"/member_register"
#define DDGUESTNICK			"gast"
#define DDACTIONKEY 		"sx_action"
#define DDENTRYID				"entry_id"


// cookie settings
#define DDEXPIREDATE "Wed, 13-Aug-2034 12:00:00 GMT"
//wed,13.8,2014          Sun, 19-Jul-2009 12:07:08 GMT

// ddmimemap
#define DDDEFAULT_MIME "text/plain"

// ddwebserver
#define DDMAXFDS		64
#define DDINFTIM		-1

// socket
#define DDIOBACKLOG 128

// dduserid
#define DDMAXITEMSPERPAGE 200
// the maximum age of a session in seconds
#define DDMAXSESSIONAGE 540


// ddwebserver
#define DDMAXFDS		64
#define DDINFTIM		-1

// snpage
#define DDDEFAULTITEMSPERPAGE 20
#define DDDEFAULTITEMSPERHOME 20


#ifndef DDMAX
	#define DDMAX(a,b) ( ( (a) > (b) ) ? (a) : (b) )
#endif
#ifndef DDMIN
	#define DDMIN(a,b) ( ( (a) < (b) )  ? (a) : (b) )
#endif

#define DDSTRTRUE	  "true"
#define DDSTRFALSE  "false"
#define DDSTRNULL		"[NULL]"

#define DDKEYHOMEPAGE 		"HOMEPAGE.TXT"
#define DDKEYBADWORDS 		"ZENSUR.TXT"
#define DDKEYGUESTBLOCKER "GUESTBLOCKER.TXT"
#define DDKEYKILLALERTS 	"KILLALERTS.TXT"
#define DDKEYSTOPWORDS 		"STOPWORDS.TXT"
#define DDKEYBLOCKEDWORDS	"BLOCKEDWORDS.TXT"
#define DDKEYBLOCKEDIPS		"BLOCKEDIPS.TXT"
#define DDKEYBLOCKEDMAILS	"BLOCKEDMAILS.TXT"
#define DDKEYLINKSET			"LINKSET.TXT"
#define DDKEYIMAGESET			"IMAGESET.TXT"
#define DDKEYALIASESMAP		"ALIASESMAP.TXT"
#define DDKEYREDIRECTMAP	"REDIRECTMAP.TXT"

// fragwürdig
#define DDMEMBERLINKURL "/member/"
#define DDUSERPROPERTY "xx_prop"
#define DDDEFAULTITEM "xx_dummy"
#define DDREQUESTTIMEOUT 30
#define DDANSWERCOUNT "answer_count"

#define DDTEASERMAXSIZE 200
#define DDTEASERLINELEN 80

#define DDTEASERSUBJECTSIZE 50


//#define DDLASTID 1612470
// 31.12.2008
#define DDLASTID 2189889 
#define DDFIFONOTIFIER "!YES!"
#define DDPOLLTIMEOUT 5000
// linkanzahl im navi


#define DDNAVIBLOCKS 5
#define X_PAGES 5
// links in den neuen, dynamischen archivseiten
#define DDITEMSPERARCHIVE 350


//#define DDVERSION	"supportware 1.9.140 / 04.11.2010"
// exhumierter Version, wieder mehr oder weniger zum laufen gebracht, zu gruselzwecken:
//#define DDVERSION	"supportware 1.9.143 / 11.05.2019"
// exhumierter Version, wieder mehr oder weniger zum laufen gebracht, zu VORFÜHRzwecken, krasser scheiss:
//#define DDVERSION	"supportware 1.9.144 / 25.02.2022"
//#define DDVERSION	"supportware 1.9.147 / 16.04.2022"
#define DDVERSION	"supportware 1.9.150 / 10.06.2022"


// HACK: Nur nicht-admins kriegen nur Beiträgen mit dem Public-Flag 1 gezeigt
#define DDADMFILTER	get_user_id().is_admin() ? " " : " and t1.id_state & 1 != 0 "
#define DDADMFILTERFORUM	get_user_id().is_sub_admin() ? " " : " and t1.id_state & 1 != 0 and t1.id_group != 13"
#define DDADMFILTERRENDERER	_pagelet->get_user_id().is_admin() ? " " : " and id_state & 1 != 0 "


#define DDPATBEG "<!--#"
#define DDPATEND "-->"

#define DDCOOKIESEPARATOR "<|>"
#define DDENTRYSEPARATOR "<<##>>"
#define DDLINKSEPARATOR "|"

#endif
