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;
 | |
|     }
 |