0 && $n_len > $n_val_len) { return sprintf(TEXT_ERRINFO_INPUT_LENGTH, $n_len); } return ''; // 戻り値 } /*-------------------------------------- 機 能 : エラーメッセージ表示 引 数 : $a_error -(i) エラーメッセージ 戻り値 : なし --------------------------------------*/ function print_err_message($a_error) { $stable_bgcolor = 'bgcolor="#FFFFFF"'; // テーブル背景色 $sfont_color = 'color="#FF0000"'; // フォントカラー(エラー色) echo ''; echo TABLE_HEADING_ERRINFO; // エラーメッセージ表示タイトル echo "
\n"; //-- エラー表示 -- for ($i = 0 ; $i < count($a_error) ; $i++) { echo $a_error[$i]; echo "
\n"; } echo "
\n"; } /* ------------------------------------- 機 能 : エラーメッセージ配列にエラーメッセージセット 引 数 : $a_error - (o) 配列エラーメッセージ $s_errmsg - (i) エラーメッセージ 戻り値 : なし ------------------------------------ */ function set_errmsg_array(&$a_error,$s_errmsg) { $a_error[] = $s_errmsg; } /* =============================================== レコード取得 sql 文字列生成関数(Select) ============================================== */ /*-------------------------------------- 機 能 : ユーザ情報取得 sql 文字列生成 引 数 : $s_user_ID - (i) ユーザID(省略可) 戻り値 : select 句文字列 --------------------------------------*/ function makeSelectUserInfo($s_user_ID = "") { $s_select = "select * from " . TABLE_USERS; $s_select .= ($s_user_ID == "" ? "" : " where userid = '$s_user_ID'"); $s_select .= " order by userid;"; // ユーザIDの順番にデータを取得する return $s_select; } /*-------------------------------------- 機 能 : ユーザ権限を含む情報取得 sql 文字列生成 引 数 : $nmode - (i) 整数:生成モード(0:一般ユーザ取得[既定値]、1:管理者取得) 戻り値 : select 句文字列 --------------------------------------*/ function makeSelectUserParmission($nmode=0) { // ユーザ権限を含む情報取得 $s_select = "select u.userid as userid, u.name as name"; $s_select .= " from " . TABLE_USERS . " u, " . TABLE_PERMISSIONS . " p"; $s_select .= " where u.userid = p.userid"; if ($nmode == 0) $s_select .= " and p.permission < 15"; // 生成モードにより where 句の条件を編集する else $s_select .= " and p.permission = 15"; $s_select .= " order by u.userid"; // ユーザIDの順番にデータを取得する return $s_select; } /* ============================================== テーブル更新 sql 文字列生成関数(Insert、Update、Delete) ============================================= */ /*-------------------------------------- 機 能 : 新規ユーザの登録(ユーザ管理、ユーザ権限テーブルに追加登録) 引 数 : $aval -(i) 連想配列:追加するデータ $nmode -(i) 整数:生成モード(0:ユーザ管理テーブル追加sql[既定値]、1:ユーザ権限テーブル追加sql) 戻り値 : なし --------------------------------------*/ function makeInsertUser($aval, $nmode=0) { $ssql = "insert into "; if ($nmode == 0) { // DES で暗号化する $cryot_password = (string) crypt($aval['password']); // ユーザ管理テーブルへの追加 sql 文字列生成 $ssql .= TABLE_USERS . " values ("; $ssql .= "'" . $aval['userid'] . "'"; $ssql .= ",'$cryot_password'"; $ssql .= ",'" . $aval['name'] . "'"; $ssql .= ",'" . $aval['email'] . "'"; $ssql .= ")"; } else { // ユーザ権限テーブルへの追加 sql 文字列生成 $ssql .= TABLE_PERMISSIONS . " values ("; $ssql .= "'" . $aval['userid'] . "'"; $ssql .= ",7"; $ssql .= ")"; } return $ssql; } /*-------------------------------------- 機 能 : ユーザ情報テーブルの更新 引 数 : $aval -(i) 連想配列:更新するデータ $nmode -(i) 更新モード(0:氏名、e-mail、1:パスワード) 戻り値 : なし --------------------------------------*/ function makeUpdateUser($aval, $nmode=0) { $ssql = "update " . TABLE_USERS . " set"; if ($nmode == 0) { $ssql .= " name='" . $aval['name'] . "'"; $ssql .= ", email='" . $aval['email'] . "'"; } else { // DES で暗号化する $cryot_password = (string) crypt($aval['password']); $ssql .= " password='$cryot_password'"; } $ssql .= " where userid='" . $_POST['userid'] . "'"; return $ssql; } /*-------------------------------------- 機 能 : ユーザの削除、(ユーザ管理、ユーザ権限テーブルから削除) 引 数 : $nmode -(i) 整数:生成モード(0:ユーザ管理テーブル削除sql[既定値]、1:ユーザ権限テーブル削除sql) 戻り値 : なし --------------------------------------*/ function makeDeleteUser($nmode=0) { $ssql = "delete from "; if ($nmode == 0) { // DES で暗号化する $cryot_password = (string) crypt($aval['password']); // ユーザ管理テーブルへの追加 sql 文字列生成 $ssql .= TABLE_USERS; } else { // ユーザ権限テーブルへの追加 sql 文字列生成 $ssql .= TABLE_PERMISSIONS; } $ssql .= " where userid='" . $_POST['userid'] . "'"; return $ssql; } /*-------------------------------------- 機 能 : ユーザ権限テーブルの更新 引 数 : $nmode -(i) 更新モード(0:grant、1:revoke) $susers -(i) ユーザID 戻り値 : なし --------------------------------------*/ function makeUpdatePermission($nmode=0, $susers) { $ssql = "update " . TABLE_PERMISSIONS . " set"; if ($nmode == 0) // 権限を与える $ssql .= " permission=15"; else $ssql .= " permission=7"; // 権限を取消す $ssql .= " where userid='$susers'"; return $ssql; } /* ============================================== 画面表示関数(メイン) ============================================= */ /*-------------------------------------- 機 能 : ユーザ管理メニュー(表示) 引 数 : なし 戻り値 : なし --------------------------------------*/ function UserManu_preview() { global $ocertify; // ユーザ認証オブジェクト PageBody('t', PAGE_TITLE_MENU_USER); // ユーザ管理画面のタイトル部表示(ユーザ管理メニュー) // ユーザ情報取得 if ($ocertify->npermission < 15) $ssql = makeSelectUserInfo($ocertify->auth_user); // 一般ユーザのとき if ($ocertify->npermission == 15) $ssql = makeSelectUserInfo(); // 管理者のとき @$oresult = tep_db_query($ssql); if (!$oresult) { // エラーだったとき echo TEXT_ERRINFO_DB_NO_USERINFO; // メッセージ表示 echo "
\n"; echo tep_draw_form('users', basename($_SERVER['PHP_SELF'])); //
タグの出力 echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "
\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return FALSE; } $nrow = tep_db_num_rows($oresult); // レコード件数の取得 // テーブルタグの開始 echo '' . "\n"; echo "\n"; echo tep_draw_form('users', basename($_SERVER['PHP_SELF'])); // タグの出力 if ($nrow == 1) { // 対象データが1件だったとき // 項目タイトル(1セル)の出力 echo '' . "\n"; // ユーザ $nLsize = 'size="1"'; // リストのサイズ変数に1をセット } elseif ($nrow > 1) { // 対象データが1件以上だったとき // 項目タイトル(1セル)の出力 echo '' . "\n"; // ユーザ一覧 $nLsize = 'size="5"'; // リストのサイズ変数に5をセット } echo "\n"; // リストボックスに表示するデータを配列にセットする $i=0; while ($arec = tep_db_fetch_array($oresult)) { // レコードを取得 $ausers[$i]['id'] = $arec['userid']; $ausers[$i]['text'] = $arec['name']; $i++; } echo '\n"; echo "
' . TABLE_HEADING_USER . '' . TABLE_HEADING_USER_LIST . '
'; // データセル echo tep_draw_pull_down_menu("userslist", $ausers, $ocertify->auth_user, $nLsize); // リストボックスの表示 echo "
\n"; echo '
'; // ボタン表示 if ($ocertify->npermission == 15) { // 管理者のとき echo tep_draw_input_field("execute_new", BUTTON_INSERT_USER, '', FALSE, "submit", FALSE); // ユーザの追加 echo tep_draw_input_field("execute_user", BUTTON_INFO_USER, '', FALSE, "submit", FALSE); // ユーザ情報 echo tep_draw_input_field("execute_password", BUTTON_CHANGE_PASSWORD, '', FALSE, "submit", FALSE); // パスワード変更 echo tep_draw_input_field("execute_permission", BUTTON_PERMISSION, '', FALSE, "submit", FALSE); // 管理者権限 echo "\n"; } else { echo tep_draw_input_field("execute_user", BUTTON_INFO_USER, '', FALSE, "submit", FALSE); // ユーザ情報 echo tep_draw_input_field("execute_password", BUTTON_CHANGE_PASSWORD, '', FALSE, "submit", FALSE); // パスワード変更 } echo "\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return TRUE; } /*-------------------------------------- 機 能 : ユーザの追加(表示メイン) 引 数 : なし 戻り値 : なし --------------------------------------*/ function UserInsert_preview() { PageBody('t', BUTTON_INSERT_USER); // ユーザ管理画面のタイトル部表示(ユーザの追加) echo tep_draw_form('users', basename($_SERVER['PHP_SELF'])); //
タグの出力 // テーブルタグの開始 echo '' . "\n"; echo "\n"; // 項目タイトル(1セル)の出力 echo '' . "\n"; // カラム echo '' . "\n"; // データ echo "\n"; echo "\n"; echo ''; // ユーザID // 入力項目出力 echo ''; echo "\n"; echo "\n"; echo ''; // パスワード // 入力項目出力 echo ''; echo "\n"; echo "\n"; echo ''; // 氏名 // 入力項目出力 echo ''; echo "\n"; echo "\n"; echo ''; // E-Mail // 入力項目出力 echo ''; echo "\n"; echo "
' . TABLE_HEADING_COLUMN . '' . TABLE_HEADING_DATA . '
' . TABLE_HEADING_USER_ID . ''; echo tep_draw_input_field("aval[userid]", '', 'size="18" maxlength="16"', TRUE, 'text', FALSE); echo '
' . TABLE_HEADING_PASSWORD . ''; echo tep_draw_password_field("aval[password]", '', TRUE); echo '
' . TABLE_HEADING_NAME . ''; echo tep_draw_input_field("aval[name]", '', 'size="32" maxlength="64"', TRUE, 'text', FALSE); echo '
' . TABLE_HEADING_EMAIL . ''; echo tep_draw_input_field("aval[email]", '', 'size="32" maxlength="96"', FALSE, 'text', FALSE); echo '
\n"; echo '
'; echo tep_draw_hidden_field("execute_new"); // 処理モードを隠し項目にセットする // ボタン表示 echo tep_draw_input_field("execute_insert", BUTTON_INSERT, '', FALSE, "submit", FALSE); // 追加 echo tep_draw_input_field("clear", BUTTON_CLEAR, '', FALSE, "reset", FALSE); // クリア echo "
\n"; // フォームのフッター // ユーザ管理メニューに戻る echo '« ' . BUTTON_BACK_MENU . ''; // ユーザ管理メニューに戻る return TRUE; } /*-------------------------------------- 機 能 : ユーザ情報保守(表示メイン) 引 数 : なし 戻り値 : なし 2000.04.20 対象ユーザが存在しないとき、メッセージ表示するように変更する。 --------------------------------------*/ function UserInfo_preview() { global $ocertify; // ユーザ認証オブジェクト PageBody('t', BUTTON_INFO_USER); // ユーザ管理画面のタイトル部表示(ユーザ情報) echo tep_draw_form('users', basename($_SERVER['PHP_SELF'])); //
タグの出力 $ssql = makeSelectUserInfo($_POST['userslist']); // ユーザ情報取得 @$oresult = tep_db_query($ssql); if (!$oresult) { // エラーだったとき echo TEXT_ERRINFO_DB_NO_USERINFO; // メッセージ表示 echo "
\n"; echo tep_draw_form('users', basename($_SERVER['PHP_SELF'])); // タグの出力 echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "
\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return FALSE; } $nrow = tep_db_num_rows($oresult); // レコード件数の取得 if ($nrow != 1) { // 取得したレコード件数1件でないとき echo TEXT_ERRINFO_DB_NO_USER; // メッセージ表示 echo "
\n"; echo tep_draw_form('users', basename($_SERVER['PHP_SELF'])); //
タグの出力 echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "
\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return FALSE; // 処理を抜ける } $arec = tep_db_fetch_array($oresult); if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する // テーブルタグの開始 echo '' . "\n"; echo "\n"; // ユーザ名称(ユーザID) echo '' . "\n"; echo "\n"; echo "\n"; echo ''; // 氏名 echo ''; echo "\n"; echo "\n"; echo ''; // E-Mail // 入力項目出力 echo ''; echo "\n"; echo "
' . $arec['name'] . "(" . $_POST['userslist'] . ')
' . TABLE_HEADING_NAME . ''; echo tep_draw_input_field("aval[name]", $arec['name'], 'size="32" maxlength="64"', TRUE, 'text', FALSE); echo '
' . TABLE_HEADING_EMAIL . ''; echo tep_draw_input_field("aval[email]", $arec['email'], 'size="32" maxlength="96"', FALSE, 'text', FALSE); echo '
\n"; echo tep_draw_hidden_field("execute_user"); // 処理モードを隠し項目にセットする echo tep_draw_hidden_field("userid", $_POST['userslist']); // ユーザIDを隠し項目にセットする echo '
'; // ボタン表示 echo tep_draw_input_field("execute_update", BUTTON_UPDATE, "onClick=\"return formConfirm('update')\"", FALSE, "submit", FALSE); // 更新 // 管理者のとき、削除ボタンを表示する if ($ocertify->npermission == 15) echo tep_draw_input_field("execute_delete", BUTTON_DELETE, "onClick=\"return formConfirm('delete')\"", FALSE, "submit", FALSE); // 削除 echo tep_draw_input_field("reset", BUTTON_RESET, '', FALSE, "reset", FALSE); // 元の値に戻す echo "\n"; echo "\n"; // フォームのフッター echo '« ' . BUTTON_BACK_MENU . ''; // ユーザ管理メニューに戻る return TRUE; } /*-------------------------------------- 機 能 : パスワード変更(表示メイン) 引 数 : なし 戻り値 : なし --------------------------------------*/ function UserPassword_preview() { PageBody('t', PAGE_TITLE_PASSWORD); // ユーザ管理画面のタイトル部表示(パスワード変更) echo tep_draw_form('users', basename($_SERVER['PHP_SELF'])); //
タグの出力 $ssql = makeSelectUserInfo($_POST['userslist']); // ユーザ情報取得 @$oresult = tep_db_query($ssql); if (!$oresult) { // エラーだったとき echo TEXT_ERRINFO_DB_NO_USERINFO; // メッセージ表示 echo "
\n"; echo tep_draw_form('users', basename($_SERVER['PHP_SELF'])); // タグの出力 echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "
\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return FALSE; } $nrow = tep_db_num_rows($oresult); // レコード件数の取得 if ($nrow != 1) { // 取得したレコード件数1件でないとき echo TEXT_ERRINFO_DB_NO_USER; // メッセージ表示 echo "
\n"; echo tep_draw_form('users', basename($_SERVER['PHP_SELF'])); //
タグの出力 echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "
\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return FALSE; // 処理を抜ける } $arec = tep_db_fetch_array($oresult); if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する // テーブルタグの開始 echo '' . "\n"; echo "\n"; // ユーザ名称(ユーザID) echo '' . "\n"; echo "\n"; echo "\n"; echo ''; // 新しいパスワード // 入力項目出力 echo ''; echo "\n"; echo "\n"; echo ''; // 確認のため再入力 // 入力項目出力 echo ''; echo "\n"; echo "
' . $arec['name'] . "(" . $_POST['userslist'] . ')
' . TABLE_HEADING_NEW_PASSWORD . ''; echo tep_draw_password_field("aval[password]", '', TRUE); echo '
' . TABLE_HEADING_CONFIRM_PASSWORD . ''; echo tep_draw_password_field("aval[chk_password]", '', TRUE); echo '
\n"; echo '
'; echo tep_draw_hidden_field("execute_password"); // 処理モードを隠し項目にセットする echo tep_draw_hidden_field("userid", $_POST['userslist']); // ユーザIDを隠し項目にセットする // ボタン表示 echo tep_draw_input_field("execute_update", BUTTON_CHANGE, "onClick=\"return formConfirm('password')\"", FALSE, "submit", FALSE); // 変更 echo tep_draw_input_field("clear", BUTTON_CLEAR, '', FALSE, "reset", FALSE); // クリア echo "\n"; echo "\n"; // フォームのフッター echo '« ' . BUTTON_BACK_MENU . ''; // ユーザ管理メニューに戻る return TRUE; } /*-------------------------------------- 機 能 : 管理者権限(表示メイン) 引 数 : なし 戻り値 : なし --------------------------------------*/ function UserPermission_preview() { PageBody('t', PAGE_TITLE_PERMISSION); // ユーザ管理画面のタイトル部表示(管理者権限) echo tep_draw_form('users', basename($_SERVER['PHP_SELF'])); //
タグの出力 // 一般ユーザ情報取得 $ssql = makeSelectUserParmission(); // 一般ユーザのデータを取得する sql 文字列生成 @$oresult = tep_db_query($ssql); if (!$oresult) { // エラーだったとき echo TEXT_ERRINFO_DB_NO_USERINFO; // メッセージ表示 echo "
\n"; echo tep_draw_form('users', basename($_SERVER['PHP_SELF'])); // タグの出力 echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "
\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return FALSE; } $nrow = tep_db_num_rows($oresult); // レコード件数の取得 if ($nrow > 0) { // リストボックスに表示するデータを配列にセットする $i=0; while ($arec = tep_db_fetch_array($oresult)) { // レコードを取得 $ausers[$i]['id'] = $arec['userid']; $ausers[$i]['text'] = $arec['name']; $i++; } } if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する // 管理者権限を持つユーザ情報取得 $ssql = makeSelectUserParmission(1); // 管理者権限を持つデータを取得する sql 文字列生成 @$oresult = tep_db_query($ssql); if (!$oresult) { // エラーだったとき echo TEXT_ERRINFO_DB_NO_USERINFO; // メッセージ表示 echo "
\n"; echo tep_draw_form('users', basename($_SERVER['PHP_SELF'])); //
タグの出力 echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "
\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return FALSE; } $nrow = tep_db_num_rows($oresult); // レコード件数の取得 if ($nrow > 0) { // リストボックスに表示するデータを配列にセットする $i=0; while ($arec = tep_db_fetch_array($oresult)) { // レコードを取得 $ausers_admin[$i]['id'] = $arec['userid']; $ausers_admin[$i]['text'] = $arec['name']; $i++; } } if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する // テーブルタグの開始 echo '' . "\n"; echo "\n"; echo "\n"; echo '\n"; echo "\n"; echo "\n"; echo "
\n"; // データセル // テーブルタグの開始(一般ユーザのリストボックス) echo '' . "\n"; echo "\n"; echo '' . "\n"; // 一般ユーザ echo "\n"; echo "\n"; echo "\n"; echo "
' . TABLE_HEADING_USER . '
\n"; // データセル echo tep_draw_pull_down_menu("no_permission_list", $ausers, '', 'size="5"'); // リストボックスの表示 echo "
\n"; echo "
' . "\n"; // データセル echo '
'; echo tep_draw_input_field("execute_grant", BUTTON_GRANT, "onClick=\"return formConfirm('grant')\"", FALSE, "submit", FALSE); // 権限を与える >> echo '
'; echo tep_draw_input_field("execute_revoke", BUTTON_REVOKE, "onClick=\"return formConfirm('revoket')\"", FALSE, "submit", FALSE); // << 権限を取消す echo "
\n"; // データセル // テーブルタグの開始(管理権限を持っているユーザのリストボックス) echo '' . "\n"; echo "\n"; echo '' . "\n"; // サイト管理者 echo "\n"; echo "\n"; echo "\n"; echo "
' . TABLE_HEADING_ADMIN . '
\n"; // データセル echo tep_draw_pull_down_menu("permission_list", $ausers_admin, '', 'size="5"'); // リストボックスの表示 echo "
\n"; echo "
\n"; echo tep_draw_hidden_field("execute_permission"); // 処理モードを隠し項目にセットする echo "\n"; // フォームのフッター echo '« ' . BUTTON_BACK_MENU . ''; // ユーザ管理メニューに戻る return TRUE; } /* ============================================== 処理実行関数 ============================================= */ /*-------------------------------------- 機 能 : ユーザの追加処理実行 引 数 : なし 戻り値 : true/false 補 足 : [:print:] 印字可能なキャラクタ(=制御文字以外のキャラクタ) --------------------------------------*/ function UserInsert_execute() { PageBody('t', PAGE_TITLE_INSERT_USER); // ユーザ管理画面のタイトル部表示(ユーザの追加) // ユーザID の入力チェック $aerror = ""; $ret_err = checkLength_ge($_POST['aval']['userid'], 2); if ($ret_err == "") $ret_err = checkNotnull($_POST['aval']['userid']); if ($ret_err == "") $ret_err = checkStringEreg($_POST['aval']['userid'], "[[:print:]]"); if ($ret_err != "") set_errmsg_array($aerror, '' . TABLE_HEADING_USER_ID . ':' . $ret_err); // ユーザID // パスワードの入力チェック $ret_err = checkLength_ge($_POST['aval']['password'], 2); if ($ret_err == "") $ret_err = checkNotnull($_POST['aval']['password']); if ($ret_err == "") $ret_err = checkStringEreg($_POST['aval']['password'], "[[:print:]]"); if ($ret_err != "") set_errmsg_array($aerror, '' . TABLE_HEADING_PASSWORD . ':' . $ret_err); // パスワード // 氏名 の入力チェック $ret_err = checkNotnull($_POST['aval']['name']); if ($ret_err != "") set_errmsg_array($aerror, '' . TABLE_HEADING_NAME . ':' . $ret_err); // 氏名 echo tep_draw_form('users', basename($_SERVER['PHP_SELF'])); //
タグの出力 if (is_array($aerror)) { // 入力エラーのとき print_err_message($aerror); // エラーメッセージ表示 echo "
\n"; echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "
\n"; // フォームのフッター return FALSE; } // 追加するデータが登録されていないかチェックする $ssql = makeSelectUserInfo($_POST['aval']['userid']); // ユーザ情報取得 @$oresult = tep_db_query($ssql); if (!$oresult) { // エラーだったとき echo TEXT_ERRINFO_DB_USERCHACK; // メッセージ表示 echo "
\n"; echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return FALSE; } $nrow = tep_db_num_rows($oresult); // レコード件数の取得 if ($nrow >= 1) { // 取得したレコード件数0件でないとき echo TEXT_ERRINFO_DB_EXISTING_USER; // メッセージ表示 echo "
\n"; echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return FALSE; // 処理を抜ける } $ssql = makeInsertUser($_POST['aval']); // ユーザ管理テーブルの追加sql文字列を取得する @$oresult = tep_db_query($ssql); if (!$oresult) { // エラーだったとき echo TEXT_ERRINFO_DB_INSERT_USER; // メッセージ表示 echo "
\n"; echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return FALSE; } $ssql = makeInsertUser($_POST['aval'], 1); // ユーザ権限テーブルの追加sql文字列を取得する @$oresult = tep_db_query($ssql); if (!$oresult) { // エラーだったとき echo TEXT_ERRINFO_DB_INSERT_PERMISSION; // メッセージ表示 echo "
\n"; echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return FALSE; } echo "
\n"; echo TEXT_SUCCESSINFO_INSERT_USER; // 完了メッセージ echo '

'; echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return TRUE; } /*-------------------------------------- 機 能 : ユーザ情報の更新処理実行 引 数 : なし 戻り値 : true/false 補 足 : [:print:] 印字可能なキャラクタ(=制御文字以外のキャラクタ) --------------------------------------*/ function UserInfor_execute() { PageBody('t', PAGE_TITLE_USERINFO); // ユーザ管理画面のタイトル部表示(ユーザ情報) // 氏名 の入力チェック $ret_err = checkNotnull($_POST['aval']['name']); if ($ret_err != "") set_errmsg_array($aerror, '' . TABLE_HEADING_NAME . ':' . $ret_err); // 氏名 echo tep_draw_form('users', basename($_SERVER['PHP_SELF'])); //
タグの出力 if (is_array($aerror)) { // 入力エラーのとき print_err_message($aerror); // エラーメッセージ表示 echo "
\n"; echo tep_draw_hidden_field('userslist', $_POST['userid']); // ユーザIDを隠し項目にセットする echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "
\n"; // フォームのフッター return FALSE; } $ssql = makeUpdateUser($_POST['aval']); // ユーザ管理テーブルの氏名とE-Maiを更新する sql文字列を取得する @$oresult = tep_db_query($ssql); if (!$oresult) { // エラーだったとき echo TEXT_ERRINFO_DB_UPDATE_USER; // メッセージ表示 echo "
\n"; echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return FALSE; } echo "
\n"; echo TEXT_SUCCESSINFO_UPDATE_USER; // 完了メッセージ echo "

\n"; echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return TRUE; } /*-------------------------------------- 機 能 : ユーザ削除チェック 引 数 : なし 戻り値 : true/false --------------------------------------*/ function UserDelete_execute() { global $ocertify; // ユーザ認証オブジェクト PageBody('t', PAGE_TITLE_USERINFO); // ユーザ管理画面のタイトル部表示(ユーザ情報) if (strcmp($_POST['userid'],$ocertify->auth_user) == 0) set_errmsg_array($aerror, TEXT_ERRINFO_USER_DELETE); // 本人の情報を削除はエラー echo tep_draw_form('users', basename($_SERVER['PHP_SELF'])); //
タグの出力 if (is_array($aerror)) { // 入力エラーのとき print_err_message($aerror); // エラーメッセージ表示 echo "
\n"; echo tep_draw_hidden_field('userslist', $_POST['userid']); // ユーザIDを隠し項目にセットする echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "
\n"; // フォームのフッター return FALSE; } $ssql = makeDeleteUser(1); // ユーザ権限テーブルから対象ユーザを削除する sql文字列を取得する @$oresult = tep_db_query($ssql); if (!$oresult) { // エラーだったとき echo TEXT_ERRINFO_DB_DELETE_USER; // メッセージ表示 echo "
\n"; echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return FALSE; } $ssql = makeDeleteUser(); // ユーザ管理テーブルから対象ユーザを削除する sql文字列を取得する @$oresult = tep_db_query($ssql); if (!$oresult) { // エラーだったとき echo TEXT_ERRINFO_DB_DELETE_USER; // メッセージ表示 echo "
\n"; echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return FALSE; } echo "
\n"; echo TEXT_SUCCESSINFO_DELETE_USER; // 完了メッセージ echo "

\n"; echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return TRUE; } /*-------------------------------------- 機 能 : パスワード変更処理実行 引 数 : なし 戻り値 : true/false 補 足 : [:print:] 印字可能なキャラクタ(=制御文字以外のキャラクタ) --------------------------------------*/ function UserPassword_execute() { PageBody('t', PAGE_TITLE_PASSWORD); // ユーザ管理画面のタイトル部表示(パスワード変更) // 新しいパスワードの入力チェック $ret_err = checkNotnull($_POST['aval']['password']); if ($ret_err != "") set_errmsg_array($aerror, '' . TABLE_HEADING_NEW_PASSWORD . ':' . $ret_err); $ret_err = checkLength_ge($_POST['aval']['password'], 2); if ($ret_err == "") $ret_err = checkStringEreg($_POST['aval']['password'], "[[:print:]]"); if ($ret_err != "") set_errmsg_array($aerror, '' . TABLE_HEADING_NEW_PASSWORD . ':' . $ret_err); // 確認のため再入力の入力チェック if (strcmp($_POST['aval']['password'],$_POST['aval']['chk_password']) != 0) set_errmsg_array($aerror, TEXT_ERRINFO_CONFIRM_PASSWORD); echo tep_draw_form('users', basename($_SERVER['PHP_SELF'])); //
タグの出力 if (is_array($aerror)) { // 入力エラーのとき print_err_message($aerror); // エラーメッセージ表示 echo "
\n"; echo tep_draw_hidden_field('userslist', $_POST['userid']); // ユーザIDを隠し項目にセットする echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "
\n"; // フォームのフッター return FALSE; } $ssql = makeUpdateUser($_POST['aval'], 1); // ユーザ管理テーブルのパスワードを更新する sql文字列を取得する @$oresult = tep_db_query($ssql); if (!$oresult) { // エラーだったとき echo TEXT_ERRINFO_DB_CHANGE_PASSWORD; // メッセージ表示 echo "
\n"; echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return FALSE; } echo "
\n"; echo TEXT_SUCCESSINFO_CHANGE_PASSWORD; // 完了メッセージ echo "

\n"; echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return TRUE; } /*-------------------------------------- 機 能 : ユーザ権限選択チェック 引 数 : $nmode - (i) 更新モード(0:grant、1:revoke) 戻り値 : true/false --------------------------------------*/ function UserPermission_execute($nmode=0) { global $ocertify; // ユーザ認証オブジェクト PageBody('t', PAGE_TITLE_PERMISSION); // ユーザ管理画面のタイトル部表示(管理者権限) if ($nmode == 0) { // 権限を与える処理:ユーザが選択されていない $suserid = $_POST['no_permission_list']; if ($suserid == "") set_errmsg_array($aerror, TEXT_ERRINFO_USER_GRANT); } else { // 権限を取消す処理:ユーザが選択されていない $suserid = $_POST['permission_list']; if ($suserid == "") set_errmsg_array($aerror, TEXT_ERRINFO_USER_REVOKE); } // 権限を取消す処理:ユーザ本人のとき if ($nmode == 1 && strcmp($suserid,$ocertify->auth_user) == 0) set_errmsg_array($aerror, TEXT_ERRINFO_USER_REVOKE_ONESELF); echo tep_draw_form('users', basename($_SERVER['PHP_SELF'])); //
タグの出力 if (is_array($aerror)) { // 入力エラーのとき print_err_message($aerror); // エラーメッセージ表示 echo "
\n"; echo tep_draw_hidden_field('userslist', $_POST['userid']); // ユーザIDを隠し項目にセットする echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "
\n"; // フォームのフッター return FALSE; } $ssql = makeUpdatePermission($nmode, $suserid); // ユーザ権限テーブルの権限を更新する sql文字列を取得する @$oresult = tep_db_query($ssql); if (!$oresult) { // エラーだったとき echo TEXT_ERRINFO_DB_CHANGE_USER; // メッセージ表示 echo "
\n"; echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return FALSE; } printf(TEXT_SUCCESSINFO_PERMISSION, ($nmode == 0 ? '与え' : '取消し')); echo "

\n"; echo tep_draw_input_field("execute_permission", BUTTON_BACK_PERMISSION, '', FALSE, "submit", FALSE); // 管理者権限に戻る echo tep_draw_input_field("back", BUTTON_BACK_MENU, '', FALSE, "submit", FALSE); // ユーザ管理メニューに戻る echo "\n"; // フォームのフッター if ($oresult) @tep_db_free_result($oresult); // 結果オブジェクトを開放する return TRUE; } /*-------------------------------------- 機 能 : 確認メッセージのための JavaScript 引 数 : なし 戻り値 : true/false --------------------------------------*/ function putJavaScript_ConfirmMsg() { echo ' '; } /*-------------------------------------- 機 能 : ページヘッダの表示 引 数 : なし 戻り値 : なし --------------------------------------*/ function PageHeader() { echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . TITLE . '' . "\n"; echo '' . "\n"; // ユーザ情報、パスワード変更、管理者権限のとき確認メッセージ JavaScript 出力 if ($_POST['execute_user'] || $_POST['execute_password'] || $_POST['execute_permission'] ) { putJavaScript_ConfirmMsg(); // 確認メッセージを表示する JavaScript } echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; require(DIR_WS_INCLUDES . 'header.php'); echo '' . "\n"; } /*-------------------------------------- 機 能 : ページのレイアウトテーブル表示 引 数 : $mode -(i) 文字列:モード(t:上、u:下) 戻り値 : なし --------------------------------------*/ function PageBodyTable($mode='t') { switch ($mode) { case 't': echo '' . "\n"; echo '' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo '' . "\n"; break; } } /*-------------------------------------- 機 能 : ページフッタの表示 引 数 : なし 戻り値 : なし --------------------------------------*/ function PageFooter() { echo "\n"; require(DIR_WS_INCLUDES . 'footer.php'); echo "\n\n"; echo "
\n"; echo "\n"; echo "\n"; } /* ************************************* ユーザ情報保守画面のプログラム制御(メイン) ************************************* */ require('includes/application_top.php'); PageHeader(); // ページ・ヘッダの表示 PageBodyTable('t'); // ページのレイアウトテーブル:開始(ナビゲーションボックスを包括するテーブル開始) // 左ナビゲーションボックスの表示 echo "\n"; // include_once(DIR_WS_INCLUDES . 'column_left.php'); echo "\n\n"; echo "
' . "\n"; break; case 'u': echo ' ' . "\n"; echo '
' . "\n"; echo '' . "\n"; break; } } /*-------------------------------------- 機 能 : ページボディの表示 引 数 : $mode -(i) 文字列:モード(t:上、u:下) $stitle -(i) 文字列:ボディのタイトル 戻り値 : なし --------------------------------------*/ function PageBody($mode='t', $stitle = "") { switch ($mode) { case 't': echo '' . "\n"; echo '
' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo '
' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo ' ' . "\n"; echo '
' . HEADING_TITLE . ' (' . $stitle . ')'; echo tep_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); echo '
' . "\n"; break; case 'u': echo '
\n"; // 画面表示、入力チェックDB反映 if ($ocertify->auth_user) { // ユーザ管理メニュー if ($_POST['execute_menu']) { $GLOBALS['execute_menu'] = $_POST['execute_menu']; UserManu_preview(); // 初期表示 // ユーザの追加 } elseif ($_POST['execute_new']) { $GLOBALS['execute_new'] = $_POST['execute_new']; if ($_POST['execute_insert']) { $GLOBALS['execute_insert'] = $_POST['execute_insert']; UserInsert_execute(); // ユーザの追加処理実行 } else UserInsert_preview(); // ユーザの追加ページ表示 // ユーザ情報保守 } elseif ($_POST['execute_user']) { $GLOBALS['execute_user'] = $_POST['execute_user']; if ($_POST['execute_update']) { $GLOBALS['execute_update'] = $_POST['execute_update']; UserInfor_execute(); // ユーザ情報更新処理実行 } elseif ($_POST['execute_delete']) { $GLOBALS['execute_delete'] = $_POST['execute_delete']; UserDelete_execute(); // ユーザ情報削除処理実行 } else UserInfo_preview(); // ユーザ情報ページ表示 // パスワード変更 } elseif ($_POST['execute_password']) { $GLOBALS['execute_password'] = $_POST['execute_password']; if ($_POST['execute_update']) { $GLOBALS['execute_update'] = $_POST['execute_update']; UserPassword_execute(); // パスワード変更処理実行 } else UserPassword_preview(); // パスワード変更ページ表示 // 管理者権限 } elseif ($_POST['execute_permission']) { $GLOBALS['execute_permission'] = $_POST['execute_permission']; if ($_POST['execute_grant']) { $GLOBALS['execute_grant'] = $_POST['execute_grant']; UserPermission_execute(0); // 管理者権限を与える処理実行 } elseif ($_POST['execute_revoke']) { $GLOBALS['execute_revoke'] = $_POST['execute_revoke']; UserPermission_execute(1); // 管理者権限を取消す処理実行 } else UserPermission_preview(); // 管理者権限ページ表示 // ユーザ管理メニュー } else { UserManu_preview(); // 初期表示 } } PageBody('u'); // ページボディの終了 PageBodyTable('u'); // ページのレイアウトテーブル:終了 PageFooter(); // ページフッタの表示 require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>