more code sharing.
This commit is contained in:
@@ -61,9 +61,7 @@ static void _writeRoleListToForm(const AQH_ROLE_LIST *roleList,
|
|||||||
GWEN_BUFFER *dbuf);
|
GWEN_BUFFER *dbuf);
|
||||||
|
|
||||||
static void _setLocationHeaderForMod(AQCGI_REQUEST *rq, const char *page, const char *sModName);
|
static void _setLocationHeaderForMod(AQCGI_REQUEST *rq, const char *page, const char *sModName);
|
||||||
static void _writePermissionsToForm(const AQH_PERMDEF_LIST *permDefList, uint32_t perms, GWEN_BUFFER *dbuf);
|
|
||||||
static void _writeEnabledPermissions(const AQH_PERMDEF_LIST *permDefList, uint32_t perms, GWEN_BUFFER *dbuf);
|
static void _writeEnabledPermissions(const AQH_PERMDEF_LIST *permDefList, uint32_t perms, GWEN_BUFFER *dbuf);
|
||||||
static uint32_t _readPermissionsFromForm(GWEN_DB_NODE *dbPost, const AQH_PERMDEF_LIST *permDefList);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -278,7 +276,7 @@ void _handleRqEditModPost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session
|
|||||||
permDefList=AQH_Module_GetPermDefList(currentMod);
|
permDefList=AQH_Module_GetPermDefList(currentMod);
|
||||||
sNewModName=GWEN_DB_GetCharValue(dbPost, "name", 0, NULL);
|
sNewModName=GWEN_DB_GetCharValue(dbPost, "name", 0, NULL);
|
||||||
sDescr=GWEN_DB_GetCharValue(dbPost, "descr", 0, NULL);
|
sDescr=GWEN_DB_GetCharValue(dbPost, "descr", 0, NULL);
|
||||||
perms=_readPermissionsFromForm(dbPost, permDefList);
|
perms=AQH_ModService_ReadPermsFromForm(dbPost, permDefList, NULL);
|
||||||
if (sNewModName && *sNewModName)
|
if (sNewModName && *sNewModName)
|
||||||
AQH_Module_SetName(currentMod, sNewModName);
|
AQH_Module_SetName(currentMod, sNewModName);
|
||||||
AQH_Module_SetDescr(currentMod, sDescr);
|
AQH_Module_SetDescr(currentMod, sDescr);
|
||||||
@@ -331,7 +329,7 @@ void _handleRqAddRoleGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session,
|
|||||||
"<tr><td><label for=\"descr\">Description:</label></td><td><input type=\"text\" name=\"descr\"></td></tr>\n");
|
"<tr><td><label for=\"descr\">Description:</label></td><td><input type=\"text\" name=\"descr\"></td></tr>\n");
|
||||||
|
|
||||||
GBAS(dbuf, "<tr><td><label>Permissions:</label></td><td>");
|
GBAS(dbuf, "<tr><td><label>Permissions:</label></td><td>");
|
||||||
_writePermissionsToForm(permDefList, guestPerms, dbuf);
|
AQH_ModService_WritePermsToForm(guestPerms, permDefList, NULL, dbuf);
|
||||||
GBAS(dbuf, "</td></tr>\n");
|
GBAS(dbuf, "</td></tr>\n");
|
||||||
|
|
||||||
GBAS(dbuf, "</table>\n");
|
GBAS(dbuf, "</table>\n");
|
||||||
@@ -379,7 +377,7 @@ void _handleRqAddRolePost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session
|
|||||||
newId=(roleList?_getHighestUsedRoleId(roleList):0)+1;
|
newId=(roleList?_getHighestUsedRoleId(roleList):0)+1;
|
||||||
sName=dbPost?GWEN_DB_GetCharValue(dbPost, "name", 0, NULL):NULL;
|
sName=dbPost?GWEN_DB_GetCharValue(dbPost, "name", 0, NULL):NULL;
|
||||||
sDescr=dbPost?GWEN_DB_GetCharValue(dbPost, "descr", 0, NULL):NULL;
|
sDescr=dbPost?GWEN_DB_GetCharValue(dbPost, "descr", 0, NULL):NULL;
|
||||||
perms=(dbPost && permDefList)?_readPermissionsFromForm(dbPost, permDefList):0;
|
perms=(dbPost && permDefList)?AQH_ModService_ReadPermsFromForm(dbPost, permDefList, NULL):0;
|
||||||
|
|
||||||
/* validate */
|
/* validate */
|
||||||
if (!(sName && *sName)) {
|
if (!(sName && *sName)) {
|
||||||
@@ -462,7 +460,7 @@ void _handleRqEditRoleGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session
|
|||||||
sName, sDescr?sDescr:"");
|
sName, sDescr?sDescr:"");
|
||||||
|
|
||||||
GBAS(dbuf, "<tr><td><label>Permissions:</label></td><td>");
|
GBAS(dbuf, "<tr><td><label>Permissions:</label></td><td>");
|
||||||
_writePermissionsToForm(permDefList, perms, dbuf);
|
AQH_ModService_WritePermsToForm(perms, permDefList, NULL, dbuf);
|
||||||
GBAS(dbuf, "</td></tr>\n");
|
GBAS(dbuf, "</td></tr>\n");
|
||||||
|
|
||||||
GBAS(dbuf, "</table>\n");
|
GBAS(dbuf, "</table>\n");
|
||||||
@@ -507,8 +505,7 @@ void _handleRqEditRolePost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *sessio
|
|||||||
sName=dbPost?GWEN_DB_GetCharValue(dbPost, "name", 0, NULL):NULL;
|
sName=dbPost?GWEN_DB_GetCharValue(dbPost, "name", 0, NULL):NULL;
|
||||||
sDescr=dbPost?GWEN_DB_GetCharValue(dbPost, "descr", 0, NULL):NULL;
|
sDescr=dbPost?GWEN_DB_GetCharValue(dbPost, "descr", 0, NULL):NULL;
|
||||||
role=roleList?AQH_Role_List_GetById(roleList, oldId):NULL;
|
role=roleList?AQH_Role_List_GetById(roleList, oldId):NULL;
|
||||||
perms=(dbPost && permDefList)?_readPermissionsFromForm(dbPost, permDefList):0;
|
perms=(dbPost && permDefList)?AQH_ModService_ReadPermsFromForm(dbPost, permDefList, NULL):0;
|
||||||
|
|
||||||
/* validate */
|
/* validate */
|
||||||
if (!(sName && *sName)) {
|
if (!(sName && *sName)) {
|
||||||
DBG_ERROR(NULL, "Missing value for \"name\"");
|
DBG_ERROR(NULL, "Missing value for \"name\"");
|
||||||
@@ -657,7 +654,7 @@ void _writeEditModForm(const AQH_MODULE *currentMod, const char *sModName, GWEN_
|
|||||||
|
|
||||||
if (permDefList) {
|
if (permDefList) {
|
||||||
GBAA(dbuf, "<tr><td><label>Guest Permissions:</label></td>\n<td>");
|
GBAA(dbuf, "<tr><td><label>Guest Permissions:</label></td>\n<td>");
|
||||||
_writePermissionsToForm(permDefList, AQH_Module_GetGuestPerms(currentMod), dbuf);
|
AQH_ModService_WritePermsToForm(AQH_Module_GetGuestPerms(currentMod), permDefList, NULL, dbuf);
|
||||||
GBAA(dbuf, "</td></tr>");
|
GBAA(dbuf, "</td></tr>");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -726,31 +723,6 @@ void _writeRoleListToForm(const AQH_ROLE_LIST *roleList,
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void _writePermissionsToForm(const AQH_PERMDEF_LIST *permDefList, uint32_t perms, GWEN_BUFFER *dbuf)
|
|
||||||
{
|
|
||||||
if (permDefList) {
|
|
||||||
const AQH_PERMDEF *permDef;
|
|
||||||
|
|
||||||
permDef=AQH_PermDef_List_First(permDefList);
|
|
||||||
while(permDef) {
|
|
||||||
const char *s;
|
|
||||||
uint32_t mask;
|
|
||||||
|
|
||||||
s=AQH_PermDef_GetId(permDef);
|
|
||||||
mask=AQH_PermDef_GetMask(permDef);
|
|
||||||
if (perms & mask)
|
|
||||||
GBAA(dbuf, "<input type=\"checkbox\" name=\"%s\" checked>", s?s:"");
|
|
||||||
else
|
|
||||||
GBAA(dbuf, "<input type=\"checkbox\" name=\"%s\">", s?s:"");
|
|
||||||
GBAA(dbuf, "<label for=\"%s\">%s</label>", s?s:"", s?s:"");
|
|
||||||
|
|
||||||
permDef=AQH_PermDef_List_Next(permDef);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void _writeEnabledPermissions(const AQH_PERMDEF_LIST *permDefList, uint32_t perms, GWEN_BUFFER *dbuf)
|
void _writeEnabledPermissions(const AQH_PERMDEF_LIST *permDefList, uint32_t perms, GWEN_BUFFER *dbuf)
|
||||||
{
|
{
|
||||||
if (permDefList) {
|
if (permDefList) {
|
||||||
@@ -772,34 +744,3 @@ void _writeEnabledPermissions(const AQH_PERMDEF_LIST *permDefList, uint32_t perm
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
uint32_t _readPermissionsFromForm(GWEN_DB_NODE *dbPost, const AQH_PERMDEF_LIST *permDefList)
|
|
||||||
{
|
|
||||||
uint32_t result=0;
|
|
||||||
|
|
||||||
if (permDefList) {
|
|
||||||
const AQH_PERMDEF *permDef;
|
|
||||||
|
|
||||||
permDef=AQH_PermDef_List_First(permDefList);
|
|
||||||
while(permDef) {
|
|
||||||
const char *id;
|
|
||||||
uint32_t mask;
|
|
||||||
const char *s;
|
|
||||||
|
|
||||||
id=AQH_PermDef_GetId(permDef);
|
|
||||||
mask=AQH_PermDef_GetMask(permDef);
|
|
||||||
s=GWEN_DB_GetCharValue(dbPost, id, 0, NULL);
|
|
||||||
if (s && *s)
|
|
||||||
result|=mask;
|
|
||||||
permDef=AQH_PermDef_List_Next(permDef);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user