/** * コミュニティ画像ファイルIDを取得する * * @param $community_id コミュニティID * @return file_id */ static function get_file_id($community_id) { if (!$community_id) { return; } $community_id = pg_escape_string($community_id); $sql = "SELECT file_id"; $sql .= " FROM community_image_file"; $sql .= " WHERE community_image_file.community_id = '{$community_id}'"; $value = ACSDB::_get_value($sql); return $value; }
/** * デフォルトのopen_level_codeを取得する * * @param $community_type_code コミュニティ種別コード * @param $contents_type_code コンテンツ種別コード * @return $open_level_code 公開レベルコード */ static function get_default_open_level_code($community_type_name, $contents_type_name) { $community_type_name = pg_escape_string($community_type_name); $contents_type_name = pg_escape_string($contents_type_name); $sql = "SELECT open_level_list.open_level_code"; $sql .= " FROM open_level_list, community_type_master, contents_type_master"; $sql .= " WHERE open_level_list.community_type_code = community_type_master.community_type_code"; $sql .= " AND community_type_master.community_type_name = '{$community_type_name}'"; $sql .= " AND open_level_list.contents_type_code = contents_type_master.contents_type_code"; $sql .= " AND contents_type_master.contents_type_name = '{$contents_type_name}'"; $sql .= " AND open_level_list.is_default = 't'"; $value = ACSDB::_get_value($sql); return $value; }
/** * マイフレンズかどうか * * @param ユーザコミュニティID * @param 対象となるコミュニティID * @return true(マイフレンズである) / false(マイフレンズではない) */ static function is_friends($user_community_id, $target_user_community_id) { $user_community_id = pg_escape_string($user_community_id); $target_user_community_id = pg_escape_string($target_user_community_id); if ($target_user_community_id == NULL || $target_user_community_id == '') { return 0; } $sql = "SELECT count(*)"; $sql .= " FROM community, sub_community, community as FRIENDS_COMMUNITY, community_type_master, community_member"; $sql .= " WHERE community.community_id = '{$user_community_id}'"; $sql .= " AND community.community_id = sub_community.community_id"; $sql .= " AND sub_community.sub_community_id = FRIENDS_COMMUNITY.community_id"; $sql .= " AND FRIENDS_COMMUNITY.community_type_code = community_type_master.community_type_code"; $sql .= " AND community_type_master.community_type_name = '" . ACSMsg::get_mst('community_type_master', 'D20') . "'"; $sql .= " AND FRIENDS_COMMUNITY.community_id = community_member.community_id"; $sql .= " AND community_member.user_community_id = '{$target_user_community_id}'"; $value = ACSDB::_get_value($sql); return $value; }
/** * 既に掲載されているかどうか * * @param $community_id コミュニティID * @param $rss_title RSS<title> * @param $rss_date RSS<dc:date> * @param true / false */ static function is_posted_value($community_id, $rss_item_title, $rss_item_date) { $community_id = pg_escape_string($community_id); $rss_item_title = pg_escape_string($rss_item_title); $rss_item_date = pg_escape_string($rss_item_date); $sql = "SELECT count(*)"; $sql .= " FROM bbs, external_rss"; $sql .= " WHERE bbs.community_id = '{$community_id}'"; $sql .= " AND bbs.bbs_id = external_rss.bbs_id"; $sql .= " AND external_rss.rss_item_title = '{$rss_item_title}'"; $sql .= " AND external_rss.rss_item_date = '{$rss_item_date}'::TIMESTAMP(0)"; // 削除フラグ等の比較は不要 $value = ACSDB::_get_value($sql); if ($value) { return true; } else { return false; } }
/** * 受信メッセージの持ち主がどうか判断する * * @param $message_id メッセージID * @param $community_id ユーザ・コミュニティID * @return true or false */ static function check_message_receiver($message_id, $community_id) { $message_id = pg_escape_string($message_id); $community_id = pg_escape_string($community_id); $sql = "SELECT count(*)"; $sql .= " FROM message_receiver "; $sql .= " WHERE message_id = '{$message_id}'"; $sql .= " AND community_id = '{$community_id}'"; $sql .= " AND message_delete_flag = 'f'"; $value = ACSDB::_get_value($sql); if ($value) { return true; } else { return false; } }
/** * ユーザがコミュニティの管理者かどうか * * @param DB接続リソース * @param ユーザコミュニティID * @param コミュニティID * @return true / false */ static function is_community_admin($user_community_id, $community_id) { $sql = "SELECT count(*)"; $sql .= " FROM community, community_member, community_member_type_master"; $sql .= " WHERE community.community_id = '" . pg_escape_string($community_id) . "'"; $sql .= " AND community.community_id = community_member.community_id"; $sql .= " AND community_member.user_community_id = '" . pg_escape_string($user_community_id) . "'"; $sql .= " AND community_member.community_member_type_code = community_member_type_master.community_member_type_code"; $sql .= " AND community_member_type_master.community_member_type_name = '" . ACSMsg::get_mst('community_member_type_master', 'D10') . "'"; $value = ACSDB::_get_value($sql); return intval($value); }
/** * 次のシーケンス番号を取得する * * @param シーケンス名 * @return シーケンス番号 */ static function get_next_seq($seq_name) { $sql = "SELECT nextval('{$seq_name}')"; $seq = ACSDB::_get_value($sql); return $seq; }