152 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			152 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			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 jsonEncode(&$array) {
 | 
						|
		if ($array) {
 | 
						|
			$json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE);
 | 
						|
			return $json->encode($array);
 | 
						|
		} else
 | 
						|
			return 'ar';
 | 
						|
	}
 | 
						|
 | 
						|
	function jsonDecode($encoded) {
 | 
						|
		$json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE);
 | 
						|
		return $json->decode($encoded);
 | 
						|
	}
 | 
						|
 | 
						|
	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 ($log > $prefs['logs'] || $log < 0 || !is_numeric($log)) $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;
 | 
						|
		
 | 
						|
	}
 | 
						|
?>
 |