.
*/
function ssl_redirect() {
if(headers_sent()) {
echo " ssl_redirect: Headers already sent.";
return;
}
if(!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != "on") {
if(!isset($_SERVER['REQUEST_URI']) OR !isset($_SERVER['HTTP_HOST'])) {
include("./include/header.php");
echo " Your browser doesn't support HTTP 1.1 requests.\n";
echo " Please use https:// instead of http://\n";
include("./include/footer.php");
return;
}
echo "\n
\n";
echo " \n";
echo " \n";
exit;
}
}
function get_date($date) {
// convert from 2002-02-01 to 01.02.2002
if( $date == "0000-00-00 00:00:00" OR $date == "0000-00-00" )
return "";
elseif( strlen($date)==10 )
return date("d.m.Y", strtotime($date));
elseif( strlen($date)==16 )
return date("d.m.Y H:i", strtotime($date));
elseif( strlen($date)==19 )
return date("d.m.Y H:i:s", strtotime($date));
else
return $date;
}
function get_sql_date($date) {
// convert from 01.02.2002 to 2002-02-01
$d = substr($date, 0, 2);
$m = substr($date, 3, 2);
$Y = substr($date, 6, 4);
if( strlen($date)==10 ) {
return "$Y-$m-$d";
}elseif( strlen($date)==16 ) {
$H = substr($date, 11, 2);
$i = substr($date, 14, 2);
return "$Y-$m-$d $H:$i";
}elseif( strlen($date)==19 ) {
$H = substr($date, 11, 2);
$i = substr($date, 14, 2);
$s = substr($date, 17, 2);
return "$Y-$m-$d $H:$i:$s";
}else {
return null;
}
}
function get_var($var) {
if( isset($_GET[$var]) )
return stripslashes($_GET[$var]);
elseif( isset($_POST[$var]) )
return stripslashes($_POST[$var]);
else
return null;
}
function get_int($var) {
if( preg_match("/^-?[0-9]+$/", get_var($var)) ) {
return get_var($var);
}else {
return false;
}
}
function get_money($var) {
if( preg_match("/^-?[0-9]*(\.[0-9]{1,2})?$/", get_var($var)) ) {
return get_var($var);
}elseif( preg_match("/^-?[0-9]*(,[0-9]{1,2})?$/", get_var($var)) ) {
return str_replace(",", ".", get_var($var));
}else {
return 0;
}
}
function get_signature($content, $applid) {
global $setup;
$h = substr(md5(date("U")), 0, 4);
return $h . substr(md5( $h . SECRET . $setup['EventCode'] . $content . $applid ), 0, 24);
}
function check_signature($sig, $content, $applid) {
global $setup;
$h = substr($sig, 0, 4);
return ( ($h . substr(md5( $h . SECRET . $setup['EventCode'] . $content . $applid ), 0, 24))==$sig );
}
function check_email($Email) {
// Check if the supplied e-mail address is a valid e-mail address. If yes, return true, else return false
$re="/(^(\w|\.|-|\+)+@(\w|-)+(\.(\w|-)+)*\.[a-zA-Z]{2,4}$)/";
if( preg_match($re,$Email) ) {
//Regex matches, now check MX
if( getmxrr(substr($Email,strpos($Email,"@")+1), $mxhosts) ) {
return true;
}else {
return false;
}
}else {
return false;
}
}
function encode($header, $quotesifascii=true) {
#=?UTF-8?B?SWYgeW91IGNhbiByZWFkIHRoaXMgeW8=?=
for( $i=0; $i127 ) {
// Header contains non-ascii characters
return "=?UTF-8?B?".base64_encode($header)."=?=";
}
}
if( $quotesifascii ) return "\"".$header."\"";
else return $header;
}
function check_date($year, $month, $day, $hour, $minute) {
if( $hour==" " ) $hour="00";
if( $minute==" " ) $minute="00";
if( (($year<1900) OR ($year>2099)) OR (($month<1) OR ($month>12)) OR ($day<1) OR (($hour<0) OR ($hour>23)) OR (($minute<0) OR ($minute>59)) ) {
return false; // out of range
}elseif( (!preg_match("/(^(\d){4}$)/",$year)) OR (!preg_match("/(^(\d){2}$)/",$month)) OR (!preg_match("/(^(\d){2}$)/",$day)) OR (!preg_match("/(^(\d){2}$)/",$hour)) OR (!preg_match("/(^(\d){2}$)/",$minute)) ) {
return false; // no numbers, or wrong length
}elseif( ( ($month==1) OR ($month==3) OR ($month==5) OR ($month==7) OR ($month==8) OR ($month=10) OR ($month=12) ) AND ($day>31) ) {
return false; // day out of range
}elseif( ( ($month==4) OR ($month==6) OR ($month==9) OR ($month==11) ) AND ($day>30) ) {
return false; // day out of range
}elseif( ( ($month==2) AND ($day>29) ) OR ( ($month==2) AND (($year%4)!=0) AND ($day>28) ) ) {
return false; // day out of range
}else
return true;
}
### Time functions ###
function show_date($name, $value, $editable, $day_min, $day_max, $month_min, $month_max, $year_min, $year_max, $olderage=false) {
$y = substr($value, 0, 4);
$m = substr($value, 5, 2);
$d = substr($value, 8, 2);
// Show days
$r=show_date_days($name, $editable, $d, $day_min, $day_max);
// Show months
$r.=show_date_months($name, $editable, $m, $month_min, $month_max);
// Show year
$r.=show_date_years($name, $editable, $y, $year_min, $year_max, $olderage);
return $r;
}
function show_date_days($name, $editable, $value, $min, $max ) {
// Show days
if( $min<1 ) $min=1;
if( $max>31 ) $max=31;
if( $editable )
$r="