PHPSay > 贴吧伙伴 > 贴吧程序 > PHPSAY贴吧
function.php

点击数:80  |   回复数:1   |   最后回复发表于2009.06

1
游客
220.175.116.*
发表于 2009.06.28 14:26:36
<?php
function template($htmlFile)
{
$template = new phpSayTemplate($htmlFile);

return $template;
}

function checkVisitorDomain()
{
global $site_domain;

if( $_SERVER['SERVER_NAME'] != $site_domain )
{
$urlSelf = "";

if( isset($_SERVER['PHP_SELF']) && !empty($_SERVER['PHP_SELF']) && $_SERVER['PHP_SELF'] != "/index.php" )
{
$urlSelf .= $_SERVER['PHP_SELF'];
}

if( isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING']) && !empty($urlSelf) )
{
$urlSelf .= "?".$_SERVER['QUERY_STRING'];
}

header("HTTP/1.1 301 Moved Permanently");

header("location:http://".$site_domain.$urlSelf);

ob_end_flush();

exit;
}
}

function loginCookie($uid,$name,$group,$ip,$time)
{
global $login_key;

$secure = Xxtea::encrypt($uid."|".$name."|".$group."|".$ip,$login_key);

@setcookie("userId",$uid,$time+86400,"/");

@setcookie("userName",$name,$time+86400,"/");

@setcookie("userGroup",$group,$time+86400,"/");

@setcookie("userSecure",$secure,$time+86400,"/");
}

function isLogin()
{
global $login_key;

if( isset($_COOKIE['userId'],$_COOKIE['userName'],$_COOKIE['userGroup'],$_COOKIE['userSecure']) )
{
$Sc = explode("|",Xxtea::decrypt($_COOKIE['userSecure'],$login_key));

if( isset($Sc[0],$Sc[1],$Sc[2]) )
{
if( $_COOKIE['userId'] == $Sc[0] && $_COOKIE['userName'] == $Sc[1] && $_COOKIE['userGroup'] == $Sc[2] )
{
return true;
}
}
}

return false;
}

function createSecureKey($len)
{
$chararr = array('2','3','4','5','6','7','8','9','~','a','b','C','d','e','f','h','j','K','L','M','n','P','Q','R','s');

$keyindex = count($chararr)-1;

$keystr = "";

for ( $i=0;$i<$len;$i++ )
{
$keystr .= $chararr[rand(0,$keyindex)];
}

return $keystr;
}

function GetRealClientIP()
{
if( getenv("HTTP_X_CLUSTER_CLIENT_IP") && strcasecmp(getenv("HTTP_X_CLUSTER_CLIENT_IP"), "unknown") )
$ip_real = getenv("HTTP_X_CLUSTER_CLIENT_IP");
else if( getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown") )
$ip_real = getenv("HTTP_X_FORWARDED_FOR");
else if( getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown") )
$ip_real = getenv("REMOTE_ADDR");
else if( isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown") )
$ip_real = $_SERVER['REMOTE_ADDR'];
else
$ip_real = "unknown";

$ip_arr = explode(",",$ip_real);

if( empty($ip_arr[1]) )
$client_ip = trim($ip_arr[0]);
else
$client_ip = trim($ip_arr[1]);

return $client_ip;
}

function emailcheck($email)
{
$ret=false;

if(strstr($email, '@') && strstr($email, '.')){

if(eregi("^([_a-z0-9]+([._a-z0-9-]+)*)@([a-z0-9]{1,}(.[a-z0-9-]{2,})*.[a-z]{2,4})$", $email)){

$ret=true;

}
if(strlen($email) < "8" || strlen($email) > "80") {
$ret=false;
}

}
return $ret;
}

function wordCheck($str)
{
$bArr = explode("_","!_@_#_$_%_^_&_*_(_)_._-_+_=_ˇ_¨_·_/__<_>_?_{_}_[_]_|_,_ _ __。_;_:_?_,_;_:_'_"_~_`");

for($i=0;$i<count($bArr);$i++)
{
if( strpos($str,$bArr[$i]) || $str{0} == $bArr[$i] )
return false;
}

return true;
}

function usernameCheck($username)
{
$username_len = getStrlen($username);

if( $username_len < 2 )
{
return "昵称至少2个字符。";
}

if( is_numeric($username{0}) || $username{0} == "_" )
{
return "昵称不能以数字和下划线开头。";
}

if( !wordCheck($username) )
{
return "昵称不能含有非法字符。";
}

if( preg_match("/^[x7f-xff]+$/",$username) )
{
if( $username_len > 7 )
{
return "昵称不能超过7个汉字。";
}
}
else if( ereg("^[0-9a-zA-Z_]*$",$username) )
{
if( $username_len > 13 )
{
return "昵称请不要超出13个字符";
}
}
else
{
if( $username_len > 8 )
{
return "您的昵称太长啦 ^_^";
}
}

return "";
}

function getTouristName()
{
global $login_key;

$guestName = "";

if( isset($_COOKIE['TouristName']) )
{
$TouristName = Xxtea::decrypt($_COOKIE['TouristName'],$login_key);

$checkTouristName = usernameCheck($TouristName);

if( empty($checkTouristName) )
{
$guestName = $TouristName;
}
}

return $guestName;
}

function strAddslashes($str)
{
if ( !get_magic_quotes_gpc() )
{
$str = addslashes($str);
}

return $str;
}

function filterCode($str)
{
$str = rtrim($str);

$str = preg_replace( "@<([a-z]+)(.*?)>@is", "", $str );
$str = preg_replace( "@</(.*?)>@is", "", $str );
$str = preg_replace( "@<!(.*?)>@is", "", $str );
$str = preg_replace( "@&([a-z0-9]+)(.*?);@is", "", $str );

$str = strAddslashes($str);

return $str;
}

function filterHTML($str)
{
$str = htmlspecialchars($str);

$str = stripslashes($str);

return $str;
}


function UBB($str)
{
$auto_arr = array(
"/(?<=[^]a-z0-9-="'\/])((https?|ftp|mms|rtsp)://)([a-z0-9/-_+=.~!%@?#%&;:$\│]+)/i",
"/(?<=[^]a-z0-9/-_.~?=:.])([_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4}))/i",
"//is"
);

$auto_url = array(
'<a href="\1\3" target="_blank">\1\3</a>',
'<a href="mailto:\0">\0</a>',
'<img src="1" border="0" />'
);

$str = preg_replace($auto_arr,$auto_url," ".$str);

$str = nl2br($str);

return $str;
}



function getStrlen($str)
{
if( function_exists('mb_strlen') )
{
return mb_strlen($str,"utf-8");
}
else
{
return preg_match_all('%(?:[x09x0Ax0Dx20-x7E]
| [xC2-xDF][x80-xBF]
| xE0[xA0-xBF][x80-xBF]
| [xE1-xECxEExEF][x80-xBF]{2}
| xED[x80-x9F][x80-xBF]
| xF0[x90-xBF][x80-xBF]{2}
| [xF1-xF3][x80-xBF]{3}
| xF4[x80-x8F][x80-xBF]{2})%xs',$str,$out);
}
}

function Truncate($string,$len,$wordsafe=FALSE)
{
$slen = strlen($string);

if ($slen <= $len)
{
return $string;
}

if ($wordsafe)
{
while (($string[--$len] != ' ') && ($len > 0)) {};
}

if ((ord($string[$len]) < 0x80) || (ord($string[$len]) >= 0xC0))
{
return substr($string, 0, $len)."..";
}

while (ord($string[--$len]) < 0xC0) {};

return substr($string, 0, $len)."..";
}

function getCountDown($unixTime)
{
$showTime = date('Y.m',$unixTime);

if( date('Y',$unixTime) == date('Y') )
{
$showTime = date('m.d',$unixTime);

if( date('m.d',$unixTime) == date('m.d') )
{
$timeDifference = time() - $unixTime + 1;

if( $timeDifference < 60 )
{
$showTime = $timeDifference."秒前";
}
else if($timeDifference >= 60 && $timeDifference < 3600)
{
$showTime = floor($timeDifference/60)."分前";
}
else
{
$showTime = date('H:i',$unixTime);
}
}
}

return $showTime;
}

function sendEmail($sendto,$title,$content)
{
global $site_name,$site_domain,$mail_send_type,$send_email_address;

$send_name = iconv("UTF-8","GB2312",$site_name);

$mail_title = iconv("UTF-8","GB2312",$title);

$mail_body = iconv("UTF-8","GB2312",$content."<br><br>----------------------------------- 邮件来自于:".$site_domain);

if( $mail_send_type == "smtp" )
{
global $smtp_server,$smtp_port,$smtp_auth,$smtp_user,$smtp_password;

require_once(dirname(__FILE__)."/../class/class_Smtp.php");

$smtp = new smtpMail($smtp_server,$smtp_port,$smtp_auth,$smtp_user,$smtp_password);

$smtp->debug = false;

if( $smtp->sendmail($sendto, $send_name, $send_email_address, $mail_title, $mail_body, "HTML") )
{
return true;
}
else
{
return false;
}
}
else if( $mail_send_type == "sendmail" )
{
$headers = 'MIME-Version: 1.0' . "rn";

$headers .= 'Content-type: text/html; charset=gbk' . "rn";

$headers .= 'From: '.$send_name.' <'.$send_email_address.'>' . "rn";

if( @mail($sendto,$mail_title,$mail_body,$headers) )
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
?>
2楼
jasonlee发表于 2009.06.29 01:18:10
$auto_arr = array(
"/(?<=[^]a-z0-9-="'\/])((https?|ftp|mms|rtsp)://)([a-z0-9/-_+=.~!%@?#%&;:$\│]+)/i",
"/(?<=[^]a-z0-9/-_.~?=:.])([_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4}))/i"
"//is");

$auto_url = array(
'<a href="\1\3" target="_blank">\1\3</a>',
'<a href="mailto:\0">\0</a>'
'<img src="1" border="0" />');


不行啊
1

发表回复 

  • 您未登录,帖子将以匿名回复。设置昵称 | 登录 | 注册
  • 加大减小
  • 快捷键:Ctrl+Enter

其它帖子

插入表情

插入图片

图片链接:

图片链接以 http:// 开头。

插入视频

视频链接:

支持优酷、土豆、酷6、56、六间房、搜狐、新浪、YouTube等多家视频网站