function execute()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     $target_user_community_id = $request->getParameter('id');
     $view_mode = $request->getParameter('mode');
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     $target_user_info_row = ACSUser::get_user_profile_row($target_user_community_id);
     $is_permitted = false;
     /* アクセス権チェック */
     // マイページが閲覧可能かチェックする
     // 削除フラグ、全体の公開範囲をチェック
     /* 写真表示 */
     // ファイル情報取得
     // (1) 一般ユーザ(外部ユーザ)かどうか
     if (!$acs_user_info_row['is_acs_user']) {
         $image_file_id = $target_user_info_row['file_id_ol01'];
     } else {
         // (2) ログインユーザかどうか
         $image_file_id = $target_user_info_row['file_id_ol02'];
         // (3) 友人かどうか
         if (ACSUser::is_in_friends_id_array($acs_user_info_row, $target_user_info_row['user_community_id'])) {
             $image_file_id = $target_user_info_row['file_id_ol05'];
         }
         // (4) 本人かどうか
         if ($acs_user_info_row['user_id'] == $target_user_info_row['user_id']) {
             $image_file_id = $target_user_info_row['file_id_ol05'];
         }
         // (5) システム管理者かどうか
         if (ACSAccessControl::is_system_administrator($acs_user_info_row)) {
             $image_file_id = $target_user_info_row['file_id_ol05'];
         }
     }
     if ($image_file_id) {
         $file_obj = ACSFile::get_file_info_instance($image_file_id);
         $ret = $file_obj->view_image($view_mode);
     } else {
         $image_url = ACSUser::get_default_image_url($view_mode);
         header("Location: {$image_url}");
     }
 }
 function execute()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     $target_user_community_id = $request->getParameter('id');
     $view_mode = $request->getParameter('mode');
     $open_level_code = $request->getParameter('open_level_code');
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     $target_user_info_row = ACSUser::get_user_profile_row($target_user_community_id);
     $is_permitted = false;
     /* 写真表示 */
     // ファイル情報取得
     $image_file_id = $target_user_info_row['file_id_ol' . $open_level_code];
     if ($image_file_id) {
         $file_obj = ACSFile::get_file_info_instance($image_file_id);
         $ret = $file_obj->view_image($view_mode);
     } else {
         $image_url = ACSUser::get_default_image_url($view_mode);
         header("Location: {$image_url}");
     }
 }
Example #3
0
 /**
  * image_urlをopen_level別に取得する
  *
  * @param user_community_id ユーザのコミュニティID
  * @param open_level_code_row 公開レベルコードの行
  * @param view_mode 表示モード : NULL, thumb, rss
  * @return 成功(true) / 失敗(false)
  */
 static function get_image_url_with_open_level($user_community_id, $open_level_code_row, $view_mode = '')
 {
     $row = ACSCommunityImageFileModel::get_file_id_with_open_level($user_community_id);
     $image_url = array();
     for ($i = 0; $i < count($open_level_code_row); $i++) {
         if ($row && $row['file_id_ol' . $open_level_code_row[$i]] != '') {
             $image_url[$i] = SCRIPT_PATH . '?';
             $image_url[$i] .= MODULE_ACCESSOR . '=User';
             $image_url[$i] .= '&' . ACTION_ACCESSOR . '=EditProfileImageDisp';
             $image_url[$i] .= '&id=' . $user_community_id;
             $image_url[$i] .= '&mode=' . $view_mode;
             $image_url[$i] .= '&open_level_code=' . $open_level_code_row[$i];
         } else {
             $image_url[$i] = ACSUser::get_default_image_url($view_mode);
         }
     }
     return $image_url;
 }