ContentWidget::_formatContent PHP Method

_formatContent() private method

处理分享附件数据
private _formatContent ( array $data ) : array
$data array 频道关联数组信息
return array 处理后的分享数据
    private function _formatContent($data)
    {
        // 组装分享信息
        foreach ($data as &$value) {
            // 获取分享信息
            $feedInfo = model('Feed')->get($value['feed_id']);
            $value = array_merge($value, $feedInfo);
            switch ($value['type']) {
                case 'postimage':
                    $feedData = unserialize($value['feed_data']);
                    $imgAttachId = is_array($feedData['attach_id']) ? $feedData['attach_id'][0] : $feedData['attach_id'];
                    $attach = model('Attach')->getAttachById($imgAttachId);
                    $value['attachInfo'] = getImageUrl($attach['save_path'] . $attach['save_name'], '236');
                    $value['attach_id'] = $feedData['attach_id'];
                    $feedData['body'] = replaceUrl($feedData['body']);
                    $value['body'] = parse_html($feedData['body']);
                    break;
                case 'postvideo':
                    $feedData = unserialize($value['feed_data']);
                    $value['body'] = replaceUrl($feedData['body']);
                    if ($feedData['video_id']) {
                        $value['flashimg'] = SITE_URL . $feedData['image_path'];
                        $image_info = getimagesize($value['flashimg']);
                        $value['width'] = 236;
                        $value['height'] = $image_info[1] / ($image_info[0] / 236);
                    } else {
                        $value['flashimg'] = $feedData['flashimg'];
                    }
                    break;
                case 'postfile':
                    $feedData = unserialize($value['feed_data']);
                    $attach = model('Attach')->getAttachByIds($feedData['attach_id']);
                    foreach ($attach as $key => $val) {
                        $_attach = array('attach_id' => $val['attach_id'], 'name' => $val['name'], 'attach_url' => getImageUrl($val['save_path'] . $val['save_name'], '236'), 'extension' => $val['extension'], 'size' => $val['size']);
                        $value['attachInfo'][] = $_attach;
                    }
                    $feedData['body'] = replaceUrl($feedData['body']);
                    $value['body'] = parse_html($feedData['body']);
                    break;
                case 'repost':
                    $feedData = unserialize($value['feed_data']);
                    $value['body'] = parse_html($feedData['body']);
                    break;
                case 'weiba_post':
                    $feedData = unserialize($value['feed_data']);
                    $post_url = '<a class="ico-details" target="_blank" href="' . U('weiba/Index/postDetail', array('post_id' => $value['app_row_id'])) . '"></a>';
                    $value['body'] = preg_replace('/\\<a href="javascript:void\\(0\\)" class="ico-details"(.*)\\>(.*)\\<\\/a\\>/', $post_url, $value['body']);
                    if ($value['api_source']['pic_url']) {
                        $url = parse_url($value['api_source']['pic_url']);
                        $site_url = parse_url(SITE_URL);
                        if ($url['host'] == $site_url['host']) {
                            $value['api_source']['pic_url'] = getImageUrl($value['api_source']['pic_url'], '236');
                            //获取图片高度,避免瀑布流高度计算错误导致重叠
                            $pic_info = getimagesize($value['api_source']['pic_url']);
                            $value['api_source']['pic_height'] = $pic_info[1];
                        } else {
                            $img_info = myGetImageSize($value['api_source']['pic_url']);
                            $width = $img_info['width'];
                            $value['api_source']['pic_height'] = 236 / $width * $img_info['height'];
                        }
                    }
                    break;
            }
        }
        return $data;
    }