【php开源代码栏目提醒】:网学会员为需要php开源代码的朋友们搜集整理了client.php相关资料,希望对各位网友有所帮助!
<?php
/*
[UCenter] (C)2001-2008 Comsenz Inc.
This is NOT a freeware, use is subject to license terms
$Id: client.php 12180 2008-01-17 05:56:43Z heyond $
*/
if(!defined('UC_API')) {
exit('Access denied');
}
error_reporting(0);
define('IN_UC', TRUE);
define('UC_VERSION', '1.0.0');
define('UC_RELEASE', '20080429');
define('UC_ROOT', substr(__FILE__, 0, -10)); //note 鐢ㄦ埛涓績瀹㈡埛绔殑鏍圭洰褰?UC_CLIENTROOT
define('UC_DATADIR', UC_ROOT.'./data/'); //note 鐢ㄦ埛涓績鐨勬暟鎹紦瀛樼洰褰?
define('UC_DATAURL', UC_API.'/data'); //note 鐢ㄦ埛涓績鐨勬暟鎹?URL
define('UC_API_FUNC', UC_CONNECT == 'mysql' ? 'uc_api_
mysql' : 'uc_api_post');
$GLOBALS['uc_controls'] = array();
function uc_addslashes($string, $force = 0, $strip = FALSE) {
!defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
if(!MAGIC_QUOTES_GPC || $force) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = uc_addslashes($val, $force, $strip);
}
} else {
$string = addslashes($strip ? stripslashes($string) : $string);
}
}
return $string;
}
function uc_stripslashes($string) {
!defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
if(MAGIC_QUOTES_GPC) {
return stripslashes($string);
} else {
return $string;
}
}
/**
* dfopen 鏂瑰紡鍙栨寚瀹氱殑妯″潡鍜屽姩浣滅殑鏁版嵁
*
* @param string $module 璇锋眰鐨勬ā鍧?
* @param string $action 璇锋眰鐨勫姩浣?
* @param array $arg 鍙傛暟锛堜細鍔犲瘑鐨勬柟寮忎紶閫侊級
* @return string
*/
function uc_api_post($module, $action, $arg = array()) {
$s = $sep = '';
foreach($arg as $k => $v) {
if(is_array($v)) {
$s2 = $sep2 = '';
foreach($v as $k2=>$v2) {
$s2 .= "$sep2{$k}[$k2]=".urlencode(uc_stripslashes($v2));
$sep2 = '&';
}
$s .= $sep.$s2;
} else {
$s .= "$sep$k=".urlencode(uc_stripslashes($v));
}
$sep = '&';
}
$postdata = uc_api_requestdata($module, $action, $s);
return uc_fopen2(UC_API.'/index.php', 500000, $postdata, '', TRUE, UC_IP, 20);
}
/**
* 鏋勯犲彂閫佺粰鐢ㄦ埛涓績鐨勮姹傛暟鎹?
*
* @param string $module 璇锋眰鐨勬ā鍧?
* @param string $action 璇锋眰鐨勫姩浣?
* @param string $arg 鍙傛暟锛堜細鍔犲瘑鐨勬柟寮忎紶閫侊級
* @param string $extra 闄勫姞鍙傛暟锛堜紶閫佹椂涓嶅姞瀵嗭級
* @return string
*/
function uc_api_requestdata($module, $action, $arg='', $extra='') {
$input = uc_api_input($arg);
$post = "m=$module&a=$action&in
ajax=2&input=$input&appid=".UC_APPID.$extra;
return $post;
}
function uc_api_url($module, $action, $arg='', $extra='') {
$url = UC_API.'/index.php?'.uc_api_requestdata($module, $action, $arg, $extra);
return $url;
}
function uc_api_input($data) {
$s = urlencode(uc_authcode($data.'&agent='.md5($_SERVER['HTTP_USER_AGENT'])."&time=".time(), 'ENCODE', UC_KEY));
return $s;
}
/**
* MYSQL 鏂瑰紡鍙栨寚瀹氱殑妯″潡鍜屽姩浣滅殑鏁版嵁
*
* @param string $model 璇锋眰鐨勬ā鍧?
* @param string $action 璇锋眰鐨勫姩浣?
* @param string $args 鍙傛暟锛堜細鍔犲瘑鐨勬柟寮忎紶閫侊級
* @return mix
*/
function uc_api_my
sql($model, $action, $args=array()) {
global $uc_controls;
if(empty($uc_controls[$model])) {
include_once UC_ROOT.'./lib/db.class.php';
include_once UC_ROOT.'./model/base.php';
include_once UC_ROOT."./control/$model.php";
eval("\$uc_controls['$model'] = new {$model}control();");
}
if($action{0} != '_') {
$args = uc_addslashes($args, 1, TRUE);
$action = 'on'.$action;
return $uc_controls[$model]->$action($args);
} else {
return '';
}
}
function uc_serialize($arr, $htmlon = 0) {
include_once UC_ROOT.'./lib/xml.class.php';
return xml_serialize($arr, $htmlon);
}
function uc_unserialize($s) {
include_once UC_ROOT.'./lib/
xml.class.php';
return xml_unserialize($s);
}
/**
* 瀛楃涓插姞瀵嗕互鍙婅В瀵嗗嚱鏁?
*
* @param string $string 鍘熸枃鎴栬呭瘑鏂?
* @param string $operation 鎿嶄綔(ENCODE | DECODE), 榛樿涓?DECODE
* @param string $key 瀵嗛挜
* @param int $expiry 瀵嗘枃鏈夋晥鏈? 鍔犲瘑鏃跺欐湁鏁堬紝 鍗曚綅 绉掞紝0 涓烘案涔呮湁鏁?
* @return string 澶勭悊鍚庣殑 鍘熸枃鎴栬?缁忚繃 base64_encode 澶勭悊鍚庣殑瀵嗘枃
*
* @example
*
* $a = authcode('abc', 'ENCODE', 'key');
* $b = authcode($a, 'DECODE', 'key'); // $b(abc)
*
* $