public function updateShareCache($share_id, $type = 'all') { $share_id = (int) $share_id; if (!$share_id) { return; } $share = FDB::fetchFirst('SELECT cache_data,share_data FROM ' . FDB::table('share') . ' WHERE share_id = ' . $share_id); if (!$share) { return; } $cache_data = fStripslashes(unserialize($share['cache_data'])); switch ($type) { case 'tags': $cache_data['tags'] = ShareService::getShareTags($share_id, true); break; case 'collects': $cache_data['collects'] = ShareService::getShareCollectUser($share_id, 50); break; case 'comments': $cache_data['comments'] = ShareService::getNewCommentIdsByShare($share_id, 10); break; case 'imgs': $cache_data['imgs'] = ShareService::getShareImage($share_id, $share['share_data']); break; case 'all': $cache_data['tags'] = ShareService::getShareTags($share_id, true); $cache_data['collects'] = ShareService::getShareCollectUser($share_id, 50); $cache_data['comments'] = ShareService::getNewCommentIdsByShare($share_id, 10); $cache_data['imgs'] = ShareService::getShareImage($share_id, $share['share_data']); break; } unset($share['share_data']); $share['cache_data'] = addslashes(serialize($cache_data)); FDB::update("share", $share, 'share_id = ' . $share_id); }