📄 function.php
字号:
$file_list[] = $filename;
}
}
closedir($handle);
}
for($i=0; $i<count($file_list); $i++) {
$place = search_ip($ip,$SETTING['dir_ipdata'].$file_list[$i]);
if( $place != "Unknown" && $place != "") { break; }
}
return $place;
}
// Search IP to address
function search_ip($ip,$db)
{
global $SETTING;
$ip_part = explode(".",trim($ip));
for($i=0; $i<4; $i++) { $ip_part[$i] = sprintf("%03d", $ip_part[$i]); }
$ip = join(".",$ip_part);
$file_list = file($db);
$number = count($file_list);
if($number>=10) {
$part = floor($number/10); $group = 10;
} else {
$part = $number; $group = 1;
}
for($i=0;$i<$group;$i++) {
$record_begin = $part*$i;
$record_end = ($i == $group-1) ? $number-1 : $part*($i+1)-1;
$ipbegin_part = explode(".",$file_list[$record_begin]);
$ipend_part = explode(".",$file_list[$record_end]);
if( ($ip_part[1] >= $ipbegin_part[1]) && ($ip_part[1] <= $ipend_part[4]) ) {
for($j = $record_begin;$j <= $record_end;$j++) {
$file_list_part = explode($SETTING['division1'],$file_list[$j]);
if(strcmp($ip,$file_list_part[0])>=0 && strcmp($ip,$file_list_part[1])<=0 ) {
$place = trim($file_list_part['2']).trim($file_list_part['3']);
break;
}
}
break;
}
}
$place = (!empty($place)) ? $place : "Unknown";
return $place;
}
// Forbid the IP
function forbid_ip()
{
global $SETTING;
$ifhave = "n";
$ip = return_ip();
$ip_part = explode(".",$ip);
$file_list = file($SETTING['file_forbidip']);
for ($i=1; $i<count($file_list); $i++) {
$file_list_part = explode(".",$file_list[$i]);
for($h=0; $h<4; $h++) {
if((trim($file_list_part[$h]) != trim($ip_part[$h])) && (trim($file_list_part[$h]) != "*")) {
break;
} elseif ($h == 3) {
$ifhave = "y";
break 2;
}
}
}
return $ifhave;
}
// Nether is some check function
// Check if visitor can view user
function check_ifview()
{
global $_GET,$SETTING,$LANGUAGE;
if(isset($_GET['user']) && ($_GET['user'] != "")) {
$user = check_username($_GET['user']);
$file_config = $SETTING['dir_data'].$user."/".$SETTING['file_config'];
if(!file_exists($file_config)) {
header("location:login.php?act=select&mes=".htmlentities(urlencode($LANGUAGE['warning_nouser'])));
exit;
} else {
$_SESSION['sess_select'] = $user;
}
} elseif (!isset($_SESSION['sess_select']) || $_SESSION['sess_select'] == "") {
header("location:login.php?act=select&mes=".htmlentities(urlencode($LANGUAGE['function_selectuser'])));
exit;
}
$file_config = $SETTING['dir_data'].$_SESSION['sess_select']."/".$SETTING['file_config'];
include $file_config;
if((CONFIG_IFVIEW == "n") && ($_SESSION['sess_username'] != $_SESSION['sess_select']) && (if_adminlogin() != "y")) {
header("location:login.php?act=login&mes=".htmlentities(urlencode($LANGUAGE['function_mustlogin'])));
exit;
} elseif (($CONFIGUSER['ifview'] == "n") && ($_SESSION['sess_username'] != $_SESSION['sess_select']) && (if_adminlogin() != "y")) {
header("location:login.php?act=login&mes=".htmlentities(urlencode($LANGUAGE['function_usermustlogin'])));
exit;
}
return TRUE;
}
// Check if select user
function if_selectuser()
{
$if = "n";
if(isset($_SESSION['sess_select']) && ($_SESSION['sess_select'] != "")) {
$if = "y";
}
return $if;
}
// Check user login
function check_userlogin()
{
if(!isset($_SESSION['sess_username']) || ($_SESSION['sess_username'] == "") || !isset($_SESSION['sess_password']) || ($_SESSION['sess_password'] == "")) {
header("location:login.php?act=login");
exit;
} else {
return TRUE;
}
}
// Check if user login
function if_userlogin()
{
$if = "n";
if(isset($_SESSION['sess_username']) && ($_SESSION['sess_username'] != "") && isset($_SESSION['sess_password']) && ($_SESSION['sess_password'] != "")) {
$if = "y";
}
return $if;
}
// Check admin login
function check_adminlogin()
{
if(!isset($_SESSION['sess_adminuser']) || ($_SESSION['sess_adminuser'] == "") || !isset($_SESSION['sess_adminpass']) || ($_SESSION['sess_adminpass'] == "")) {
header("location:admin_login.php?act=login");
exit;
} else {
return TRUE;
}
}
// Check admin login
function if_adminlogin()
{
$if = "n";
if(isset($_SESSION['sess_adminuser']) && ($_SESSION['sess_adminuser'] != "") && isset($_SESSION['sess_adminpass']) && ($_SESSION['sess_adminpass'] != "")) {
$if = "y";
}
return $if;
}
//////
// Sort a planar array into order
function cmp($a, $b)
{
if($a['key'] == $b['key']) {
return 0;
}else{
return ($a['key'] < $b['key']) ? -1 : 1;
}
}
// Sort a planar array into reversed order
function rcmp($a, $b)
{
if($a['key'] == $b['key']) {
return 0;
}else{
return ($a['key'] < $b['key']) ? 1 : -1;
}
}
// join some str to a array
function join_str($begin,$end,$fill=0)
{
$str = array();
for($i=$begin; $i<=$end; $i++) {
$str[] = sprintf("%0".$fill."d", $i);
}
return $str;
}
// join date to a array
function join_date($sort,$year,$month,$day,$hour)
{
global $SETTING;
$array = array();
if($sort == "hour") {
for($i=23;$i>=0;$i--) {
$array[] .= date("YmdH", mktime ($hour-$i,0,0,$month,$day,$year));
}
} elseif ($sort == "day") {
for($i=30;$i>=0;$i--) {
$array[] .= date("Ymd", mktime ($hour,0,0,$month,$day-$i,$year));
}
} elseif ($sort == "month") {
for($i=11;$i>=0;$i--) {
$array[] .= date("Ym", mktime ($hour,0,0,$month-$i,$day,$year));
}
} elseif ($sort == "year") {
for($i=$SETTING['howyear']-1;$i>=0;$i--) {
$array[] .= date("Y", mktime ($hour,0,0,$month,$day,$year-$i));
}
}
return $array;
}
// If have a same IP in period of time
function if_ipsame($filename,$now,$long)
{
global $SETTING;
$str = "<?php exit(\"".$SETTING['cannotview']."\");?>\n";
if(!file_exists($filename)) { write_file($filename,$str); }
$ip = return_ip();
$ifhave = "n";
$str_file = "";
$str_now = $now.$SETTING['division1'].$ip."\n";
$file_list = file($filename);
for($i=1;$i<count($file_list);$i++) {
$file_list_part = explode($SETTING['division1'],$file_list[$i]);
$time_margin = trim($now)-trim($file_list_part['0']);
if( $time_margin < (int)$long ) {
$str_file .= trim($file_list[$i])."\n";
if( trim($ip) == trim($file_list_part['1']) ) {
$ifhave = "y";
}
}
}
if($ifhave == "y") {
$str = $str.$str_file;
}else{
$str = $str.$str_now.$str_file;
}
$fettle = write_file($filename,$str);
return $ifhave;
}
// Some write function
// Write data to file of click
function write_click($filename,$keyword,$if_ipsame,$length)
{
global $SETTING;
$str = "<?php exit(\"".$SETTING['cannotview']."\");?>\n";
if(!file_exists($filename)) { write_file($filename,$str); }
$file_list = file($filename);
for($i=0;$i<count($keyword);$i++) {
for($j=0;$j<count($file_list);$j++) { // $i must be 1
$file_list_part = explode($SETTING['division1'],$file_list[$j]);
if(trim($keyword[$i]) == trim($file_list_part[0])) {
$ip[$i] = ($if_ipsame == "n") ? ($file_list_part[1]+1) : ($file_list_part[1]+0);
$pv[$i] = $file_list_part[2]+1;
if(strlen($ip[$i])>(int)$length) { $ip[$i] = 0; }// initialize IP
if(strlen($pv[$i])>(int)$length) { $pv[$i] = 0; }// initialize PV
break;
} elseif ($j == (count($file_list)-1)) {
$ip[$i] = "1";
$pv[$i] = "1";
break;
}
}
$str .= $keyword[$i].$SETTING['division1'].$ip[$i].$SETTING['division1'].$pv[$i]."\n";
}
$fettle = write_file($filename,$str);
return $fettle;
}
// Period of time of total
function write_totalevery($filename,$keyword,$now,$if_ipsame)
{
global $SETTING;
$str = "<?php exit(\"".$SETTING['cannotview']."\");?>\n";
if(!file_exists($filename)) { write_file($filename,$str); }
$file_list = file($filename);
for($i=0;$i<count($keyword);$i++) {
for($j=0;$j<count($file_list);$j++) {
$file_list_part = explode($SETTING['division1'],$file_list[$j]);
if(trim($keyword[$i]) == trim($file_list_part[0])) {
if(trim($keyword[$i]) == trim($now)) {
$ip[$i] = (($if_ipsame == "n") ? ($file_list_part[1]+1) : ($file_list_part[1]+0));
$pv[$i] = $file_list_part[2]+1;
break;
}else{
$ip[$i] = $file_list_part[1]+0;
$pv[$i] = $file_list_part[2]+0;
break;
}
} elseif ($j == (count($file_list)-1)) {
$ip[$i] = (trim($keyword[$i]) == trim($now)) ? "1" : "0";
$pv[$i] = (trim($keyword[$i]) == trim($now)) ? "1" : "0";
break;
}
}
$str .= $keyword[$i].$SETTING['division1'].$ip[$i].$SETTING['division1'].$pv[$i]."\n";
}
$fettle = write_file($filename,$str);
return $fettle;
}
// Period of time of latest time
function write_lastevery($filename,$keyword,$if_ipsame)
{
global $SETTING;
$str = "<?php exit(\"".$SETTING['cannotview']."\");?>\n";
if(!file_exists($filename)) { write_file($filename,$str); }
$num_keyword = count($keyword);
$file_list = file($filename);
$num_file_list = count($file_list);
for($i=0;$i<$num_keyword;$i++) {
for($j=0;$j<$num_file_list;$j++) {
$file_list_part = explode($SETTING['division1'],$file_list[$j]);
if(trim($keyword[$i]) == trim($file_list_part[0])) {
if($i==($num_keyword-1)) {
$ip[$i] = (($if_ipsame == "n") ? ($file_list_part[1]+1) : ($file_list_part[1]+0));
$pv[$i] = $file_list_part[2]+1;
break;
}else{
$ip[$i] = $file_list_part[1]+0;
$pv[$i] = $file_list_part[2]+0;
break;
}
} elseif ($j == ($num_file_list-1)) {
$ip[$i] = ($i==($num_keyword-1)) ? "1" : "0";
$pv[$i] = ($i==($num_keyword-1)) ? "1" : "0";
break;
}
}
$str .= $keyword[$i].$SETTING['division1'].$ip[$i].$SETTING['division1'].$pv[$i]."\n";
}
$fettle = write_file($filename,$str);
return $fettle;
}
// Every of total
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -