175 lines
3.4 KiB
PHP
175 lines
3.4 KiB
PHP
<?php
|
|
|
|
function cookie($name, $data)
|
|
{
|
|
return setcookie($name, $data, time() + 60 * 60 * 24 * 30, '/');
|
|
}
|
|
|
|
function cookieGet($name, $default = null)
|
|
{
|
|
if (isset($_COOKIE[$name])) {
|
|
return $_COOKIE[$name];
|
|
} else {
|
|
return $default;
|
|
}
|
|
}
|
|
|
|
function cookieClear($name)
|
|
{
|
|
setcookie($name, false, time() - 42);
|
|
}
|
|
|
|
function getVar($name)
|
|
{
|
|
if (isset($_POST[$name])) {
|
|
return $_POST[$name];
|
|
}
|
|
if (isset($_GET[$name])) {
|
|
return $_GET[$name];
|
|
}
|
|
return null;
|
|
}
|
|
|
|
function clean($s)
|
|
{
|
|
$s = magic($s);
|
|
$s = htmlspecialchars($s);
|
|
return $s;
|
|
}
|
|
|
|
function magic($s)
|
|
{
|
|
if (get_magic_quotes_gpc()) {
|
|
$s = stripslashes($s);
|
|
}
|
|
return $s;
|
|
}
|
|
|
|
function ip()
|
|
{
|
|
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
|
|
return $_SERVER['HTTP_X_FORWARDED_FOR'];
|
|
} else {
|
|
return $_SERVER['REMOTE_ADDR'];
|
|
}
|
|
}
|
|
|
|
function ipValid($ip)
|
|
{
|
|
if ($ip == long2ip(ip2long($ip))) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function validIP($ip)
|
|
{
|
|
if ($ip == long2ip(ip2long($ip))) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function ts()
|
|
{
|
|
// return microtime(true);
|
|
list($usec, $sec) = explode(" ", microtime());
|
|
return ((float)$usec + (float)$sec);
|
|
}
|
|
|
|
function len($string)
|
|
{
|
|
$i = 0;
|
|
$count = 0;
|
|
$len = strlen($string);
|
|
|
|
while ($i < $len) {
|
|
$chr = ord($string[$i]);
|
|
$count++;
|
|
$i++;
|
|
|
|
if ($i >= $len) {
|
|
break;
|
|
}
|
|
if ($chr & 0x80) {
|
|
$chr <<= 1;
|
|
while ($chr & 0x80) {
|
|
$i++;
|
|
$chr <<= 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
return $count;
|
|
}
|
|
|
|
function error($err)
|
|
{
|
|
echo 'Error: ' . $err;
|
|
exit;
|
|
}
|
|
|
|
function ys($log = 1)
|
|
{
|
|
global $yShout, $prefs;
|
|
if ($yShout) {
|
|
return $yShout;
|
|
}
|
|
|
|
if (filter_var($log, FILTER_VALIDATE_INT, ["options" => ["min_range" => 0, "max_range" => $prefs['logs']]]) === false) {
|
|
$log = 1;
|
|
}
|
|
|
|
$log = 'log.' . $log;
|
|
return new YShout($log, loggedIn());
|
|
}
|
|
|
|
function dstart()
|
|
{
|
|
global $ts;
|
|
|
|
$ts = ts();
|
|
}
|
|
|
|
function dstop()
|
|
{
|
|
global $ts;
|
|
echo 'Time elapsed: ' . ((ts() - $ts) * 100000);
|
|
exit;
|
|
}
|
|
|
|
function login($hash)
|
|
{
|
|
// echo 'login: ' . $hash . "\n";
|
|
|
|
$_SESSION['yLoginHash'] = $hash;
|
|
cookie('yLoginHash', $hash);
|
|
// return loggedIn();
|
|
}
|
|
|
|
function logout()
|
|
{
|
|
$_SESSION['yLoginHash'] = '';
|
|
cookie('yLoginHash', '');
|
|
// cookieClear('yLoginHash');
|
|
}
|
|
|
|
function loggedIn()
|
|
{
|
|
global $prefs;
|
|
|
|
$loginHash = cookieGet('yLoginHash', false);
|
|
// echo 'loggedin: ' . $loginHash . "\n";
|
|
// echo 'pw: ' . $prefs['password'] . "\n";
|
|
|
|
if (isset($loginHash)) {
|
|
return $loginHash == md5($prefs['password']);
|
|
}
|
|
|
|
if (isset($_SESSION['yLoginHash'])) {
|
|
return $_SESSION['yLoginHash'] == md5($prefs['password']);
|
|
}
|
|
|
|
return false;
|
|
}
|