function execute()
 {
     $context = $this->getContext();
     $controller = $context->getController();
     $request = $context->getRequest();
     $user = $context->getUser();
     $acs_user_info_row = $user->getAttribute('acs_user_info_row');
     $form = $request->ACSGetParameters();
     // パスワードを変更する
     if ($form['passwd'] != '' && $form['passwd'] == $form['passwd2']) {
         ACSSystem::update_passwd($acs_user_info_row['user_id'], $form['passwd']);
     }
     $user_list_url = $this->getControllerPath('User', 'Index');
     header("Location: {$user_list_url}");
 }
Пример #2
0
 /**
  * ユーザ情報を更新する(管理者)
  * name,password,mail_addr のみ更新対象となる
  * @param $form 変更情報
  * @return true(成功) / false(失敗)
  */
 static function update_user_info($form)
 {
     // コンテンツ種別マスタ
     $contents_type_master_array = ACSDB::get_master_array('contents_type');
     // コンテンツ種別コード
     $user_name_contents_type_code = array_search(ACSMsg::get_mst('contents_type_master', 'D01'), $contents_type_master_array);
     $mail_addr_contents_type_code = array_search(ACSMsg::get_mst('contents_type_master', 'D02'), $contents_type_master_array);
     $org_form = $form;
     ACSLib::escape_sql_array($form);
     ACSLib::get_sql_value_array($form);
     // BEGIN
     ACSDB::_do_query("BEGIN");
     // ユーザIDが変更された場合
     if ($form['old_user_id'] != $form['user_id']) {
         // (0) ユーザID
         $sql = "UPDATE user_info";
         $sql .= " SET user_id = {$form['user_id']}";
         $sql .= " WHERE user_community_id = {$form['user_community_id']}";
         $ret = ACSDB::_do_query($sql);
         if (!$ret) {
             ACSDB::_do_query("ROLLBACK");
             return $ret;
         }
         // パスワードユーザの場合
         if (ACSSystem::is_htpasswd_user($org_form['old_user_id'])) {
             $ret = ACSSystem::update_passwd_with_userid($org_form['user_id'], $org_form['old_user_id']);
             if (!$ret) {
                 ACSDB::_do_query("ROLLBACK");
                 return $ret;
             }
         }
     }
     // (1) 氏名
     $sql = "UPDATE contents";
     $sql .= " SET contents_value = {$form['user_name']}";
     $sql .= " WHERE community_id = {$form['user_community_id']}";
     $sql .= " AND contents_type_code = '{$user_name_contents_type_code}'";
     $ret = ACSDB::_do_query($sql);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     // (2) メールアドレス
     $sql = "UPDATE contents";
     $sql .= " SET contents_value = {$form['mail_addr']}";
     $sql .= " WHERE community_id = {$form['user_community_id']}";
     $sql .= " AND contents_type_code = '{$mail_addr_contents_type_code}'";
     $ret = ACSDB::_do_query($sql);
     if (!$ret) {
         ACSDB::_do_query("ROLLBACK");
         return $ret;
     }
     // COMMIT
     ACSDB::_do_query("COMMIT");
     // (3) パスワードファイル
     if ($org_form['passwd_change'] == 'change_on') {
         $ret = ACSSystem::update_passwd($org_form['user_id'], $org_form['passwd']);
     }
     return $ret;
 }