View file sys/require.php

File size: 3.52Kb
<?php
	if(!function_exists('get_http')) {
		function get_http($url) {
		/**
		* Проверяет доступность переданного url
		* @param string $url - адрес страницы 
		* @return boolean
		**/
			if(preg_match("/^(https?)?(\:)?(\/\/)?/si", $url))
			 $url = preg_replace("/^(https?)?(\:)?(\/\/)?/si", 'http://', $url);
			if($url = get_headers($url))
			 $url = explode(' ', $url[0]);
			return (($url[1] > 199 && $url[1] < 400)?true:false);
		}
	}
	if(!function_exists('get_curlopt')) {
		function get_curlopt($url, $ua = false, $proxy = false, $referer = false) { 
		/**
		* Анналог file_get_contents с подменой ip, ua and referer
		* @param string $url	 - адрес страницы
		* @param string $ua		 - юзер агент
		* @param string $proxy	 - IP
		* @return mixed
		**/
			$return = false;
			if($curl = curl_init()) {
				@curl_setopt_array($curl, 
				array(CURLOPT_URL => $url, 
				CURLOPT_HEADER => false, 
				CURLOPT_RETURNTRANSFER => true, 
				CURLOPT_CONNECTTIMEOUT => 30, 
				CURLOPT_USERAGENT => $ua, 
				CUPLOPT_PROXY => $proxy, 
				CURLOPT_REFERER => $referer));
				$return = curl_exec($curl);
				curl_close($curl);
			}
			return $return;
		}
	}
	if(!function_exists('text_escape')) {
		function text_escape($text) { 
		/**
		* Текст для записи в БД
		**/
			return addcslashes(trim($text), "\"'\r\n\t\v\s\f,.<>/(){}[]!@#$%^&*-_+=\\|;:?`~"); 
		}
	}
	if(!function_exists('escape_text')) {
		function escape_text($text) { 
		/**
		* Текст для вывода из БД
		**/
			return text::toOutput(stripslashes($text)); 
		}
	}
	if(!function_exists('mess_send')) {
		function mess_send($author, $visavi, $message) { 
		/**
		* Отправка уведомлений в приват
		* @param integer $author - от кого
		* @param integer $visavi - кому 
		* @param string $message - сообщение
		**/
			mysql_query("INSERT INTO `mail` SET `id_user` = ".(int)$visavi.", `id_sender` = ".(int)$author.", `mess` = '".mysql_real_escape_string($message)."', `time` = ".time());
		}
	}
	if(!function_exists('dir_decode')) {
		function dir_decode($str) {
		/**
		* Фильтрует query отрезок url
		* @param string $str 
		* @return string
		**/
			if(preg_match("/[^\/]+/umi", $str)) {
				$str = urldecode($str);
				if(preg_match("/^\/+|\/+$|[^a-zа-яёъїі0-9\-\_\!\?\.\,\:\;\s]+/umi", $str)) {
					$str = preg_replace("/^\/+|\/+$|[^a-zа-яёъїі0-9\-\_\!\?\.\,\:\;\s\/]+/umi", '', $str); 
				}
				if(preg_match("/\/+/umi", $str)) {
					$str = preg_replace("/\/+/umi", '/', $str); 
				}
				$str = "/{$str}/";
			}
			else { 
				$str = '/';
			}
			return $str;
		}
	}
	if(!function_exists('refresh')) { 
	/**
	* Переадресация
	* @param string $url 		- адрес перенаправления 
	* @param integer $time 		- время задержки
	* @param string $msg 		- текст сообщения
	* @param boolean $errmsg	- тип сообщения
	**/
		function refresh($errmsg = true, $msg = false, $url = false, $time = false) { 
			if($msg) { 
				global $doc;
				if(!$doc) { 
					$doc = new document; 
				}
				if($errmsg) { 
					$doc -> msg(__($msg)); 
				} 
				else { 
					$doc -> err(__($msg)); 
				} 
				unset($doc);
			}
			if($url) {
				if($time) { 
					header("Refresh: {$time};url={$url}"); 
				} 
				else { 
					header("Location: {$url}"); 
				} 
			}
			die; 
		}
	}
?>