ENGLISH 意见建议 网站地图 网站帮助
广泛智力汇聚   高效成果传播   先进机制培育
联盟首页  |  协同开发  |  开放源码库  |  安全告警  |  开源导航  |  文档中心  |  服务支持  |  共创论坛  |  关于联盟


注册会员 网站帮助
    您的位置 »
    今天是: 2010年11月22日    
项目搜索

完全匹配   
开源软件
软件分类表
新发布软件
其它网站镜像
代码片断
协同开发
文档
论坛
寻求协助
热点项目
站点状态
编译工厂

联系我们
关于联盟

代码片段库:
查看代码片段

浏览 | 提交新的代码片段 | 创建代码包

lib.php

类型:
Full Script
类别:
BBS Systems
许可证:
GNU General Public License
语言:
PHP
 
描述:
可换SKIN的BOARD中的主LIB文件

该代码片段的版本系列:

片段ID 下载版本 提交时间 提交人 删除
17v1.02002-02-25 15:57firefox

点击"下载版本"来下载该代码片段.


最新版本的代码片段: v1.0


<?
//////////////////////////////////////////////////////////////////
// 所有的过滤及函数定义.
//////////////////////////////////////////////////////////////////
// config.php 数据库连接信息文件;;
$temp_filename=realpath(__FILE__);
if($temp_filename) $config_dir=eregi_replace("lib.php","",$temp_filename);
else $config_dir="";

// 访问者浏览器
if(eregi("msie",$HTTP_USER_AGENT)) $browser="1"; else $browser="0";

//对 数据库连接文件( config.php ) 是否存在的判断,如果没有返回到安装
if(!file_exists($config_dir."config.php")&&!eregi("install",$PHP_SELF))
{
 echo"<meta http-equiv=\"refresh\" content=\"0; Url=setup.php\">";
 exit;
}

// 定义
function getmicrotime() {
    $microtimestmp = split(" ",microtime());
    return $microtimestmp[0]+$microtimestmp[1];
}

// 起始时间
$start_time=getmicrotime();
// 数据库表名称的定义
$member_table = "QQ_member_table";  // 普通用户信息表
$group_table = "QQ_group_table";   // 用户组管理表
$admin_table="QQ_admin_table";     // 管理人员信息表

$now_table ="QQ_now_connect";
$send_memo_table ="QQ_send_memo";
$get_memo_table ="QQ_get_memo";

$t_division="QQ_division"; // Division
$t_board = "QQ_board"; //
$t_comment ="QQ_board_comment"; //
$t_category ="QQ_board_category"; // 类表

//////////////////////////////////////////////////////////////////////////
// Division
///////////////////////////////////////////////////////////////////////////
// 已阅读
function total_division()
{
 global $connect, $t_division, $id;
 $temp=mysql_fetch_array(mysql_query("select max(division) from $t_division"."_$id"));
 return $temp[0];
}

//
function plus_division($division)
{
 global $connect, $t_division, $id;
 mysql_query("update $t_division"."_$id set num=num+1 where division='$division'") or error(mysql_error);
}


function minus_division($division)
{
 global $connect, $t_division, $id;
 mysql_query("update $t_division"."_$id set num=num-1 where division='$division'") or error(mysql_error);
}

//
function add_division($board_name="")
{
 global $connect, $t_division, $id, $t_board;
 if($board_name) $board_id=$board_name;
 else $board_id=$id;
 $temp=mysql_fetch_array(mysql_query("select num from $t_division"."_$board_id order by division desc limit 1"));
 //  division num division +1 ;
 if($temp[0]>=5000)
 {
  $temp=mysql_fetch_array(mysql_query("select max(division) from $t_division"."_$board_id"));
  $max_division=$temp[0]+1;
  $temp=mysql_fetch_array(mysql_query("select max(division) from $t_division"."_$board_id where num>0 and division!='$max_division'"));
  if(!$temp[0]) $second_division=0; else $second_division=$temp[0];
  $temp=mysql_fetch_array(mysql_query("select count(*) from $t_board"."_$board_id where (division='$max_division' or division='$second_division') and headnum<=-2000000000"));
  if($temp[0]>0)
  {
   mysql_query("update $t_board"."_$board_id set division='$max_division' where (division='$max_division' or division='$second_division') and  headnum<='-2000000000'") or error(mysql_error());
   mysql_query("update $t_division"."_$board_id set num=num-$temp[0] where division=$max_division-1") or error(mysql_error());
  }
 $num=$temp[0]+1;
 mysql_query("insert into $t_division"."_$board_id (division,num) values ('$max_division','$num')");
 return $max_division;
 }
 //  division~
 else
 {
  $temp=mysql_fetch_array(mysql_query("select max(division) from $t_division"."_$board_id"));
  $division=$temp[0];
  mysql_query("update $t_division"."_$board_id set num=num+1 where division='$division'");
  return $division;
 }
}


///////////////////////////////////////////////////////////////////////////
// 用户信息的认证与储存
///////////////////////////////////////////////////////////////////////////
function member_info()
{
 global $HTTP_COOKIE_VARS, $member_table, $now_table;
 $cookie_userid=$HTTP_COOKIE_VARS[QQboard_userid];
 $cookie_password=$HTTP_COOKIE_VARS[QQboard_password];

 //用户名和密码存放
 if($cookie_userid&&$cookie_password)
 {

  $check=mysql_fetch_array(mysql_query("select count(*) from $now_table where user_id='$cookie_userid'"));

  if($check[0])
  {

   setcookie("QQboard_userid",$cookie_userid,0,"/");
   setcookie("QQboard_password",$cookie_password,0,"/");
   mysql_query("update $now_table set logtime='".time()."' where user_id='$cookie_userid'");
   $member=mysql_fetch_array(mysql_query("select * from $member_table where user_id='$cookie_userid' and password='$cookie_password'"));
  }
  else
  {
   setcookie("QQboard_userid","",0,"/");
   setcookie("QQboard_password","",0,"/");
   $member[level]=10;
  }
 }
 else $member[level]=10;
 return $member;
}

function group_info($no)
{
 global $group_table;
 $temp=mysql_fetch_array(mysql_query("select * from $group_table where no='$no'"));
 return $temp;
}

/////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////
function check_login($user_id,$password,$init=0)
{
 global $connect, $member_table, $now_table, $id;
 $check=mysql_fetch_array(mysql_query("select * from $member_table where user_id='$user_id' and password=password('$password')"));
 if($check[no])
 {
  $password=mysql_fetch_array(mysql_query("select password('$password')"));
  @setcookie("QQboard_userid",$user_id,0,"/");
  @setcookie("QQboard_password",$password[0],0,"/");

  $temp=mysql_fetch_array(mysql_query("select count(*) from $now_table where user_id='$user_id'"));
  if($temp[0]) mysql_query("update $now_table set logtime='".time()."' where user_id='$user_id'");
  else mysql_query("insert into $now_table (user_id,group_no,logtime) values ('$user_id','$check[group_no]','".time()."')");

  return 1;
 }
 else
 {
  setcookie("autologin[id]",0,"","/");
  setcookie("autologin[password]",0,"","/");
  setcookie("autologin[ok]",0,"","/");
  setcookie("QQBoard_userid",0,"","/");
  setcookie("QQBoard_password",0,"","/");

  if($init==0)Error("登陆失败,无此用户或密码错误.");
 }
}
///////////////////////////////////////////////////////////////////
//
///////////////////////////////////////////////////////////////////
function head($body="",$script="")
{
  global $group, $setup,$dir,$member, $PHP_SELF, $id;

 echo"<!--\n\n";include "license.txt";echo"-->\n\n\n"; // 版权-_-+

 if(!eregi("member_",$PHP_SELF)) $directory="skin/$setup[skinname]/style.css"; else $directory="style.css";

 // html
 if($setup[skinname])
 {
  echo"
<html>
<head>
  <title>$setup[title]</title>
  <meta http-equiv=Content-Type content=text/html; charset=gb2312>
  <link rel=StyleSheet HREF=$directory type=text/css title=style>";
if($script) include "script/$script";
  echo"
</head>
<body topmargin='0'  leftmargin='0' marginwidth='0' marginheight='0' $body";
  if($setup[bg_color]) echo "bgcolor=$setup[bg_color] ";
  if($setup[bg_image]) echo "background=$setup[bg_image]";
  echo">";
  if($group[header_url]) include $group[header_url];
  if($group[header]) echo stripslashes($group[header]);
  if($setup[header_url]) include $setup[header_url];
  if($setup[header]) echo stripslashes($setup[header]);
 }
 else
 {
  echo"
<html>
<head>
  <title>AnyDeSn</title>
  <meta http-equiv=Content-Type content=text/html; charset=gb2312>
  <link rel=StyleSheet HREF=style.css type=text/css title=style>";
  if($script) include "script/$script";
 echo"
</head>
<body topmargin='0'  leftmargin='0' marginwidth='0' marginheight='0' $body>";
  if($group[header_url]) include $group[header_url];
  if($group[header]) echo stripslashes($group[header]);
 }
}

///////////////////////////////////////////////////////////////////////
// 下版权
///////////////////////////////////////////////////////////////////////
function foot()
{
 global $width, $group, $setup, $start_time, $query_time;

 $maker=@file("skin/$setup[skinname]/maker.txt");
 if($maker[0]) $maker="/ skin by $maker[0]";

 if($setup[skinname])
 {
  echo "<table border=0 cellpadding=0 cellspacing=0 height=20 width=$width>
        <tr>
           <td align=right style=font-family:verdana,宋体;font-size:8pt;line-height:100%;letter-spacing:-1px;>
           <a href=http://www.anydesign.org target=_blank><font tyle=font-family:verdana,宋体;font-size:8pt;>Create by AnyDeSiGn.ORG</a>
           $maker
           </td>
        </tr>
        </table>";
  if($group[footer_url]) include $group[footer_url];
  if($group[footer]) echo stripslashes($group[footer]);
  if($setup[footer_url]) include $setup[footer_url];
  if($setup[footer]) echo stripslashes($setup[footer]);
  echo"</body>
</html>";
 }
 else
 {
  if($group[footer_url]) include $group[footer_url];
  if($group[footer]) echo stripslashes($group[footer]);
  echo "</body></html>";
 }

 // 运行时间
 $end_time=getmicrotime();
 $db_time=number_format($query_time-$start_time,3,100,6);
 $php_time=number_format($end_time-($start_time+$db_time),3,100,6);
 $total_time=number_format($end_time-$start_time,3,100,6);
 Echo"
      <!--
      -------------------------------------------------------------------
      FireFox Board Executed Time
      -------------------------------------------------------------------
      All StartTime : $start_time
      End DB Excute Time : $query_time
      EndTime : $end_time
      -------------------------------------------------------------------
      DB Excute Time : $db_time
      PHP Excute Time : $php_time
      Total Excuted Time : $total_time
      -------------------------------------------------------------------
      -->";
/*
 echo"-------------------------------------------------------------------<br>
      FireFox Board Executed Time                                              <br>
      -------------------------------------------------------------------        <br>
      DB Excute Time : $db_time<br>
      PHP Excute Time : $php_time<br>
      Total Excuted Time : $total_time<br>
      ------------------------------------------------------------------- "; */
}

/////////////////////////////////////////////////////////////////////////
// 错误组定义
/////////////////////////////////////////////////////////////////////////
function error($message, $url=0)
{
 global $setup, $connect, $dir, $config_dir;

 $dir="skin/".$setup[skinname];

 head();

 if($setup[skinname])
 {
  include "skin/$setup[skinname]/error.php";
 }
 else
 {
  include $config_dir."error.php";
 }

 if($connect) @mysql_close($connect);

 foot();

 exit;
}
//////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////////
function get_table_attrib($id)
{
 global $connect, $admin_table;

 $data=mysql_fetch_array(mysql_query("select * from $admin_table where name='$id'",$connect));

 if($data[table_width]<=100) $data[table_width]=$data[table_width]."%";

 return $data;
}

//////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////////
function isblank($str) {
    $temp=str_replace(" ","",$str);
    $temp=str_replace("\n","",$temp);
		$temp=strip_tags($temp);
    $temp=str_replace("&nbsp;","",$temp);
    $temp=str_replace(" ","",$temp);
    if(eregi("[^[:space:]]",$temp)) return 0;
    return 1;
}

////////////////////////////////////////////////////////////////////////
//
///////////////////////////////////////////////////////////////////////
function isnum($str) {
    if(eregi("[^0-9]",$str)) return 0;
    return 1;
}

//////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////
function isalNum($str) {
    if(eregi("[^0-9a-zA-Z\_]",$str)) return 0;
    return 1;
}

//////////////////////////////////////////////////////////////////////////
// HTML Tag
//////////////////////////////////////////////////////////////////////////
function del_html( $str )
{
  $str = str_replace( ">", "&gt;",$str );
  $str = str_replace( "<", "&lt;",$str );
  $str = str_replace( "\"", "&quot;",$str );
  return $str;
}

//////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////
function istable($str, $dbname='')
{
 global $config_dir;
 if(!$dbname)
 {
  $f=@file($config_dir."config.php") or Error("config.php 文件不存在.<br>DB连接无法进行.","setup.php");
  for($i=1;$i<=4;$i++) $f[$i]=str_replace("\n","",$f[$i]);
  $dbname=$f[4];
 }

 $result = mysql_list_tables($dbname) or error(mysql_error(),"");

 $i=0;

 while ($i < mysql_num_rows($result))
 {
  if($str==mysql_tablename ($result, $i)) return 1;
  $i++;
 }
 return 0;
}

//////////////////////////////////////////////////////////////////////////
//身份证验证
//////////////////////////////////////////////////////////////////////////
function check_jumin($jumin)
{
  if(strlen($jumin)==18){
     $area=substr($jumin,0,2);
    $fp=fopen($config_dir."provinces.php","r");
    $fs=filesize($config_dir."provinces.php");
    $content=fread($fp,$fs);
    $privence=strtok($content,";");
    $i=0;
    while($privence){
    $pid[$i]=substr($privence,0,2);
    $privence=strtok(";");
    $i=$i+1;        }
    for ($j=0;$j<$i;$j++){
  if($area==$pid[$j]){
       return true;
          exit;
                                }
                    }
                       }
}
//////////////////////////////////////////////////////////////////////////
// E-mail
//////////////////////////////////////////////////////////////////////////
function ismail( $str )
{
 if( eregi("([a-z0-9\_\-\.]+)@([a-z0-9\_\-\.]+)", $str) )return $str;
 else return '';
}

/////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////
function isHomepage( $str )
{
 if(eregi("^http://([a-z0-9\_\-\./~@?=&amp;-\#{5,}]+)", $str)) return $str;
 else return '';
}

////////////////////////////////////////////////////////////////////////
// URL, Mail
////////////////////////////////////////////////////////////////////////
function autolink($str)
{
 // URL 连接
 $homepage_pattern = "/([^\"\=\>])(http|HTTP|ftp|FTP|telnet|TELNET)\:\/\/(.[^ \n\<\"]+)/";
 $str = preg_replace($homepage_pattern,"\\1<a href=\\2://\\3 target=_blank>\\2://\\3</a>", " ".$str);

 // 电子邮件
 $email_pattern = "/([ \n]+)([a-z0-9\_\-\.]+)@([a-z0-9\_\-\.]+)/";
 $str = preg_replace($email_pattern,"\\1<a href=mailto:\\2@\\3>\\2@\\3</a>", " ".$str);

 return $str;
}
/////////////////////////////////////////////////////////////////////////
//上传文件大小定义
///////////////////////////////////////////////////////////////////////
function GetFileSize($size)
{
 if(!$size) return;
 if($size<1024) return ($size." B");
 else if($size >1024 && $size< 1024 *1024)  {
 return sprintf("%0.1f KB",$size / 1024);
 }
 else return sprintf("%0.2f MB",$size / (1024*1024));
}

///////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////
function cut_str($msg,$cut_size)
{
if($cut_size<=0) return $msg;
if(ereg("\[re\]",$msg)) $cut_size=$cut_size+4;
for($i=0;$i<$cut_size;$i++) if(ord($msg[$i])>127) $han++; else $eng++;
$cut_size=$cut_size+(int)$han*0.6;
$point=1;
for ($i=0;$i<strlen($msg);$i++)
{
if ($point>$cut_size) { return $pointtmp."...";}
if (ord($msg[$i])<=127)
{
$pointtmp.= $msg[$i];
if ($point%$cut_size==0) { return $pointtmp."..."; }
}
else
{
if ($point%$cut_size==0) { return $pointtmp."..."; }
$pointtmp.=$msg[$i].$msg[++$i];
$point++;
}
$point++;
}
return $pointtmp;
}

//////////////////////////////////////////////////////////////////////////
// MySQL
/////////////////////////////////////////////////////////////////////////
function dbConn()
{
 global $now_table, $connect, $config_dir, $autologin, $HTTP_COOKIE_VARS;
 $f=@file($config_dir."config.php") or Error("config.php文件错误.<br>数据库连接信息未定义","setup.php");
 for($i=1;$i<=4;$i++) $f[$i]=trim(str_replace("\n","",$f[$i]));
 if(!$connect) $connect = @mysql_connect($f[1],$f[2],$f[3]) or Error("DB 加载失败或未启动.");
 @mysql_select_db($f[4], $connect) or Error("DB Select 数据表不存在","");

 // 自动登陆
 if($autologin[ok]=="ok"&&$autologin[id]&&$autologin[password]&&!$HTTP_COOKIE_VARS[QQboard_userid])
 {
  $user_id=$autologin[id];
  $password=base64_decode($autologin[password]);
  $check=check_login($user_id,$password,1);
  if($check)
        {
   @setcookie("autologin[id]",$user_id,60*60*24*365,"/");
   @setcookie("autologin[password]",base64_encode($password),60*60*24*365,"/");
   @setcookie("autologin[ok]","ok",60*60*24*365,"/");
  }   else
  {
   setcookie("autologin[id]",0,"","/");
   setcookie("autologin[password]",0,"","/");
   setcookie("autologin[ok]",0,"","/");
   setcookie("QQBoard_userid",0,"","/");
   setcookie("QQBoard_password",0,"","/");
  }
 }

 // DB
 $nowtime=time();
 @mysql_query("delete from $now_table where $nowtime - logtime > 1200");
 return $connect;
}

/////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////
function movepage($uRl)
{
 global $connect;
 echo"<meta http-equiv=\"refresh\" content=\"0; Url=$uRl\">";
 if($connect) @mysql_close($connect);
 exit;
}

//////////////////////////////////////////////////////////////////////////
//
////////////////////////////////////////////////////////////////////////
function get_icon($data)
{
 global $dir;

 //
 $check_time=(time()-$data[reg_date])/60/60;

 //
 if($data[depth])
 {
  if($check_time<=12) $icon="<img src=$dir/reply_new_head.gif border=0 align=absmiddle>&nbsp;"; //
  else $icon="<img src=$dir/reply_head.gif border=0 align=absmiddle>&nbsp;"; //
 }
 else
 {
  if($check_time<=12) $icon="<img src=$dir/new_head.gif border=0 align=absmiddle>&nbsp;"; //
  else $icon="<img src=$dir/old_head.gif border=0 align=absmiddle>&nbsp;";          //
 }
 if($data[headnum]<=-2000000000) $icon="<img src=$dir/notice_head.gif border=0 align=absmiddle>&nbsp;"; //
 else if($data[is_secret]==1) $icon="<img src=$dir/secret_head.gif border=0 align=absmiddle alt='私人'>&nbsp;";
 return $icon;
}

///////////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////////
function get_face($data)
{
 global $group;
 if($group[use_icon]==0)
 {
  //
  if($data[ismember])
   {
    if($data[islevel]==2) $face_image="<img src=images/admin2_face.gif border=0 align=absmiddle>";
    elseif($data[islevel]==1) $face_image="<img src=images/admin1_face.gif border=0 align=absmiddle>";
    else
    {
     if($group[icon]) $face_image="<img src=icon/$group[icon] border=0 align=absmiddle>";
     else $face_image="<img src=images/member_face.gif border=0 align=absmiddle>";
    }
  }
  else $face_image="<img src=images/blank_face.gif border=0 align=absmiddle>";
  $face_image="<div align=left>&nbsp;".$face_image;
 }
 elseif($group[use_icon]==1&&$data[ismember]) $face_image="<b>";

 if($data[ismember]&&$data[parent]) $face_image="<b>";
 elseif($data[parent]) $face_image="";

return $face_image;
}


//////////////////////////////////////////////////////////////////////////
function size($size)
{
 global $browser;
 if(!$browser) return " size=".($size*0.6)." ";
 else return " size=$size ";
}
///////////////////////////////////////////////////////////////////////////
function size2($size)
{
 global $browser;
 if(!$browser) return " cols=".($size*0.6)." ";
 else return " cols=$size ";
}
///////////////////////////////////////////////////////////////////////////
function check_board_master($member, $board_num)
{
	$temp = split(",",$member[board_name]);

	for($i=0;$i<count($temp);$i++){

		$t = trim($temp[$i]);

		if($t&&$t==$board_num) return 1;
	}

	return 0;
}
		

提交新版本

如果您修改了一个代码片段并且觉得很应该让别人共享,您可以把这作为这个代码片段的最新版本提交上来.


联盟团体会员
合作伙伴
© 共创软件联盟 版权所有
联盟服务条款 | 联盟隐私权规则 | 联系我们
电话: (8610)68313388-5949 | 传真: (8610)88377936
京ICP备05056057号