本文整理汇总了PHP中XML_RPC_Value类的典型用法代码示例。如果您正苦于以下问题:PHP XML_RPC_Value类的具体用法?PHP XML_RPC_Value怎么用?PHP XML_RPC_Value使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了XML_RPC_Value类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: XML_RPC_Server_listMethods
/**
* Lists all the methods that the XML-RPC server knows how to dispatch
*
* @return object a new XML_RPC_Response object
*/
function XML_RPC_Server_listMethods($server, $m)
{
global $XML_RPC_err, $XML_RPC_str, $XML_RPC_Server_dmap;
$v = new XML_RPC_Value();
$outAr = array();
foreach ($server->dmap as $key => $val) {
$outAr[] = new XML_RPC_Value($key, 'string');
}
foreach ($XML_RPC_Server_dmap as $key => $val) {
$outAr[] = new XML_RPC_Value($key, 'string');
}
$v->addArray($outAr);
return new XML_RPC_Response($v);
}
示例2: xmlrpc_smtp2pne
function xmlrpc_smtp2pne($message)
{
// パラメータを取得
$param = $message->getParam(0);
if (!XML_RPC_Value::isValue($param)) {
return $param;
}
$params = XML_RPC_decode($param);
// 入力チェック とりあえず空かどうかのみ
if (empty($params['prefix']) and empty($params['domain'])) {
return xmlrpc_get_response_faultDefault('incorrect_params');
}
if (empty($params['to'])) {
return xmlrpc_get_response_faultDefault('incorrect_params');
}
if (empty($params['from'])) {
return xmlrpc_get_response_faultDefault('incorrect_params');
}
// デコーダオブジェクトを作成
$options['from_encoding'] = 'UTF-8';
$options['to_encoding'] = 'UTF-8';
$options['img_tmp_dir'] = OPENPNE_VAR_DIR . '/tmp';
$options['img_max_filesize'] = IMAGE_MAX_FILESIZE * 1024;
$options['trim_doublebyte_space'] = OPENPNE_TRIM_DOUBLEBYTE_SPACE;
$decoder =& new OpenPNE_KtaiMail_RPC($options);
$decoder->assign($params);
// メール受信処理オブジェクトを起動
$mail_sns =& new mail_sns($decoder);
if (!$mail_sns->main()) {
//エラーの場合はfaultCodeを返す
return xmlrpc_get_fault_response(56, 'Can\'t Receive Mail');
}
return xmlrpc_get_response(0);
}
示例3: XML_RPC_Server_listMethods
function XML_RPC_Server_listMethods($server, $m)
{
global $XML_RPC_err, $XML_RPC_str, $XML_RPC_Server_dmap;
$v = new XML_RPC_Value();
$dmap = $server->dmap;
$outAr = array();
for (reset($dmap); list($key, $val) = each($dmap);) {
$outAr[] = new XML_RPC_Value($key, "string");
}
$dmap = $XML_RPC_Server_dmap;
for (reset($dmap); list($key, $val) = each($dmap);) {
$outAr[] = new XML_RPC_Value($key, "string");
}
$v->addArray($outAr);
return new XML_RPC_Response($v);
}
示例4: xmlrpc_000_auth
/**
* 認証API
*/
function xmlrpc_000_auth($message)
{
$param = $message->getParam(0);
if (!XML_RPC_Value::isValue($param)) {
return false;
}
$params = XML_RPC_decode($param);
if (empty($params['sid'])) {
return false;
}
if (empty($params['mid'])) {
return false;
}
if (empty($params['dt'])) {
return false;
}
$c_member_id = $params['mid'];
$datetime = $params['dt'];
if (!db_member_c_member4c_member_id_LIGHT($c_member_id)) {
return xmlrpc_get_fault_response(56);
}
if (!($member_token = db_api_get_member_token($c_member_id))) {
return xmlrpc_get_fault_response(52);
}
$session_id = api_get_sid($c_member_id, $member_token, $datetime);
if ($params['sid'] != $session_id) {
return xmlrpc_get_fault_response(52);
}
return xmlrpc_get_response($c_member_id);
}
示例5: getScalarValue
/**
* Aux functions
*
* @access public
* @param object $p
* @param string $i
* @return mixed
*/
function getScalarValue($p, $i)
{
$r = $p->getParam($i);
if (!XML_RPC_Value::isValue($r)) {
return false;
//return new XML_RPC_Response(0, $GLOBALS['XML_RPC_erruser']+3, 'fubar user param');
}
return $r->scalarval();
}
示例6: xmlrpc_di_000_get_diary
function xmlrpc_di_000_get_diary($message)
{
$dummy = array();
$re_false = array('result' => 1, 'list' => $dummy);
$param = $message->getParam(0);
if (!XML_RPC_Value::isValue($param)) {
return xmlrpc_get_response($re_false);
}
$params = XML_RPC_decode($param);
if (empty($params['mid_to'])) {
//対象メンバID必須
return xmlrpc_get_response($re_false);
}
if (empty($params['count'])) {
//取得数必須
return xmlrpc_get_response($re_false);
}
if (!is_numeric($params['mid_to'])) {
//対象メンバIDは整数値
return xmlrpc_get_response($re_false);
}
if (!empty($params['mid_from'])) {
//アクセスメンバIDは(存在する場合は)整数値
if (!is_numeric($params['mid_from'])) {
return xmlrpc_get_response($re_false);
}
}
if (!is_numeric($params['count'])) {
//取得数は整数値
return xmlrpc_get_response($re_false);
}
if ($params['count'] < 0) {
//取得数は正
return xmlrpc_get_response($re_false);
}
$member_id_to = $params['mid_to'];
$member_id_from = $params['mid_from'];
$count = $params['count'];
if ($count > 100) {
//取得最大数は100
$count = 100;
}
if (!($arr = OP::op_diary_get_c_diary($member_id_to, $member_id_from, $count))) {
return xmlrpc_get_response($re_false);
} else {
foreach ($arr as $key => $value) {
$diary[$key]['id'] = $arr[$key]['c_diary_id'];
$diary[$key]['subject'] = $arr[$key]['subject'];
$diary[$key]['body'] = $arr[$key]['body'];
$diary[$key]['datetime'] = date('Y/m/d H:i:s', strtotime($arr[$key]['r_datetime']));
}
$re_true = array('result' => 0, 'list' => $diary);
return xmlrpc_get_response($re_true);
}
}
示例7: xmlrpc_002_get_member_point
/**
* @copyright 2005-2008 OpenPNE Project
* @license http://www.php.net/license/3_01.txt PHP License 3.01
*/
function xmlrpc_002_get_member_point($message)
{
$param = $message->getParam(0);
if (!XML_RPC_Value::isValue($param)) {
return false;
}
$params = XML_RPC_decode($param);
if (empty($params['c_member_id'])) {
return false;
}
$point = get_point($params['c_member_id']);
return xmlrpc_get_response($point);
}
示例8: getDefinition
public function getDefinition($params)
{
// get word
$param = $params->getParam(0);
if (!XML_RPC_Value::isValue($param)) {
log_debug($param);
}
$word = $param->scalarval();
// get the definition by the word.
$message = $this->objMxitDictionary->getDefinition($word);
$val = $message['definition'];
// return the value as an XML-RPC value and response.
$val2send = new XML_RPC_Value($val, 'string');
return new XML_RPC_Response($val2send);
}
示例9: xmlrpc_as_001_set_ashiato
function xmlrpc_as_001_set_ashiato($message)
{
$dummy = array();
$re_false = array('result' => 1);
$re_true = array('result' => 0);
$param = $message->getParam(0);
if (!XML_RPC_Value::isValue($param)) {
return xmlrpc_get_response($re_false);
}
$params = XML_RPC_decode($param);
//「あしあと」を付けたメンバID必須
if (empty($params['mid_from'])) {
return xmlrpc_get_response($re_false);
}
//「あしあと」を付けられたメンバID必須
if (empty($params['mid_to'])) {
return xmlrpc_get_response($re_false);
}
$mid_from = $params['mid_from'];
$mid_to = $params['mid_to'];
//登録済みのメンバか
if (!OP::op_member_is_active_c_member_id($mid_from)) {
return xmlrpc_get_response($re_false);
}
//登録済みのメンバか
if (!OP::op_member_is_active_c_member_id($mid_to)) {
return xmlrpc_get_response($re_false);
}
//あしあとを付けたメンバIDと付けられたメンバIDは同一か
if ($mid_from == $mid_to) {
return xmlrpc_get_response($re_true);
}
//一定時間内の連続アクセスか?
if (!OP::op_ashiato_check_access_minute($mid_to, $mid_from)) {
return xmlrpc_get_response($re_true);
}
//忍び足状態か?
if (USE_SHINOBIASHI) {
if (OP::op_member_is_shinobiashi($mid_from)) {
return xmlrpc_get_response($re_true);
}
}
if (!OP::op_ashiato_insert_c_ashiato($mid_to, $mid_from)) {
return xmlrpc_get_response($re_false);
}
//正常終了
return xmlrpc_get_response($re_true);
}
示例10: xmlrpc_as_000_get_ashiato
function xmlrpc_as_000_get_ashiato($message)
{
$dummy = array();
$re_false = array('result' => 1, 'list' => $dummy);
$param = $message->getParam(0);
if (!XML_RPC_Value::isValue($param)) {
return xmlrpc_get_response($re_false);
}
$params = XML_RPC_decode($param);
//対象メンバID必須
if (empty($params['mid'])) {
return xmlrpc_get_response($re_false);
}
//取得数必須
if (empty($params['count'])) {
return xmlrpc_get_response($re_false);
}
//取得数は数値
if (!is_numeric($params['count'])) {
return xmlrpc_get_response($re_false);
}
$member_id = $params['mid'];
$count = intval($params['count']);
$profile = $params['profile'];
//取得数は正
if ($count <= 0) {
return xmlrpc_get_response($re_false);
}
//登録済みのメンバか
if (!OP::op_member_is_active_c_member_id($member_id)) {
return xmlrpc_get_response($re_false);
}
//あしあとのあるメンバか
if (!OP::op_is_ahiato_member($member_id)) {
return xmlrpc_get_response($re_false);
}
//取得最大数は100
if ($count > 100) {
$count = 100;
}
$list = OP::op_ashiato_list_c_member_profile($member_id, $count, $profile);
if (empty($list)) {
return xmlrpc_get_respose($re_false);
}
return xmlrpc_get_response(array('result' => 0, 'list' => $list));
}
示例11: grabXMLDoc
public function grabXMLDoc($params)
{
$param = $params->getParam(0);
if (!XML_RPC_Value::isValue($param)) {
log_debug($param);
}
$doc = $param->scalarval();
if (!file_exists($this->objConfig->getContentBasePath() . 'apitmp/')) {
@mkdir($this->objConfig->getContentBasePath() . 'apitmp/');
@chmod($this->objConfig->getContentBasePath() . 'apitmp/', 0777);
}
$localfile = $this->objConfig->getContentBasePath() . 'apitmp/annote' . rand(1, 999);
$ret = file_put_contents($doc, $localfile);
$val = new XML_RPC_Value($ret, 'boolean');
return new XML_RPC_Response($val);
// Ooops, couldn't open the file so return an error message.
return new XML_RPC_Response(0, $XML_RPC_erruser + 1, $this->objLanguage->languageText("mod_packages_fileerr", "packages"));
}
示例12: xmlrpc_001_get_c_member
/**
* @copyright 2005-2008 OpenPNE Project
* @license http://www.php.net/license/3_01.txt PHP License 3.01
*/
function xmlrpc_001_get_c_member($message)
{
$param = $message->getParam(0);
if (!XML_RPC_Value::isValue($param)) {
return false;
}
$params = XML_RPC_decode($param);
if (empty($params['target_c_member_id'])) {
return false;
}
if (empty($params['my_c_member_id'])) {
return false;
}
$t_id = intval($params['target_c_member_id']);
$m_id = intval($params['my_c_member_id']);
// my_c_member_id が不正
if (!db_member_c_member4c_member_id_LIGHT($m_id)) {
return xmlrpc_get_fault_response(56);
}
if ($t_id == $m_id) {
// 自分
$public_flag = 'private';
} elseif (db_friend_is_friend($t_id, $m_id)) {
$public_flag = 'friend';
} else {
$public_flag = 'public';
}
// target_c_member_id が不正
if (!($c_member = db_member_c_member4c_member_id($t_id, false, true, $public_flag))) {
return xmlrpc_get_fault_response(56);
}
// アクセスブロック判定
if (db_member_is_access_block($m_id, $t_id)) {
$result = array('c_member_id' => $t_id, 'nickname' => $c_member['nickname'], 'image_url' => xmlrpc_get_image_url());
} else {
$result = array('c_member_id' => $t_id, 'nickname' => $c_member['nickname'], 'image_url' => xmlrpc_get_image_url($c_member['image_filename']), 'image_url_1' => xmlrpc_get_image_url($c_member['image_filename_1'], false), 'image_url_2' => xmlrpc_get_image_url($c_member['image_filename_2'], false), 'image_url_3' => xmlrpc_get_image_url($c_member['image_filename_3'], false), 'birth_year' => intval($c_member['birth_year']), 'birth_month' => intval($c_member['birth_month']), 'birth_day' => intval($c_member['birth_day']), 'access_date' => xmlrpc_get_date($c_member['access_date']), 'r_date' => xmlrpc_get_date($c_member['r_date']), 'profile' => array());
foreach ($c_member['profile'] as $key => $profile) {
$result['profile'][$key] = $profile['value'];
}
}
return xmlrpc_get_response($result);
}
示例13: xmlrpc_901_o_search
/**
* @copyright 2005-2008 OpenPNE Project
* @license http://www.php.net/license/3_01.txt PHP License 3.01
*/
function xmlrpc_901_o_search($message)
{
$param = $message->getParam(0);
if (!XML_RPC_Value::isValue($param)) {
return false;
}
$params = XML_RPC_decode($param);
if (!array_key_exists('searchword', $params)) {
return false;
}
if (empty($params['type'])) {
return false;
}
$searchword = $params['searchword'];
if (empty($searchword)) {
$searchword = '';
}
$type = $params['type'];
$number = 0;
switch ($type) {
case 'DIARY':
$diary = p_h_diary_list_all_search_c_diary4c_diary($searchword, 0, 1);
$number += (int) $diary[3];
break;
case 'COMMUNITY':
$commu = db_commu_search_c_commu4c_commu_category($searchword, 0, 0, 1);
$number += (int) $commu[3];
break;
case 'ALL':
default:
$diary = p_h_diary_list_all_search_c_diary4c_diary($searchword, 0, 1);
$number += (int) $diary[3];
$commu = db_commu_search_c_commu4c_commu_category($searchword, 0, 0, 1);
$number += (int) $commu[3];
break;
}
$result = array('number' => intval($number), 'sns_name' => SNS_NAME);
return xmlrpc_get_response($result);
}
示例14: xmlrpc_101_add_point
/**
* @copyright 2005-2008 OpenPNE Project
* @license http://www.php.net/license/3_01.txt PHP License 3.01
*/
function xmlrpc_101_add_point($message)
{
$param = $message->getParam(0);
if (!XML_RPC_Value::isValue($param)) {
return false;
}
$params = XML_RPC_decode($param);
if (empty($params['c_member_id'])) {
return false;
}
if (!isset($params['point'])) {
return false;
}
$c_member_id = intval($params['c_member_id']);
$point = intval($params['point']);
if (!db_member_c_member4c_member_id_LIGHT($c_member_id)) {
return xmlrpc_get_fault_response(56);
}
$c_point_log_id = db_point_insert_log($c_member_id, $point, $params['memo']);
db_point_insert_tags($c_point_log_id, $params['tags']);
$point = db_point_add_point($c_member_id, $point);
return xmlrpc_get_response($point);
}
示例15: _encode
function _encode($php_val)
{
global $XML_RPC_Boolean, $XML_RPC_Int, $XML_RPC_Double;
global $XML_RPC_String, $XML_RPC_Array, $XML_RPC_Struct;
$type = gettype($php_val);
$xmlrpcval = new XML_RPC_Value();
switch ($type) {
case "array":
reset($php_val);
$firstkey = key($php_val);
end($php_val);
$lastkey = key($php_val);
reset($php_val);
if ($firstkey === 0 && is_int($lastkey) && $lastkey + 1 == count($php_val)) {
$is_continuous = true;
reset($php_val);
$size = count($php_val);
for ($expect = 0; $expect < $size; $expect++, next($php_val)) {
if (key($php_val) !== $expect) {
$is_continuous = false;
break;
}
}
if ($is_continuous) {
reset($php_val);
$arr = array();
while (list($k, $v) = each($php_val)) {
$arr[$k] = $this->_encode($v);
}
$xmlrpcval->addArray($arr);
break;
}
}
// fall though if not numerical and continuous
// fall though if not numerical and continuous
case "object":
$arr = array();
while (list($k, $v) = each($php_val)) {
$arr[$k] = $this->_encode($v);
}
$xmlrpcval->addStruct($arr);
break;
case "integer":
$xmlrpcval->addScalar($php_val, $XML_RPC_Int);
break;
case "double":
$xmlrpcval->addScalar($php_val, $XML_RPC_Double);
break;
case "string":
case "NULL":
$xmlrpcval->addScalar($php_val, $XML_RPC_String);
break;
case "boolean":
$xmlrpcval->addScalar($php_val, $XML_RPC_Boolean);
break;
case "unknown type":
default:
return null;
}
return $xmlrpcval;
}