<?php
if(!defined('Inc'))
die('Direct access to this location is not allowed.');
if(!function_exists('show_topic'))
require_once DirPath("{$context['script_path']}|includes|show_topic.inc.php");
$context['Tapatalk']['forum_id'] = (int)XML_to_text($xml -> params -> param[0] -> value -> string);
if(isset($xml -> params -> param[1] -> value -> i4))
$context['Tapatalk']['start_num'] = (int)XML_to_text($xml -> params -> param[1] -> value -> i4);
if(isset($xml -> params -> param[2] -> value -> i4))
$context['Tapatalk']['last_num'] = (int)XML_to_text($xml -> params -> param[2] -> value -> i4);
if(isset($context['Tapatalk']['start_num']) && isset($context['Tapatalk']['last_num']))
{
$PostPerPage = ($context['Tapatalk']['last_num'] - $context['Tapatalk']['start_num'])+1;
$StartNum = $context['Tapatalk']['start_num'];
$LastNum = $context['Tapatalk']['last_num'];
}
else
{
$PostPerPage = -1;
$StartNum = 0;
$LastNum = 0;
}
$Results = show_topic($context['Tapatalk']['forum_id'], $PostPerPage, $StartNum, $LastNum);
foreach($Results['data'] as $R)
{
$xmlrpc_post = new xmlrpcval
(
array
(
'topic_id' => new xmlrpcval($R['t_id'], 'string'),
'post_id' => new xmlrpcval($R['msg_id'], 'string'),
'post_title' => new xmlrpcval(Tapatalk_Secure_Input($R['t_name']), 'base64'),
'post_content' => new xmlrpcval(Tapatalk_Secure_Input($R['msg_content']), 'base64'),
'post_author_id' => new xmlrpcval($R['msg_author_id'], 'string'),
'post_author_name' => new xmlrpcval(Tapatalk_Secure_Input($R['u_display_name']), 'base64'),
'icon_url' => new xmlrpcval(GetAvatar('mini', $R['u_avatar']), 'string'),
'post_time' => new xmlrpcval($R['msg_ctime'], 'dateTime.iso8601'),
'timestamp' => new xmlrpcval($R['msg_ctime'], 'string'),
// 'attachments' => new xmlrpcval($attachments, 'array'),
// 'is_online' => new xmlrpcval($row['S_ONLINE'], 'boolean'),
'can_edit' => new xmlrpcval(false, 'boolean'),
'can_delete' => new xmlrpcval(false, 'boolean'),
'can_approve' => new xmlrpcval(false, 'boolean'),
'is_approved' => new xmlrpcval(true, 'boolean'),
'can_move' => new xmlrpcval(false, 'boolean'),
'can_ban' => new xmlrpcval(false, 'boolean'),
'allow_smilies' => new xmlrpcval(true, 'boolean'),
), 'struct'
);
$post_list[] = $xmlrpc_post;
unset($xmlrpc_post);
}
$response = new xmlrpcval
(
array
(
'total_post_num' => new xmlrpcval($Results['total_post_num'], 'int'),
'forum_id' => new xmlrpcval($Results['data'][0]['b_id'], 'string'),
'forum_name' => new xmlrpcval(Tapatalk_Secure_Input(GetBoardName($Results['data'][0]['b_id'])), 'base64'),
'topic_id' => new xmlrpcval($Results['data'][0]['t_id'], 'string'),
'topic_title' => new xmlrpcval(Tapatalk_Secure_Input($Results['data'][0]['t_name']), 'base64'),
'position' => new xmlrpcval(rand(1,30), 'int'),
'can_reply' => new xmlrpcval(false, 'boolean'),
'can_report' => new xmlrpcval(false,'boolean'),
'can_upload' => new xmlrpcval(false, 'boolean'),
'can_delete' => new xmlrpcval(false, 'boolean'),
'can_move' => new xmlrpcval(false, 'boolean'),
'can_subscribe' => new xmlrpcval(false, 'boolean'),
'can_rename' => new xmlrpcval(false, 'boolean'),
'is_subscribed' => new xmlrpcval(false, 'boolean'),
'can_stick' => new xmlrpcval(false, 'boolean'),
'is_sticky' => new xmlrpcval(false, 'boolean'),
'can_close' => new xmlrpcval(false, 'boolean'),
'is_closed' => new xmlrpcval(false, 'boolean'),
'can_approve' => new xmlrpcval(false, 'boolean'),
'is_approved' => new xmlrpcval(true, 'boolean'),
'max_attachment' => new xmlrpcval(1, 'int'),
'max_png_size' => new xmlrpcval(50, 'int'),
'max_jpg_size' => new xmlrpcval(50, 'int'),
'posts' => new xmlrpcval($post_list, 'array'),
), 'struct'
);
$response = new xmlrpcresp($response);
?>