function execute()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     // 管理者かどうか確認
     if (!$this->get_execute_privilege()) {
         $controller->forward(SECURE_MODULE, SECURE_ACTION);
         return;
     }
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     // get
     $form = $request->ACSGetParameters();
     $user_id = $form['user_id'];
     if (ACSUser::get_user_info_row_by_user_id($user_id)) {
         echo ACSMsg::get_msg('System', 'AddUserAction.class.php', 'M001');
         return;
     }
     // ユーザ情報を新規登録する
     $ret = ACSUser::set_user_info($form);
     // ログ登録: ユーザ新規登録
     ACSLog::set_log($acs_user_info_row, 'New User Registration', $ret, "[UserID:{$form['user_id']}]");
     $user_list_url = $this->getControllerPath('System', 'UserList');
     header("Location: {$user_list_url}");
 }
 function execute()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     // 管理者かどうか確認
     if (!$this->get_execute_privilege()) {
         $controller->forward(SECURE_MODULE, SECURE_ACTION);
         return;
     }
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     // get
     $form = $request->ACSGetParameters();
     $user_community_id = $user->getAttribute('user_id');
     $form['user_community_id'] = $user_community_id;
     $target_user_info_row = ACSUser::get_user_profile_row($user_community_id, 'include_private_flag');
     $post_user_info_row = ACSUser::get_user_info_row_by_user_id($form['user_id']);
     if ($post_user_info_row && $user_community_id != $post_user_info_row['user_community_id']) {
         echo ACSMsg::get_msg('System', 'EditUserAction.class.php', 'M002');
         return;
     }
     //パスワードチェック
     if ($form['passwd_change'] == 'change_on' && $form['passwd'] == $form['passwd2'] || $form['passwd_change'] == '') {
         // ユーザ情報を変更する
         $ret = ACSUser::update_user_info($form);
         if (!$ret) {
             echo "Warning: Update user information failed.";
             return;
         }
     } else {
         echo ACSMsg::get_msg('System', 'EditUserAction.class.php', 'M001');
         return;
     }
     // ログ登録: ユーザ情報変更
     ACSLog::set_log($acs_user_info_row, 'Change User Information', $ret, "[UserID:{$target_user_info_row['user_id']}]");
     // ユーザ一覧を表示
     $user_list_url = $this->getControllerPath('System', 'UserList');
     header("Location: {$user_list_url}");
 }
Beispiel #3
0
 /**
  * パスワードファイルから指定のユーザIDのエントリを削除する
  *
  * @param $delete_user_id 削除するユーザID
  * @return 成功(true) / 失敗(false)
  */
 function delete_passwd($delete_user_id)
 {
     $ret = 1;
     $entry_array = array();
     // パスワードファイルエントリ保持配列
     if (!is_writable(ACS_PASSWD_FILE)) {
         return 0;
     }
     // ファイル読み込み
     $data_arr = file(ACS_PASSWD_FILE);
     foreach ($data_arr as $line) {
         list($user_id, $passwd) = explode(':', trim($line));
         // 削除するユーザIDはスキップ
         if ($user_id == $delete_user_id) {
             continue;
         }
         // ユーザ情報(user_info)が存在するユーザIDのみ保存対象とする
         if (ACSUser::get_user_info_row_by_user_id($user_id)) {
             $entry_array[$user_id] = $passwd;
         }
     }
     // ファイルオープン
     if (($fp = fopen(ACS_PASSWD_FILE, 'w')) === false) {
         return 0;
     }
     flock($fp, LOCK_EX);
     foreach ($entry_array as $user_id => $passwd) {
         // 空のパスワードは除去
         if ($passwd != '') {
             fwrite($fp, "{$user_id}:{$passwd}\n");
         }
     }
     // ファイルクローズ
     fclose($fp);
     return $ret;
 }
Beispiel #4
0
 /**
  * ユーザ情報(プロフィール)をセットする
  *
  * @param $acs_user_info_row
  * @param ユーザ情報(プロフィール)
  * @return 成功(true) / 失敗(false)
  */
 static function set_user_profile($acs_user_info_row, $form)
 {
     $user_community_id = $form['id'];
     $contents_type_master_array = ACSDB::get_master_array('contents_type');
     $contents_type_code_array['self'] = array_search(ACSMsg::get_mst('contents_type_master', 'D00'), $contents_type_master_array);
     $contents_type_code_array['user_name'] = array_search(ACSMsg::get_mst('contents_type_master', 'D01'), $contents_type_master_array);
     $contents_type_code_array['mail_addr'] = array_search(ACSMsg::get_mst('contents_type_master', 'D02'), $contents_type_master_array);
     $contents_type_code_array['belonging'] = array_search(ACSMsg::get_mst('contents_type_master', 'D03'), $contents_type_master_array);
     $contents_type_code_array['speciality'] = array_search(ACSMsg::get_mst('contents_type_master', 'D04'), $contents_type_master_array);
     $contents_type_code_array['birthplace'] = array_search(ACSMsg::get_mst('contents_type_master', 'D05'), $contents_type_master_array);
     $contents_type_code_array['birthday'] = array_search(ACSMsg::get_mst('contents_type_master', 'D06'), $contents_type_master_array);
     $contents_type_code_array['community_profile'] = array_search(ACSMsg::get_mst('contents_type_master', 'D07'), $contents_type_master_array);
     $contents_type_code_array['community_profile_login'] = array_search(ACSMsg::get_mst('contents_type_master', 'D08'), $contents_type_master_array);
     $contents_type_code_array['community_profile_friend'] = array_search(ACSMsg::get_mst('contents_type_master', 'D09'), $contents_type_master_array);
     $contents_type_code_array['friends_list'] = array_search(ACSMsg::get_mst('contents_type_master', 'D11'), $contents_type_master_array);
     $contents_type_code_array['mail_lang'] = array_search(ACSMsg::get_mst('contents_type_master', 'D51'), $contents_type_master_array);
     // コミュニティ種別マスタ
     $community_type_master_array = ACSDB::get_master_array('community_type');
     // コミュニティ種別コード
     $user_community_type_code = array_search(ACSMsg::get_mst('community_type_master', 'D10'), $community_type_master_array);
     $friends_community_type_code = array_search(ACSMsg::get_mst('community_type_master', 'D20'), $community_type_master_array);
     // 公開レベルマスタ
     $open_level_master_array = ACSDB::get_master_array('open_level');
     // BEGIN
     ACSDB::_do_query("BEGIN");
     // user_infoが未登録のLDAPユーザの場合は基本情報を登録する
     if (!$acs_user_info_row['is_acs_user'] && $acs_user_info_row['is_ldap_user']) {
         // 新コミュニティID
         $user_community_id_seq = ACSDB::get_next_seq('community_id_seq');
         $user_community_id = $user_community_id_seq;
         // (1) ユーザコミュニティ (community)
         $sql = "INSERT INTO community";
         $sql .= " (community_id, community_name, community_type_code)";
         $sql .= " VALUES ({$user_community_id_seq}, null, '{$user_community_type_code}')";
         $ret = ACSDB::_do_query($sql);
         if (!$ret) {
             ACSDB::_do_query("ROLLBACK");
             return $ret;
         }
         // (2) ユーザ情報 (user_info)
         $sql = "INSERT INTO user_info";
         $sql .= " (user_id, user_community_id, administrator_flag)";
         $sql .= " VALUES ('{$form['user_id']}', '{$user_community_id_seq}', 'f')";
         $ret = ACSDB::_do_query($sql);
         if (!$ret) {
             ACSDB::_do_query("ROLLBACK");
             return $ret;
         }
         // (3) マイフレンズ
         $contents_form = array();
         $contents_form['community_id'] = $user_community_id_seq;
         $contents_form['contents_type_code'] = array_search(ACSMsg::get_mst('contents_type_master', 'D11'), $contents_type_master_array);
         $contents_form['contents_value'] = '';
         $contents_form['open_level_code'] = ACSAccessControl::get_default_open_level_code(ACSMsg::get_mst('community_type_master', 'D10'), ACSMsg::get_mst('contents_type_master', 'D11'));
         $ret = ACSCommunity::set_contents($contents_form);
         if (!$ret) {
             ACSDB::_do_query("ROLLBACK");
             return $ret;
         }
         // (4) マイフレンズコミュニティ (community)
         $friends_community_id_seq = ACSDB::get_next_seq('community_id_seq');
         $sql = "INSERT INTO community";
         $sql .= " (community_id, community_type_code)";
         $sql .= " VALUES ('{$friends_community_id_seq}', '{$friends_community_type_code}')";
         $ret = ACSDB::_do_query($sql);
         if (!$ret) {
             ACSDB::_do_query("ROLLBACK");
             return $ret;
         }
         // (5) マイフレンズコミュニティをユーザコミュニティのサブコミュニティとする (sub_community)
         $sql = "INSERT INTO sub_community";
         $sql .= " (community_id, sub_community_id)";
         $sql .= " VALUES ('{$user_community_id_seq}', '{$friends_community_id_seq}')";
         $ret = ACSDB::_do_query($sql);
         if (!$ret) {
             ACSDB::_do_query("ROLLBACK");
             return $ret;
         }
         $is_ldap_user_login_flag = 1;
         // ユーザ基本情報ここまで
     }
     // ニックネーム
     $ret = ACSCommunity::set_community_name($user_community_id, $form['community_name']);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     // コンテンツ: 氏名, メールアドレス, 所属, 専攻, 出身, 生年月日, プロフィールは3種
     foreach (array('user_name', 'mail_addr', 'belonging', 'speciality', 'birthplace', 'birthday', 'community_profile', 'community_profile_login', 'community_profile_friend', 'friends_list', 'mail_lang') as $contents_key) {
         $contents_form = array('community_id' => $user_community_id, 'contents_type_code' => $contents_type_code_array[$contents_key], 'contents_value' => $form[$contents_key], 'open_level_code' => $form['open_level_code_array'][$contents_key]);
         $ret = ACSCommunity::set_contents($contents_form);
         if (!$ret) {
             ACSDB::_do_query("ROLLBACK");
             return $ret;
         }
     }
     // コンテンツ: ページ全体 = 一般公開とする
     $contents_form = array('community_id' => $user_community_id, 'contents_type_code' => $contents_type_code_array['self'], 'contents_value' => '', 'open_level_code' => array_search(ACSMsg::get_mst('open_level_master', 'D01'), $open_level_master_array));
     $ret = ACSCommunity::set_contents($contents_form);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     // 信頼済みコミュニティ: 出身, 生年月日
     foreach (array('birthplace', 'birthday') as $contents_key) {
         if ($form['trusted_community_flag'][$contents_key]) {
             // マイフレンズグループ
             $trusted_community_id_array = explode(',', $form['trusted_community_id_csv_array'][$contents_key]);
             foreach ($trusted_community_id_array as $trusted_community_id) {
                 if ($trusted_community_id == '') {
                     continue;
                 }
                 $contents_trusted_community_form = array('community_id' => $user_community_id, 'contents_type_code' => $contents_type_code_array[$contents_key], 'open_level_code' => $form['open_level_code_array'][$contents_key], 'trusted_community_id' => $trusted_community_id);
                 $ret = ACSCommunity::set_contents_trusted_community($contents_trusted_community_form);
                 if (!$ret) {
                     ACSDB::_do_query("ROLLBACK");
                     return $ret;
                 }
             }
         } else {
             // マイフレンズ
             $trusted_community_id = ACSUser::get_friends_community_id($user_community_id);
             // フレンズコミュニティID
             $contents_trusted_community_form = array('community_id' => $user_community_id, 'contents_type_code' => $contents_type_code_array[$contents_key], 'open_level_code' => $form['open_level_code_array'][$contents_key], 'trusted_community_id' => $trusted_community_id);
             $ret = ACSCommunity::set_contents_trusted_community($contents_trusted_community_form);
             if (!$ret) {
                 ACSDB::_do_query("ROLLBACK");
                 return $ret;
             }
         }
     }
     // COMMIT
     ACSDB::_do_query("COMMIT");
     if ($is_ldap_user_login_flag) {
         $acs_user_info_row = ACSUser::get_user_info_row_by_user_id($form['user_id']);
         // ログ登録: LDAPユーザ新規登録
         ACSLog::set_log($acs_user_info_row, 'New LDAP User Registration', $ret, "[UserID:{$form['user_id']}]");
         // ラストログイン登録
         ACSUser::set_last_login($acs_user_info_row);
     }
     return $ret;
 }
 /**
  * 外部RSS自動取り込みを実行する
  *
  * @param $community_row コミュニティ情報
  * @return $msg
  */
 static function do_process($community_row)
 {
     $msg = "";
     // 公開レベルマスタ
     $open_level_master_array = ACSDB::get_master_array('open_level');
     // 外部RSSコンテンツ情報を付加
     $community_row = ACSExternalRSS::add_contents_row_array($community_row);
     // RSS情報を取得
     $rss_row_array = ACSExternalRSS::get_external_rss_row_array($community_row['contents_row_array']['external_rss_url']['contents_value']);
     if ($rss_row_array == false) {
         return;
     }
     // 外部RSS.投稿者が該当コミュニティのコミュニティ管理者であるかどうかチェックする
     $community_admin_user_info_row_array = ACSCommunity::get_community_admin_user_info_row_array($community_row['community_id']);
     $err_flg = 1;
     foreach ($community_admin_user_info_row_array as $community_admin_user_info_row) {
         if ($community_admin_user_info_row['user_community_id'] == $community_row['contents_row_array']['external_rss_post_user']['contents_value']) {
             $err_flg = 0;
             break;
         }
     }
     if ($err_flg) {
         return;
     }
     // 投稿者情報 (ml_addrを含む情報)
     $post_user_info_row = ACSUser::get_user_info_row_by_user_community_id($community_row['contents_row_array']['external_rss_post_user']['contents_value']);
     $post_user_info_row = ACSUser::get_user_info_row_by_user_id($post_user_info_row['user_id']);
     // 投稿情報($form) //
     // 初期化
     $form = array();
     $form['community_id'] = $community_row['community_id'];
     $form['user_community_id'] = $community_row['contents_row_array']['external_rss_post_user']['contents_value'];
     $form['open_level_code'] = $community_row['contents_row_array']['external_rss_url']['open_level_code'];
     // パブリックリリース の場合
     if ($open_level_master_array[$form['open_level_code']] == ACSMsg::get_mst('open_level_master', 'D06') && intval($community_row['contents_row_array']['external_rss_public_release_expire_term']['contents_value']) >= 1) {
         $form['expire_date'] = "CURRENT_DATE + '@ " . ($community_row['contents_row_array']['external_rss_public_release_expire_term']['contents_value'] - 1) . " days'::INTERVAL";
     } else {
         $form['expire_date'] = '';
     }
     // 非公開 (メンバのみ) の場合
     if ($open_level_master_array[$form['open_level_code']] == ACSMsg::get_mst('open_level_master', 'D04')) {
         $form['trusted_community_row_array'] = $community_row['contents_row_array']['external_rss_url']['trusted_community_row_array'];
     } else {
         $form['trusted_community_row_array'] = array();
     }
     $form['ml_send_flag'] = ACSLib::get_pg_boolean(ACSLib::get_boolean($community_row['contents_row_array']['external_rss_ml_send_flag']['contents_value']));
     // RSS記事ごとの処理 //
     foreach ($rss_row_array['items'] as $rss_item_row) {
         // 掲載されているかチェック
         if (!ACSExternalRSS::is_posted_value($community_row['community_id'], $rss_item_row['rss_item_title'], $rss_item_row['rss_item_date'])) {
             // 掲載されていない場合
             $form['subject'] = $rss_item_row['rss_item_title'];
             $form['body'] = $rss_item_row['rss_item_content'];
             $form['post_date'] = $rss_item_row['rss_item_date'];
             $bbs_id = ACSExternalRSS::set_bbs_and_external_rss($form, $rss_row_array['channel_info'], $rss_item_row);
             if (!$bbs_id) {
                 echo "ERROR\n";
                 exit;
             } else {
                 $msg .= "掲載: {$community_row['community_name']} (community_id={$community_row['community_id']})\n";
                 $msg .= "\t=> {$form['subject']} (bbs_id={$bbs_id})\n";
                 if (ACSLib::get_boolean($form['ml_send_flag'])) {
                     // MLステータスの取得
                     $ml_status_row = ACSCommunity::get_contents_row($community_row['community_id'], ACSMsg::get_mst('contents_type_master', 'D62'));
                     $ml_status = $ml_status_row['contents_value'];
                     // ML有りの場合メールを送信
                     if ($ml_status == 'ACTIVE') {
                         // 件名編集
                         $subject = str_replace('{BBSID}', $bbs_id, ACS_COMMUNITY_ML_SUBJECT_FORMAT) . $form['subject'];
                         // ML送信
                         ACSCommunityMail::send_community_mailing_list($community_row['community_id'], $post_user_info_row['mail_addr'], $form['subject'], $form['body']);
                         $msg .= "\t=> ML送信\n";
                     }
                 }
             }
         }
     }
     return $msg;
 }
 /**
  * 初期処理
  * @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;
 }