/** * マイフレンズの新着ダイアリー一覧を取得する * * @param $user_community_id ユーザコミュニティID (ダイアリーへのアクセス者となるユーザ) * $days 取得する日数(最近何日間の新着情報を取得) * @return 新着ダイアリー一覧 (連想配列の配列) */ static function get_new_diary_row_array($user_community_id, $days = false, $offset = false) { // マイフレンズのユーザコミュニティIDのCSVを作成する $friends_row_array = ACSUser::get_simple_friends_row_array($user_community_id); $friends_user_community_id_array = array(); foreach ($friends_row_array as $index => $user_info_row) { array_push($friends_user_community_id_array, $user_info_row['user_community_id']); } if (count($friends_user_community_id_array)) { $friends_user_community_id_csv = implode(',', $friends_user_community_id_array); } else { $friends_user_community_id_csv = 'null'; } // $user_community_id = pg_escape_string($user_community_id); // マイフレンズのダイアリーを最新順に取得する $sql = "SELECT *, acs_is_unread_diary('{$user_community_id}', diary.diary_id) as is_unread,"; $sql .= " acs_get_diary_comment_num(diary.diary_id) as diary_comment_num"; $sql .= " FROM diary, community as USER_COMMUNITY, user_info, open_level_master"; $sql .= " WHERE diary.community_id IN ({$friends_user_community_id_csv})"; $sql .= " AND diary.community_id = USER_COMMUNITY.community_id"; $sql .= " AND USER_COMMUNITY.community_id = user_info.user_community_id"; $sql .= " AND diary.open_level_code = open_level_master.open_level_code"; // ダイアリー 削除フラグOFF $sql .= " AND diary.diary_delete_flag = 'f'"; //------ 2007.2 表示時間短縮対応 // 日数指定がある場合 if ($days !== false) { $sql = $sql . " AND " . ACSLib::get_sql_condition_from_today("diary.post_date", $days); } if ($offset !== false) { $sql = $sql . " ORDER BY diary.post_date DESC"; // 表示件数制御 // $display_count = ACSSystemConfig::get_keyword_value(ACSMsg::get_mst('system_config_group', 'D02'), 'NEW_INFO_TOP_DISPLAY_MAX_COUNT'); $sql = $sql . " OFFSET 0 LIMIT " . $display_count; } else { $sql .= " ORDER BY diary.post_date DESC"; } $row_array = ACSDB::_get_row_array($sql); return $row_array; }
/** * マイフレンズの新着フォルダ情報を取得する * * @param $user_community_id ユーザコミュニティID (ダイアリーへのアクセス者となるユーザ) * @return 新着フォルダ一覧 (連想配列の配列) */ function get_new_friends_folder_row_array($user_community_id) { // マイフレンズのユーザコミュニティIDのCSVを作成する // マイフレンズの取得 $friends_row_array = ACSUser::get_simple_friends_row_array($user_community_id); // マイフレンズの条件csv文字列取得 $csv_string = ACSLib::get_csv_string_from_array($friends_row_array, 'user_community_id'); // マイフレンズフォルダの新着情報を取得 $row_array = ACSUserFolder::get_new_folder_row_array($user_community_id, $csv_string); return $row_array; }
function execute() { $context =& $this->getContext(); $user = $context->getUser(); $request = $context->getRequest(); $acs_user_info_row = $user->getAttribute('acs_user_info_row'); // 表示対象となるユーザコミュニティIDを取得 $user_community_id = $request->ACSgetParameter('id'); if (empty($user_community_id)) { $user_community_id = $acs_user_info_row['user_community_id']; } // 表示対象のユーザが存在しない場合は、エラーを表示 if (!ACSUser::get_user_info_row_by_user_community_id($user_community_id)) { // 未ログインの時はPublic/Indexに遷移 header("Location: ./index.php?module=Public&action=Index"); // return View::ERROR; } // 自身のページか if ($acs_user_info_row['user_community_id'] == $user_community_id) { $is_self_page = 1; } else { $is_self_page = 0; } // プロフィール $target_user_info_row = ACSUser::get_user_profile_row($user_community_id); // マイフレンズ $friends_row_array = ACSUser::get_simple_friends_row_array($user_community_id); // マイコミュニティ $community_row_array = ACSUser::get_community_row_array($user_community_id); // 最終ログイン // ログイン済みの場合 if ($acs_user_info_row['is_login_user']) { $last_login_row = ACSCommunity::get_contents_row($user_community_id, ACSMsg::get_mst('contents_type_master', 'D52')); } // マイページデザインを取得する $selection_css_row = ACSCommunity::get_contents_row($user_community_id, ACSMsg::get_mst('contents_type_master', 'D53')); $selection_css = $selection_css_row['contents_value'] == '' ? ACS_DEFAULT_SELECTION_CSS_FILE : $selection_css_row['contents_value']; $waiting_for_join_community_row_array_array = array(); $waiting_for_parent_community_link_row_array_array = array(); $waiting_for_sub_community_link_row_array_array = array(); foreach ($community_row_array as $index => $community_row) { $community_row_array[$index]['contents_row_array']['self'] = ACSCommunity::get_contents_row($community_row['community_id'], ACSMsg::get_mst('contents_type_master', 'D00')); $community_row_array[$index]['is_community_admin'] = ACSCommunity::is_community_admin($acs_user_info_row['user_community_id'], $community_row['community_id']); $community_row_array[$index]['is_community_member'] = ACSCommunity::is_community_member($acs_user_info_row['user_community_id'], $community_row['community_id']); if ($is_self_page) { // 待機: コミュニティ参加 承認待ち (自分のマイコミュニティ) if ($community_row['is_community_admin'] && ($waiting_row_array = ACSWaiting::get_waiting_row_array($community_row['community_id'], ACSMsg::get_mst('waiting_type_master', 'D20'), ACSMsg::get_mst('waiting_status_master', 'D10')))) { $waiting_for_join_community_row_array['waiting_row_array'] = $waiting_row_array; $waiting_for_join_community_row_array['community_row'] = $community_row; array_push($waiting_for_join_community_row_array_array, $waiting_for_join_community_row_array); } // 待機: 親コミュニティ追加 承認待ち if ($community_row['is_community_admin'] && ($waiting_row_array = ACSWaiting::get_waiting_row_array($community_row['community_id'], ACSMsg::get_mst('waiting_type_master', 'D40'), ACSMsg::get_mst('waiting_status_master', 'D10')))) { $waiting_for_parent_community_link_row_array['waiting_row_array'] = $waiting_row_array; $waiting_for_parent_community_link_row_array['community_row'] = $community_row; array_push($waiting_for_parent_community_link_row_array_array, $waiting_for_parent_community_link_row_array); } // 待機: サブコミュニティ追加 承認待ち if ($community_row['is_community_admin'] && ($waiting_row_array = ACSWaiting::get_waiting_row_array($community_row['community_id'], ACSMsg::get_mst('waiting_type_master', 'D50'), ACSMsg::get_mst('waiting_status_master', 'D10')))) { $waiting_for_sub_community_link_row_array['waiting_row_array'] = $waiting_row_array; $waiting_for_sub_community_link_row_array['community_row'] = $community_row; array_push($waiting_for_sub_community_link_row_array_array, $waiting_for_sub_community_link_row_array); } } } if ($is_self_page) { // 待機: マイフレンズ追加 承認待ち $waiting_for_add_friends_row_array = ACSWaiting::get_waiting_row_array($user_community_id, ACSMsg::get_mst('waiting_type_master', 'D10'), ACSMsg::get_mst('waiting_status_master', 'D10')); // 待機: コミュニティ招待 承認待ち $waiting_for_invite_to_community_row_array = ACSWaiting::get_waiting_row_array($user_community_id, ACSMsg::get_mst('waiting_type_master', 'D30'), ACSMsg::get_mst('waiting_status_master', 'D10')); // マイダイアリーの新着コメント $new_comment_diary_row_array = ACSDiary::get_new_comment_diary_row_array($user_community_id); // 新着メッセージ $new_message_row_array = ACSMessage::get_new_message_row_array($user_community_id); // システムからのお知らせ $system_announce_row_array = ACSSystemAnnounce::get_valid_system_announce_row_array(); } // set $request->setAttribute('user_community_id', $user_community_id); $request->setAttribute('target_user_info_row', $target_user_info_row); $request->setAttribute('is_self_page', $is_self_page); $request->setAttribute('friends_row_array', $friends_row_array); $request->setAttribute('community_row_array', $community_row_array); $request->setAttribute('waiting_for_add_friends_row_array', $waiting_for_add_friends_row_array); $request->setAttribute('waiting_for_join_community_row_array_array', $waiting_for_join_community_row_array_array); $request->setAttribute('waiting_for_parent_community_link_row_array_array', $waiting_for_parent_community_link_row_array_array); $request->setAttribute('waiting_for_sub_community_link_row_array_array', $waiting_for_sub_community_link_row_array_array); $request->setAttribute('waiting_for_invite_to_community_row_array', $waiting_for_invite_to_community_row_array); $request->setAttribute('new_comment_diary_row_array', $new_comment_diary_row_array); $request->setAttribute('system_announce_row_array', $system_announce_row_array); $request->setAttribute('last_login', $last_login_row['contents_value']); $request->setAttribute('selection_css', $selection_css); $request->setAttribute('new_message_row_array', $new_message_row_array); return View::SUCCESS; }