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_pull_down_menu("userslist", $ausers, $ocertify->auth_user, $nLsize); // リストボックスの表示 echo " |
' . $arec['name'] . "(" . $_POST['userslist'] . ') | ' . "\n"; echo "|
' . TABLE_HEADING_NAME . ' | '; // 氏名 echo ''; echo tep_draw_input_field("aval[name]", $arec['name'], 'size="32" maxlength="64"', TRUE, 'text', FALSE); echo ' | '; echo "
' . TABLE_HEADING_EMAIL . ' | '; // E-Mail // 入力項目出力 echo ''; echo tep_draw_input_field("aval[email]", $arec['email'], 'size="32" maxlength="96"', FALSE, 'text', FALSE); echo ' | '; echo "
' . $arec['name'] . "(" . $_POST['userslist'] . ') | ' . "\n"; echo "|
' . TABLE_HEADING_NEW_PASSWORD . ' | '; // 新しいパスワード // 入力項目出力 echo ''; echo tep_draw_password_field("aval[password]", '', TRUE); echo ' | '; echo "
' . TABLE_HEADING_CONFIRM_PASSWORD . ' | '; // 確認のため再入力 // 入力項目出力 echo ''; echo tep_draw_password_field("aval[chk_password]", '', TRUE); echo ' | '; echo "
\n"; // データセル
// テーブルタグの開始(一般ユーザのリストボックス)
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";
break;
}
}
/*--------------------------------------
機 能 : ページフッタの表示
引 数 : なし
戻り値 : なし
--------------------------------------*/
function PageFooter() {
echo "\n";
require(DIR_WS_INCLUDES . 'footer.php');
echo "\n\n";
echo "