OSDN Git Service

add ACS webapp, sql, htdocs
[acs/acs.git] / webapp / modules / Community / actions / BBSThreadListAction.class.php
diff --git a/webapp/modules/Community/actions/BBSThreadListAction.class.php b/webapp/modules/Community/actions/BBSThreadListAction.class.php
new file mode 100644 (file)
index 0000000..3bec39a
--- /dev/null
@@ -0,0 +1,62 @@
+<?php
+// $Id: BBSThreadListAction.class.php,v 1.3 2006/11/20 08:44:12 w-ota Exp $
+
+class BBSThreadListAction extends BaseAction
+{
+       // GET
+       function execute() {
+               $context = $this->getContext();
+               $controller = $context->getController();
+               $request = $context->getRequest();
+               $user = $context->getUser();
+
+               $acs_user_info_row = $user->getAttribute('acs_user_info_row');
+
+               // ÂоݤȤʤ륳¥ß¥å¥Ë¥Æ¥£ID¤ò¼èÆÀ
+               $community_id = $request->getParameter('community_id');
+
+               // ¥³¥ß¥å¥Ë¥Æ¥£¾ðÊó
+               $community_row = ACSCommunity::get_community_profile_row($community_id);
+
+               // BBSµ­»ö°ìÍ÷
+               $bbs_row_array = ACSBBS::get_bbs_row_array($community_id);
+
+               foreach ($bbs_row_array as $index => $bbs_row) {
+                       // ¿®ÍêºÑ¤ß¥³¥ß¥å¥Ë¥Æ¥£°ìÍ÷
+                       $bbs_row_array[$index]['trusted_community_row_array'] = ACSBBS::get_bbs_trusted_community_row_array($bbs_row['bbs_id']);
+               }
+
+               // set
+               $request->setAttribute('community_row', $community_row);
+               $request->setAttribute('bbs_row_array', $bbs_row_array);
+
+               return View::SUCCESS;
+       }
+       
+       function isSecure () {
+               return false;
+       }
+
+       // ¥¢¥¯¥»¥¹À©¸æ¾ðÊó
+       function get_access_control_info(&$controller, &$request, &$user) {
+               $acs_user_info_row = $user->getAttribute('acs_user_info_row');
+
+               // ÂоݤȤʤ륳¥ß¥å¥Ë¥Æ¥£ID¤ò¼èÆÀ
+               $community_id = $request->getParameter('community_id');
+
+               // ¥³¥ß¥å¥Ë¥Æ¥£¾ðÊó
+               $community_row = ACSCommunity::get_community_profile_row($community_id);
+
+               // ¥¢¥¯¥»¥¹À©¸æ¾ðÊó //
+               $bbs_contents_row = ACSCommunity::get_contents_row($community_id, ACSMsg::get_mst('contents_type_master','D41'));
+               $bbs_contents_row['trusted_community_row_array'] = ACSCommunity::get_contents_trusted_community_row_array($community_id, $bbs_contents_row['contents_type_code'], $bbs_contents_row['open_level_code']);
+               $access_control_info = array(
+                                'role_array' => ACSAccessControl::get_community_role_array($acs_user_info_row, $community_row),
+                                'contents_row_array' => array($bbs_contents_row)
+               );
+
+               return $access_control_info;
+       }
+}
+
+?>