OSDN Git Service

add ACS webapp, sql, htdocs
[acs/acs.git] / webapp / modules / User / actions / EditProfileImageAction.class.php
diff --git a/webapp/modules/User/actions/EditProfileImageAction.class.php b/webapp/modules/User/actions/EditProfileImageAction.class.php
new file mode 100644 (file)
index 0000000..4e8a89a
--- /dev/null
@@ -0,0 +1,99 @@
+<?php
+/**
+ * ¥×¥í¥Õ¥£¡¼¥ë¼Ì¿¿Êѹ¹²èÌÌ Action¥¯¥é¥¹
+ * @package  acs/webapp/modules/User/action
+ * @author   akitsu
+ * @since      PHP 4.0
+ * @version  ver1.1 $Date: 2008/03/24 07:00:36 $
+ */
+
+class EditProfileImageAction extends BaseAction
+{
+       /**
+        * ½é´ü²èÌÌ
+        * GET¥á¥½¥Ã¥É¤Î¾ì¹ç¡¢¸Æ¤Ð¤ì¤ë
+        */
+       function execute() {
+               $context = $this->getContext();
+               $controller = $context->getController();
+               $request =  $context->getRequest();
+               $user = $context->getUser();
+               /* ¥¨¥é¡¼¤ò¼èÆÀ */
+               //$error_row = $user->getAttribute('error_row');
+               //$user->removeAttribute('error_row');
+
+               if (!$this->get_execute_privilege()) {
+                       $controller->forward(SECURE_MODULE, SECURE_ACTION);
+                       return;
+               }
+
+               // ÂоݤȤʤë¥æ¡¼¥¶¥³¥ß¥å¥Ë¥Æ¥£ID¤ò¼èÆÀ
+               $user_community_id = $request->ACSgetParameter('id');
+               // ¥×¥í¥Õ¥£¡¼¥ë¾ðÊó¤ò¼èÆÀ
+               $target_user_info_row = ACSUser::get_user_profile_row($user_community_id);
+
+               // ¸ø³«¥ì¥Ù¥ë¥³¡¼¥É
+               $open_level_code_row = array('05', '02', '01');
+
+               //²èÁü¤¬¿·µ¬ÅÐÏ¿¤«¹¹¿·¤«¤òȽÄꤹ¤ë true:¿·µ¬ false:¹¹¿·
+               // ¥Õ¥¡¥¤¥ë¾ðÊó¤Î¸ºß³Îǧ
+               
+               // ¥é¥Ù¥ë               
+               for ($i = 0; $i < count($open_level_code_row); $i++) {
+                       //
+                       $image_file_id = $target_user_info_row['file_id_ol' . $open_level_code_row[$i]];
+                       if ($image_file_id) {
+                               $image_new_add['file_id_ol' . $open_level_code_row[$i]] = false;
+                       } else {
+                               $image_new_add['file_id_ol' . $open_level_code_row[$i]] = true;
+                       }
+               }
+
+               // set
+               //user_community_id ¤òview¥¯¥é¥¹¤ØÄÌÃΤ¹¤ë
+               $request->setAttribute('user_community_id', $user_community_id);
+               //target_user_info_row¤òview¥¯¥é¥¹¤ØÄÌÃΤ¹¤ë
+               $request->setAttribute('target_user_info_row', $target_user_info_row);
+               //²èÁü¤¬¿·µ¬ÅÐÏ¿¤«¹¹¿·¤«¤Îimage_new_add¤òview¥¯¥é¥¹¤ØÄÌÃΤ¹¤ë
+               $request->setAttribute('image_new_add',$image_new_add);
+               $request->setAttribute('open_level_code_row', $open_level_code_row);
+//             $request->setAttribute('image_file_label', $image_file_label);
+
+               return View::INPUT;
+       }
+
+       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('USER_PAGE_OWNER');
+       }
+
+       function get_execute_privilege () {
+               $context = $this->getContext();
+               $request =  $context->getRequest();
+               $user = $context->getUser();
+
+               // ÂоݤȤʤë¥æ¡¼¥¶¥³¥ß¥å¥Ë¥Æ¥£ID¤ò¼èÆÀ
+               $user_community_id = $request->ACSgetParameter('id');
+               // ¼«Ê¬¤Î¥æ¡¼¥¶¾ðÊó¤ò¼èÆÀ
+               $acs_user_info_row = $user->getAttribute('acs_user_info_row');
+
+               if ($user_community_id == $acs_user_info_row['user_community_id']) {
+                       // ¼«¥æ¡¼¥¶¤Î¤ßÊѹ¹OK
+                       return true;
+               }
+               return false;
+       }
+}
+?>