public function getFeedInfo($id, $forApi = false)
{
$data = model('Cache')->get('feed_info_' . $id);
if ($data !== false && ($forApi === false || $forApi === true && isset($data['iscoll']))) {
return $data;
}
$map['a.feed_id'] = $id;
// //过滤已删除的分享 wap 版收藏
// if($forApi){
// $map['a.is_del'] = 0;
// }
$data = $this->where($map)->table("{$this->tablePrefix}feed AS a LEFT JOIN {$this->tablePrefix}feed_data AS b ON a.feed_id = b.feed_id ")->find();
$fd = unserialize($data['feed_data']);
$userInfo = model('User')->getUserInfo($data['uid']);
$data['ctime'] = date('Y-m-d H:i', $data['publish_time']);
$data['content'] = $forApi ? parseForApi($fd['body']) : $fd['body'];
$data['uname'] = $userInfo['uname'];
$data['user_group'] = $userInfo['api_user_group'];
$data['user_gicon'] = $userInfo['group_icon_only'];
$data['avatar_big'] = $userInfo['avatar_big'];
$data['avatar_middle'] = $userInfo['avatar_middle'];
$data['avatar_small'] = $userInfo['avatar_small'];
unset($data['feed_data']);
// 分享转发
if ($data['type'] == 'repost') {
$data['transpond_id'] = $data['app_row_id'];
$data['transpond_data'] = $this->getFeedInfo($data['transpond_id'], $forApi);
}
// 附件处理
if (!empty($fd['attach_id'])) {
$data['has_attach'] = 1;
$attach = model('Attach')->getAttachByIds($fd['attach_id']);
foreach ($attach as $ak => $av) {
$_attach = array('attach_id' => $av['attach_id'], 'attach_name' => $av['name'], 'attach_url' => getImageUrl($av['save_path'] . $av['save_name']), 'extension' => $av['extension'], 'size' => $av['size']);
if ($data['type'] == 'postimage') {
$_attach['attach_small'] = getImageUrl($av['save_path'] . $av['save_name'], 120, 120, true);
$_attach['attach_medium'] = getImageUrl($av['save_path'] . $av['save_name'], 240);
$_attach['attach_middle'] = getImageUrl($av['save_path'] . $av['save_name'], 740);
$_attach['attach_middle_box'] = getImageUrl($av['save_path'] . $av['save_name'], 240, 240, true);
}
$data['attach'][] = $_attach;
}
} else {
$data['has_attach'] = 0;
}
if ($data['type'] == 'postvideo') {
if ($fd['video_id']) {
$video_config = model('Xdata')->get('admin_Content:video_config');
$video_server = $video_config['video_server'] ? $video_config['video_server'] : SITE_URL;
$data['video_id'] = $fd['video_id'];
if ($forApi) {
$data['flashvar'] = $fd['video_mobile_path'] ? $video_server . $fd['video_mobile_path'] : $video_server . $fd['video_path'];
$data['flashvar_part'] = $video_server . $fd['video_part_path'];
} else {
$data['flashvar'] = $video_server . $fd['video_path'];
}
$data['flashimg'] = $video_server . $fd['image_path'];
$data['flash_width'] = $fd['image_width'];
$data['flash_height'] = $fd['image_height'];
if ($fd['transfer_id'] && !D('video_transfer')->where('transfer_id=' . $fd['transfer_id'])->getField('status')) {
$data['transfering'] = 1;
}
} else {
$data['host'] = $fd['host'];
if ($forApi) {
$data['flashvar'] = $fd['source'];
} else {
$data['flashvar'] = $fd['flashvar'];
}
$data['source'] = $fd['source'];
$data['flashimg'] = $fd['flashimg'];
$data['title'] = $fd['title'];
}
}
$data['feedType'] = $data['type'];
// 是否收藏分享
if ($forApi) {
$data['iscoll'] = model('Collection')->getCollection($data['feed_id'], 'feed');
if (empty($data['iscoll'])) {
$data['iscoll']['colled'] = 0;
} else {
$data['iscoll']['colled'] = 1;
}
//是否赞过
$diggarr = model('FeedDigg')->checkIsDigg($data['feed_id'], $GLOBALS['ts']['mid']);
$data['is_digg'] = $diggarr[$data['feed_id']] ? 1 : 0;
}
//获取赞过分享的人
$diggs = model('FeedDigg')->where('feed_id=' . $id)->order('id desc')->limit(10)->findAll();
foreach ($diggs as &$v) {
$v['user'] = model('User')->getUserInfo($v['uid']);
}
$data['diggs'] = $diggs;
// 分享详细信息
$feedInfo = $this->get($id);
$data['source_body'] = $feedInfo['body'];
$data['api_source'] = $feedInfo['api_source'];
//一分钟缓存
model('Cache')->set('feed_info_' . $id, $data, 60);
if ($forApi) {
$data['content'] = real_strip_tags($data['content']);
unset($data['is_audit'], $data['from_data'], $data['app_row_table'], $data['app_row_id']);
unset($data['source_body']);
}
return $data;
}