#[BOFN]###############################################################################
#
#
#Pagenews - a free script to publish news on websites
#Copyright (C) 2004,2005,2006,2007,2008 Philipp Kindt
#
#This file is part of Pagenews.
#
# 	 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 3 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, see <http://www.gnu.org/licenses/>.
#[EOFN]###############################################################################


#this package provides some standard functions that are helpful

package dnstandard;
########################################################################################################
#adds default handlers to parser $_[0]:
#
#needs the $settings - hash reference in $_[1];



sub add_default_handlers{
#temporary called directly by donparser as there is  no callback system available yet, that does it in a more fancy way

	my $parser = $_[0];
	my $settings = $_[1];
	my %in = $parser->get_in();
	#Add own url handler. if we have an URL for secure-socket-layer connections,
	#we will add this for interal tasks 
		if(($donparser::in{'task'} eq "internal")&&($settings->{'own_url_SSL'} ne ""))	{
		$parser->add_handler("DNSTANDARD_OWN_URL",$settings->{'own_url_SSL'},"inheritable")	;	
		$parser->add_handler("DNSTANDARD_OWN_FORM","<form action = \"$settings->{'own_url_SSL'}\" method = \"POST\" target = \"_self\">");
	
	}else{
		$parser->add_handler("DNSTANDARD_OWN_URL",$settings->{'own_url'},"inheritable");
		$parser->add_handler("DNSTANDARD_OWN_FORM","<form action = \"$settings->{'own_url'}\" method = \"POST\" target = \"_self\">");

	}
	$parser->add_handler("DNSTANDARD_VERSION","DN 6.1.2");

	#all settings
	foreach $key (keys(%{$settings})){
		$parser->add_handler("DNSTANDARD_SETTINGS_$key",$settings->{$key});
	};

	$parser->add_handler("DNSTANDARD_COLOUR_NORMAL",$settings->{'COLOUR_NORMAL'});
	$parser->add_handler("DNSTANDARD_COLOUR_HIGHLIGHT",$settings->{'COLOUR_HIGHLIGHT'});	#"#e8e8e8";
	$parser->add_handler("DNSTANDARD_COLOUR_DOUBLEHIGHLIGHT",$settings->{'COLOUR_DOUBLEHIGHLIGHT'});	#"#dddddd";
	$parser->add_handler("DNSTANDARD_COLOUR_BGTITLE",$settings->{'COLOUR_BGTITLE'});			#"#57a10f";
	$parser->add_handler("DNSTANDARD_COLOUR_TEMPEDITOR_BGTITLE","#9999ff");			#"#57a10f";
	$parser->add_handler("DNSTANDARD_COLOUR_TEMPEDITOR_FGTITLE","#ffffff");			#"#57a10f";
	
	#all settings
	foreach $key (keys(%{$settings})){
		$parser->add_handler("DNSTANDARD_SETTINGS_$key",$settings->{$key});
	};
	
	#all environment variables
	foreach $key (keys(%ENV)){
		$parser->add_handler("DNSTANDARD_ENV_$key",$ENV{$key});
	};

	#time, date,...
	my $ltime = localtime;	
	$parser->add_handler("DNSTANDARD_LOCALTIME",$ltime);
	$parser->add_handler("DNSTANDARD_LOCALTIME_DAY",doncgitools::get_RFC_conform_time($settings->{'timezone'},"day"));
	$parser->add_handler("DNSTANDARD_LOCALTIME_MONTH",doncgitools::get_RFC_conform_time($settings->{'timezone'},"month"));
	$parser->add_handler("DNSTANDARD_LOCALTIME_YEAR",doncgitools::get_RFC_conform_time($settings->{'timezone'},"year"));
	$parser->add_handler("DNSTANDARD_LOCALTIME_TIME",doncgitools::get_RFC_conform_time($settings->{'timezone'},"time"));
	
	

};




1;

