📄 umui.c
字号:
group); } } websMsgEnd(wp); websFooter(wp); websDone(wp, 200);}/******************************************************************************//* * Delete a group */static void formDeleteGroup(webs_t wp, char_t *path, char_t *query){ char_t *group, *ok; a_assert(wp); group = websGetVar(wp, T("group"), T("")); ok = websGetVar(wp, T("ok"), T("")); websHeader(wp); websMsgStart(wp); if (gstricmp(ok, T("ok")) != 0) { websWrite(wp, T("Delete Group Cancelled.")); } else if ((group == NULL) || (*group == '\0')) { websWrite(wp, T("ERROR: No group was selected.")); } else if (umGetGroupProtected(group)) { websWrite(wp, T("ERROR: Group, \"%s\" is delete-protected."), group); } else if (umGetGroupInUse(group)) { websWrite(wp, T("ERROR: Group, \"%s\" is being used."), group); } else if (umDeleteGroup(group) != 0) { websWrite(wp, T("ERROR: Unable to delete group, \"%s\" "), group); } else { websWrite(wp, T("Group, \"%s\" was successfully deleted."), group); } websMsgEnd(wp); websFooter(wp); websDone(wp, 200);}/******************************************************************************//* * Generate HTML to create a list box containing the groups */static int aspGenerateGroupList(int eid, webs_t wp, int argc, char_t **argv){ char_t *group; int row, nBytesSent, nBytes; a_assert(wp); row = 0; nBytesSent = 0; nBytes = websWrite(wp, T("<SELECT NAME=\"group\" SIZE=\"3\" TITLE=\"Select a Group\">"));/* * Add a special "<NONE>" element to allow de-selection */ nBytes = websWrite(wp, T("<OPTION VALUE=\"\">[NONE]\n")); group = umGetFirstGroup(); while (group && (nBytes > 0)) { nBytes = websWrite(wp, T("<OPTION VALUE=\"%s\">%s\n"), group, group); group = umGetNextGroup(group); nBytesSent += nBytes; } nBytesSent += websWrite(wp, T("</SELECT>")); return nBytesSent;}/******************************************************************************//* * Add an access limit */static void formAddAccessLimit(webs_t wp, char_t *path, char_t *query){ char_t *url, *method, *group, *secure, *ok; int nCheck; accessMeth_t am; short nSecure; a_assert(wp); url = websGetVar(wp, T("url"), T("")); group = websGetVar(wp, T("group"), T("")); method = websGetVar(wp, T("method"), T("")); secure = websGetVar(wp, T("secure"), T("")); ok = websGetVar(wp, T("ok"), T("")); websHeader(wp); websMsgStart(wp); if (gstricmp(ok, T("ok")) != 0) { websWrite(wp, T("Add Access Limit Cancelled.")); } else if ((url == NULL) || (*url == 0)) { websWrite(wp, T("ERROR: No URL was entered.")); } else if (umAccessLimitExists(url)) { websWrite(wp, T("ERROR: An Access Limit for [%s] already exists."), url); } else { if (method && *method) { am = (accessMeth_t) gatoi(method); } else { am = AM_FULL; } if (secure && *secure) { nSecure = (short) gatoi(secure); } else { nSecure = 0; } nCheck = umAddAccessLimit(url, am, nSecure, group); if (nCheck != 0) { websWrite(wp, T("Unable to add Access Limit for [%s]"), url); } else { websWrite(wp, T("Access limit for [%s], was successfully added."), url); } } websMsgEnd(wp); websFooter(wp); websDone(wp, 200);}/******************************************************************************//* * Delete an Access Limit */static void formDeleteAccessLimit(webs_t wp, char_t *path, char_t *query){ char_t *url, *ok; a_assert(wp); url = websGetVar(wp, T("url"), T("")); ok = websGetVar(wp, T("ok"), T("")); websHeader(wp); websMsgStart(wp); if (gstricmp(ok, T("ok")) != 0) { websWrite(wp, T("Delete Access Limit Cancelled")); } else if (umDeleteAccessLimit(url) != 0) { websWrite(wp, T("ERROR: Unable to delete Access Limit for [%s]"), url); } else { websWrite(wp, T("Access Limit for [%s], was successfully deleted."), url); } websMsgEnd(wp); websFooter(wp); websDone(wp, 200);}/******************************************************************************//* * Generate HTML to create a list box containing the access limits */static int aspGenerateAccessLimitList(int eid, webs_t wp, int argc, char_t **argv){ char_t *url; int row, nBytesSent, nBytes; a_assert(wp); row = nBytesSent = 0; url = umGetFirstAccessLimit(); nBytes = websWrite(wp, T("<SELECT NAME=\"url\" SIZE=\"3\" TITLE=\"Select a URL\">")); while (url && (nBytes > 0)) { nBytes = websWrite(wp, T("<OPTION VALUE=\"%s\">%s\n"), url, url); url = umGetNextAccessLimit(url); nBytesSent += nBytes; } nBytesSent += websWrite(wp, T("</SELECT>")); return nBytesSent;}/******************************************************************************//* * Generate HTML to create a list box containing the access methods */static int aspGenerateAccessMethodList(int eid, webs_t wp, int argc, char_t **argv){ int nBytes; a_assert(wp); nBytes = websWrite(wp, T("<SELECT NAME=\"method\" SIZE=\"3\" TITLE=\"Select a Method\">")); nBytes += websWrite(wp, T("<OPTION VALUE=\"%d\">FULL ACCESS\n"), AM_FULL); nBytes += websWrite(wp, T("<OPTION VALUE=\"%d\">BASIC ACCESS\n"), AM_BASIC); nBytes += websWrite(wp, T("<OPTION VALUE=\"%d\" SELECTED>DIGEST ACCESS\n"), AM_DIGEST); nBytes += websWrite(wp, T("<OPTION VALUE=\"%d\">NO ACCESS\n"), AM_NONE); nBytes += websWrite(wp, T("</SELECT>")); return nBytes;}/******************************************************************************//* * Generate HTML to create a list box containing privileges */static int aspGeneratePrivilegeList(int eid, webs_t wp, int argc, char_t **argv){ int nBytes; a_assert(wp); nBytes = websWrite(wp, T("<SELECT NAME=\"privilege\" SIZE=\"3\" ")); nBytes += websWrite(wp, T("MULTIPLE TITLE=\"Choose Privileges\">")); nBytes += websWrite(wp, T("<OPTION VALUE=\"%d\">READ\n"), PRIV_READ); nBytes += websWrite(wp, T("<OPTION VALUE=\"%d\">EXECUTE\n"), PRIV_WRITE); nBytes += websWrite(wp, T("<OPTION VALUE=\"%d\">ADMINISTRATE\n"), PRIV_ADMIN); nBytes += websWrite(wp, T("</SELECT>")); return nBytes;}/******************************************************************************//* * Save the user management configuration to a file */static void formSaveUserManagement(webs_t wp, char_t *path, char_t *query){ char_t *ok; a_assert(wp); ok = websGetVar(wp, T("ok"), T("")); websHeader(wp); websMsgStart(wp); if (gstricmp(ok, T("ok")) != 0) { websWrite(wp, T("Save Cancelled.")); } else if (umCommit(NULL) != 0) { websWrite(wp, T("ERROR: Unable to save user configuration.")); } else { websWrite(wp, T("User configuration was saved successfully.")); } websMsgEnd(wp); websFooter(wp); websDone(wp, 200);}/******************************************************************************//* * Load the user management configuration from a file */static void formLoadUserManagement(webs_t wp, char_t *path, char_t *query){ char_t *ok; a_assert(wp); ok = websGetVar(wp, T("ok"), T("")); websHeader(wp); websMsgStart(wp); if (gstricmp(ok, T("ok")) != 0) { websWrite(wp, T("Load Cancelled.")); } else if (umRestore(NULL) != 0) { websWrite(wp, T("ERROR: Unable to load user configuration.")); } else { websWrite(wp, T("User configuration was re-loaded successfully.")); } websMsgEnd(wp); websFooter(wp); websDone(wp, 200);}/******************************************************************************//* * Message start and end convenience functions */static void websMsgStart(webs_t wp){ websWrite(wp, MSG_START);}static void websMsgEnd(webs_t wp){ websWrite(wp, MSG_END);}/******************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -