Example #1
0
    /**
    * 转发分享
    * @param array $_POST 提交的数据
    * @return array(
    			'share_id'=>分享编号,
    			'pc_id'=>评论编号(如果勾选评论给转发分享),
    			'bc_id'=>原文评论编号(如果勾选评论给原文分享),
    		)
    */
    public function saveRelay($_POST)
    {
        global $_FANWE;
        $share_id = intval($_POST['share_id']);
        $share = ShareService::getShareById($share_id);
        if (empty($share)) {
            return false;
        }
        $data = array();
        $data['share']['uid'] = $_FANWE['uid'];
        $data['share']['parent_id'] = $share_id;
        $content = htmlspecialchars(trim($_POST['content']));
        $data['share']['content'] = $content;
        $type = 'default';
        $base_id = $share['base_id'];
        if ($base_id > 0) {
            $base = ShareService::getShareById($share['base_id']);
            if (!empty($base)) {
                $base_id = $base['share_id'];
            } else {
                $base_id = 0;
            }
        }
        $rec_id = $share['rec_id'];
        if ($share['type'] == 'ask' || $share['type'] == 'ask_post') {
            $type = 'ask_post';
        } elseif ($share['type'] == 'bar' || $share['type'] == 'bar_post') {
            $type = 'bar_post';
        }
        $data['share']['rec_id'] = $share['rec_id'];
        $data['share']['title'] = addslashes($share['title']);
        $data['share']['base_id'] = $base_id > 0 ? $base_id : $share_id;
        $data['share']['type'] = $type;
        $relay_share = ShareService::save($data);
        if (!$relay_share['status']) {
            return false;
        }
        FDB::query('UPDATE ' . FDB::table('share') . '
			SET relay_count = relay_count + 1
			WHERE share_id = ' . $share_id);
        if ($base_id > 0 && $share_id != $base_id) {
            FDB::query('UPDATE ' . FDB::table('share') . '
				SET relay_count = relay_count + 1
				WHERE share_id = ' . $base_id);
        }
        $is_no_post = isset($_POST['is_no_post']) ? intval($_POST['is_no_post']) : 0;
        $share_id = $relay_share['share_id'];
        if ($rec_id > 0 && $is_no_post == 0) {
            if ($type == 'bar_post') {
                FS('Topic')->saveTopicPost($rec_id, $content, $share_id);
            } elseif ($type == 'ask_post') {
                FS('Ask')->saveTopicPost($rec_id, $content, $share_id);
            }
        }
        $is_comment_parent = isset($_POST['is_comment_parent']) ? intval($_POST['is_comment_parent']) : 0;
        $is_comment_base = isset($_POST['is_comment_base']) ? intval($_POST['is_comment_base']) : 0;
        //评论给分享
        $parent_comment_id = 0;
        if ($is_comment_parent == 1) {
            $data = array();
            $data['content'] = $_POST['content'];
            $data['share_id'] = $share['share_id'];
            $parent_comment_id = ShareService::saveComment($data);
        }
        //评论给原创分享
        $base_comment_id = 0;
        if ($is_comment_base == 1 && $base_id > 0) {
            $data = array();
            $data['content'] = $_POST['content'];
            $data['share_id'] = $base_id;
            $base_comment_id = ShareService::saveComment($data);
        }
        return array('share_id' => $share_id, 'pc_id' => $parent_comment_id, 'bc_id' => $base_comment_id);
    }
    /**
    * 转发分享
    * @param array $_POST 提交的数据
    * @return array(
    			'share_id'=>分享编号,
    			'pc_id'=>评论编号(如果勾选评论给转发分享),
    			'bc_id'=>原文评论编号(如果勾选评论给原文分享),
    		)
    */
    public function saveRelay($_POST)
    {
        global $_FANWE;
        $share_id = intval($_POST['share_id']);
        $share = ShareService::getShareById($share_id);
        if (empty($share)) {
            return false;
        }
        $data = array();
        $data['share']['uid'] = $_FANWE['uid'];
        $data['share']['parent_id'] = $share_id;
        $content = htmlspecialchars(trim($_POST['content']));
        $data['share']['content'] = $content;
        $type = 'album_item';
        $base_id = $share['base_id'];
        if ($base_id > 0) {
            $base = ShareService::getShareById($share['base_id']);
            if (!empty($base)) {
                $base_id = $base['share_id'];
            } else {
                $base_id = 0;
            }
        }
        $rec_id = $share['rec_id'];
        if ($share['type'] == 'ask' || $share['type'] == 'ask_post') {
            $type = 'ask_post';
        } elseif ($share['type'] == 'bar' || $share['type'] == 'bar_post') {
            $type = 'bar_post';
        }
        $data['share']['albumid'] = intval($_POST['albumid']);
        $data['share']['rec_id'] = $share['rec_id'];
        $data['share']['is_refer'] = $share['is_refer'];
        $data['share']['refer_url'] = $share['refer_url'];
        $data['share']['title'] = addslashes($share['title']);
        $data['share']['base_id'] = $base_id > 0 ? $base_id : $share_id;
        $data['share']['parent_id'] = $base_id > 0 ? $base_id : $share_id;
        $data['share']['type'] = $type;
        //强制改成杂志社分享数据
        $data['share']['share_data'] = 'photo';
        //强制改成杂志社分享数据
        $relay_share = ShareService::save($data);
        //插入share_photo表中,转发修改成有图数据
        $share_photo_data = array();
        $img_data = FDB::fetchFirst("select img,img_width,img_height,is_animate,video from " . FDB::table("share_photo") . " where share_id = " . $share_id);
        $share_photo_data['uid'] = $_FANWE['uid'];
        $share_photo_data['share_id'] = $relay_share['share_id'];
        $share_photo_data['img'] = $img_data['img'];
        $share_photo_data['img_width'] = $img_data['img_width'];
        $share_photo_data['img_height'] = $img_data['img_height'];
        $share_photo_data['is_animate'] = $img_data['is_animate'];
        $share_photo_data['video'] = $img_data['video'];
        if ($share_photo_data['video']) {
            $share_photo_data['type'] = 'video';
        } else {
            $share_photo_data['type'] = 'default';
        }
        $share_photo_data['sort'] = 10;
        FDB::insert('share_photo', $share_photo_data, true);
        if (!$relay_share['status']) {
            return false;
        }
        FDB::query('UPDATE ' . FDB::table('share') . '
			SET relay_count = relay_count + 1
			WHERE share_id = ' . $share_id);
        if (intval($_POST['albumid']) > 0) {
            $album = FDB::fetchFirst('SELECT cid,id,title FROM ' . FDB::table('album') . ' WHERE id = ' . intval($_POST['albumid']));
            if ($album) {
                $update_share['type'] = 'album_item';
                $share_data_now_type = 'album_item';
                $share_data_rec_id = $album['id'];
                $share_data_rec_cate = $album['cid'];
                $update_share['rec_id'] = $album['id'];
                $update_share['title'] = addslashes($album['title']);
                $update_share['share_data'] = 'photo';
                //更新杂志社
                $album_share = array();
                $album_share['album_id'] = intval($_POST['albumid']);
                $album_share['share_id'] = $relay_share['share_id'];
                $album_share['cid'] = $share_data_rec_cate;
                $album_share['create_day'] = getTodayTime();
                FDB::insert("album_share", $album_share);
                FS('Album')->updateAlbumByShare($share_data_rec_id, $relay_share['share_id']);
                FS('Album')->updateAlbum($share_data_rec_id);
            } else {
                $update_share['rec_id'] = 0;
                $share_data_rec_id = 0;
            }
        } else {
            $share_data_rec_id = 0;
        }
        FDB::update("share", $update_share, "share_id=" . $relay_share['share_id']);
        if ($base_id > 0 && $share_id != $base_id) {
            FDB::query('UPDATE ' . FDB::table('share') . '
				SET relay_count = relay_count + 1
				WHERE share_id = ' . $base_id);
        }
        $is_no_post = isset($_POST['is_no_post']) ? intval($_POST['is_no_post']) : 0;
        $share_id = $relay_share['share_id'];
        if ($rec_id > 0 && $is_no_post == 0) {
            if ($type == 'bar_post') {
                FS('Topic')->saveTopicPost($rec_id, $content, $share_id);
            } elseif ($type == 'ask_post') {
                FS('Ask')->saveTopicPost($rec_id, $content, $share_id);
            }
        }
        $is_comment_parent = isset($_POST['is_comment_parent']) ? intval($_POST['is_comment_parent']) : 0;
        $is_comment_base = isset($_POST['is_comment_base']) ? intval($_POST['is_comment_base']) : 0;
        //评论给分享
        $parent_comment_id = 0;
        if ($is_comment_parent == 1) {
            $data = array();
            $data['content'] = $_POST['content'];
            $data['share_id'] = $share['share_id'];
            $parent_comment_id = ShareService::saveComment($data);
        }
        //评论给原创分享
        $base_comment_id = 0;
        if ($is_comment_base == 1 && $base_id > 0) {
            $data = array();
            $data['content'] = $_POST['content'];
            $data['share_id'] = $base_id;
            $base_comment_id = ShareService::saveComment($data);
        }
        return array('share_id' => $share_id, 'pc_id' => $parent_comment_id, 'bc_id' => $base_comment_id);
    }