OSDN Git Service

add ACS webapp, sql, htdocs
[acs/acs.git] / webapp / modules / User / actions / DiaryImageAction.class.php
diff --git a/webapp/modules/User/actions/DiaryImageAction.class.php b/webapp/modules/User/actions/DiaryImageAction.class.php
new file mode 100644 (file)
index 0000000..af8ef33
--- /dev/null
@@ -0,0 +1,73 @@
+<?php
+/**
+ * Diary¼Ì¿¿É½¼¨
+ *
+ * @author  akitsu
+ * @version $Revision: 1.2 $ $Date: 2007/03/28 02:51:45 $
+ */
+
+class DiaryImageAction extends BaseAction
+{
+       function execute () {
+               $context = $this->getContext();
+               $controller = $context->getController();
+               $request =  $context->getRequest();
+               $user = $context->getUser();
+               
+               $diary_file_id          = $request->getParameter('id');
+               $view_mode                      = $request->getParameter('mode');
+               $acs_user_info_row      = $user->getAttribute('acs_user_info_row');
+               $is_permitted = false;
+
+               /* ¥¢¥¯¥»¥¹¸¢¥Á¥§¥Ã¥¯ */
+               // ±ÜÍ÷²Äǽ¤«¥Á¥§¥Ã¥¯¤¹¤ë
+               // ºï½ü¥Õ¥é¥°¡¢Á´ÂΤθø³«ÈϰϤò¥Á¥§¥Ã¥¯
+
+               /* ¼Ì¿¿É½¼¨ */
+               // ¥Õ¥¡¥¤¥ë¾ðÊó¼èÆÀ
+               $image_file_id = $diary_file_id;
+               if ($image_file_id) {
+                       $file_obj = ACSFile::get_file_info_instance($image_file_id);
+                       $ret = $file_obj->view_image($view_mode);
+               }
+       }
+
+       function getRequestMethods () {
+               return Request::GET;
+       }
+
+       function isSecure () {
+               return false;
+       }
+
+       function getCredential() {
+               $context = $this->getContext();
+               $controller = $context->getController();
+               $request =  $context->getRequest();
+               $user = $context->getUser();
+               
+               return array('EXECUTE');
+       }
+
+       function get_execute_privilege (&$controller, &$request, &$user) {
+
+               // ¸ø³«ÈϰϾðÊó¼èÆÀ
+               $acs_user_info_row = $user->getAttribute('acs_user_info_row');
+               $diary_file_row = ACSDiaryFile::get_diary_file_row_by_file_id($request->ACSgetParameter('id'));
+               $diary_row = ACSDiary::get_diary_row($diary_file_row['diary_id']);
+               if (!$diary_row) {
+                       return false;
+               }
+               $target_user_info_row = ACSUser::get_user_info_row_by_user_community_id($diary_row['community_id']);
+               if ($diary_row['open_level_name'] == ACSMsg::get_mst('open_level_master','D05')) {
+                       $diary_row['trusted_community_row_array'] = ACSDiary::get_diary_trusted_community_row_array($diary_row['diary_id']);
+               }
+
+               // ¥¢¥¯¥»¥¹À©¸æȽÄê
+               $role_array = ACSAccessControl::get_user_community_role_array($acs_user_info_row, $target_user_info_row);
+               $ret = ACSAccessControl::is_valid_user_for_user_community($acs_user_info_row, $role_array, $diary_row);
+
+               return $ret;
+       }
+}
+?>