php168 ucenter 调用,index.php

本文档详细介绍了UCenter的配置步骤,包括设置API地址、定义数据目录、处理魔术引用等。同时,讲解了如何进行模块调用,如用户、应用、消息等模块的on方法执行流程,以及在找不到指定动作时的错误处理方式。对于开发者来说,是理解UCenter工作原理的重要参考资料。
摘要由CSDN通过智能技术生成

/*

[UCenter] (C)2001-2099 Comsenz Inc.

This is NOT a freeware, use is subject to license terms

$Id: index.php 1139 2012-05-08 09:02:11Z liulanbo $

*/

error_reporting(0);

$mtime = explode(' ', microtime());

$starttime = $mtime[1] + $mtime[0];

define('IN_UC', TRUE);

define('UC_ROOT', dirname(__FILE__) . '/');

define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));

define('UC_DATADIR', UC_ROOT . 'data/');

define('UC_DATAURL', UC_API . '/data');

define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());

unset($GLOBALS, $_ENV, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $HTTP_SERVER_VARS, $HTTP_ENV_VARS);

$_GET = daddslashes($_GET, 1, TRUE);

$_POST = daddslashes($_POST, 1, TRUE);

$_COOKIE = daddslashes($_COOKIE, 1, TRUE);

$_SERVER = daddslashes($_SERVER);

$_FILES = daddslashes($_FILES);

$_REQUEST = daddslashes($_REQUEST, 1, TRUE);

require UC_ROOT . './release/release.php';

if (!@include UC_DATADIR . 'config.inc.php')

{

exit('The file data/config.inc.php does not exist, perhaps because of UCenter has not been installed, Please click here to install it..');

}

$m = getgpc('m');

$a = getgpc('a');

if (empty($m) && empty($a))

{

header('Location: admin.php');

exit;

}

define('RELEASE_ROOT', '');

if (file_exists(UC_ROOT . RELEASE_ROOT . 'model/base.php'))

{

require UC_ROOT . RELEASE_ROOT . 'model/base.php';

}

else

{

require UC_ROOT . 'model/base.php';

}

if (in_array($m, array('app', 'frame', 'user', 'pm', 'pm_client', 'tag', 'feed', 'friend', 'domain', 'credit', 'mail', 'version')))

{

if (file_exists(UC_ROOT . RELEASE_ROOT . "control/$m.php"))

{

include UC_ROOT . RELEASE_ROOT . "control/$m.php";

}

else

{

include UC_ROOT . "control/$m.php";

}

$classname = $m . 'control';

$control = new $classname();

$method = 'on' . $a;

if (method_exists($control, $method) && $a{0} != '_')

{

$data = $control->$method();

echo is_array($data) ? $control->serialize($data, 1) : $data;

exit;

}

elseif (method_exists($control, '_call'))

{

$data = $control->_call('on' . $a, '');

echo is_array($data) ? $control->serialize($data, 1) : $data;

exit;

}

else

{

exit('Action not found!');

}

}

else

{

exit('Module not found!');

}

$mtime = explode(' ', microtime());

$endtime = $mtime[1] + $mtime[0];

function daddslashes($string, $force = 0, $strip = FALSE)

{

if (!MAGIC_QUOTES_GPC || $force)

{

if (is_array($string))

{

foreach ($string as $key => $val)

{

$string[$key] = daddslashes($val, $force, $strip);

}

}

else

{

$string = addslashes($strip ? stripslashes($string) : $string);

}

}

return $string;

}

function getgpc($k, $var = 'R')

{

switch ($var)

{

case 'G': $var = &$_GET;

break;

case 'P': $var = &$_POST;

break;

case 'C': $var = &$_COOKIE;

break;

case 'R': $var = &$_REQUEST;

break;

}

return isset($var[$k]) ? $var[$k] : NULL;

}

function fsocketopen($hostname, $port = 80, &$errno, &$errstr, $timeout = 15)

{

$fp = '';

if (function_exists('fsockopen'))

{

$fp = @fsockopen($hostname, $port, $errno, $errstr, $timeout);

}

elseif (function_exists('pfsockopen'))

{

$fp = @pfsockopen($hostname, $port, $errno, $errstr, $timeout);

}

elseif (function_exists('stream_socket_client'))

{

$fp = @stream_socket_client($hostname . ':' . $port, $errno, $errstr, $timeout);

}

return $fp;

}

function dhtmlspecialchars($string, $flags = null)

{

if (is_array($string))

{

foreach ($string as $key => $val)

{

$string[$key] = dhtmlspecialchars($val, $flags);

}

}

else

{

if ($flags === null)

{

$string = str_replace(array('&', '"', ''), array('&', '"', '<', '>'), $string);

if (strpos($string, '&#') !== false)

{

$string = preg_replace('/&((#(\d{3,5}|x[a-fA-F0-9]{4}));)/', '&\\1', $string);

}

}

else

{

if (PHP_VERSION < '5.4.0')

{

$string = htmlspecialchars($string, $flags);

}

else

{

if (strtolower(CHARSET) == 'utf-8')

{

$charset = 'UTF-8';

}

else

{

$charset = 'ISO-8859-1';

}

$string = htmlspecialchars($string, $flags, $charset);

}

}

}

return $string;

}

一键复制

编辑

Web IDE

原始数据

按行查看

历史

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值