亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? umui.c

?? 開(kāi)發(fā)板bios源碼 開(kāi)發(fā)板bios源碼
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/*
 * umui.c -- User Management GoForm Processing
 *
 * Copyright (c) GoAhead Software Inc., 1995-2000. All Rights Reserved.
 *
 * See the file "license.txt" for usage and redistribution license requirements
 *
 *	$Id: umui.c,v 1.1 2001/12/05 21:51:04 bporter Exp $
 */

/******************************** Description *********************************/

/*
 *	This module provides GoForm functions for User management
 */

/********************************* Includes ***********************************/

#include	"wsIntrn.h"
#include	"um.h"

/********************************* Defines ************************************/

#define		NONE_OPTION		T("<NONE>")
#define		MSG_START		T("<body><h2>")
#define		MSG_END			T("</h2></body>")

/**************************** Forward Declarations ****************************/

static void		formAddUser(webs_t wp, char_t *path, char_t *query);
static void		formDeleteUser(webs_t wp, char_t *path, char_t *query);
static void		formDisplayUser(webs_t wp, char_t *path, char_t *query);
static int		aspGenerateUserList(int eid, webs_t wp, 
									int argc, char_t **argv);

static void		formAddGroup(webs_t wp, char_t *path, char_t *query);
static void		formDeleteGroup(webs_t wp, char_t *path, char_t *query);
static int		aspGenerateGroupList(int eid, webs_t wp, 
									 int argc, char_t **argv);

static void		formAddAccessLimit(webs_t wp, char_t *path, char_t *query);
static void		formDeleteAccessLimit(webs_t wp, char_t *path, char_t *query);
static int		aspGenerateAccessLimitList(int eid, webs_t wp, 
										   int argc, char_t **argv);

static int		aspGenerateAccessMethodList(int eid, webs_t wp, 
											int argc, char_t **argv);
static int		aspGeneratePrivilegeList(int eid, webs_t wp, 
										 int argc, char_t **argv);

static void		formSaveUserManagement(webs_t wp, char_t *path, char_t *query);
static void		formLoadUserManagement(webs_t wp, char_t *path, char_t *query);

static void		websMsgStart(webs_t wp);
static void		websMsgEnd(webs_t wp);

/*********************************** Code *************************************/
/*
 *	Set up the User Management form handlers
 */

void formDefineUserMgmt(void)
{
	websAspDefine(T("MakeGroupList"), aspGenerateGroupList);
	websAspDefine(T("MakeUserList"), aspGenerateUserList);
	websAspDefine(T("MakeAccessLimitList"), aspGenerateAccessLimitList);
	websAspDefine(T("MakeAccessMethodList"), aspGenerateAccessMethodList);
	websAspDefine(T("MakePrivilegeList"), aspGeneratePrivilegeList);

	websFormDefine(T("AddUser"), formAddUser);
	websFormDefine(T("DeleteUser"), formDeleteUser);
	websFormDefine(T("DisplayUser"), formDisplayUser);
	websFormDefine(T("AddGroup"), formAddGroup);
	websFormDefine(T("DeleteGroup"), formDeleteGroup);
	websFormDefine(T("AddAccessLimit"), formAddAccessLimit);
	websFormDefine(T("DeleteAccessLimit"), formDeleteAccessLimit);

	websFormDefine(T("SaveUserManagement"), formSaveUserManagement);
	websFormDefine(T("LoadUserManagement"), formLoadUserManagement);
}

/******************************************************************************/
/*
 *  Add a user
 */

static void formAddUser(webs_t wp, char_t *path, char_t *query)
{
	char_t	*userid, *pass1, *pass2, *group, *enabled, *ok;
	bool_t bDisable;
	int	nCheck;

	a_assert(wp);

	userid = websGetVar(wp, T("user"), T("")); 
	pass1 = websGetVar(wp, T("password"), T("")); 
	pass2 = websGetVar(wp, T("passconf"), T("")); 
	group = websGetVar(wp, T("group"), T("")); 
	enabled = websGetVar(wp, T("enabled"), T("")); 
	ok = websGetVar(wp, T("ok"), T("")); 

	websHeader(wp);
	websMsgStart(wp);

	if (gstricmp(ok, T("ok")) != 0) {
		websWrite(wp, T("Add User Cancelled"));
	} else if (gstrcmp(pass1, pass2) != 0) {
		websWrite(wp, T("Confirmation Password did not match."));
	} else {
		if (enabled && *enabled && (gstrcmp(enabled, T("on")) == 0)) {
			bDisable = FALSE;
		} else {
			bDisable = TRUE;
		}

		nCheck = umAddUser(userid, pass1, group, 0, bDisable);
		if (nCheck != 0) {
			char_t * strError;

			switch (nCheck) {
			case UM_ERR_DUPLICATE:
				strError = T("User already exists.");
				break;

			case UM_ERR_BAD_NAME:
				strError = T("Invalid user name.");
				break;

			case UM_ERR_BAD_PASSWORD:
				strError = T("Invalid password.");
				break;

			case UM_ERR_NOT_FOUND:
				strError = T("Invalid or unselected group.");
				break;

			default:
				strError = T("Error writing user record.");
				break;
			}

			websWrite(wp, T("Unable to add user, \"%s\".  %s"),
				userid, strError);
		} else {
			websWrite(wp, T("User, \"%s\" was successfully added."),
				userid);
		}
	}

	websMsgEnd(wp);
	websFooter(wp);
	websDone(wp, 200);
}

/******************************************************************************/
/*
 *  Delete a user
 */

static void formDeleteUser(webs_t wp, char_t *path, char_t *query)
{
	char_t	*userid, *ok;

	a_assert(wp);

	userid = websGetVar(wp, T("user"), T("")); 
	ok = websGetVar(wp, T("ok"), T("")); 

	websHeader(wp);
	websMsgStart(wp);

	if (gstricmp(ok, T("ok")) != 0) {
		websWrite(wp, T("Delete User Cancelled"));
	} else if (umUserExists(userid) == FALSE) {
		websWrite(wp, T("ERROR: User \"%s\" not found"), userid);
	} else if (umGetUserProtected(userid)) {
		websWrite(wp, T("ERROR: User, \"%s\" is delete-protected."), userid);
	} else if (umDeleteUser(userid) != 0) {
		websWrite(wp, T("ERROR: Unable to delete user, \"%s\" "), userid);
	} else {
		websWrite(wp, T("User, \"%s\" was successfully deleted."), userid);
	}

	websMsgEnd(wp);
	websFooter(wp);
	websDone(wp, 200);
}

/******************************************************************************/
/*
 *  Display the user info
 */

static void formDisplayUser(webs_t wp, char_t *path, char_t *query)
{
	char_t	*userid, *ok, *temp;
	bool_t	enabled;

	a_assert(wp);

	userid = websGetVar(wp, T("user"), T("")); 
	ok = websGetVar(wp, T("ok"), T("")); 

	websHeader(wp);
	websWrite(wp, T("<body>"));

	if (gstricmp(ok, T("ok")) != 0) {
		websWrite(wp, T("Display User Cancelled"));
	} else if (umUserExists(userid) == FALSE) {
		websWrite(wp, T("ERROR: User <b>%s</b> not found.\n"), userid);
	} else {
		websWrite(wp, T("<h2>User ID: <b>%s</b></h2>\n"), userid);
		temp = umGetUserGroup(userid);
		websWrite(wp, T("<h3>User Group: <b>%s</b></h3>\n"), temp);
		enabled = umGetUserEnabled(userid);
		websWrite(wp, T("<h3>Enabled: <b>%d</b></h3>\n"), enabled);
	}

	websWrite(wp, T("</body>\n"));
	websFooter(wp);
	websDone(wp, 200);
}


/******************************************************************************/
/*
 *  Generate HTML to create a list box containing the users
 */

static int aspGenerateUserList(int eid, webs_t wp, int argc, char_t **argv)
{
	char_t	*userid;
	int		row, nBytesSent, nBytes;

	a_assert(wp);

	nBytes = websWrite(wp, 
		T("<SELECT NAME=\"user\" SIZE=\"3\" TITLE=\"Select a User\">"));
	row = 0;
	userid = umGetFirstUser();
	nBytesSent = 0;

	while (userid && (nBytes > 0)) {
		nBytes = websWrite(wp, T("<OPTION VALUE=\"%s\">%s\n"), 
			userid, userid);
		userid = umGetNextUser(userid);
		nBytesSent += nBytes;
	}

	nBytesSent += websWrite(wp, T("</SELECT>"));

	return nBytesSent;
}

/******************************************************************************/
/*
 *  Add a group
 */

static void formAddGroup(webs_t wp, char_t *path, char_t *query)
{
	char_t			*group, *enabled, *privilege, *method, *ok, *pChar;
	int				nCheck;
	short			priv;
	accessMeth_t	am;
	bool_t			bDisable;

	a_assert(wp);

	group = websGetVar(wp, T("group"), T("")); 
	method = websGetVar(wp, T("method"), T("")); 
	enabled = websGetVar(wp, T("enabled"), T("")); 
	privilege = websGetVar(wp, T("privilege"), T("")); 
	ok = websGetVar(wp, T("ok"), T("")); 

	websHeader(wp);
	websMsgStart(wp);

	if (gstricmp(ok, T("ok")) != 0) {
		websWrite(wp, T("Add Group Cancelled."));
	} else if ((group == NULL) || (*group == 0)) {
		websWrite(wp, T("No Group Name was entered."));
	} else if (umGroupExists(group)) {
		websWrite(wp, T("ERROR: Group, \"%s\" already exists."), group);
	} else {
		if (privilege && *privilege) {
/*
 *			privilege is a mulitple <SELECT> var, and must be parsed.
 *			Values for these variables are space delimited.
 */
			priv = 0;
			for (pChar = privilege; *pChar; pChar++) {
				if (*pChar == ' ') {
					*pChar = '\0';
					priv |= gatoi(privilege);
					*pChar = ' ';
					privilege = pChar + 1;
				}
			}
			priv |= gatoi(privilege);
		} else {
			priv = 0;
		}

		if (method && *method) {
			am = (accessMeth_t) gatoi(method);
		} else {
			am = AM_FULL;
		}

		if (enabled && *enabled && (gstrcmp(enabled, T("on")) == 0)) {
			bDisable = FALSE;
		} else {
			bDisable = TRUE;
		}

		nCheck = umAddGroup(group, priv, am, 0, bDisable);
		if (nCheck != 0) {
			websWrite(wp, T("Unable to add group, \"%s\", code: %d "),
				group, nCheck);
		} else {

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲天天做日日做天天谢日日欢| 亚洲成人一区在线| 51精品秘密在线观看| 国产精品一区专区| 污片在线观看一区二区| 国产精品蜜臀在线观看| 欧美哺乳videos| 91麻豆精品国产91久久久| 91视频在线看| 成人一区二区视频| 黄页视频在线91| 偷偷要91色婷婷| 亚洲在线观看免费| 亚洲人成小说网站色在线| 国产欧美视频一区二区三区| 欧美一卡2卡三卡4卡5免费| 欧洲精品中文字幕| 色系网站成人免费| eeuss鲁片一区二区三区在线观看| 久久国内精品自在自线400部| 亚洲国产日韩a在线播放性色| 自拍偷自拍亚洲精品播放| 国产精品久久久久久久久搜平片 | 欧美国产综合一区二区| 日韩精品中文字幕一区| 日韩一区国产二区欧美三区| 91国产免费看| 色综合久久中文字幕综合网| a级高清视频欧美日韩| 国产精品亚洲一区二区三区妖精| 奇米888四色在线精品| 亚洲aaa精品| 婷婷开心激情综合| 日韩不卡在线观看日韩不卡视频| 午夜影院久久久| 亚洲第一在线综合网站| 日日欢夜夜爽一区| 日韩激情在线观看| 久久国产精品免费| 国产最新精品精品你懂的| 极品少妇一区二区三区精品视频 | 色婷婷综合在线| 在线亚洲高清视频| 欧美午夜片在线看| 欧美日韩国产综合一区二区三区| 欧美高清性hdvideosex| 69精品人人人人| 2019国产精品| 国产精品网站导航| 亚洲靠逼com| 视频在线观看一区二区三区| 免费欧美日韩国产三级电影| 精品一区二区免费| 不卡av电影在线播放| 色综合中文字幕国产 | 色婷婷综合五月| 在线亚洲+欧美+日本专区| 欧美日韩黄视频| 欧美一级日韩一级| 久久香蕉国产线看观看99| 国产日韩欧美a| 成人免费在线观看入口| 一区二区三区在线观看欧美| 亚洲gay无套男同| 激情综合色综合久久| 国产凹凸在线观看一区二区| 色婷婷综合在线| 欧美一级二级三级蜜桃| 欧美精品一区二区不卡| 国产精品久久久久影院| 亚洲国产乱码最新视频| 美腿丝袜一区二区三区| 国产成+人+日韩+欧美+亚洲| 在线免费观看日韩欧美| 日韩精品一区二区三区视频播放 | 波多野结衣中文一区| 欧美日韩在线播| www国产成人| 亚洲免费观看高清完整版在线| 午夜精品久久久久久久久久久 | 欧美久久久久中文字幕| www久久精品| 亚洲一区二区视频| 狠狠色丁香婷婷综合久久片| 97久久超碰国产精品电影| 日韩欧美国产一区二区三区| 综合分类小说区另类春色亚洲小说欧美| 亚洲午夜av在线| 粉嫩蜜臀av国产精品网站| 欧美视频一二三区| 国产精品色呦呦| 日本成人中文字幕| 一本大道av伊人久久综合| 精品国产第一区二区三区观看体验| 国产精品麻豆久久久| 蜜桃久久久久久久| 欧美羞羞免费网站| 国产欧美精品国产国产专区 | 国产盗摄一区二区| 欧美日韩二区三区| 亚洲欧洲美洲综合色网| 精品一区二区三区的国产在线播放| 欧美综合久久久| 国产精品三级久久久久三级| 精品一区二区三区视频| 欧美三级资源在线| 亚洲男人都懂的| 成人高清伦理免费影院在线观看| 欧美成人性战久久| 日韩激情一二三区| 欧美日韩国产高清一区二区| 樱花影视一区二区| www.亚洲人| 欧美激情综合五月色丁香小说| 日韩中文欧美在线| 欧美挠脚心视频网站| 亚洲综合清纯丝袜自拍| 91尤物视频在线观看| 亚洲国产高清不卡| 国产jizzjizz一区二区| 久久精品免费在线观看| 麻豆成人在线观看| 日韩欧美高清一区| 精品一区二区三区在线播放| 欧美大片在线观看| 日韩中文字幕区一区有砖一区 | 中文欧美字幕免费| 国产精品一品二品| 欧美精品一区二区久久婷婷| 秋霞午夜av一区二区三区| 这里只有精品电影| 日韩精品国产欧美| 日韩欧美激情四射| 国内精品国产三级国产a久久| 精品国产一二三区| 精品一区二区三区久久| 久久色中文字幕| 国产在线不卡一区| 欧美激情艳妇裸体舞| www.欧美精品一二区| 综合激情网...| 欧美性欧美巨大黑白大战| 亚洲综合网站在线观看| 在线观看免费一区| 午夜视频在线观看一区二区| 欧美精品色一区二区三区| 首页国产丝袜综合| 精品久久久久香蕉网| 盗摄精品av一区二区三区| 国产精品每日更新在线播放网址| 91亚洲精品久久久蜜桃| 亚洲国产精品一区二区尤物区| 8x8x8国产精品| 国内精品免费在线观看| 国产精品视频免费看| 欧美在线小视频| 蜜臀av国产精品久久久久 | 男男视频亚洲欧美| 久久久综合精品| av中文字幕不卡| 亚洲成av人片一区二区梦乃| 日韩一区二区三区视频在线| 国产福利91精品| 亚洲精品v日韩精品| 欧美猛男超大videosgay| 国产九色精品成人porny| 亚洲欧美综合网| 欧美日韩一二三| 国内精品国产三级国产a久久| 中文字幕亚洲欧美在线不卡| 欧美精品日韩精品| 国产成a人无v码亚洲福利| 亚洲与欧洲av电影| 欧美精品一区二区三区蜜臀| 一本高清dvd不卡在线观看| 日本aⅴ亚洲精品中文乱码| 国产人妖乱国产精品人妖| 欧美日韩国产综合久久 | 懂色av一区二区三区免费观看| 亚洲色欲色欲www| 日韩你懂的电影在线观看| 91网站视频在线观看| 久久99精品久久久| 一区二区三区在线视频免费观看| 91精品国产综合久久香蕉的特点| 成人精品免费网站| 另类中文字幕网| 一区二区三区加勒比av| 欧美精品一区二区三区在线播放| 91啦中文在线观看| 韩国av一区二区| 日韩一区精品视频| 亚洲婷婷在线视频| 国产亚洲美州欧州综合国| 欧美理论片在线| 91在线视频观看| 国产精品一二三区在线| 亚洲国产一区视频| 亚洲人吸女人奶水| 国产精品午夜久久|