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を取得
     $user_community_id = $request->ACSgetParameter('id');
     $form = $request->ACSGetParameters();
     if ($acs_user_info_row['is_acs_user']) {
         // 氏名は変更しない
         $form['user_name'] = $acs_user_info_row['user_name'];
     } else {
         $form['user_id'] = $acs_user_info_row['user_id'];
         // LDAPから氏名取得
         $ldap_user_info_row = ACSLDAP::get_ldap_user_info_row($acs_user_info_row['user_id']);
         $form['user_name'] = $ldap_user_info_row['user_name'];
     }
     // INSERT
     $ret = ACSUser::set_user_profile($acs_user_info_row, $form);
     // 言語の切替
     ACSMsg::set_lang($form['mail_lang']);
     ACSMsg::set_lang_cookie($form['mail_lang']);
     if ($ret) {
         // 書き込み後、GETの処理へ
         header("Location: ./");
     } else {
         exit;
     }
 }
예제 #2
0
 /**
  * スケジュール調整決定通知件名取得
  *
  * @return true / false
  */
 function get_decision_mail_subject($lang)
 {
     $current_lang = ACSMsg::get_lang();
     ACSMsg::set_lang($lang);
     $subject = ACSMsg::get_mdmsg(__FILE__, 'M001');
     $subject = ACSMsg::get_tag_replace($subject, array('{SUBJECT_NAME}' => $this->schedule_name));
     ACSMsg::set_lang($current_lang);
     return $subject;
 }
예제 #3
0
 /**
  * スケジュール通知メールの送信
  *
  * 各ユーザの言語に対応してスケジュール関連の<br>
  * 通知メールを送信する
  *
  * @param object $schedule スケジュールインスタンス(ACSSchedule)
  * @param string $serial_msg_key_fmg シリアルメッセージ取得用フォーマット(例:"RMD%03d")
  * @param string $subject_msg_key 件名メッセージ取得用キー(例:"M001")
  * @param array  $additional_tags 追加する置換プレースフォルダ(未指定も可)
  * @param array  $additional_message_tags 追加する置換プレースフォルダ(メッセージid指定)
  *               (未指定も可) メール言語に対応して置換されます
  * @return boolean true/false
  */
 static function send_schedule_announce_mail(&$schedule, $serial_msg_key_fmg, $subject_msg_key, $additional_tags = "", $additional_message_tags = "")
 {
     // スケジュールURL
     $schedule_url = "{SYSTEM_SCRIPT_PATH}" . "?{SYSTEM_MODULE_ACCESSOR}=Community" . "&{SYSTEM_ACTION_ACCESSOR}=AnswerSchedule" . "&community_id={$schedule->community_id}" . "&schedule_id={$schedule->schedule_id}";
     $user_community_row =& ACSUser::get_user_profile_row($schedule->user_community_id);
     // システムのメールアドレスを取得
     $system_mail_addr = ACSSystemConfig::get_keyword_value(ACSMsg::get_mst('system_config_group', 'D01'), 'SYSTEM_MAIL_ADDR');
     // 各言語用のメッセージを準備
     $msgs = array();
     $subjects = array();
     $org_lang = ACSMsg::get_lang();
     foreach (ACSMsg::get_lang_list_array() as $lang => $lang_disp) {
         ACSMsg::set_lang($lang);
         $tags_array = array('{USER_NAME}' => $user_community_row['user_name'], '{USER_COMMUNITY_NAME}' => $user_community_row['community_name'], '{SCHEDULE_NAME}' => $schedule->schedule_name, '{SCHEDULE_DETAIL}' => $schedule->schedule_detail, '{SCHEDULE_CLOSING_DATETIME}' => ACSLib::convert_pg_date_to_str($schedule->schedule_closing_datetime), '{SCHEDULE_URL}' => $schedule_url);
         if (is_array($additional_tags)) {
             $tags_array = array_merge($tags_array, $additional_tags);
         }
         if (is_array($additional_message_tags)) {
             $msg_array = array();
             foreach ($additional_message_tags as $tag => $msg_key) {
                 $msg_array[$tag] = ACSMsg::get_mdmsg(__FILE__, $msg_key);
             }
             $tags_array = array_merge($tags_array, $msg_array);
         }
         $msgs[$lang] = ACSMsg::get_serial_msg('lib', basename(__FILE__), $serial_msg_key_fmg);
         $msgs[$lang] = ACSMsg::get_tag_replace($msgs[$lang], $tags_array);
         // subjectの編集
         $subjects[$lang] = ACSMsg::get_mdmsg(__FILE__, $subject_msg_key);
     }
     ACSMsg::set_lang($org_lang);
     // メールの送信(全コミュニティメンバ)
     return ACSCommunityMail::send_community_mail($schedule->community_id, $system_mail_addr, $subjects, $msgs);
 }
예제 #4
0
 /**
  * 通知メールを送信する
  *
  * @param $message_id メッセージID
  * @param $receiver_id 受信者ID
  * @param $sender_id 送信者ID
  */
 static function send_info_mail($message_id, $receiver_id, $sender_id)
 {
     $system_group = ACSMsg::get_mst('system_config_group', 'D01');
     // システムURL
     $system_base_url = ACSSystemConfig::get_keyword_value($system_group, 'SYSTEM_BASE_URL');
     // システムログインURL
     $system_base_login_url = ACSSystemConfig::get_keyword_value($system_group, 'SYSTEM_BASE_LOGIN_URL');
     // システムのメールアドレス (From:)
     $system_mail_addr = ACSSystemConfig::get_keyword_value($system_group, 'SYSTEM_MAIL_ADDR');
     // 利用者の言語設定を一時的に保存
     $org_lang = ACSMsg::get_lang();
     // 各言語のタイトルを取得
     $mail_titles = array();
     foreach (ACSMsg::get_lang_list_array() as $lang_key => $lang_name) {
         ACSMsg::set_lang($lang_key);
         $mail_titles[$lang_key] = ACSMsg::get_serial_msg('lib', 'ACSWaiting.class.php', 'MTL%03d') . "\n";
     }
     // 言語を一旦元に戻す
     ACSMsg::set_lang($org_lang);
     // 依頼側のユーザ情報
     $user_info_row = ACSUser::get_user_profile_row($sender_id);
     // 依頼される側のユーザ情報
     $target_user_info_row = ACSUser::get_user_profile_row($receiver_id);
     // 待機承認URL
     $message_url = $system_base_login_url . SCRIPT_PATH;
     $message_url .= "?" . MODULE_ACCESSOR . "=User";
     $message_url .= "&" . ACTION_ACCESSOR . "=MessageShow";
     $message_url .= "&id={$receiver_id}";
     $message_url .= "&message_id={$message_id}";
     $target_lang = ACSMsg::get_mail_lang_by_inforow($target_user_info_row);
     // 一旦依頼される側の言語に設定する
     ACSMsg::set_lang($target_lang);
     $body = $mail_titles[$target_lang];
     $body .= ACSMsg::get_tag_replace(ACSMsg::get_serial_msg('lib', 'ACSMessage.class.php', 'ADF%03d'), array("{TARGET_USER_NAME}" => $target_user_info_row['user_name'], "{USER_NAME}" => $user_info_row['user_name'], "{USER_COMMUNITY_NAME}" => $user_info_row['community_name'], "{MESSAGE_URL}" => $message_url, "{SYSTEM_BASE_URL}" => $system_base_url));
     $subject = ACSMsg::get_mdmsg(__FILE__, 'M002');
     // 言語を元に戻す
     ACSMsg::set_lang($org_lang);
     $ret = ACSLib::send_mail($system_mail_addr, $target_user_info_row['mail_addr'], null, $subject, $body);
 }
예제 #5
0
 /**
  * 初期処理
  * @access public
  * @param Object $context context
  * @return boolean 処理結果
  */
 public function initialize($context)
 {
     parent::initialize($context);
     // アクションの共通処理を実装する
     /* 初期値をセットする */
     $this->controller = $context->getController();
     $this->request = $context->getRequest();
     $this->user = $context->getUser();
     $this->moduleName = $context->getModuleName();
     $this->actionName = $context->getActionName();
     $this->messages =& CommonMessages::getInstance();
     /* requestオブジェクトにフォーム登録リストをセットする */
     $this->request->setAttributeByRef('formList', $this->formList);
     $request =& $context->getRequest();
     $user =& $context->getUser();
     // セッションからユーザIDが取得できず、POSTでユーザIDが取得可能な場合
     $user_id = $user->getAttribute('login_user_id');
     $justLogin = false;
     if (($user_id == NULL || $user_id == "") && ($_POST['userid'] != NULL && $_POST['userid'] != "")) {
         $input_user_id = $_POST['userid'];
         $input_passwd = $_POST['passwd'];
         // エラーチェック(.htpasswd、LDAPの順)
         $user_id = ACSSystem::check_passwd($input_user_id, $input_passwd);
         if ($user_id) {
             $justLogin = true;
             $getLogoutDateEverytime = ACSSystemConfig::get_keyword_value(ACSMsg::get_mst('system_config_group', 'D08'), 'GET_LOGOUT_DATE_EVERYTIME');
             $user->setAttribute('getLogoutDateEverytime', $getLogoutDateEverytime);
         }
     }
     // 言語設定の実行
     if ($request->getparameter('acsmsg')) {
         ACSMsg::set_lang($request->getparameter('acsmsg'));
         ACSMsg::set_lang_cookie($request->getparameter('acsmsg'));
     }
     // 権限クリア
     $user->clearCredentials();
     // 認証済みを登録
     $user->setAuthenticated(true);
     // $acs_user_info_rowを設定する //
     $acs_user_info_row = array();
     if ($user_id) {
         $acs_user_info_row = ACSUser::get_user_info_row_by_user_id($user_id);
         // ユーザ情報が無い
         if ($user_id && !$acs_user_info_row['user_id']) {
             $acs_user_info_row['user_id'] = $user_id;
             $acs_user_info_row['user_community_id'] = ACS_PUBLIC_USER_COMMUNITY_ID;
             $acs_user_info_row['is_acs_user'] = false;
         } else {
             $acs_user_info_row['is_acs_user'] = true;
             // 権限登録
             $user->addCredential('ACS_USER');
         }
         // ログインユーザ(認証を通過したユーザ)かどうか
         $acs_user_info_row['is_login_user'] = true;
         // システム管理者かどうか
         if ($acs_user_info_row['administrator_flag'] == 't') {
             // 権限登録
             $user->addCredential('SYSTEM_ADMIN_USER');
         }
         // LDAPユーザかどうか (ファイル認証ユーザでなければLDAPユーザとみなす)
         $acs_user_info_row['is_ldap_user'] = !ACSSystem::is_htpasswd_user($user_id);
         // LDAP認証以外の場合、パスワード変更権限を付与
         if ($acs_user_info_row['is_ldap_user']) {
             $user->addCredential('LDAP_USER');
         } else {
             $user->addCredential('NOT_LDAP_USER');
         }
         // 未登録のLDAPユーザの場合は氏名を調べる
         if (!$acs_user_info_row['is_acs_user'] && $acs_user_info_row['is_ldap_user']) {
             $ldap_user_info_row = ACSLDAP::get_ldap_user_info_row($acs_user_info_row['user_id']);
             $acs_user_info_row['user_name'] = $ldap_user_info_row['user_name'];
         }
         // フレンズIDの配列を取得する
         $acs_user_info_row['friends_id_array'] = ACSUser::get_friends_id_array($acs_user_info_row['user_community_id']);
         // 各機能ごとで必要な権限を判別・設定する
         // マイページ所有者、コミュニティ管理者、メンバの設定など
         if ($this->moduleName == 'User') {
             $id = $request->getParameter('id');
             if (!$id) {
                 $id = $acs_user_info_row['user_community_id'];
             }
             // マイページ所有者かどうか
             if ($acs_user_info_row['user_community_id'] == $request->getParameter('id')) {
                 $user->addCredential('USER_PAGE_OWNER');
                 // 友人かどうか
             } elseif (!ACSUser::is_friends($id, $acs_user_info_row['user_community_id'])) {
                 $user->addCredential('NOT_FRIENDS');
             }
         } elseif ($this->moduleName == 'Community') {
             $community_id = $request->getParameter('community_id');
             // コミュニティIDの指定がある場合のみ、権限設定を行う
             if ($community_id) {
                 $is_community_member = ACSCommunity::is_community_member($acs_user_info_row['user_community_id'], $community_id);
                 $is_community_admin = ACSCommunity::is_community_admin($acs_user_info_row['user_community_id'], $community_id);
                 // コミュニティメンバかどうか
                 if ($is_community_member) {
                     $user->addCredential('COMMUNITY_MEMBER');
                     // コミュニティ管理者かどうか
                     if ($is_community_admin) {
                         $user->addCredential('COMMUNITY_ADMIN');
                     }
                     // コミュニティメンバではない
                 } else {
                     $user->addCredential('NOT_COMMUNITY_MEMBER');
                 }
             }
         }
         $user->setAttribute('login_user_id', $user_id);
     } else {
         $acs_user_info_row['user_name'] = ACS_PUBLIC_USER_NAME;
         $acs_user_info_row['user_community_id'] = ACS_PUBLIC_USER_COMMUNITY_ID;
         $acs_user_info_row['is_acs_user'] = false;
         $acs_user_info_row['is_login_user'] = false;
         // 権限設定
         $user->addCredential('PUBLIC_USER');
     }
     $user->setAttribute('acs_user_info_row', $acs_user_info_row);
     // ログイン情報作成
     if ($justLogin) {
         ACSUser::set_login_date($user);
     }
     // アクセス毎のログアウト時間更新
     $getLogoutDateEverytime = $user->getAttribute('getLogoutDateEverytime');
     if ($getLogoutDateEverytime != NULL && $getLogoutDateEverytime == "1") {
         ACSUser::acs_login_date($user);
     }
     if ($acs_user_info_row['is_acs_user'] && $acs_user_info_row['open_level_name'] == ACSMsg::get_mst('open_level_master', 'D01')) {
         // OK
     } elseif ($acs_user_info_row['is_acs_user'] && $acs_user_info_row['open_level_name'] == ACSMsg::get_mst('open_level_master', 'D03') || !$acs_user_info_row['is_acs_user'] && $acs_user_info_row['is_ldap_user']) {
         // マイページ全体が非公開のユーザ or 未登録のLDAPユーザ
         // マイページのプロフィール編集可能な権限を付与する
         $user->addCredential('USER_PAGE_OWNER');
         if ($this->moduleName == DEFAULT_MODULE && ($this->actionName == 'EditProfile' || $this->actionName == 'SetOpenLevelForProfile')) {
             // 未登録のLDAPユーザの場合、プロフィール設定画面へのアクセスを許可
         } else {
             $edit_profile_url = $this->getControllerPath(DEFAULT_MODULE, 'EditProfile');
             header("Location: {$edit_profile_url}");
         }
     } elseif (!$acs_user_info_row['is_acs_user'] && $acs_user_info_row['is_login_user'] && !$acs_user_info_row['is_ldap_user']) {
         echo "Forbidden";
         exit;
     }
     // form で enctype="multipart/form-data" の指定が合った場合の対処
     // エンコーディングを変換する
     if (count($_FILES) && !ini_get('mbstring.encoding_translation')) {
         $request->params = ACSLib::convert_post_data_encoding($request->params);
     }
     // 共通アクセス制御 //
     $access_control_info = $this->get_access_control_info($controller, $request, $user);
     $valid_flag = true;
     if ($access_control_info) {
         $valid_flag = false;
         if ($access_control_info['role_array'] && $access_control_info['contents_row_array']) {
             foreach ($access_control_info['contents_row_array'] as $contents_row) {
                 if ($contents_row['community_type_name'] == ACSMsg::get_mst('community_type_master', 'D40')) {
                     if (ACSAccessControl::is_valid_user_for_community($acs_user_info_row, $access_control_info['role_array'], $contents_row)) {
                         $valid_flag = true;
                     } else {
                         $valid_flag = false;
                         break;
                     }
                 } elseif ($contents_row['community_type_name'] == ACSMsg::get_mst('community_type_master', 'D10')) {
                     if (ACSAccessControl::is_valid_user_for_user_community($acs_user_info_row, $access_control_info['role_array'], $contents_row)) {
                         $valid_flag = true;
                     } else {
                         $valid_flag = false;
                         break;
                     }
                 }
             }
         }
     }
     if (!$valid_flag) {
         $this->controller->forward(SECURE_MODULE, SECURE_ACTION);
         exit;
     }
     // 各機能固有の権限判別を取得
     if ($this->get_execute_privilege($controller, $request, $user)) {
         $user->addCredential('EXECUTE');
     }
     //return parent::initialize($controller);
     return true;
 }
예제 #6
0
 /**
  * 依頼承諾メールを送信する
  *
  * @param $waiting_id 待機ID
  * @param $return 成功(true) / 失敗(false)
  * @return 
  */
 static function send_admission_accept_notify_mail($waiting_id)
 {
     // 待機情報
     $waiting_row = ACSWaiting::get_waiting_row($waiting_id);
     // システムURL
     $system_base_url = ACSSystemConfig::get_keyword_value(ACSMsg::get_mst('system_config_group', 'D01'), 'SYSTEM_BASE_URL');
     // システムログインURL
     $system_base_login_url = ACSSystemConfig::get_keyword_value(ACSMsg::get_mst('system_config_group', 'D01'), 'SYSTEM_BASE_LOGIN_URL');
     // システムのメールアドレス (From:)
     $system_mail_addr = ACSSystemConfig::get_keyword_value(ACSMsg::get_mst('system_config_group', 'D01'), 'SYSTEM_MAIL_ADDR');
     // 利用者の言語設定を一時的に保存
     $org_lang = ACSMsg::get_lang();
     // 各言語のタイトルを取得
     $mail_titles = array();
     foreach (ACSMsg::get_lang_list_array() as $lang_key => $lang_name) {
         ACSMsg::set_lang($lang_key);
         $mail_titles[$lang_key] = ACSMsg::get_serial_msg('lib', 'ACSWaiting.class.php', 'MTL%03d') . "\n";
     }
     // 言語を一旦元に戻す
     ACSMsg::set_lang($org_lang);
     if ($waiting_row['waiting_type_name'] == ACSMsg::get_mst('waiting_type_master', 'D10')) {
         // 承認側のユーザ情報
         $user_info_row = ACSUser::get_user_profile_row($waiting_row['community_id']);
         // 承認される側のユーザ情報
         $target_user_info_row = ACSUser::get_user_profile_row($waiting_row['waiting_community_id']);
         $target_lang = ACSMsg::get_mail_lang_by_inforow($target_user_info_row);
         // 一旦依頼される側の言語に設定する
         ACSMsg::set_lang($target_lang);
         $body = $mail_titles[$target_lang];
         $body .= ACSMsg::get_tag_replace(ACSMsg::get_serial_msg('lib', 'ACSWaiting.class.php', 'AMF%03d'), array("{TARGET_USER_NAME}" => $target_user_info_row['user_name'], "{USER_NAME}" => $user_info_row['user_name'], "{USER_COMMUNITY_NAME}" => $user_info_row['community_name'], "{MESSAGE}" => trim($waiting_row['reply_message']), "{SYSTEM_BASE_URL}" => $system_base_url));
         $subject = ACSMsg::get_mdmsg(__FILE__, 'M006');
         $ret = ACSLib::send_mail($system_mail_addr, $target_user_info_row['mail_addr'], null, $subject, $body);
         // 言語を元に戻す
         ACSMsg::set_lang($org_lang);
     } elseif ($waiting_row['waiting_type_name'] == ACSMsg::get_mst('waiting_type_master', 'D20')) {
         // 承認側のコミュニティ情報
         $community_row = ACSCommunity::get_community_row($waiting_row['community_id']);
         // 承認される側のユーザ情報
         $target_user_info_row = ACSUser::get_user_profile_row($waiting_row['waiting_community_id']);
         // 待機承認URL
         $waiting_url = $system_base_login_url . SCRIPT_PATH;
         $waiting_url .= "?" . MODULE_ACCESSOR . "=Community";
         $waiting_url .= "&" . ACTION_ACCESSOR . "=WaitingList";
         $waiting_url .= "&community_id={$waiting_row['community_id']}";
         $waiting_url .= "&waiting_type_code={$waiting_row['waiting_type_code']}";
         $waiting_url .= "&waiting_status_code={$waiting_status_code}";
         $target_lang = ACSMsg::get_mail_lang_by_inforow($target_user_info_row);
         // 一旦依頼される側の言語に設定する
         ACSMsg::set_lang($target_lang);
         $body = $mail_titles[$target_lang];
         $body .= ACSMsg::get_tag_replace(ACSMsg::get_serial_msg('lib', 'ACSWaiting.class.php', 'ACM%03d'), array("{TARGET_USER_NAME}" => $target_user_info_row['user_name'], "{COMMUNITY_NAME}" => $community_row['community_name'], "{MESSAGE}" => trim($waiting_row['reply_message']), "{SYSTEM_BASE_URL}" => $system_base_url));
         $subject = ACSMsg::get_mdmsg(__FILE__, 'M007');
         // 言語を元に戻す
         ACSMsg::set_lang($org_lang);
         $ret = ACSLib::send_mail($system_mail_addr, $target_user_info_row['mail_addr'], null, $subject, $body);
     } elseif ($waiting_row['waiting_type_name'] == ACSMsg::get_mst('waiting_type_master', 'D30')) {
         // 招待されたコミュニティ情報
         $community_row = ACSCommunity::get_community_row($waiting_row['waiting_community_id']);
         // 承認側のユーザ情報
         $user_info_row = ACSUser::get_user_profile_row($waiting_row['community_id']);
         // 承認された側のユーザ情報
         $target_user_info_row = ACSUser::get_user_profile_row($waiting_row['entry_user_community_id']);
         // コミュニティトップページURL
         $community_top_page_url = $system_base_login_url . SCRIPT_PATH;
         $community_top_page_url .= "?" . MODULE_ACCESSOR . "=Community";
         $community_top_page_url .= "&" . ACTION_ACCESSOR . "=" . DEFAULT_ACTION;
         $community_top_page_url .= "&community_id=" . $community_row['community_id'];
         $target_lang = ACSMsg::get_mail_lang_by_inforow($target_user_info_row);
         // 一旦依頼される側の言語に設定する
         ACSMsg::set_lang($target_lang);
         $body = $mail_titles[$target_lang];
         $body .= ACSMsg::get_tag_replace(ACSMsg::get_serial_msg('lib', 'ACSWaiting.class.php', 'AIM%03d'), array("{TARGET_USER_NAME}" => $target_user_info_row['user_name'], "{USER_NAME}" => $user_info_row['user_name'], "{USER_COMMUNITY_NAME}" => $user_info_row['community_name'], "{COMMUNITY_NAME}" => $community_row['community_name'], "{COMMUNITY_URL}" => $community_top_page_url, "{MESSAGE}" => trim($waiting_row['reply_message']), "{SYSTEM_BASE_URL}" => $system_base_url));
         $subject = ACSMsg::get_mdmsg(__FILE__, 'M004');
         // 言語を元に戻す
         ACSMsg::set_lang($org_lang);
         $ret = ACSLib::send_mail($system_mail_addr, $target_user_info_row['mail_addr'], null, $subject, $body);
     } elseif ($waiting_row['waiting_type_name'] == ACSMsg::get_mst('waiting_type_master', 'D40') || $waiting_row['waiting_type_name'] == ACSMsg::get_mst('waiting_type_master', 'D50')) {
         // 承認側のコミュニティ情報
         $community_row = ACSCommunity::get_community_row($waiting_row['community_id']);
         // 承認される側コミュニティ情報
         $target_community_row = ACSCommunity::get_community_row($waiting_row['waiting_community_id']);
         // 承認される側のコミュニティ管理者情報の配列
         $community_admin_user_info_row_array = ACSCommunity::get_community_admin_user_info_row_array($target_community_row['community_id']);
         // コミュニティトップページURL
         $community_top_page_url = $system_base_login_url . SCRIPT_PATH;
         $community_top_page_url .= "?" . MODULE_ACCESSOR . "=Community";
         $community_top_page_url .= "&" . ACTION_ACCESSOR . "=" . DEFAULT_ACTION;
         $community_top_page_url .= "&community_id=" . $community_row['community_id'];
         foreach ($community_admin_user_info_row_array as $community_admin_user_info_row) {
             $community_admin_user_info_row = ACSUser::get_user_profile_row($community_admin_user_info_row['user_community_id']);
             $target_lang = ACSMsg::get_mail_lang_by_inforow($community_admin_user_info_row);
             // 一旦依頼される側の言語に設定する
             ACSMsg::set_lang($target_lang);
             $body = $mail_titles[$target_lang];
             $body .= ACSMsg::get_tag_replace(ACSMsg::get_serial_msg('lib', 'ACSWaiting.class.php', 'ACL%03d'), array("{TARGET_COMMUNITY_NAME}" => $target_community_row['community_name'], "{COMMUNITY_NAME}" => $community_row['community_name'], "{WAITING_TYPE_NAME}" => $waiting_row['waiting_type_name'], "{COMMUNITY_URL}" => $community_top_page_url, "{MESSAGE}" => trim($waiting_row['reply_message']), "{SYSTEM_BASE_URL}" => $system_base_url));
             $subject = ACSMsg::get_mdmsg(__FILE__, 'M009');
             $ret = ACSLib::send_mail($system_mail_addr, $community_admin_user_info_row['mail_addr'], null, $subject, $body);
         }
         // 言語を元に戻す
         ACSMsg::set_lang($org_lang);
     }
     return $ret;
 }