60 lines
1.9 KiB
PHP

<?php
include_once "globals.php";
// hibakeresés
if (DEBUG_MODE) {
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);
} else {
ini_set('display_errors', '0');
ini_set('display_startup_errors', '0');
error_reporting(0); // Turn off all error reporting
}
// olyan szöveget ad vissza, amibe csak angol ABC betűi és számok szerepelnek (KL)
function only_alpha_numeric($input)
{
return preg_replace("/[^a-zA-Z0-9_]+/", "", $input);
}
// felhasználó IP címének meghatározása... nem is olyan triviális
// https://stackoverflow.com/a/2031935
function get_client_ip()
{
foreach (array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED') as $key) {
if (array_key_exists($key, $_SERVER) === true) {
foreach (explode(',', $_SERVER[$key]) as $ip) {
$ip = trim($ip); // just to be safe
if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 |
FILTER_FLAG_IPV6 | FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) !== false) {
return $ip;
}
}
}
}
return $_SERVER['REMOTE_ADDR'];
}
// csatlakozás az adatbázishoz
function open_sql_connection()
{
return mysqli_connect(SQL_IP, SQL_USER, SQL_PASS, SQL_DB);
}
// csoportnév ellenőrzése
// visszatérési értékek:
// false: ha érvénytelen a csoport
// string: az eltárolandó csoport neve, ha érvényes
function validate_group($g)
{
// EZ ÍGY NEM JÓ!! EZT LE KELLENE TÖLTENI A KÖZI OLDALÁRÓL!!!
$groups = ["bíbor", "tejszín", "borostyán", "azúr", "türkiz", "aquamarin", "burgundi", "zafír", "mangó",
"levendula", "bambusz", "csipkebogyó", "mustár", "parázs", "áfonya", "mkk fotókör"];
$key = array_search(strtolower($g), $groups);
return ($key === false) ? false : $groups[$key];
}