OSDN Git Service

add ACS webapp, sql, htdocs
[acs/acs.git] / webapp / modules / User / actions / IndexAction.class.php
diff --git a/webapp/modules/User/actions/IndexAction.class.php b/webapp/modules/User/actions/IndexAction.class.php
new file mode 100644 (file)
index 0000000..2a1e1f6
--- /dev/null
@@ -0,0 +1,138 @@
+<?php
+// $Id: IndexAction.class.php,v 1.21 2008/03/24 07:00:36 y-yuki Exp $
+
+class IndexAction extends BaseAction
+{
+       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;
+       }
+       
+       /**
+        * Ç§¾Ú¥Á¥§¥Ã¥¯¤ò¹Ô¤¦¤«
+        * ¥¢¥¯¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë¡¢Ç§¾Ú¥Á¥§¥Ã¥¯¤¬É¬Íפ«ÀßÄꤹ¤ë
+        * @access  public
+        * @return  boolean Ç§¾Ú¥Á¥§¥Ã¥¯Í­Ìµ¡Êtrue:ɬÍס¢false:ÉÔÍסË
+        */
+       public function isSecure()
+       {
+               return false;
+       }
+}
+?>