aqhome-cgi: use service code from AqCGI.
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
|
||||
<includes type="c" >
|
||||
$(gwenhywfar_cflags)
|
||||
$(aqcgi_cflags)
|
||||
-I$(topsrcdir)
|
||||
-I$(topbuilddir)
|
||||
-I$(topsrcdir)/apps
|
||||
|
||||
@@ -13,10 +13,11 @@
|
||||
|
||||
#include "./madmin.h"
|
||||
|
||||
#include "aqhome-cgi/service/module.h"
|
||||
#include "aqhome-cgi/modules/common/mmodules.h"
|
||||
#include "aqhome-cgi/modules/common/musers.h"
|
||||
|
||||
#include <aqcgi/service/module.h>
|
||||
|
||||
#include <gwenhywfar/debug.h>
|
||||
#include <gwenhywfar/timestamp.h>
|
||||
|
||||
@@ -37,12 +38,12 @@
|
||||
* ------------------------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
static void _createPermDefList(AQH_MODULE *m);
|
||||
static void _createRoleList(AQH_MODULE *m);
|
||||
static void _createPermDefList(AQCGI_MODULE *m);
|
||||
static void _createRoleList(AQCGI_MODULE *m);
|
||||
|
||||
static AQH_MODULE *_loadSubModule(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const char *sModuleName);
|
||||
static int _handleRequest(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const char *sLastPathElem);
|
||||
static int _handleRqIndex(AQH_MODULE *m, AQCGI_REQUEST *rq, GWEN_BUFFER *dbuf);
|
||||
static AQCGI_MODULE *_loadSubModule(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, const char *sModuleName);
|
||||
static int _handleRequest(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, const char *sLastPathElem);
|
||||
static int _handleRqIndex(AQCGI_MODULE *m, AQCGI_REQUEST *rq, GWEN_BUFFER *dbuf);
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------------------------------------
|
||||
@@ -50,7 +51,7 @@ static int _handleRqIndex(AQH_MODULE *m, AQCGI_REQUEST *rq, GWEN_BUFFER *dbuf);
|
||||
* ------------------------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
void AQH_ModAdmin_Extend(AQH_MODULE *m, AQH_SERVICE *sv, const char *baseFolder)
|
||||
void AQH_ModAdmin_Extend(AQCGI_MODULE *m, AQCGI_SERVICE *sv, const char *baseFolder)
|
||||
{
|
||||
AQH_ModService_Extend(m, sv, baseFolder);
|
||||
AQH_ModService_SetHandleRequestFn(m, _handleRequest);
|
||||
@@ -59,65 +60,65 @@ void AQH_ModAdmin_Extend(AQH_MODULE *m, AQH_SERVICE *sv, const char *baseFolder)
|
||||
|
||||
|
||||
|
||||
int AQH_ModAdmin_Create(AQH_SERVICE *sv)
|
||||
int AQH_ModAdmin_Create(AQCGI_SERVICE *sv)
|
||||
{
|
||||
AQH_MODULE *m;
|
||||
AQCGI_MODULE *m;
|
||||
int rv;
|
||||
|
||||
m=AQH_Module_new();
|
||||
AQH_Module_SetName(m, "admin");
|
||||
AQH_Module_SetDescr(m, "administration module");
|
||||
AQH_Module_SetGuestPerms(m, 0);
|
||||
m=AQCGI_Module_new();
|
||||
AQCGI_Module_SetName(m, "admin");
|
||||
AQCGI_Module_SetDescr(m, "administration module");
|
||||
AQCGI_Module_SetGuestPerms(m, 0);
|
||||
|
||||
_createPermDefList(m);
|
||||
_createRoleList(m);
|
||||
|
||||
rv=AQH_Service_AddModule(sv, m);
|
||||
rv=AQCGI_Service_AddModule(sv, m);
|
||||
if (rv<0) {
|
||||
DBG_INFO(NULL, "here (%d)", rv);
|
||||
}
|
||||
AQH_Module_free(m);
|
||||
AQCGI_Module_free(m);
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void _createPermDefList(AQH_MODULE *m)
|
||||
void _createPermDefList(AQCGI_MODULE *m)
|
||||
{
|
||||
AQH_PERMDEF_LIST *permDefList;
|
||||
AQCGI_PERMDEF_LIST *permDefList;
|
||||
|
||||
permDefList=AQH_PermDef_List_new();
|
||||
permDefList=AQCGI_PermDef_List_new();
|
||||
|
||||
AQH_ModService_AddPermDef(permDefList, "AdminUsers", 0x001, "User Administration");
|
||||
AQH_ModService_AddPermDef(permDefList, "AdminModules", 0x002, "Module Administration");
|
||||
|
||||
AQH_Module_SetPermDefList(m, permDefList);
|
||||
AQCGI_Module_SetPermDefList(m, permDefList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void _createRoleList(AQH_MODULE *m)
|
||||
void _createRoleList(AQCGI_MODULE *m)
|
||||
{
|
||||
AQH_ROLE_LIST *roleList;
|
||||
AQCGI_ROLE_LIST *roleList;
|
||||
int id=1;
|
||||
|
||||
roleList=AQH_Role_List_new();
|
||||
roleList=AQCGI_Role_List_new();
|
||||
AQH_ModService_AddRole(roleList, id++, "userAdmin", AQH_MODADM_PERMS_ADMINUSERS, "User administrator");
|
||||
AQH_ModService_AddRole(roleList, id++, "moduleAdmin", AQH_MODADM_PERMS_ADMINMODULES, "Module administrator");
|
||||
AQH_Module_SetRoleList(m, roleList);
|
||||
AQCGI_Module_SetRoleList(m, roleList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
AQH_MODULE *_loadSubModule(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const char *sModuleName)
|
||||
AQCGI_MODULE *_loadSubModule(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, const char *sModuleName)
|
||||
{
|
||||
AQH_SERVICE *sv;
|
||||
AQCGI_SERVICE *sv;
|
||||
|
||||
sv=AQH_ModService_GetService(m);
|
||||
if (strcasecmp(sModuleName, "modules")==0) {
|
||||
AQH_MODULE *mSub;
|
||||
AQCGI_MODULE *mSub;
|
||||
|
||||
mSub=AQH_Service_LoadModule(sv, sModuleName);
|
||||
mSub=AQCGI_Service_LoadModule(sv, sModuleName);
|
||||
if (mSub) {
|
||||
const char *s;
|
||||
GWEN_BUFFER *nbuf;
|
||||
@@ -127,15 +128,15 @@ AQH_MODULE *_loadSubModule(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *sessio
|
||||
GWEN_Buffer_AppendArgs(nbuf, "%s/modules", s?s:".");
|
||||
|
||||
AQH_ModAdmModules_Extend(mSub, AQH_ModService_GetService(m), GWEN_Buffer_GetStart(nbuf));
|
||||
AQH_Module_Tree2_AddChild(m, mSub);
|
||||
AQCGI_Module_Tree2_AddChild(m, mSub);
|
||||
GWEN_Buffer_free(nbuf);
|
||||
return mSub;
|
||||
}
|
||||
}
|
||||
else if (strcasecmp(sModuleName, "users")==0) {
|
||||
AQH_MODULE *mSub;
|
||||
AQCGI_MODULE *mSub;
|
||||
|
||||
mSub=AQH_Service_LoadModule(sv, sModuleName);
|
||||
mSub=AQCGI_Service_LoadModule(sv, sModuleName);
|
||||
if (mSub) {
|
||||
const char *s;
|
||||
GWEN_BUFFER *nbuf;
|
||||
@@ -145,7 +146,7 @@ AQH_MODULE *_loadSubModule(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *sessio
|
||||
GWEN_Buffer_AppendArgs(nbuf, "%s/modules", s?s:".");
|
||||
|
||||
AQH_ModAdmUsers_Extend(mSub, AQH_ModService_GetService(m), GWEN_Buffer_GetStart(nbuf));
|
||||
AQH_Module_Tree2_AddChild(m, mSub);
|
||||
AQCGI_Module_Tree2_AddChild(m, mSub);
|
||||
GWEN_Buffer_free(nbuf);
|
||||
return mSub;
|
||||
}
|
||||
@@ -155,7 +156,7 @@ AQH_MODULE *_loadSubModule(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *sessio
|
||||
|
||||
|
||||
|
||||
int _handleRequest(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const char *sLastPathElem)
|
||||
int _handleRequest(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, const char *sLastPathElem)
|
||||
{
|
||||
GWEN_BUFFER *dbuf;
|
||||
int rv=0;
|
||||
@@ -182,7 +183,7 @@ int _handleRequest(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const
|
||||
|
||||
|
||||
|
||||
int _handleRqIndex(AQH_MODULE *m, AQCGI_REQUEST *rq, GWEN_BUFFER *dbuf)
|
||||
int _handleRqIndex(AQCGI_MODULE *m, AQCGI_REQUEST *rq, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
if (AQCGI_Request_GetRequestMethod(rq)==AQCGI_REQUEST_METHOD_GET) {
|
||||
uint32_t userPerms;
|
||||
|
||||
@@ -20,9 +20,9 @@
|
||||
#define AQH_MODADM_PERMS_ADMINMODULES 0x002
|
||||
|
||||
|
||||
void AQH_ModAdmin_Extend(AQH_MODULE *m, AQH_SERVICE *sv, const char *baseFolder);
|
||||
void AQH_ModAdmin_Extend(AQCGI_MODULE *m, AQCGI_SERVICE *sv, const char *baseFolder);
|
||||
|
||||
int AQH_ModAdmin_Create(AQH_SERVICE *sv);
|
||||
int AQH_ModAdmin_Create(AQCGI_SERVICE *sv);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -35,33 +35,33 @@
|
||||
* ------------------------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
static void _createPermDefList(AQH_MODULE *m);
|
||||
static void _createRoleList(AQH_MODULE *m);
|
||||
static void _createPermDefList(AQCGI_MODULE *m);
|
||||
static void _createRoleList(AQCGI_MODULE *m);
|
||||
|
||||
static AQH_MODULE *_loadSubModule(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const char *sModuleName);
|
||||
static int _handleRequest(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const char *sLastPathElem);
|
||||
static void _handleRqIndex(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static AQCGI_MODULE *_loadSubModule(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, const char *sModuleName);
|
||||
static int _handleRequest(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, const char *sLastPathElem);
|
||||
static void _handleRqIndex(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
|
||||
static void _handleRqEditModGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static void _handleRqEditModPost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static void _handleRqEditModGet(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static void _handleRqEditModPost(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
|
||||
static void _handleRqAddRoleGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static void _handleRqAddRolePost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static void _handleRqAddRoleGet(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static void _handleRqAddRolePost(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
|
||||
static void _handleRqEditRoleGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static void _handleRqEditRolePost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static int _getHighestUsedRoleId(const AQH_ROLE_LIST *roleList);
|
||||
static void _handleRqEditRoleGet(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static void _handleRqEditRolePost(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static int _getHighestUsedRoleId(const AQCGI_ROLE_LIST *roleList);
|
||||
|
||||
static void _handleRqDeleteRole(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static void _handleRqDeleteRole(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
|
||||
static void _writeEditModForm(const AQH_MODULE *currentMod, const char *sModName, GWEN_BUFFER *dbuf);
|
||||
static void _writeRoleListToForm(const AQH_ROLE_LIST *roleList,
|
||||
static void _writeEditModForm(const AQCGI_MODULE *currentMod, const char *sModName, GWEN_BUFFER *dbuf);
|
||||
static void _writeRoleListToForm(const AQCGI_ROLE_LIST *roleList,
|
||||
const char *sModName,
|
||||
const AQH_PERMDEF_LIST *permDefList,
|
||||
const AQCGI_PERMDEF_LIST *permDefList,
|
||||
GWEN_BUFFER *dbuf);
|
||||
|
||||
static void _setLocationHeaderForMod(AQCGI_REQUEST *rq, const char *page, const char *sModName);
|
||||
static void _writeEnabledPermissions(const AQH_PERMDEF_LIST *permDefList, uint32_t perms, GWEN_BUFFER *dbuf);
|
||||
static void _writeEnabledPermissions(const AQCGI_PERMDEF_LIST *permDefList, uint32_t perms, GWEN_BUFFER *dbuf);
|
||||
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ static AQH_MODSERVICE_HANDLER_ENTRY _requestTable[]={
|
||||
* ------------------------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
void AQH_ModAdmModules_Extend(AQH_MODULE *m, AQH_SERVICE *sv, const char *baseFolder)
|
||||
void AQH_ModAdmModules_Extend(AQCGI_MODULE *m, AQCGI_SERVICE *sv, const char *baseFolder)
|
||||
{
|
||||
AQH_ModService_Extend(m, sv, baseFolder);
|
||||
AQH_ModService_SetHandleRequestFn(m, _handleRequest);
|
||||
@@ -98,63 +98,63 @@ void AQH_ModAdmModules_Extend(AQH_MODULE *m, AQH_SERVICE *sv, const char *baseFo
|
||||
|
||||
|
||||
|
||||
int AQH_ModAdmModules_Create(AQH_SERVICE *sv)
|
||||
int AQH_ModAdmModules_Create(AQCGI_SERVICE *sv)
|
||||
{
|
||||
AQH_MODULE *m;
|
||||
AQCGI_MODULE *m;
|
||||
int rv;
|
||||
|
||||
m=AQH_Module_new();
|
||||
AQH_Module_SetName(m, "modules");
|
||||
AQH_Module_SetDescr(m, "modules administration module");
|
||||
AQH_Module_SetGuestPerms(m, 0);
|
||||
m=AQCGI_Module_new();
|
||||
AQCGI_Module_SetName(m, "modules");
|
||||
AQCGI_Module_SetDescr(m, "modules administration module");
|
||||
AQCGI_Module_SetGuestPerms(m, 0);
|
||||
|
||||
_createPermDefList(m);
|
||||
_createRoleList(m);
|
||||
|
||||
rv=AQH_Service_AddModule(sv, m);
|
||||
rv=AQCGI_Service_AddModule(sv, m);
|
||||
if (rv<0) {
|
||||
DBG_INFO(NULL, "here (%d)", rv);
|
||||
}
|
||||
AQH_Module_free(m);
|
||||
AQCGI_Module_free(m);
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void _createPermDefList(AQH_MODULE *m)
|
||||
void _createPermDefList(AQCGI_MODULE *m)
|
||||
{
|
||||
AQH_PERMDEF_LIST *permDefList;
|
||||
AQCGI_PERMDEF_LIST *permDefList;
|
||||
|
||||
permDefList=AQH_PermDef_List_new();
|
||||
permDefList=AQCGI_PermDef_List_new();
|
||||
|
||||
AQH_ModService_AddPermDef(permDefList, "ModuleRead", 0x001, "Read modules");
|
||||
AQH_ModService_AddPermDef(permDefList, "ModuleWrite", 0x002, "Modify modules");
|
||||
AQH_ModService_AddPermDef(permDefList, "ModuleAdd", 0x004, "Add modules");
|
||||
AQH_ModService_AddPermDef(permDefList, "ModuleDel", 0x008, "Remove modules");
|
||||
|
||||
AQH_Module_SetPermDefList(m, permDefList);
|
||||
AQCGI_Module_SetPermDefList(m, permDefList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void _createRoleList(AQH_MODULE *m)
|
||||
void _createRoleList(AQCGI_MODULE *m)
|
||||
{
|
||||
AQH_ROLE_LIST *roleList;
|
||||
AQCGI_ROLE_LIST *roleList;
|
||||
int id=1;
|
||||
|
||||
roleList=AQH_Role_List_new();
|
||||
roleList=AQCGI_Role_List_new();
|
||||
AQH_ModService_AddRole(roleList, id++, "admin",
|
||||
AQH_MODADMMODULES_PERMS_MODULESREAD |
|
||||
AQH_MODADMMODULES_PERMS_MODULESWRITE |
|
||||
AQH_MODADMMODULES_PERMS_MODULESADD |
|
||||
AQH_MODADMMODULES_PERMS_MODULESDEL,
|
||||
"Administrator Role");
|
||||
AQH_Module_SetRoleList(m, roleList);
|
||||
AQCGI_Module_SetRoleList(m, roleList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
AQH_MODULE *_loadSubModule(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const char *sModuleName)
|
||||
AQCGI_MODULE *_loadSubModule(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, const char *sModuleName)
|
||||
{
|
||||
/* no sub-modules */
|
||||
return NULL;
|
||||
@@ -162,7 +162,7 @@ AQH_MODULE *_loadSubModule(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *sessio
|
||||
|
||||
|
||||
|
||||
int _handleRequest(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const char *sLastPathElem)
|
||||
int _handleRequest(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, const char *sLastPathElem)
|
||||
{
|
||||
AQH_ModService_HandleRequestWithTable(m, rq, session, sLastPathElem, _requestTable);
|
||||
return AQCGI_SendResponse(rq);
|
||||
@@ -170,15 +170,15 @@ int _handleRequest(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const
|
||||
|
||||
|
||||
|
||||
void _handleRqIndex(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
void _handleRqIndex(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
AQH_SERVICE *sv;
|
||||
AQCGI_SERVICE *sv;
|
||||
GWEN_STRINGLIST *slModules;
|
||||
uint32_t perms;
|
||||
|
||||
perms=AQH_ModService_GetUserPerms(m);
|
||||
sv=AQH_ModService_GetService(m);
|
||||
slModules=AQH_Service_ListModules(sv);
|
||||
slModules=AQCGI_Service_ListModules(sv);
|
||||
if (slModules) {
|
||||
GWEN_STRINGLISTENTRY *se;
|
||||
|
||||
@@ -195,18 +195,18 @@ void _handleRqIndex(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN
|
||||
|
||||
sModName=GWEN_StringListEntry_Data(se);
|
||||
if (sModName && *sModName) {
|
||||
AQH_MODULE *currentMod;
|
||||
AQCGI_MODULE *currentMod;
|
||||
|
||||
currentMod=AQH_Service_LoadModule(sv, sModName);
|
||||
currentMod=AQCGI_Service_LoadModule(sv, sModName);
|
||||
if (currentMod) {
|
||||
const char *s;
|
||||
const char *sName;
|
||||
|
||||
sName=AQH_Module_GetName(currentMod);
|
||||
sName=AQCGI_Module_GetName(currentMod);
|
||||
GBAS(dbuf, "<tr>");
|
||||
GBAA(dbuf, "<td>%lu</td>", (unsigned long int) AQH_Module_GetId(currentMod));
|
||||
GBAA(dbuf, "<td>%lu</td>", (unsigned long int) AQCGI_Module_GetId(currentMod));
|
||||
GBAA(dbuf, "<td>%s</td>", sName?sName:"");
|
||||
s=AQH_Module_GetDescr(currentMod);
|
||||
s=AQCGI_Module_GetDescr(currentMod);
|
||||
GBAA(dbuf, "<td>%s</td>", s?s:"");
|
||||
|
||||
GBAS(dbuf, "<td>");
|
||||
@@ -214,7 +214,7 @@ void _handleRqIndex(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN
|
||||
GBAA(dbuf, "<a href=\"editmodule.html?name=%s\"><img src=\"/pics/edit.png\"></a>", sName?sName:"");
|
||||
GBAA(dbuf, "</td>\n");
|
||||
GBAA(dbuf, "</tr>\n");
|
||||
AQH_Module_free(currentMod);
|
||||
AQCGI_Module_free(currentMod);
|
||||
}
|
||||
}
|
||||
se=GWEN_StringListEntry_Next(se);
|
||||
@@ -230,20 +230,20 @@ void _handleRqIndex(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN
|
||||
|
||||
|
||||
|
||||
void _handleRqEditModGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
void _handleRqEditModGet(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
AQH_SERVICE *sv;
|
||||
AQCGI_SERVICE *sv;
|
||||
GWEN_DB_NODE *dbQuery;
|
||||
const char *sModName;
|
||||
AQH_MODULE *currentMod;
|
||||
AQCGI_MODULE *currentMod;
|
||||
|
||||
sv=AQH_ModService_GetService(m);
|
||||
dbQuery=AQCGI_Request_GetDbQuery(rq);
|
||||
sModName=dbQuery?GWEN_DB_GetCharValue(dbQuery, "name", 0, NULL):NULL;
|
||||
currentMod=(sModName && *sModName)?AQH_Service_LoadModule(sv, sModName):NULL;
|
||||
currentMod=(sModName && *sModName)?AQCGI_Service_LoadModule(sv, sModName):NULL;
|
||||
if (currentMod) {
|
||||
_writeEditModForm(currentMod, sModName, dbuf);
|
||||
AQH_Module_free(currentMod);
|
||||
AQCGI_Module_free(currentMod);
|
||||
}
|
||||
else {
|
||||
AQCGI_Request_AddResponseHeaderData(rq, "Location: index.html");
|
||||
@@ -254,42 +254,42 @@ void _handleRqEditModGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session,
|
||||
|
||||
|
||||
|
||||
void _handleRqEditModPost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
void _handleRqEditModPost(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
AQH_SERVICE *sv;
|
||||
AQCGI_SERVICE *sv;
|
||||
GWEN_DB_NODE *dbPost;
|
||||
const char *sModName;
|
||||
AQH_MODULE *currentMod;
|
||||
AQCGI_MODULE *currentMod;
|
||||
|
||||
sv=AQH_ModService_GetService(m);
|
||||
dbPost=AQCGI_Request_GetDbPostBody(rq);
|
||||
sModName=dbPost?GWEN_DB_GetCharValue(dbPost, "module", 0, NULL):NULL;
|
||||
currentMod=(sModName && *sModName)?AQH_Service_LoadModule(sv, sModName):NULL;
|
||||
currentMod=(sModName && *sModName)?AQCGI_Service_LoadModule(sv, sModName):NULL;
|
||||
if (currentMod) {
|
||||
const char *sNewModName;
|
||||
const char *sDescr;
|
||||
int rv;
|
||||
uint32_t perms;
|
||||
const AQH_PERMDEF_LIST *permDefList;
|
||||
const AQCGI_PERMDEF_LIST *permDefList;
|
||||
|
||||
permDefList=AQH_Module_GetPermDefList(currentMod);
|
||||
permDefList=AQCGI_Module_GetPermDefList(currentMod);
|
||||
sNewModName=GWEN_DB_GetCharValue(dbPost, "name", 0, NULL);
|
||||
sDescr=GWEN_DB_GetCharValue(dbPost, "descr", 0, NULL);
|
||||
perms=AQH_ModService_ReadPermsFromForm(dbPost, permDefList, NULL);
|
||||
if (sNewModName && *sNewModName)
|
||||
AQH_Module_SetName(currentMod, sNewModName);
|
||||
AQH_Module_SetDescr(currentMod, sDescr);
|
||||
AQH_Module_SetGuestPerms(currentMod, perms);
|
||||
AQCGI_Module_SetName(currentMod, sNewModName);
|
||||
AQCGI_Module_SetDescr(currentMod, sDescr);
|
||||
AQCGI_Module_SetGuestPerms(currentMod, perms);
|
||||
|
||||
rv=AQH_Service_SaveModule(sv, currentMod);
|
||||
rv=AQCGI_Service_SaveModule(sv, currentMod);
|
||||
if (rv<0) {
|
||||
GBAS(dbuf, "<h2>Error</h2><p>Error saving module</p>");
|
||||
DBG_ERROR(NULL, "Could not save module \"%s\"", sModName);
|
||||
AQH_Module_free(currentMod);
|
||||
AQCGI_Module_free(currentMod);
|
||||
return;
|
||||
}
|
||||
DBG_ERROR(NULL, "Module \"%s\" saved", sModName);
|
||||
AQH_Module_free(currentMod);
|
||||
AQCGI_Module_free(currentMod);
|
||||
AQCGI_Request_AddResponseHeaderData(rq, "Location: index.html");
|
||||
AQCGI_Request_SetResponseCode(rq, 303);
|
||||
AQCGI_Request_SetResponseText(rq, "See other");
|
||||
@@ -302,21 +302,21 @@ void _handleRqEditModPost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session
|
||||
|
||||
|
||||
|
||||
void _handleRqAddRoleGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
void _handleRqAddRoleGet(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
AQH_SERVICE *sv;
|
||||
AQCGI_SERVICE *sv;
|
||||
GWEN_DB_NODE *dbQuery;
|
||||
const char *sModName;
|
||||
AQH_MODULE *currentMod;
|
||||
const AQH_PERMDEF_LIST *permDefList;
|
||||
AQCGI_MODULE *currentMod;
|
||||
const AQCGI_PERMDEF_LIST *permDefList;
|
||||
uint32_t guestPerms;
|
||||
|
||||
sv=AQH_ModService_GetService(m);
|
||||
dbQuery=AQCGI_Request_GetDbQuery(rq);
|
||||
sModName=dbQuery?GWEN_DB_GetCharValue(dbQuery, "mod", 0, NULL):NULL;
|
||||
currentMod=(sModName && *sModName)?AQH_Service_LoadModule(sv, sModName):NULL;
|
||||
guestPerms=currentMod?AQH_Module_GetGuestPerms(currentMod):0;
|
||||
permDefList=currentMod?AQH_Module_GetPermDefList(currentMod):NULL;
|
||||
currentMod=(sModName && *sModName)?AQCGI_Service_LoadModule(sv, sModName):NULL;
|
||||
guestPerms=currentMod?AQCGI_Module_GetGuestPerms(currentMod):0;
|
||||
permDefList=currentMod?AQCGI_Module_GetPermDefList(currentMod):NULL;
|
||||
|
||||
if (currentMod) {
|
||||
if (permDefList) {
|
||||
@@ -340,7 +340,7 @@ void _handleRqAddRoleGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session,
|
||||
GBAS(dbuf, "<p>Please add permission definitions first.</p>\n");
|
||||
GBAA(dbuf, "<p><a href=\"editmodule.html?name=\"%s\"> back to module</p>\n", sModName?sModName:"");
|
||||
}
|
||||
AQH_Module_free(currentMod);
|
||||
AQCGI_Module_free(currentMod);
|
||||
}
|
||||
else {
|
||||
GBAS(dbuf, "<p>Error loading module.</p>\n");
|
||||
@@ -350,18 +350,18 @@ void _handleRqAddRoleGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session,
|
||||
|
||||
|
||||
|
||||
void _handleRqAddRolePost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
void _handleRqAddRolePost(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
AQH_SERVICE *sv;
|
||||
AQCGI_SERVICE *sv;
|
||||
GWEN_DB_NODE *dbPost;
|
||||
const char *sModName;
|
||||
AQH_MODULE *currentMod;
|
||||
AQCGI_MODULE *currentMod;
|
||||
int newId;
|
||||
const char *sName;
|
||||
const char *sDescr;
|
||||
uint32_t perms;
|
||||
AQH_PERMDEF_LIST *permDefList;
|
||||
AQH_ROLE_LIST *roleList;
|
||||
AQCGI_PERMDEF_LIST *permDefList;
|
||||
AQCGI_ROLE_LIST *roleList;
|
||||
int rv;
|
||||
|
||||
/* sample data */
|
||||
@@ -369,9 +369,9 @@ void _handleRqAddRolePost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session
|
||||
sv=AQH_ModService_GetService(m);
|
||||
dbPost=AQCGI_Request_GetDbPostBody(rq);
|
||||
sModName=dbPost?GWEN_DB_GetCharValue(dbPost, "mod", 0, NULL):NULL;
|
||||
currentMod=(sModName && *sModName)?AQH_Service_LoadModule(sv, sModName):NULL;
|
||||
permDefList=currentMod?AQH_Module_GetPermDefList(currentMod):NULL;
|
||||
roleList=currentMod?AQH_Module_GetRoleList(currentMod):NULL;
|
||||
currentMod=(sModName && *sModName)?AQCGI_Service_LoadModule(sv, sModName):NULL;
|
||||
permDefList=currentMod?AQCGI_Module_GetPermDefList(currentMod):NULL;
|
||||
roleList=currentMod?AQCGI_Module_GetRoleList(currentMod):NULL;
|
||||
/* read role values */
|
||||
newId=(roleList?_getHighestUsedRoleId(roleList):0)+1;
|
||||
sName=dbPost?GWEN_DB_GetCharValue(dbPost, "name", 0, NULL):NULL;
|
||||
@@ -387,33 +387,33 @@ void _handleRqAddRolePost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session
|
||||
}
|
||||
|
||||
if (currentMod) {
|
||||
AQH_ROLE *role;
|
||||
AQCGI_ROLE *role;
|
||||
|
||||
/* set new values */
|
||||
role=AQH_Role_new();
|
||||
AQH_Role_SetId(role, newId);
|
||||
AQH_Role_SetName(role, sName);
|
||||
AQH_Role_SetDescr(role, sDescr);
|
||||
AQH_Role_SetPerms(role, perms);
|
||||
role=AQCGI_Role_new();
|
||||
AQCGI_Role_SetId(role, newId);
|
||||
AQCGI_Role_SetName(role, sName);
|
||||
AQCGI_Role_SetDescr(role, sDescr);
|
||||
AQCGI_Role_SetPerms(role, perms);
|
||||
/* add role */
|
||||
if (roleList==NULL) {
|
||||
roleList=AQH_Role_List_new();
|
||||
AQH_Module_SetRoleList(currentMod, roleList);
|
||||
roleList=AQCGI_Role_List_new();
|
||||
AQCGI_Module_SetRoleList(currentMod, roleList);
|
||||
}
|
||||
AQH_Role_List_Add(role, roleList);
|
||||
AQCGI_Role_List_Add(role, roleList);
|
||||
|
||||
/* save module */
|
||||
rv=AQH_Service_SaveModule(sv, currentMod);
|
||||
rv=AQCGI_Service_SaveModule(sv, currentMod);
|
||||
if (rv<0) {
|
||||
GBAS(dbuf, "<p>Error saving module.</p>\n");
|
||||
GBAA(dbuf, "<p><a href=\"editmodule.html?name=\"%s\"> back to module</p>\n", sModName?sModName:"");
|
||||
AQH_Module_free(currentMod);
|
||||
AQCGI_Module_free(currentMod);
|
||||
return;
|
||||
}
|
||||
_setLocationHeaderForMod(rq, "editmodule.html", sModName);
|
||||
AQCGI_Request_SetResponseCode(rq, 303);
|
||||
AQCGI_Request_SetResponseText(rq, "See Other");
|
||||
AQH_Module_free(currentMod);
|
||||
AQCGI_Module_free(currentMod);
|
||||
}
|
||||
else {
|
||||
GBAS(dbuf, "<p>Error loading module.</p>\n");
|
||||
@@ -423,31 +423,31 @@ void _handleRqAddRolePost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session
|
||||
|
||||
|
||||
|
||||
void _handleRqEditRoleGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
void _handleRqEditRoleGet(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
AQH_SERVICE *sv;
|
||||
AQCGI_SERVICE *sv;
|
||||
GWEN_DB_NODE *dbQuery;
|
||||
const char *sModName;
|
||||
int id;
|
||||
const char *sName;
|
||||
const char *sDescr;
|
||||
uint32_t perms;
|
||||
AQH_MODULE *currentMod;
|
||||
const AQH_PERMDEF_LIST *permDefList;
|
||||
const AQH_ROLE_LIST *roleList;
|
||||
const AQH_ROLE *role;
|
||||
AQCGI_MODULE *currentMod;
|
||||
const AQCGI_PERMDEF_LIST *permDefList;
|
||||
const AQCGI_ROLE_LIST *roleList;
|
||||
const AQCGI_ROLE *role;
|
||||
|
||||
sv=AQH_ModService_GetService(m);
|
||||
dbQuery=AQCGI_Request_GetDbQuery(rq);
|
||||
sModName=dbQuery?GWEN_DB_GetCharValue(dbQuery, "mod", 0, NULL):NULL;
|
||||
id=dbQuery?GWEN_DB_GetIntValue(dbQuery, "id", 0, 0):0;
|
||||
currentMod=(sModName && *sModName)?AQH_Service_LoadModule(sv, sModName):NULL;
|
||||
permDefList=currentMod?AQH_Module_GetPermDefList(currentMod):NULL;
|
||||
roleList=currentMod?AQH_Module_GetRoleList(currentMod):NULL;
|
||||
role=roleList?AQH_Role_List_GetById(roleList, id):NULL;
|
||||
sName=role?AQH_Role_GetName(role):NULL;
|
||||
sDescr=role?AQH_Role_GetDescr(role):NULL;
|
||||
perms=role?AQH_Role_GetPerms(role):0;
|
||||
currentMod=(sModName && *sModName)?AQCGI_Service_LoadModule(sv, sModName):NULL;
|
||||
permDefList=currentMod?AQCGI_Module_GetPermDefList(currentMod):NULL;
|
||||
roleList=currentMod?AQCGI_Module_GetRoleList(currentMod):NULL;
|
||||
role=roleList?AQCGI_Role_List_GetById(roleList, id):NULL;
|
||||
sName=role?AQCGI_Role_GetName(role):NULL;
|
||||
sDescr=role?AQCGI_Role_GetDescr(role):NULL;
|
||||
perms=role?AQCGI_Role_GetPerms(role):0;
|
||||
|
||||
if (role) {
|
||||
GBAA(dbuf, "<h2>Edit Role for Module %s</h2>\n", sModName?sModName:"");
|
||||
@@ -477,33 +477,33 @@ void _handleRqEditRoleGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session
|
||||
|
||||
|
||||
|
||||
void _handleRqEditRolePost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
void _handleRqEditRolePost(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
AQH_SERVICE *sv;
|
||||
AQCGI_SERVICE *sv;
|
||||
GWEN_DB_NODE *dbPost;
|
||||
const char *sModName;
|
||||
AQH_MODULE *currentMod;
|
||||
AQCGI_MODULE *currentMod;
|
||||
int oldId;
|
||||
const char *sName;
|
||||
const char *sDescr;
|
||||
uint32_t perms;
|
||||
AQH_PERMDEF_LIST *permDefList;
|
||||
AQH_ROLE_LIST *roleList;
|
||||
AQH_ROLE *role;
|
||||
AQCGI_PERMDEF_LIST *permDefList;
|
||||
AQCGI_ROLE_LIST *roleList;
|
||||
AQCGI_ROLE *role;
|
||||
int rv;
|
||||
|
||||
/* sample data */
|
||||
sv=AQH_ModService_GetService(m);
|
||||
dbPost=AQCGI_Request_GetDbPostBody(rq);
|
||||
sModName=dbPost?GWEN_DB_GetCharValue(dbPost, "mod", 0, NULL):NULL;
|
||||
currentMod=(sModName && *sModName)?AQH_Service_LoadModule(sv, sModName):NULL;
|
||||
permDefList=currentMod?AQH_Module_GetPermDefList(currentMod):NULL;
|
||||
roleList=currentMod?AQH_Module_GetRoleList(currentMod):NULL;
|
||||
currentMod=(sModName && *sModName)?AQCGI_Service_LoadModule(sv, sModName):NULL;
|
||||
permDefList=currentMod?AQCGI_Module_GetPermDefList(currentMod):NULL;
|
||||
roleList=currentMod?AQCGI_Module_GetRoleList(currentMod):NULL;
|
||||
/* read role data */
|
||||
oldId=dbPost?GWEN_DB_GetIntValue(dbPost, "oldId", 0, -1):-1;
|
||||
sName=dbPost?GWEN_DB_GetCharValue(dbPost, "name", 0, NULL):NULL;
|
||||
sDescr=dbPost?GWEN_DB_GetCharValue(dbPost, "descr", 0, NULL):NULL;
|
||||
role=roleList?AQH_Role_List_GetById(roleList, oldId):NULL;
|
||||
role=roleList?AQCGI_Role_List_GetById(roleList, oldId):NULL;
|
||||
perms=(dbPost && permDefList)?AQH_ModService_ReadPermsFromForm(dbPost, permDefList, NULL):0;
|
||||
/* validate */
|
||||
if (!(sName && *sName)) {
|
||||
@@ -521,23 +521,23 @@ void _handleRqEditRolePost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *sessio
|
||||
|
||||
if (currentMod) {
|
||||
/* set new values */
|
||||
AQH_Role_SetName(role, sName);
|
||||
AQH_Role_SetDescr(role, sDescr);
|
||||
AQH_Role_SetPerms(role, perms);
|
||||
AQCGI_Role_SetName(role, sName);
|
||||
AQCGI_Role_SetDescr(role, sDescr);
|
||||
AQCGI_Role_SetPerms(role, perms);
|
||||
|
||||
/* save module */
|
||||
rv=AQH_Service_SaveModule(sv, currentMod);
|
||||
rv=AQCGI_Service_SaveModule(sv, currentMod);
|
||||
if (rv<0) {
|
||||
GBAS(dbuf, "<p>Error saving module.</p>\n");
|
||||
GBAA(dbuf, "<p><a href=\"editmodule.html?name=\"%s\"> back to module</p>\n", sModName?sModName:"");
|
||||
AQH_Module_free(currentMod);
|
||||
AQCGI_Module_free(currentMod);
|
||||
return;
|
||||
}
|
||||
|
||||
_setLocationHeaderForMod(rq, "editmodule.html", sModName);
|
||||
AQCGI_Request_SetResponseCode(rq, 303);
|
||||
AQCGI_Request_SetResponseText(rq, "See Other");
|
||||
AQH_Module_free(currentMod);
|
||||
AQCGI_Module_free(currentMod);
|
||||
}
|
||||
else {
|
||||
GBAS(dbuf, "<p>Error loading module.</p>\n");
|
||||
@@ -547,36 +547,36 @@ void _handleRqEditRolePost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *sessio
|
||||
|
||||
|
||||
|
||||
void _handleRqDeleteRole(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
void _handleRqDeleteRole(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
AQH_SERVICE *sv;
|
||||
AQCGI_SERVICE *sv;
|
||||
GWEN_DB_NODE *dbQuery;
|
||||
const char *sModName;
|
||||
int id;
|
||||
AQH_MODULE *currentMod;
|
||||
const AQH_ROLE_LIST *roleList;
|
||||
AQH_ROLE *role;
|
||||
AQCGI_MODULE *currentMod;
|
||||
const AQCGI_ROLE_LIST *roleList;
|
||||
AQCGI_ROLE *role;
|
||||
|
||||
sv=AQH_ModService_GetService(m);
|
||||
dbQuery=AQCGI_Request_GetDbQuery(rq);
|
||||
sModName=dbQuery?GWEN_DB_GetCharValue(dbQuery, "mod", 0, NULL):NULL;
|
||||
id=dbQuery?GWEN_DB_GetIntValue(dbQuery, "id", 0, 0):0;
|
||||
currentMod=(sModName && *sModName)?AQH_Service_LoadModule(sv, sModName):NULL;
|
||||
currentMod=(sModName && *sModName)?AQCGI_Service_LoadModule(sv, sModName):NULL;
|
||||
if (currentMod) {
|
||||
roleList=currentMod?AQH_Module_GetRoleList(currentMod):NULL;
|
||||
role=roleList?AQH_Role_List_GetById(roleList, id):NULL;
|
||||
roleList=currentMod?AQCGI_Module_GetRoleList(currentMod):NULL;
|
||||
role=roleList?AQCGI_Role_List_GetById(roleList, id):NULL;
|
||||
if (role) {
|
||||
int rv;
|
||||
|
||||
AQH_Role_List_Del(role);
|
||||
AQH_Role_free(role);
|
||||
AQCGI_Role_List_Del(role);
|
||||
AQCGI_Role_free(role);
|
||||
|
||||
/* save module */
|
||||
rv=AQH_Service_SaveModule(sv, currentMod);
|
||||
rv=AQCGI_Service_SaveModule(sv, currentMod);
|
||||
if (rv<0) {
|
||||
GBAS(dbuf, "<p>Error saving module.</p>\n");
|
||||
GBAA(dbuf, "<p><a href=\"editmodule.html?name=\"%s\"> back to module</p>\n", sModName?sModName:"");
|
||||
AQH_Module_free(currentMod);
|
||||
AQCGI_Module_free(currentMod);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -588,7 +588,7 @@ void _handleRqDeleteRole(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session,
|
||||
GBAS(dbuf, "<p>Role not found.</p>\n");
|
||||
GBAA(dbuf, "<p><a href=\"editmodule.html?name=\"%s\"> back to module</p>\n", sModName?sModName:"");
|
||||
}
|
||||
AQH_Module_free(currentMod);
|
||||
AQCGI_Module_free(currentMod);
|
||||
}
|
||||
else {
|
||||
GBAS(dbuf, "<p>Error loading module.</p>\n");
|
||||
@@ -610,20 +610,20 @@ void _setLocationHeaderForMod(AQCGI_REQUEST *rq, const char *page, const char *s
|
||||
|
||||
|
||||
|
||||
int _getHighestUsedRoleId(const AQH_ROLE_LIST *roleList)
|
||||
int _getHighestUsedRoleId(const AQCGI_ROLE_LIST *roleList)
|
||||
{
|
||||
int id=0;
|
||||
|
||||
if (roleList) {
|
||||
const AQH_ROLE *role;
|
||||
const AQCGI_ROLE *role;
|
||||
|
||||
role=AQH_Role_List_First(roleList);
|
||||
role=AQCGI_Role_List_First(roleList);
|
||||
while(role) {
|
||||
int rid;
|
||||
|
||||
rid=AQH_Role_GetId(role);
|
||||
rid=AQCGI_Role_GetId(role);
|
||||
id=(rid>id)?rid:id;
|
||||
role=AQH_Role_List_Next(role);
|
||||
role=AQCGI_Role_List_Next(role);
|
||||
}
|
||||
}
|
||||
return id;
|
||||
@@ -631,17 +631,17 @@ int _getHighestUsedRoleId(const AQH_ROLE_LIST *roleList)
|
||||
|
||||
|
||||
|
||||
void _writeEditModForm(const AQH_MODULE *currentMod, const char *sModName, GWEN_BUFFER *dbuf)
|
||||
void _writeEditModForm(const AQCGI_MODULE *currentMod, const char *sModName, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
const char *sName;
|
||||
const char *sDescr;
|
||||
const AQH_PERMDEF_LIST *permDefList;
|
||||
const AQH_ROLE_LIST *roleList;
|
||||
const AQCGI_PERMDEF_LIST *permDefList;
|
||||
const AQCGI_ROLE_LIST *roleList;
|
||||
|
||||
permDefList=AQH_Module_GetPermDefList(currentMod);
|
||||
roleList=AQH_Module_GetRoleList(currentMod);
|
||||
sName=AQH_Module_GetName(currentMod);
|
||||
sDescr=AQH_Module_GetDescr(currentMod);
|
||||
permDefList=AQCGI_Module_GetPermDefList(currentMod);
|
||||
roleList=AQCGI_Module_GetRoleList(currentMod);
|
||||
sName=AQCGI_Module_GetName(currentMod);
|
||||
sDescr=AQCGI_Module_GetDescr(currentMod);
|
||||
/* write module info */
|
||||
GBAS(dbuf, "<h2>Module Info</h2>\n");
|
||||
GBAA(dbuf,
|
||||
@@ -653,7 +653,7 @@ void _writeEditModForm(const AQH_MODULE *currentMod, const char *sModName, GWEN_
|
||||
|
||||
if (permDefList) {
|
||||
GBAA(dbuf, "<tr><td><label>Guest Permissions:</label></td>\n<td>");
|
||||
AQH_ModService_WritePermsToForm(AQH_Module_GetGuestPerms(currentMod), permDefList, NULL, dbuf);
|
||||
AQH_ModService_WritePermsToForm(AQCGI_Module_GetGuestPerms(currentMod), permDefList, NULL, dbuf);
|
||||
GBAA(dbuf, "</td></tr>");
|
||||
}
|
||||
|
||||
@@ -673,36 +673,36 @@ void _writeEditModForm(const AQH_MODULE *currentMod, const char *sModName, GWEN_
|
||||
|
||||
|
||||
|
||||
void _writeRoleListToForm(const AQH_ROLE_LIST *roleList,
|
||||
void _writeRoleListToForm(const AQCGI_ROLE_LIST *roleList,
|
||||
const char *sModName,
|
||||
const AQH_PERMDEF_LIST *permDefList,
|
||||
const AQCGI_PERMDEF_LIST *permDefList,
|
||||
GWEN_BUFFER *dbuf)
|
||||
{
|
||||
const AQH_ROLE *role;
|
||||
const AQCGI_ROLE *role;
|
||||
|
||||
GBAS(dbuf,
|
||||
"<table class=\"datatable\">\n"
|
||||
"<thead><tr><th>Id</th><th>Name</th><th>Permissions</th><th>Description</th><th>Actions</th></tr>\n</thead>\n"
|
||||
"<tbody>\n");
|
||||
role=AQH_Role_List_First(roleList);
|
||||
role=AQCGI_Role_List_First(roleList);
|
||||
while(role) {
|
||||
uint8_t id;
|
||||
const char *s;
|
||||
|
||||
GBAS(dbuf, "<tr>");
|
||||
/* id */
|
||||
id=AQH_Role_GetId(role);
|
||||
id=AQCGI_Role_GetId(role);
|
||||
GBAA(dbuf, "<td>%d</td>", id);
|
||||
/* name */
|
||||
s=AQH_Role_GetName(role);
|
||||
s=AQCGI_Role_GetName(role);
|
||||
GBAA(dbuf, "<td>%s</td>", s?s:"");
|
||||
/* permissions */
|
||||
GBAS(dbuf, "<td>");
|
||||
if (permDefList)
|
||||
_writeEnabledPermissions(permDefList, AQH_Role_GetPerms(role), dbuf);
|
||||
_writeEnabledPermissions(permDefList, AQCGI_Role_GetPerms(role), dbuf);
|
||||
GBAS(dbuf, "</td>");
|
||||
/* description */
|
||||
s=AQH_Role_GetDescr(role);
|
||||
s=AQCGI_Role_GetDescr(role);
|
||||
GBAA(dbuf, "<td>%s</td>", s?s:"");
|
||||
/* actions */
|
||||
GBAA(dbuf, "<td>");
|
||||
@@ -711,7 +711,7 @@ void _writeRoleListToForm(const AQH_ROLE_LIST *roleList,
|
||||
GBAA(dbuf, "</td>");
|
||||
GBAS(dbuf, "</tr>\n");
|
||||
|
||||
role=AQH_Role_List_Next(role);
|
||||
role=AQCGI_Role_List_Next(role);
|
||||
}
|
||||
|
||||
GBAS(dbuf, "</tbody>\n</table>\n");
|
||||
@@ -722,21 +722,21 @@ void _writeRoleListToForm(const AQH_ROLE_LIST *roleList,
|
||||
|
||||
|
||||
|
||||
void _writeEnabledPermissions(const AQH_PERMDEF_LIST *permDefList, uint32_t perms, GWEN_BUFFER *dbuf)
|
||||
void _writeEnabledPermissions(const AQCGI_PERMDEF_LIST *permDefList, uint32_t perms, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
if (permDefList) {
|
||||
const AQH_PERMDEF *permDef;
|
||||
const AQCGI_PERMDEF *permDef;
|
||||
|
||||
permDef=AQH_PermDef_List_First(permDefList);
|
||||
permDef=AQCGI_PermDef_List_First(permDefList);
|
||||
while(permDef) {
|
||||
const char *s;
|
||||
uint32_t mask;
|
||||
|
||||
s=AQH_PermDef_GetId(permDef);
|
||||
mask=AQH_PermDef_GetMask(permDef);
|
||||
s=AQCGI_PermDef_GetId(permDef);
|
||||
mask=AQCGI_PermDef_GetMask(permDef);
|
||||
if (perms & mask)
|
||||
GBAA(dbuf, "%s ", s?s:"");
|
||||
permDef=AQH_PermDef_List_Next(permDef);
|
||||
permDef=AQCGI_PermDef_List_Next(permDef);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,9 +24,9 @@
|
||||
|
||||
|
||||
|
||||
void AQH_ModAdmModules_Extend(AQH_MODULE *m, AQH_SERVICE *sv, const char *baseFolder);
|
||||
void AQH_ModAdmModules_Extend(AQCGI_MODULE *m, AQCGI_SERVICE *sv, const char *baseFolder);
|
||||
|
||||
int AQH_ModAdmModules_Create(AQH_SERVICE *sv);
|
||||
int AQH_ModAdmModules_Create(AQCGI_SERVICE *sv);
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
#include "./mservice_p.h"
|
||||
|
||||
#include "aqhome-cgi/service/module.h"
|
||||
#include <aqcgi/service/module.h>
|
||||
|
||||
#include <gwenhywfar/debug.h>
|
||||
#include <gwenhywfar/text.h>
|
||||
@@ -46,7 +46,7 @@
|
||||
* ------------------------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
GWEN_INHERIT(AQH_MODULE, AQH_MOD_SERVICE)
|
||||
GWEN_INHERIT(AQCGI_MODULE, AQH_MOD_SERVICE)
|
||||
|
||||
|
||||
|
||||
@@ -56,8 +56,8 @@ GWEN_INHERIT(AQH_MODULE, AQH_MOD_SERVICE)
|
||||
*/
|
||||
|
||||
static void GWENHYWFAR_CB _freeData(void *bp, void *p);
|
||||
static void _calcUserModPerms(AQH_MODULE *m, const AQH_USER *user);
|
||||
static uint32_t _calcRolePerms(const AQH_MODULE *m, const AQH_MODULE_PERMS *modPerms);
|
||||
static void _calcUserModPerms(AQCGI_MODULE *m, const AQCGI_USER *user);
|
||||
static uint32_t _calcRolePerms(const AQCGI_MODULE *m, const AQCGI_MODULE_PERMS *modPerms);
|
||||
|
||||
|
||||
|
||||
@@ -66,12 +66,12 @@ static uint32_t _calcRolePerms(const AQH_MODULE *m, const AQH_MODULE_PERMS *modP
|
||||
* ------------------------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
void AQH_ModService_Extend(AQH_MODULE *m, AQH_SERVICE *sv, const char *baseFolder)
|
||||
void AQH_ModService_Extend(AQCGI_MODULE *m, AQCGI_SERVICE *sv, const char *baseFolder)
|
||||
{
|
||||
AQH_MOD_SERVICE *xm;
|
||||
|
||||
GWEN_NEW_OBJECT(AQH_MOD_SERVICE, xm);
|
||||
GWEN_INHERIT_SETDATA(AQH_MODULE, AQH_MOD_SERVICE, m, xm, _freeData);
|
||||
GWEN_INHERIT_SETDATA(AQCGI_MODULE, AQH_MOD_SERVICE, m, xm, _freeData);
|
||||
|
||||
xm->service=sv;
|
||||
xm->baseFolder=(baseFolder && *baseFolder)?strdup(baseFolder):NULL;
|
||||
@@ -90,12 +90,12 @@ void _freeData(GWEN_UNUSED void *bp, void *p)
|
||||
|
||||
|
||||
|
||||
AQH_SERVICE *AQH_ModService_GetService(const AQH_MODULE *m)
|
||||
AQCGI_SERVICE *AQH_ModService_GetService(const AQCGI_MODULE *m)
|
||||
{
|
||||
if (m) {
|
||||
AQH_MOD_SERVICE *xm;
|
||||
|
||||
xm=GWEN_INHERIT_GETDATA(AQH_MODULE, AQH_MOD_SERVICE, m);
|
||||
xm=GWEN_INHERIT_GETDATA(AQCGI_MODULE, AQH_MOD_SERVICE, m);
|
||||
if (xm) {
|
||||
return xm->service;
|
||||
}
|
||||
@@ -105,12 +105,12 @@ AQH_SERVICE *AQH_ModService_GetService(const AQH_MODULE *m)
|
||||
|
||||
|
||||
|
||||
const char *AQH_ModService_GetBaseFolder(const AQH_MODULE *m)
|
||||
const char *AQH_ModService_GetBaseFolder(const AQCGI_MODULE *m)
|
||||
{
|
||||
if (m) {
|
||||
AQH_MOD_SERVICE *xm;
|
||||
|
||||
xm=GWEN_INHERIT_GETDATA(AQH_MODULE, AQH_MOD_SERVICE, m);
|
||||
xm=GWEN_INHERIT_GETDATA(AQCGI_MODULE, AQH_MOD_SERVICE, m);
|
||||
if (xm) {
|
||||
return xm->baseFolder;
|
||||
}
|
||||
@@ -120,12 +120,12 @@ const char *AQH_ModService_GetBaseFolder(const AQH_MODULE *m)
|
||||
|
||||
|
||||
|
||||
uint32_t AQH_ModService_GetUserPerms(const AQH_MODULE *m)
|
||||
uint32_t AQH_ModService_GetUserPerms(const AQCGI_MODULE *m)
|
||||
{
|
||||
if (m) {
|
||||
AQH_MOD_SERVICE *xm;
|
||||
|
||||
xm=GWEN_INHERIT_GETDATA(AQH_MODULE, AQH_MOD_SERVICE, m);
|
||||
xm=GWEN_INHERIT_GETDATA(AQCGI_MODULE, AQH_MOD_SERVICE, m);
|
||||
if (xm) {
|
||||
return xm->userPerms;
|
||||
}
|
||||
@@ -135,12 +135,12 @@ uint32_t AQH_ModService_GetUserPerms(const AQH_MODULE *m)
|
||||
|
||||
|
||||
|
||||
void AQH_ModService_SetHandleRequestFn(AQH_MODULE *m, AQH_MODSERVICE_HANDLEREQUEST_FN fn)
|
||||
void AQH_ModService_SetHandleRequestFn(AQCGI_MODULE *m, AQH_MODSERVICE_HANDLEREQUEST_FN fn)
|
||||
{
|
||||
if (m) {
|
||||
AQH_MOD_SERVICE *xm;
|
||||
|
||||
xm=GWEN_INHERIT_GETDATA(AQH_MODULE, AQH_MOD_SERVICE, m);
|
||||
xm=GWEN_INHERIT_GETDATA(AQCGI_MODULE, AQH_MOD_SERVICE, m);
|
||||
if (xm) {
|
||||
xm->handleRequestFn=fn;
|
||||
}
|
||||
@@ -149,12 +149,12 @@ void AQH_ModService_SetHandleRequestFn(AQH_MODULE *m, AQH_MODSERVICE_HANDLEREQUE
|
||||
|
||||
|
||||
|
||||
void AQH_ModService_SetLoadSubModuleFn(AQH_MODULE *m, AQH_MODSERVICE_LOADSUBMODULE_FN fn)
|
||||
void AQH_ModService_SetLoadSubModuleFn(AQCGI_MODULE *m, AQH_MODSERVICE_LOADSUBMODULE_FN fn)
|
||||
{
|
||||
if (m) {
|
||||
AQH_MOD_SERVICE *xm;
|
||||
|
||||
xm=GWEN_INHERIT_GETDATA(AQH_MODULE, AQH_MOD_SERVICE, m);
|
||||
xm=GWEN_INHERIT_GETDATA(AQCGI_MODULE, AQH_MOD_SERVICE, m);
|
||||
if (xm) {
|
||||
xm->loadSubModuleFn=fn;
|
||||
}
|
||||
@@ -163,12 +163,12 @@ void AQH_ModService_SetLoadSubModuleFn(AQH_MODULE *m, AQH_MODSERVICE_LOADSUBMODU
|
||||
|
||||
|
||||
|
||||
void AQH_ModService_SetAddHeaderFn(AQH_MODULE *m, AQH_MODSERVICE_ADDHEADER_FN fn)
|
||||
void AQH_ModService_SetAddHeaderFn(AQCGI_MODULE *m, AQH_MODSERVICE_ADDHEADER_FN fn)
|
||||
{
|
||||
if (m) {
|
||||
AQH_MOD_SERVICE *xm;
|
||||
|
||||
xm=GWEN_INHERIT_GETDATA(AQH_MODULE, AQH_MOD_SERVICE, m);
|
||||
xm=GWEN_INHERIT_GETDATA(AQCGI_MODULE, AQH_MOD_SERVICE, m);
|
||||
if (xm) {
|
||||
xm->addHeaderFn=fn;
|
||||
}
|
||||
@@ -177,12 +177,12 @@ void AQH_ModService_SetAddHeaderFn(AQH_MODULE *m, AQH_MODSERVICE_ADDHEADER_FN fn
|
||||
|
||||
|
||||
|
||||
void AQH_ModService_SetAddFooterFn(AQH_MODULE *m, AQH_MODSERVICE_ADDFOOTER_FN fn)
|
||||
void AQH_ModService_SetAddFooterFn(AQCGI_MODULE *m, AQH_MODSERVICE_ADDFOOTER_FN fn)
|
||||
{
|
||||
if (m) {
|
||||
AQH_MOD_SERVICE *xm;
|
||||
|
||||
xm=GWEN_INHERIT_GETDATA(AQH_MODULE, AQH_MOD_SERVICE, m);
|
||||
xm=GWEN_INHERIT_GETDATA(AQCGI_MODULE, AQH_MOD_SERVICE, m);
|
||||
if (xm) {
|
||||
xm->addFooterFn=fn;
|
||||
}
|
||||
@@ -191,19 +191,19 @@ void AQH_ModService_SetAddFooterFn(AQH_MODULE *m, AQH_MODSERVICE_ADDFOOTER_FN fn
|
||||
|
||||
|
||||
|
||||
void AQH_ModService_AddHeader(AQH_MODULE *m, const char *lang, GWEN_BUFFER *dbuf)
|
||||
void AQH_ModService_AddHeader(AQCGI_MODULE *m, const char *lang, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
if (m && dbuf) {
|
||||
AQH_MOD_SERVICE *xm;
|
||||
|
||||
xm=GWEN_INHERIT_GETDATA(AQH_MODULE, AQH_MOD_SERVICE, m);
|
||||
xm=GWEN_INHERIT_GETDATA(AQCGI_MODULE, AQH_MOD_SERVICE, m);
|
||||
if (xm) {
|
||||
if (xm->addHeaderFn)
|
||||
xm->addHeaderFn(m, lang, dbuf);
|
||||
else {
|
||||
AQH_MODULE *mParent;
|
||||
AQCGI_MODULE *mParent;
|
||||
|
||||
mParent=AQH_Module_Tree2_GetParent(m);
|
||||
mParent=AQCGI_Module_Tree2_GetParent(m);
|
||||
if (mParent)
|
||||
AQH_ModService_AddHeader(mParent, lang, dbuf);
|
||||
AQH_ModService_ReadStaticFile(m, lang, AQH_MOD_SERVICE_HEADERFILE, dbuf);
|
||||
@@ -214,21 +214,21 @@ void AQH_ModService_AddHeader(AQH_MODULE *m, const char *lang, GWEN_BUFFER *dbuf
|
||||
|
||||
|
||||
|
||||
void AQH_ModService_AddFooter(AQH_MODULE *m, const char *lang, GWEN_BUFFER *dbuf)
|
||||
void AQH_ModService_AddFooter(AQCGI_MODULE *m, const char *lang, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
if (m && dbuf) {
|
||||
AQH_MOD_SERVICE *xm;
|
||||
|
||||
xm=GWEN_INHERIT_GETDATA(AQH_MODULE, AQH_MOD_SERVICE, m);
|
||||
xm=GWEN_INHERIT_GETDATA(AQCGI_MODULE, AQH_MOD_SERVICE, m);
|
||||
if (xm) {
|
||||
if (xm->addFooterFn)
|
||||
xm->addFooterFn(m, lang, dbuf);
|
||||
else {
|
||||
AQH_MODULE *mParent;
|
||||
AQCGI_MODULE *mParent;
|
||||
|
||||
AQH_ModService_ReadStaticFile(m, lang, AQH_MOD_SERVICE_FOOTERFILE, dbuf);
|
||||
|
||||
mParent=AQH_Module_Tree2_GetParent(m);
|
||||
mParent=AQCGI_Module_Tree2_GetParent(m);
|
||||
if (mParent)
|
||||
AQH_ModService_AddFooter(mParent, lang, dbuf);
|
||||
}
|
||||
@@ -238,7 +238,7 @@ void AQH_ModService_AddFooter(AQH_MODULE *m, const char *lang, GWEN_BUFFER *dbuf
|
||||
|
||||
|
||||
|
||||
int AQH_ModService_RespondWithFile(AQH_MODULE *m, AQCGI_REQUEST *rq, const char *lang, const char *sFilename, GWEN_BUFFER *dbuf)
|
||||
int AQH_ModService_RespondWithFile(AQCGI_MODULE *m, AQCGI_REQUEST *rq, const char *lang, const char *sFilename, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
int rv;
|
||||
|
||||
@@ -256,7 +256,7 @@ int AQH_ModService_RespondWithFile(AQH_MODULE *m, AQCGI_REQUEST *rq, const char
|
||||
|
||||
|
||||
|
||||
int AQH_ModService_RespondWithVarFile(AQH_MODULE *m, AQCGI_REQUEST *rq,
|
||||
int AQH_ModService_RespondWithVarFile(AQCGI_MODULE *m, AQCGI_REQUEST *rq,
|
||||
const char *lang,
|
||||
const char *sFilename,
|
||||
GWEN_DB_NODE *dbVars,
|
||||
@@ -284,12 +284,12 @@ int AQH_ModService_RespondWithVarFile(AQH_MODULE *m, AQCGI_REQUEST *rq,
|
||||
|
||||
|
||||
|
||||
int AQH_ModService_HandleRequest(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const char *sLastPathElem)
|
||||
int AQH_ModService_HandleRequest(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, const char *sLastPathElem)
|
||||
{
|
||||
if (m) {
|
||||
AQH_MOD_SERVICE *xm;
|
||||
|
||||
xm=GWEN_INHERIT_GETDATA(AQH_MODULE, AQH_MOD_SERVICE, m);
|
||||
xm=GWEN_INHERIT_GETDATA(AQCGI_MODULE, AQH_MOD_SERVICE, m);
|
||||
if (xm && xm->handleRequestFn)
|
||||
return xm->handleRequestFn(m, rq, session, sLastPathElem);
|
||||
}
|
||||
@@ -298,14 +298,14 @@ int AQH_ModService_HandleRequest(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *
|
||||
|
||||
|
||||
|
||||
AQH_MODULE *AQH_ModService_LoadSubModule(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const char *sModuleName)
|
||||
AQCGI_MODULE *AQH_ModService_LoadSubModule(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, const char *sModuleName)
|
||||
{
|
||||
if (m) {
|
||||
AQH_MOD_SERVICE *xm;
|
||||
|
||||
xm=GWEN_INHERIT_GETDATA(AQH_MODULE, AQH_MOD_SERVICE, m);
|
||||
xm=GWEN_INHERIT_GETDATA(AQCGI_MODULE, AQH_MOD_SERVICE, m);
|
||||
if (xm && xm->loadSubModuleFn) {
|
||||
AQH_MODULE *mReturn;
|
||||
AQCGI_MODULE *mReturn;
|
||||
|
||||
mReturn=xm->loadSubModuleFn(m, rq, session, sModuleName);
|
||||
if (mReturn)
|
||||
@@ -318,12 +318,12 @@ AQH_MODULE *AQH_ModService_LoadSubModule(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_S
|
||||
|
||||
|
||||
|
||||
int AQH_ModService_ReadStaticFile(AQH_MODULE *m, const char *lang, const char *filename, GWEN_BUFFER *dbuf)
|
||||
int AQH_ModService_ReadStaticFile(AQCGI_MODULE *m, const char *lang, const char *filename, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
if (m && filename && dbuf) {
|
||||
AQH_MOD_SERVICE *xm;
|
||||
|
||||
xm=GWEN_INHERIT_GETDATA(AQH_MODULE, AQH_MOD_SERVICE, m);
|
||||
xm=GWEN_INHERIT_GETDATA(AQCGI_MODULE, AQH_MOD_SERVICE, m);
|
||||
if (xm) {
|
||||
GWEN_BUFFER *fbuf;
|
||||
int rv;
|
||||
@@ -351,9 +351,9 @@ int AQH_ModService_ReadStaticFile(AQH_MODULE *m, const char *lang, const char *f
|
||||
|
||||
|
||||
|
||||
AQH_SESSION *AQH_ModService_ReadSession(AQH_MODULE *m, AQCGI_REQUEST *rq)
|
||||
AQCGI_SESSION *AQH_ModService_ReadSession(AQCGI_MODULE *m, AQCGI_REQUEST *rq)
|
||||
{
|
||||
AQH_SERVICE *sv;
|
||||
AQCGI_SERVICE *sv;
|
||||
GWEN_DB_NODE *db;
|
||||
const char *s;
|
||||
|
||||
@@ -361,9 +361,9 @@ AQH_SESSION *AQH_ModService_ReadSession(AQH_MODULE *m, AQCGI_REQUEST *rq)
|
||||
db=AQCGI_Request_GetDbRequestHeader(rq);
|
||||
s=GWEN_DB_GetCharValue(db, "cookies/session", 0, NULL);
|
||||
if (s && *s) {
|
||||
AQH_SESSION *session;
|
||||
AQCGI_SESSION *session;
|
||||
|
||||
session=AQH_Service_LoadSession(sv, s);
|
||||
session=AQCGI_Service_LoadSession(sv, s);
|
||||
if (session==NULL) {
|
||||
DBG_ERROR(NULL, "Session \"%s\" not found", s);
|
||||
return NULL;
|
||||
@@ -372,24 +372,24 @@ AQH_SESSION *AQH_ModService_ReadSession(AQH_MODULE *m, AQCGI_REQUEST *rq)
|
||||
const char *sUserName;
|
||||
GWEN_BUFFER *tbuf;
|
||||
|
||||
sUserName=AQH_Session_GetUserAlias(session);
|
||||
sUserName=AQCGI_Session_GetUserAlias(session);
|
||||
if (sUserName && *sUserName) {
|
||||
AQH_USER *user;
|
||||
AQCGI_USER *user;
|
||||
|
||||
user=AQH_Service_LoadUser(sv, sUserName);
|
||||
user=AQCGI_Service_LoadUser(sv, sUserName);
|
||||
if (user==NULL) {
|
||||
DBG_ERROR(NULL, "User \"%s\" not found", sUserName);
|
||||
AQH_Session_free(session);
|
||||
AQCGI_Session_free(session);
|
||||
return NULL;
|
||||
}
|
||||
else {
|
||||
DBG_ERROR(NULL, "User is \"%s\"", sUserName);
|
||||
}
|
||||
AQH_Session_SetUser(session, user);
|
||||
AQCGI_Session_SetUser(session, user);
|
||||
}
|
||||
/* renew session cookie */
|
||||
tbuf=GWEN_Buffer_new(0, 256, 0, 1);
|
||||
GWEN_Buffer_AppendArgs(tbuf, "Set-Cookie: session=%s; max-age=86400", AQH_Session_GetUid(session));
|
||||
GWEN_Buffer_AppendArgs(tbuf, "Set-Cookie: session=%s; max-age=86400", AQCGI_Session_GetUid(session));
|
||||
AQCGI_Request_AddResponseHeaderData(rq, GWEN_Buffer_GetStart(tbuf));
|
||||
DBG_ERROR(NULL, "Renew session cookie");
|
||||
GWEN_Buffer_free(tbuf);
|
||||
@@ -404,44 +404,44 @@ AQH_SESSION *AQH_ModService_ReadSession(AQH_MODULE *m, AQCGI_REQUEST *rq)
|
||||
|
||||
|
||||
|
||||
void AQH_ModService_CalcSessionModPerms(AQH_MODULE *m, const AQH_SESSION *session)
|
||||
void AQH_ModService_CalcSessionModPerms(AQCGI_MODULE *m, const AQCGI_SESSION *session)
|
||||
{
|
||||
const AQH_USER *user;
|
||||
const AQCGI_USER *user;
|
||||
|
||||
user=session?AQH_Session_GetUser(session):NULL;
|
||||
user=session?AQCGI_Session_GetUser(session):NULL;
|
||||
_calcUserModPerms(m, user);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void _calcUserModPerms(AQH_MODULE *m, const AQH_USER *user)
|
||||
void _calcUserModPerms(AQCGI_MODULE *m, const AQCGI_USER *user)
|
||||
{
|
||||
if (m) {
|
||||
AQH_MOD_SERVICE *xm;
|
||||
|
||||
xm=GWEN_INHERIT_GETDATA(AQH_MODULE, AQH_MOD_SERVICE, m);
|
||||
xm=GWEN_INHERIT_GETDATA(AQCGI_MODULE, AQH_MOD_SERVICE, m);
|
||||
if (xm) {
|
||||
uint32_t perms=0;
|
||||
|
||||
if (user) {
|
||||
if (AQH_User_GetFlags(user) & AQH_USER_FLAGS_ADMIN)
|
||||
if (AQCGI_User_GetFlags(user) & AQCGI_USER_FLAGS_ADMIN)
|
||||
perms=0xffffffff;
|
||||
else {
|
||||
const char *sModName;
|
||||
const AQH_MODULE_PERMS_LIST *modPermsList;
|
||||
AQH_MODULE_PERMS *modPerms;
|
||||
const AQCGI_MODULE_PERMS_LIST *modPermsList;
|
||||
AQCGI_MODULE_PERMS *modPerms;
|
||||
|
||||
sModName=AQH_Module_GetName(m);
|
||||
modPermsList=AQH_User_GetModulePermList(user);
|
||||
modPerms=(sModName && modPermsList)?AQH_ModulePerms_List_GetByModuleId(modPermsList, sModName):NULL;
|
||||
sModName=AQCGI_Module_GetName(m);
|
||||
modPermsList=AQCGI_User_GetModulePermList(user);
|
||||
modPerms=(sModName && modPermsList)?AQCGI_ModulePerms_List_GetByModuleId(modPermsList, sModName):NULL;
|
||||
if (modPerms)
|
||||
perms=_calcRolePerms(m, modPerms);
|
||||
else
|
||||
perms=AQH_Module_GetGuestPerms(m);
|
||||
perms=AQCGI_Module_GetGuestPerms(m);
|
||||
}
|
||||
} /* if (user) */
|
||||
else
|
||||
perms=AQH_Module_GetGuestPerms(m);
|
||||
perms=AQCGI_Module_GetGuestPerms(m);
|
||||
xm->userPerms=perms;
|
||||
}
|
||||
} /* if (m) */
|
||||
@@ -449,39 +449,39 @@ void _calcUserModPerms(AQH_MODULE *m, const AQH_USER *user)
|
||||
|
||||
|
||||
|
||||
uint32_t _calcRolePerms(const AQH_MODULE *m, const AQH_MODULE_PERMS *modPerms)
|
||||
uint32_t _calcRolePerms(const AQCGI_MODULE *m, const AQCGI_MODULE_PERMS *modPerms)
|
||||
{
|
||||
uint32_t perms=0;
|
||||
const AQH_ROLE_LIST *roleList;
|
||||
const AQCGI_ROLE_LIST *roleList;
|
||||
|
||||
roleList=AQH_Module_GetRoleList(m);
|
||||
roleList=AQCGI_Module_GetRoleList(m);
|
||||
if (roleList) {
|
||||
int roleArraySize;
|
||||
int i;
|
||||
uint32_t explAddPerms=0;
|
||||
uint32_t explDelPerms=0;
|
||||
|
||||
roleArraySize=AQH_ModulePerms_GetRoleArrayArraySize();
|
||||
roleArraySize=AQCGI_ModulePerms_GetRoleArrayArraySize();
|
||||
for (i=0; i<roleArraySize; i++) {
|
||||
int roleId;
|
||||
|
||||
roleId=AQH_ModulePerms_GetRoleArrayAt(modPerms, i);
|
||||
roleId=AQCGI_ModulePerms_GetRoleArrayAt(modPerms, i);
|
||||
if (roleId) {
|
||||
const AQH_ROLE *role;
|
||||
const AQCGI_ROLE *role;
|
||||
|
||||
role=AQH_Role_List_GetById(roleList, roleId);
|
||||
role=AQCGI_Role_List_GetById(roleList, roleId);
|
||||
if (role) {
|
||||
perms|=AQH_Role_GetPerms(role);
|
||||
explAddPerms|=AQH_Role_GetExplAddPerms(role);
|
||||
explAddPerms|=AQH_Role_GetExplDelPerms(role);
|
||||
perms|=AQCGI_Role_GetPerms(role);
|
||||
explAddPerms|=AQCGI_Role_GetExplAddPerms(role);
|
||||
explAddPerms|=AQCGI_Role_GetExplDelPerms(role);
|
||||
}
|
||||
}
|
||||
} /* for */
|
||||
/* collate permissions */
|
||||
perms|=explAddPerms;
|
||||
perms|=AQH_ModulePerms_GetExplAddPerms(modPerms);
|
||||
perms|=AQCGI_ModulePerms_GetExplAddPerms(modPerms);
|
||||
perms&=~explDelPerms;
|
||||
perms&=~AQH_ModulePerms_GetExplDelPerms(modPerms);
|
||||
perms&=~AQCGI_ModulePerms_GetExplDelPerms(modPerms);
|
||||
}
|
||||
return perms;
|
||||
}
|
||||
@@ -489,36 +489,36 @@ uint32_t _calcRolePerms(const AQH_MODULE *m, const AQH_MODULE_PERMS *modPerms)
|
||||
|
||||
|
||||
|
||||
void AQH_ModService_AddPermDef(AQH_PERMDEF_LIST *permDefList, const char *id, uint32_t mask, const char *descr)
|
||||
void AQH_ModService_AddPermDef(AQCGI_PERMDEF_LIST *permDefList, const char *id, uint32_t mask, const char *descr)
|
||||
{
|
||||
AQH_PERMDEF *permDef;
|
||||
AQCGI_PERMDEF *permDef;
|
||||
|
||||
permDef=AQH_PermDef_new();
|
||||
AQH_PermDef_SetId(permDef, id);
|
||||
AQH_PermDef_SetMask(permDef, mask);
|
||||
AQH_PermDef_SetDescr(permDef, descr);
|
||||
AQH_PermDef_List_Add(permDef, permDefList);
|
||||
permDef=AQCGI_PermDef_new();
|
||||
AQCGI_PermDef_SetId(permDef, id);
|
||||
AQCGI_PermDef_SetMask(permDef, mask);
|
||||
AQCGI_PermDef_SetDescr(permDef, descr);
|
||||
AQCGI_PermDef_List_Add(permDef, permDefList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void AQH_ModService_AddRole(AQH_ROLE_LIST *roleList, int id, const char *name, uint32_t perms, const char *descr)
|
||||
void AQH_ModService_AddRole(AQCGI_ROLE_LIST *roleList, int id, const char *name, uint32_t perms, const char *descr)
|
||||
{
|
||||
AQH_ROLE *role;
|
||||
AQCGI_ROLE *role;
|
||||
|
||||
role=AQH_Role_new();
|
||||
AQH_Role_SetId(role, id);
|
||||
AQH_Role_SetName(role, name);
|
||||
AQH_Role_SetPerms(role, perms);
|
||||
AQH_Role_SetDescr(role, descr);
|
||||
AQH_Role_List_Add(role, roleList);
|
||||
role=AQCGI_Role_new();
|
||||
AQCGI_Role_SetId(role, id);
|
||||
AQCGI_Role_SetName(role, name);
|
||||
AQCGI_Role_SetPerms(role, perms);
|
||||
AQCGI_Role_SetDescr(role, descr);
|
||||
AQCGI_Role_List_Add(role, roleList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void AQH_ModService_HandleRequestWithTable(AQH_MODULE *m,
|
||||
void AQH_ModService_HandleRequestWithTable(AQCGI_MODULE *m,
|
||||
AQCGI_REQUEST *rq,
|
||||
AQH_SESSION *session,
|
||||
AQCGI_SESSION *session,
|
||||
const char *page,
|
||||
const AQH_MODSERVICE_HANDLER_ENTRY *e)
|
||||
{
|
||||
@@ -562,10 +562,10 @@ void AQH_ModService_HandleRequestWithTable(AQH_MODULE *m,
|
||||
|
||||
|
||||
|
||||
void AQH_ModService_WritePermsToForm(uint32_t perms, const AQH_PERMDEF_LIST *permDefList, const char *sPrefix, GWEN_BUFFER *dbuf)
|
||||
void AQH_ModService_WritePermsToForm(uint32_t perms, const AQCGI_PERMDEF_LIST *permDefList, const char *sPrefix, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
if (permDefList) {
|
||||
const AQH_PERMDEF *permDef;
|
||||
const AQCGI_PERMDEF *permDef;
|
||||
GWEN_BUFFER *tbuf;
|
||||
uint32_t pos;
|
||||
|
||||
@@ -574,16 +574,16 @@ void AQH_ModService_WritePermsToForm(uint32_t perms, const AQH_PERMDEF_LIST *per
|
||||
GBAA(tbuf, "%s:", sPrefix);
|
||||
pos=GWEN_Buffer_GetPos(tbuf);
|
||||
|
||||
permDef=AQH_PermDef_List_First(permDefList);
|
||||
permDef=AQCGI_PermDef_List_First(permDefList);
|
||||
while(permDef) {
|
||||
const char *s;
|
||||
|
||||
s=AQH_PermDef_GetId(permDef);
|
||||
s=AQCGI_PermDef_GetId(permDef);
|
||||
if (s && *s) {
|
||||
uint32_t mask;
|
||||
|
||||
GBAS(tbuf, s);
|
||||
mask=AQH_PermDef_GetMask(permDef);
|
||||
mask=AQCGI_PermDef_GetMask(permDef);
|
||||
if (perms & mask)
|
||||
GBAA(dbuf, "<input type=\"checkbox\" name=\"%s\" checked>", GWEN_Buffer_GetStart(tbuf));
|
||||
else
|
||||
@@ -591,7 +591,7 @@ void AQH_ModService_WritePermsToForm(uint32_t perms, const AQH_PERMDEF_LIST *per
|
||||
GBAA(dbuf, "<label for=\"%s\">%s</label>", GWEN_Buffer_GetStart(tbuf), s?s:"");
|
||||
GWEN_Buffer_Crop(tbuf, 0, pos);
|
||||
}
|
||||
permDef=AQH_PermDef_List_Next(permDef);
|
||||
permDef=AQCGI_PermDef_List_Next(permDef);
|
||||
}
|
||||
GWEN_Buffer_free(tbuf);
|
||||
}
|
||||
@@ -599,12 +599,12 @@ void AQH_ModService_WritePermsToForm(uint32_t perms, const AQH_PERMDEF_LIST *per
|
||||
|
||||
|
||||
|
||||
uint32_t AQH_ModService_ReadPermsFromForm(GWEN_DB_NODE *dbPost, const AQH_PERMDEF_LIST *permDefList, const char *sPrefix)
|
||||
uint32_t AQH_ModService_ReadPermsFromForm(GWEN_DB_NODE *dbPost, const AQCGI_PERMDEF_LIST *permDefList, const char *sPrefix)
|
||||
{
|
||||
uint32_t result=0;
|
||||
|
||||
if (permDefList) {
|
||||
const AQH_PERMDEF *permDef;
|
||||
const AQCGI_PERMDEF *permDef;
|
||||
GWEN_BUFFER *tbuf;
|
||||
uint32_t pos;
|
||||
|
||||
@@ -613,23 +613,23 @@ uint32_t AQH_ModService_ReadPermsFromForm(GWEN_DB_NODE *dbPost, const AQH_PERMDE
|
||||
GBAA(tbuf, "%s:", sPrefix);
|
||||
pos=GWEN_Buffer_GetPos(tbuf);
|
||||
|
||||
permDef=AQH_PermDef_List_First(permDefList);
|
||||
permDef=AQCGI_PermDef_List_First(permDefList);
|
||||
while(permDef) {
|
||||
const char *id;
|
||||
|
||||
id=AQH_PermDef_GetId(permDef);
|
||||
id=AQCGI_PermDef_GetId(permDef);
|
||||
if (id && *id) {
|
||||
uint32_t mask;
|
||||
const char *s;
|
||||
|
||||
GBAS(tbuf, id);
|
||||
mask=AQH_PermDef_GetMask(permDef);
|
||||
mask=AQCGI_PermDef_GetMask(permDef);
|
||||
s=GWEN_DB_GetCharValue(dbPost, GWEN_Buffer_GetStart(tbuf), 0, NULL);
|
||||
if (s && *s)
|
||||
result|=mask;
|
||||
GWEN_Buffer_Crop(tbuf, 0, pos);
|
||||
}
|
||||
permDef=AQH_PermDef_List_Next(permDef);
|
||||
permDef=AQCGI_PermDef_List_Next(permDef);
|
||||
}
|
||||
GWEN_Buffer_free(tbuf);
|
||||
}
|
||||
@@ -639,36 +639,36 @@ uint32_t AQH_ModService_ReadPermsFromForm(GWEN_DB_NODE *dbPost, const AQH_PERMDE
|
||||
|
||||
|
||||
|
||||
AQH_MODULE_LIST *AQH_ModService_LoadRawModules(AQH_MODULE *m)
|
||||
AQCGI_MODULE_LIST *AQH_ModService_LoadRawModules(AQCGI_MODULE *m)
|
||||
{
|
||||
AQH_SERVICE *sv;
|
||||
AQCGI_SERVICE *sv;
|
||||
GWEN_STRINGLIST *slModuleNames;
|
||||
|
||||
sv=AQH_ModService_GetService(m);
|
||||
slModuleNames=AQH_Service_ListModules(sv);
|
||||
slModuleNames=AQCGI_Service_ListModules(sv);
|
||||
if (slModuleNames) {
|
||||
AQH_MODULE_LIST *modList;
|
||||
AQCGI_MODULE_LIST *modList;
|
||||
GWEN_STRINGLISTENTRY *se;
|
||||
|
||||
modList=AQH_Module_List_new();
|
||||
modList=AQCGI_Module_List_new();
|
||||
se=GWEN_StringList_FirstEntry(slModuleNames);
|
||||
while(se) {
|
||||
const char *sModName;
|
||||
|
||||
sModName=GWEN_StringListEntry_Data(se);
|
||||
if (sModName && *sModName) {
|
||||
AQH_MODULE *currentMod;
|
||||
AQCGI_MODULE *currentMod;
|
||||
|
||||
currentMod=AQH_Service_LoadModule(sv, sModName);
|
||||
currentMod=AQCGI_Service_LoadModule(sv, sModName);
|
||||
if (currentMod)
|
||||
AQH_Module_List_Add(currentMod, modList);
|
||||
AQCGI_Module_List_Add(currentMod, modList);
|
||||
}
|
||||
se=GWEN_StringListEntry_Next(se);
|
||||
}
|
||||
GWEN_StringList_free(slModuleNames);
|
||||
if (AQH_Module_List_GetCount(modList))
|
||||
if (AQCGI_Module_List_GetCount(modList))
|
||||
return modList;
|
||||
AQH_Module_List_free(modList);
|
||||
AQCGI_Module_List_free(modList);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
@@ -676,36 +676,36 @@ AQH_MODULE_LIST *AQH_ModService_LoadRawModules(AQH_MODULE *m)
|
||||
|
||||
|
||||
|
||||
AQH_USER_LIST *AQH_ModService_LoadRawUsers(AQH_MODULE *m)
|
||||
AQCGI_USER_LIST *AQH_ModService_LoadRawUsers(AQCGI_MODULE *m)
|
||||
{
|
||||
AQH_SERVICE *sv;
|
||||
AQCGI_SERVICE *sv;
|
||||
GWEN_STRINGLIST *slUserNames;
|
||||
|
||||
sv=AQH_ModService_GetService(m);
|
||||
slUserNames=AQH_Service_ListUsers(sv);
|
||||
slUserNames=AQCGI_Service_ListUsers(sv);
|
||||
if (slUserNames) {
|
||||
AQH_USER_LIST *userList;
|
||||
AQCGI_USER_LIST *userList;
|
||||
GWEN_STRINGLISTENTRY *se;
|
||||
|
||||
userList=AQH_User_List_new();
|
||||
userList=AQCGI_User_List_new();
|
||||
se=GWEN_StringList_FirstEntry(slUserNames);
|
||||
while(se) {
|
||||
const char *sModName;
|
||||
|
||||
sModName=GWEN_StringListEntry_Data(se);
|
||||
if (sModName && *sModName) {
|
||||
AQH_USER *u;
|
||||
AQCGI_USER *u;
|
||||
|
||||
u=AQH_Service_LoadUser(sv, sModName);
|
||||
u=AQCGI_Service_LoadUser(sv, sModName);
|
||||
if (u)
|
||||
AQH_User_List_Add(u, userList);
|
||||
AQCGI_User_List_Add(u, userList);
|
||||
}
|
||||
se=GWEN_StringListEntry_Next(se);
|
||||
}
|
||||
GWEN_StringList_free(slUserNames);
|
||||
if (AQH_User_List_GetCount(userList))
|
||||
if (AQCGI_User_List_GetCount(userList))
|
||||
return userList;
|
||||
AQH_User_List_free(userList);
|
||||
AQCGI_User_List_free(userList);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
@@ -903,9 +903,9 @@ void AQH_ModService_RedirectWithReferer(AQCGI_REQUEST *rq, const char *destLocat
|
||||
|
||||
|
||||
|
||||
void AQH_ModService_DenyRequest(AQH_MODULE *m, AQCGI_REQUEST *rq, const AQH_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
void AQH_ModService_DenyRequest(AQCGI_MODULE *m, AQCGI_REQUEST *rq, const AQCGI_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
if (session && AQH_Session_GetUser(session)) {
|
||||
if (session && AQCGI_Session_GetUser(session)) {
|
||||
/* no permissions */
|
||||
AQCGI_Request_SetResponseCode(rq, 403);
|
||||
AQCGI_Request_SetResponseText(rq, "Forbidden");
|
||||
@@ -914,7 +914,7 @@ void AQH_ModService_DenyRequest(AQH_MODULE *m, AQCGI_REQUEST *rq, const AQH_SESS
|
||||
}
|
||||
else {
|
||||
/* need login */
|
||||
AQH_ModService_RedirectWithReferer(rq, AQH_Service_GetLoginUrl(AQH_ModService_GetService(m)));
|
||||
AQH_ModService_RedirectWithReferer(rq, AQCGI_Service_GetLoginUrl(AQH_ModService_GetService(m)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
#ifndef AQHOME_CGI_MSERVICE_H
|
||||
#define AQHOME_CGI_MSERVICE_H
|
||||
|
||||
#include <aqhome-cgi/service/module.h>
|
||||
#include <aqhome-cgi/service/service.h>
|
||||
#include <aqhome-cgi/service/session.h>
|
||||
#include <aqcgi/service/module.h>
|
||||
#include <aqcgi/service/service.h>
|
||||
#include <aqcgi/service/session.h>
|
||||
|
||||
#include <aqcgi/request.h>
|
||||
|
||||
@@ -22,10 +22,10 @@
|
||||
|
||||
|
||||
|
||||
typedef int (*AQH_MODSERVICE_HANDLEREQUEST_FN)(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const char *sLastPathElem);
|
||||
typedef AQH_MODULE* (*AQH_MODSERVICE_LOADSUBMODULE_FN)(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const char *sModuleName);
|
||||
typedef void (*AQH_MODSERVICE_ADDHEADER_FN)(AQH_MODULE *m, const char *lang, GWEN_BUFFER *dbuf);
|
||||
typedef void (*AQH_MODSERVICE_ADDFOOTER_FN)(AQH_MODULE *m, const char *lang, GWEN_BUFFER *dbuf);
|
||||
typedef int (*AQH_MODSERVICE_HANDLEREQUEST_FN)(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, const char *sLastPathElem);
|
||||
typedef AQCGI_MODULE* (*AQH_MODSERVICE_LOADSUBMODULE_FN)(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, const char *sModuleName);
|
||||
typedef void (*AQH_MODSERVICE_ADDHEADER_FN)(AQCGI_MODULE *m, const char *lang, GWEN_BUFFER *dbuf);
|
||||
typedef void (*AQH_MODSERVICE_ADDFOOTER_FN)(AQCGI_MODULE *m, const char *lang, GWEN_BUFFER *dbuf);
|
||||
|
||||
|
||||
typedef struct AQH_MODSERVICE_HANDLER_ENTRY AQH_MODSERVICE_HANDLER_ENTRY;
|
||||
@@ -33,52 +33,52 @@ struct AQH_MODSERVICE_HANDLER_ENTRY {
|
||||
const char *page;
|
||||
int httpMethod;
|
||||
uint32_t perms;
|
||||
void (*handlerFn)(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
void (*handlerFn)(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
};
|
||||
|
||||
|
||||
|
||||
void AQH_ModService_Extend(AQH_MODULE *m, AQH_SERVICE *sv, const char *baseFolder);
|
||||
void AQH_ModService_Extend(AQCGI_MODULE *m, AQCGI_SERVICE *sv, const char *baseFolder);
|
||||
|
||||
AQH_SERVICE *AQH_ModService_GetService(const AQH_MODULE *m);
|
||||
const char *AQH_ModService_GetBaseFolder(const AQH_MODULE *m);
|
||||
AQCGI_SERVICE *AQH_ModService_GetService(const AQCGI_MODULE *m);
|
||||
const char *AQH_ModService_GetBaseFolder(const AQCGI_MODULE *m);
|
||||
|
||||
uint32_t AQH_ModService_GetUserPerms(const AQH_MODULE *m);
|
||||
uint32_t AQH_ModService_GetUserPerms(const AQCGI_MODULE *m);
|
||||
|
||||
void AQH_ModService_AddHeader(AQH_MODULE *m, const char *lang, GWEN_BUFFER *dbuf);
|
||||
void AQH_ModService_AddFooter(AQH_MODULE *m, const char *lang, GWEN_BUFFER *dbuf);
|
||||
void AQH_ModService_AddHeader(AQCGI_MODULE *m, const char *lang, GWEN_BUFFER *dbuf);
|
||||
void AQH_ModService_AddFooter(AQCGI_MODULE *m, const char *lang, GWEN_BUFFER *dbuf);
|
||||
|
||||
AQH_MODULE *AQH_ModService_LoadSubModule(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const char *sModuleName);
|
||||
int AQH_ModService_HandleRequest(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const char *sLastPathElem);
|
||||
AQCGI_MODULE *AQH_ModService_LoadSubModule(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, const char *sModuleName);
|
||||
int AQH_ModService_HandleRequest(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, const char *sLastPathElem);
|
||||
|
||||
AQH_SESSION *AQH_ModService_ReadSession(AQH_MODULE *m, AQCGI_REQUEST *rq);
|
||||
void AQH_ModService_CalcSessionModPerms(AQH_MODULE *m, const AQH_SESSION *session);
|
||||
AQCGI_SESSION *AQH_ModService_ReadSession(AQCGI_MODULE *m, AQCGI_REQUEST *rq);
|
||||
void AQH_ModService_CalcSessionModPerms(AQCGI_MODULE *m, const AQCGI_SESSION *session);
|
||||
|
||||
void AQH_ModService_HandleRequestWithTable(AQH_MODULE *m,
|
||||
void AQH_ModService_HandleRequestWithTable(AQCGI_MODULE *m,
|
||||
AQCGI_REQUEST *rq,
|
||||
AQH_SESSION *session,
|
||||
AQCGI_SESSION *session,
|
||||
const char *page,
|
||||
const AQH_MODSERVICE_HANDLER_ENTRY *e);
|
||||
|
||||
int AQH_ModService_RespondWithFile(AQH_MODULE *m, AQCGI_REQUEST *rq, const char *lang, const char *sFilename, GWEN_BUFFER *dbuf);
|
||||
int AQH_ModService_ReadStaticFile(AQH_MODULE *m, const char *lang, const char *filename, GWEN_BUFFER *dbuf);
|
||||
int AQH_ModService_RespondWithFile(AQCGI_MODULE *m, AQCGI_REQUEST *rq, const char *lang, const char *sFilename, GWEN_BUFFER *dbuf);
|
||||
int AQH_ModService_ReadStaticFile(AQCGI_MODULE *m, const char *lang, const char *filename, GWEN_BUFFER *dbuf);
|
||||
|
||||
void AQH_ModService_AddPermDef(AQH_PERMDEF_LIST *permDefList, const char *id, uint32_t mask, const char *descr);
|
||||
void AQH_ModService_AddRole(AQH_ROLE_LIST *roleList, int id, const char *name, uint32_t perms, const char *descr);
|
||||
void AQH_ModService_AddPermDef(AQCGI_PERMDEF_LIST *permDefList, const char *id, uint32_t mask, const char *descr);
|
||||
void AQH_ModService_AddRole(AQCGI_ROLE_LIST *roleList, int id, const char *name, uint32_t perms, const char *descr);
|
||||
|
||||
|
||||
void AQH_ModService_WritePermsToForm(uint32_t perms, const AQH_PERMDEF_LIST *permDefList, const char *sPrefix, GWEN_BUFFER *dbuf);
|
||||
uint32_t AQH_ModService_ReadPermsFromForm(GWEN_DB_NODE *dbPost, const AQH_PERMDEF_LIST *permDefList, const char *sPrefix);
|
||||
void AQH_ModService_WritePermsToForm(uint32_t perms, const AQCGI_PERMDEF_LIST *permDefList, const char *sPrefix, GWEN_BUFFER *dbuf);
|
||||
uint32_t AQH_ModService_ReadPermsFromForm(GWEN_DB_NODE *dbPost, const AQCGI_PERMDEF_LIST *permDefList, const char *sPrefix);
|
||||
|
||||
AQH_MODULE_LIST *AQH_ModService_LoadRawModules(AQH_MODULE *m);
|
||||
AQH_USER_LIST *AQH_ModService_LoadRawUsers(AQH_MODULE *m);
|
||||
AQCGI_MODULE_LIST *AQH_ModService_LoadRawModules(AQCGI_MODULE *m);
|
||||
AQCGI_USER_LIST *AQH_ModService_LoadRawUsers(AQCGI_MODULE *m);
|
||||
|
||||
|
||||
void AQH_ModService_SetHandleRequestFn(AQH_MODULE *m, AQH_MODSERVICE_HANDLEREQUEST_FN fn);
|
||||
void AQH_ModService_SetLoadSubModuleFn(AQH_MODULE *m, AQH_MODSERVICE_LOADSUBMODULE_FN fn);
|
||||
void AQH_ModService_SetHandleRequestFn(AQCGI_MODULE *m, AQH_MODSERVICE_HANDLEREQUEST_FN fn);
|
||||
void AQH_ModService_SetLoadSubModuleFn(AQCGI_MODULE *m, AQH_MODSERVICE_LOADSUBMODULE_FN fn);
|
||||
|
||||
void AQH_ModService_SetAddHeaderFn(AQH_MODULE *m, AQH_MODSERVICE_ADDHEADER_FN fn);
|
||||
void AQH_ModService_SetAddFooterFn(AQH_MODULE *m, AQH_MODSERVICE_ADDFOOTER_FN fn);
|
||||
void AQH_ModService_SetAddHeaderFn(AQCGI_MODULE *m, AQH_MODSERVICE_ADDHEADER_FN fn);
|
||||
void AQH_ModService_SetAddFooterFn(AQCGI_MODULE *m, AQH_MODSERVICE_ADDFOOTER_FN fn);
|
||||
|
||||
void AQH_ModService_EscapeToBuffer(const char *src, GWEN_BUFFER *buf);
|
||||
void AQH_ModService_UnescapeToBuffer(const char *src, GWEN_BUFFER *buf);
|
||||
@@ -86,7 +86,7 @@ void AQH_ModService_UnescapeToBuffer(const char *src, GWEN_BUFFER *buf);
|
||||
int AQH_ModService_FileIsCurrent(const char *sPath, int seconds);
|
||||
|
||||
int AQH_ModService_RespondWithMimeFile(AQCGI_REQUEST *rq, const char *sFilename, const char *sMimeType, GWEN_BUFFER *dbuf);
|
||||
int AQH_ModService_RespondWithVarFile(AQH_MODULE *m, AQCGI_REQUEST *rq,
|
||||
int AQH_ModService_RespondWithVarFile(AQCGI_MODULE *m, AQCGI_REQUEST *rq,
|
||||
const char *lang,
|
||||
const char *sFilename,
|
||||
GWEN_DB_NODE *dbVars,
|
||||
@@ -95,7 +95,7 @@ int AQH_ModService_RespondWithVarFile(AQH_MODULE *m, AQCGI_REQUEST *rq,
|
||||
int AQH_ModService_AddRequestUrl(const AQCGI_REQUEST *rq, GWEN_BUFFER *dbuf);
|
||||
void AQH_ModService_Redirect(AQCGI_REQUEST *rq, const char *destLocation);
|
||||
void AQH_ModService_RedirectWithReferer(AQCGI_REQUEST *rq, const char *destLocation);
|
||||
void AQH_ModService_DenyRequest(AQH_MODULE *m, AQCGI_REQUEST *rq, const AQH_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
void AQH_ModService_DenyRequest(AQCGI_MODULE *m, AQCGI_REQUEST *rq, const AQCGI_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
typedef struct AQH_MOD_SERVICE AQH_MOD_SERVICE;
|
||||
struct AQH_MOD_SERVICE {
|
||||
AQH_SERVICE *service;
|
||||
AQCGI_SERVICE *service;
|
||||
char *baseFolder;
|
||||
uint32_t userPerms;
|
||||
|
||||
|
||||
@@ -36,33 +36,33 @@
|
||||
* ------------------------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
static void _createPermDefList(AQH_MODULE *m);
|
||||
static void _createRoleList(AQH_MODULE *m);
|
||||
static void _createPermDefList(AQCGI_MODULE *m);
|
||||
static void _createRoleList(AQCGI_MODULE *m);
|
||||
|
||||
static AQH_MODULE *_loadSubModule(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const char *sModuleName);
|
||||
static int _handleRequest(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const char *sLastPathElem);
|
||||
static void _handleRqIndex(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static void _handleRqEditUserGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static void _handleRqEditUserPost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static void _handleRqAddUserGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static void _handleRqAddUserPost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static AQCGI_MODULE *_loadSubModule(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, const char *sModuleName);
|
||||
static int _handleRequest(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, const char *sLastPathElem);
|
||||
static void _handleRqIndex(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static void _handleRqEditUserGet(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static void _handleRqEditUserPost(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static void _handleRqAddUserGet(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
static void _handleRqAddUserPost(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf);
|
||||
|
||||
static int _getHighestUserId(const AQH_USER_LIST *userList);
|
||||
static int _modulePermsHasRole(const AQH_MODULE_PERMS *modPerms, uint8_t rid);
|
||||
static int _getHighestUserId(const AQCGI_USER_LIST *userList);
|
||||
static int _modulePermsHasRole(const AQCGI_MODULE_PERMS *modPerms, uint8_t rid);
|
||||
|
||||
static void _writeEditUserForm(AQH_MODULE *m,
|
||||
const AQH_USER *u,
|
||||
static void _writeEditUserForm(AQCGI_MODULE *m,
|
||||
const AQCGI_USER *u,
|
||||
const char *sAlias,
|
||||
const char *sUrl,
|
||||
const char *sSubmitText,
|
||||
GWEN_BUFFER *dbuf);
|
||||
static void _writeUserModRolesToForm(const AQH_ROLE_LIST *roles, const AQH_MODULE_PERMS *perms, const char *sModName, GWEN_BUFFER *dbuf);
|
||||
static void _writeUserModRolesToForm(const AQCGI_ROLE_LIST *roles, const AQCGI_MODULE_PERMS *perms, const char *sModName, GWEN_BUFFER *dbuf);
|
||||
|
||||
static void _readAllModRolesForUserFromForm(AQH_MODULE *m, GWEN_DB_NODE *dbPost, AQH_USER *u);
|
||||
static void _readAllModRolesForUserFromForm(AQCGI_MODULE *m, GWEN_DB_NODE *dbPost, AQCGI_USER *u);
|
||||
static void _readModRolesFromForm(GWEN_DB_NODE *dbPost,
|
||||
const AQH_ROLE_LIST *roleList,
|
||||
const AQCGI_ROLE_LIST *roleList,
|
||||
const char *sPrefix,
|
||||
AQH_MODULE_PERMS *modPerms);
|
||||
AQCGI_MODULE_PERMS *modPerms);
|
||||
|
||||
static void _addLabelAndInputToFormTableH(const char *title, const char *name, const char *value, const char *xxtra, GWEN_BUFFER *dbuf);
|
||||
static void _addUserStateLabelAndSelectionToFormTableH(const char *sTitle, const char *sName, int st, GWEN_BUFFER *dbuf);
|
||||
@@ -91,7 +91,7 @@ static AQH_MODSERVICE_HANDLER_ENTRY _requestTable[]={
|
||||
* ------------------------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
void AQH_ModAdmUsers_Extend(AQH_MODULE *m, AQH_SERVICE *sv, const char *baseFolder)
|
||||
void AQH_ModAdmUsers_Extend(AQCGI_MODULE *m, AQCGI_SERVICE *sv, const char *baseFolder)
|
||||
{
|
||||
AQH_ModService_Extend(m, sv, baseFolder);
|
||||
AQH_ModService_SetHandleRequestFn(m, _handleRequest);
|
||||
@@ -100,63 +100,63 @@ void AQH_ModAdmUsers_Extend(AQH_MODULE *m, AQH_SERVICE *sv, const char *baseFold
|
||||
|
||||
|
||||
|
||||
int AQH_ModAdmUsers_Create(AQH_SERVICE *sv)
|
||||
int AQH_ModAdmUsers_Create(AQCGI_SERVICE *sv)
|
||||
{
|
||||
AQH_MODULE *m;
|
||||
AQCGI_MODULE *m;
|
||||
int rv;
|
||||
|
||||
m=AQH_Module_new();
|
||||
AQH_Module_SetName(m, "users");
|
||||
AQH_Module_SetDescr(m, "user administration module");
|
||||
AQH_Module_SetGuestPerms(m, 0);
|
||||
m=AQCGI_Module_new();
|
||||
AQCGI_Module_SetName(m, "users");
|
||||
AQCGI_Module_SetDescr(m, "user administration module");
|
||||
AQCGI_Module_SetGuestPerms(m, 0);
|
||||
|
||||
_createPermDefList(m);
|
||||
_createRoleList(m);
|
||||
|
||||
rv=AQH_Service_AddModule(sv, m);
|
||||
rv=AQCGI_Service_AddModule(sv, m);
|
||||
if (rv<0) {
|
||||
DBG_INFO(NULL, "here (%d)", rv);
|
||||
}
|
||||
AQH_Module_free(m);
|
||||
AQCGI_Module_free(m);
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void _createPermDefList(AQH_MODULE *m)
|
||||
void _createPermDefList(AQCGI_MODULE *m)
|
||||
{
|
||||
AQH_PERMDEF_LIST *permDefList;
|
||||
AQCGI_PERMDEF_LIST *permDefList;
|
||||
|
||||
permDefList=AQH_PermDef_List_new();
|
||||
permDefList=AQCGI_PermDef_List_new();
|
||||
|
||||
AQH_ModService_AddPermDef(permDefList, "UserRead", 0x001, "Read users");
|
||||
AQH_ModService_AddPermDef(permDefList, "UserWrite", 0x002, "Modify users");
|
||||
AQH_ModService_AddPermDef(permDefList, "UserAdd", 0x004, "Add users");
|
||||
AQH_ModService_AddPermDef(permDefList, "UserDel", 0x008, "Remove users");
|
||||
|
||||
AQH_Module_SetPermDefList(m, permDefList);
|
||||
AQCGI_Module_SetPermDefList(m, permDefList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void _createRoleList(AQH_MODULE *m)
|
||||
void _createRoleList(AQCGI_MODULE *m)
|
||||
{
|
||||
AQH_ROLE_LIST *roleList;
|
||||
AQCGI_ROLE_LIST *roleList;
|
||||
int id=1;
|
||||
|
||||
roleList=AQH_Role_List_new();
|
||||
roleList=AQCGI_Role_List_new();
|
||||
AQH_ModService_AddRole(roleList, id++, "admin",
|
||||
AQH_MODADMUSERS_PERMS_USERSREAD |
|
||||
AQH_MODADMUSERS_PERMS_USERSWRITE |
|
||||
AQH_MODADMUSERS_PERMS_USERSADD |
|
||||
AQH_MODADMUSERS_PERMS_USERSDEL,
|
||||
"Administrator Role");
|
||||
AQH_Module_SetRoleList(m, roleList);
|
||||
AQCGI_Module_SetRoleList(m, roleList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
AQH_MODULE *_loadSubModule(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const char *sModuleName)
|
||||
AQCGI_MODULE *_loadSubModule(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, const char *sModuleName)
|
||||
{
|
||||
/* no sub-modules */
|
||||
return NULL;
|
||||
@@ -164,7 +164,7 @@ AQH_MODULE *_loadSubModule(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *sessio
|
||||
|
||||
|
||||
|
||||
int _handleRequest(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const char *sLastPathElem)
|
||||
int _handleRequest(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, const char *sLastPathElem)
|
||||
{
|
||||
AQH_ModService_HandleRequestWithTable(m, rq, session, sLastPathElem, _requestTable);
|
||||
return AQCGI_SendResponse(rq);
|
||||
@@ -172,9 +172,9 @@ int _handleRequest(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, const
|
||||
|
||||
|
||||
|
||||
void _handleRqIndex(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
void _handleRqIndex(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
AQH_USER_LIST *userList;
|
||||
AQCGI_USER_LIST *userList;
|
||||
uint32_t perms;
|
||||
|
||||
perms=AQH_ModService_GetUserPerms(m);
|
||||
@@ -188,31 +188,31 @@ void _handleRqIndex(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN
|
||||
"</thead>\n"
|
||||
"<tbody>\n");
|
||||
if (userList) {
|
||||
const AQH_USER *u;
|
||||
const AQCGI_USER *u;
|
||||
|
||||
AQH_User_List_SortByAlias(userList, 1);
|
||||
u=AQH_User_List_First(userList);
|
||||
AQCGI_User_List_SortByAlias(userList, 1);
|
||||
u=AQCGI_User_List_First(userList);
|
||||
while(u) {
|
||||
const char *sUserAlias;
|
||||
|
||||
sUserAlias=AQH_User_GetAlias(u);
|
||||
sUserAlias=AQCGI_User_GetAlias(u);
|
||||
if (sUserAlias && *sUserAlias) {
|
||||
uint32_t id;
|
||||
const char *s;
|
||||
const char *sAlias;
|
||||
|
||||
id=AQH_User_GetId(u);
|
||||
sAlias=AQH_User_GetAlias(u);
|
||||
id=AQCGI_User_GetId(u);
|
||||
sAlias=AQCGI_User_GetAlias(u);
|
||||
GBAS(dbuf, "<tr>");
|
||||
GBAA(dbuf, "<td>%lu</td>", (unsigned long int) id);
|
||||
GBAA(dbuf, "<td>%s</td>", sAlias?sAlias:"");
|
||||
s=AQH_User_GetName(u);
|
||||
s=AQCGI_User_GetName(u);
|
||||
GBAA(dbuf, "<td>%s</td>", s?s:"");
|
||||
s=AQH_UserState_toString(AQH_User_GetState(u));
|
||||
s=AQCGI_UserState_toString(AQCGI_User_GetState(u));
|
||||
GBAA(dbuf, "<td>%s</td>", s?s:"");
|
||||
s=AQH_User_GetEmail(u);
|
||||
s=AQCGI_User_GetEmail(u);
|
||||
GBAA(dbuf, "<td>%s</td>", s?s:"");
|
||||
s=AQH_User_GetNotes(u);
|
||||
s=AQCGI_User_GetNotes(u);
|
||||
GBAA(dbuf, "<td>%s</td>", s?s:"");
|
||||
|
||||
GBAS(dbuf, "<td>");
|
||||
@@ -225,12 +225,12 @@ void _handleRqIndex(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN
|
||||
GBAA(dbuf, "</td>\n");
|
||||
GBAA(dbuf, "</tr>\n");
|
||||
}
|
||||
u=AQH_User_List_Next(u);
|
||||
u=AQCGI_User_List_Next(u);
|
||||
}
|
||||
GBAS(dbuf,
|
||||
"</tbody>\n"
|
||||
"</table>\n");
|
||||
AQH_User_List_free(userList);
|
||||
AQCGI_User_List_free(userList);
|
||||
}
|
||||
if (perms & AQH_MODADMUSERS_PERMS_USERSADD)
|
||||
GBAS(dbuf, "<hr><a href=\"adduser.html\">Add User</a>");
|
||||
@@ -238,20 +238,20 @@ void _handleRqIndex(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN
|
||||
|
||||
|
||||
|
||||
void _handleRqEditUserGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
void _handleRqEditUserGet(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
AQH_SERVICE *sv;
|
||||
AQCGI_SERVICE *sv;
|
||||
GWEN_DB_NODE *dbQuery;
|
||||
const char *sAlias;
|
||||
AQH_USER *user;
|
||||
AQCGI_USER *user;
|
||||
|
||||
sv=AQH_ModService_GetService(m);
|
||||
dbQuery=AQCGI_Request_GetDbQuery(rq);
|
||||
sAlias=dbQuery?GWEN_DB_GetCharValue(dbQuery, "alias", 0, NULL):NULL;
|
||||
user=(sAlias && *sAlias)?AQH_Service_LoadUser(sv, sAlias):NULL;
|
||||
user=(sAlias && *sAlias)?AQCGI_Service_LoadUser(sv, sAlias):NULL;
|
||||
if (user) {
|
||||
_writeEditUserForm(m, user, sAlias, "edituser.html", "Save", dbuf);
|
||||
AQH_User_free(user);
|
||||
AQCGI_User_free(user);
|
||||
}
|
||||
else {
|
||||
AQCGI_Request_AddResponseHeaderData(rq, "Location: index.html");
|
||||
@@ -262,44 +262,44 @@ void _handleRqEditUserGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session
|
||||
|
||||
|
||||
|
||||
void _handleRqEditUserPost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
void _handleRqEditUserPost(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
AQH_SERVICE *sv;
|
||||
AQCGI_SERVICE *sv;
|
||||
GWEN_DB_NODE *dbPost;
|
||||
const char *sAlias;
|
||||
AQH_USER *u;
|
||||
AQCGI_USER *u;
|
||||
|
||||
sv=AQH_ModService_GetService(m);
|
||||
dbPost=AQCGI_Request_GetDbPostBody(rq);
|
||||
sAlias=dbPost?GWEN_DB_GetCharValue(dbPost, "alias", 0, NULL):NULL;
|
||||
u=(sAlias && *sAlias)?AQH_Service_LoadUser(sv, sAlias):NULL;
|
||||
u=(sAlias && *sAlias)?AQCGI_Service_LoadUser(sv, sAlias):NULL;
|
||||
if (u) {
|
||||
const char *s;
|
||||
int state;
|
||||
int rv;
|
||||
|
||||
s=GWEN_DB_GetCharValue(dbPost, "name", 0, NULL);
|
||||
AQH_User_SetName(u, s);
|
||||
AQCGI_User_SetName(u, s);
|
||||
s=GWEN_DB_GetCharValue(dbPost, "email", 0, NULL);
|
||||
AQH_User_SetEmail(u, s);
|
||||
AQCGI_User_SetEmail(u, s);
|
||||
s=GWEN_DB_GetCharValue(dbPost, "notes", 0, NULL);
|
||||
AQH_User_SetNotes(u, s);
|
||||
AQCGI_User_SetNotes(u, s);
|
||||
s=GWEN_DB_GetCharValue(dbPost, "status", 0, NULL);
|
||||
state=(s && *s)?AQH_UserState_fromString(s):AQH_UserState_Unknown;
|
||||
if (state!=AQH_UserState_Unknown)
|
||||
AQH_User_SetState(u, state);
|
||||
state=(s && *s)?AQCGI_UserState_fromString(s):AQCGI_UserState_Unknown;
|
||||
if (state!=AQCGI_UserState_Unknown)
|
||||
AQCGI_User_SetState(u, state);
|
||||
|
||||
_readAllModRolesForUserFromForm(m, dbPost, u);
|
||||
|
||||
rv=AQH_Service_SaveUser(sv, u);
|
||||
rv=AQCGI_Service_SaveUser(sv, u);
|
||||
if (rv<0) {
|
||||
GBAS(dbuf, "<h2>Error</h2><p>Error saving user</p>");
|
||||
DBG_ERROR(NULL, "Could not save user \"%s\"", sAlias);
|
||||
AQH_User_free(u);
|
||||
AQCGI_User_free(u);
|
||||
return;
|
||||
}
|
||||
DBG_ERROR(NULL, "User \"%s\" saved", sAlias);
|
||||
AQH_User_free(u);
|
||||
AQCGI_User_free(u);
|
||||
AQCGI_Request_AddResponseHeaderData(rq, "Location: index.html");
|
||||
AQCGI_Request_SetResponseCode(rq, 303);
|
||||
AQCGI_Request_SetResponseText(rq, "See other");
|
||||
@@ -312,7 +312,7 @@ void _handleRqEditUserPost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *sessio
|
||||
|
||||
|
||||
|
||||
void _handleRqAddUserGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
void _handleRqAddUserGet(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
DBG_ERROR(NULL, "AddUser");
|
||||
_writeEditUserForm(m, NULL, NULL, "adduser.html", "Add", dbuf);
|
||||
@@ -320,9 +320,9 @@ void _handleRqAddUserGet(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session,
|
||||
|
||||
|
||||
|
||||
void _handleRqAddUserPost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
void _handleRqAddUserPost(AQCGI_MODULE *m, AQCGI_REQUEST *rq, AQCGI_SESSION *session, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
AQH_SERVICE *sv;
|
||||
AQCGI_SERVICE *sv;
|
||||
GWEN_DB_NODE *dbPost;
|
||||
const char *sAlias;
|
||||
|
||||
@@ -331,43 +331,41 @@ void _handleRqAddUserPost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session
|
||||
sAlias=dbPost?GWEN_DB_GetCharValue(dbPost, "alias", 0, NULL):NULL;
|
||||
// TODO: check alias validity
|
||||
if (sAlias) {
|
||||
AQH_USER *u;
|
||||
AQCGI_USER *u;
|
||||
const char *s;
|
||||
int state;
|
||||
int rv;
|
||||
uint32_t userId;
|
||||
AQH_USER_LIST *userList;
|
||||
AQCGI_USER_LIST *userList;
|
||||
|
||||
u=AQH_User_new();
|
||||
u=AQCGI_User_new();
|
||||
userList=AQH_ModService_LoadRawUsers(m);
|
||||
userId=_getHighestUserId(userList)+1;
|
||||
AQH_User_SetId(u, userId);
|
||||
AQH_User_SetAlias(u, sAlias);
|
||||
AQCGI_User_SetId(u, userId);
|
||||
AQCGI_User_SetAlias(u, sAlias);
|
||||
s=GWEN_DB_GetCharValue(dbPost, "name", 0, NULL);
|
||||
AQH_User_SetName(u, s);
|
||||
AQCGI_User_SetName(u, s);
|
||||
s=GWEN_DB_GetCharValue(dbPost, "email", 0, NULL);
|
||||
AQH_User_SetEmail(u, s);
|
||||
AQCGI_User_SetEmail(u, s);
|
||||
s=GWEN_DB_GetCharValue(dbPost, "notes", 0, NULL);
|
||||
AQH_User_SetNotes(u, s);
|
||||
AQCGI_User_SetNotes(u, s);
|
||||
s=GWEN_DB_GetCharValue(dbPost, "status", 0, NULL);
|
||||
state=(s && *s)?AQH_UserState_fromString(s):AQH_UserState_Unknown;
|
||||
if (state!=AQH_UserState_Unknown)
|
||||
AQH_User_SetState(u, state);
|
||||
state=(s && *s)?AQCGI_UserState_fromString(s):AQCGI_UserState_Unknown;
|
||||
if (state!=AQCGI_UserState_Unknown)
|
||||
AQCGI_User_SetState(u, state);
|
||||
|
||||
rv=AQH_Service_AddUser(sv, u);
|
||||
rv=AQCGI_Service_AddUser(sv, u);
|
||||
if (rv<0) {
|
||||
GBAS(dbuf, "<h2>Error</h2><p>Error saving user</p>");
|
||||
DBG_ERROR(NULL, "Could not save user \"%s\" (%d)", sAlias, rv);
|
||||
AQH_User_free(u);
|
||||
AQH_User_List_free(userList);
|
||||
AQCGI_User_free(u);
|
||||
AQCGI_User_List_free(userList);
|
||||
return;
|
||||
}
|
||||
DBG_ERROR(NULL, "User \"%s\" saved", sAlias);
|
||||
AQH_User_free(u);
|
||||
AQCGI_Request_AddResponseHeaderData(rq, "Location: index.html");
|
||||
AQCGI_Request_SetResponseCode(rq, 303);
|
||||
AQCGI_Request_SetResponseText(rq, "See other");
|
||||
AQH_User_List_free(userList);
|
||||
AQCGI_User_free(u);
|
||||
AQH_ModService_Redirect(rq, "index.html");
|
||||
AQCGI_User_List_free(userList);
|
||||
}
|
||||
else {
|
||||
DBG_ERROR(NULL, "Missing alias");
|
||||
@@ -377,20 +375,20 @@ void _handleRqAddUserPost(AQH_MODULE *m, AQCGI_REQUEST *rq, AQH_SESSION *session
|
||||
|
||||
|
||||
|
||||
int _getHighestUserId(const AQH_USER_LIST *userList)
|
||||
int _getHighestUserId(const AQCGI_USER_LIST *userList)
|
||||
{
|
||||
int id=0;
|
||||
|
||||
if (userList) {
|
||||
const AQH_USER *user;
|
||||
const AQCGI_USER *user;
|
||||
|
||||
user=AQH_User_List_First(userList);
|
||||
user=AQCGI_User_List_First(userList);
|
||||
while(user) {
|
||||
int uid;
|
||||
|
||||
uid=AQH_User_GetId(user);
|
||||
uid=AQCGI_User_GetId(user);
|
||||
id=(uid>id)?uid:id;
|
||||
user=AQH_User_List_Next(user);
|
||||
user=AQCGI_User_List_Next(user);
|
||||
}
|
||||
}
|
||||
return id;
|
||||
@@ -398,15 +396,15 @@ int _getHighestUserId(const AQH_USER_LIST *userList)
|
||||
|
||||
|
||||
|
||||
int _modulePermsHasRole(const AQH_MODULE_PERMS *modPerms, uint8_t rid)
|
||||
int _modulePermsHasRole(const AQCGI_MODULE_PERMS *modPerms, uint8_t rid)
|
||||
{
|
||||
if (modPerms) {
|
||||
int arraySize;
|
||||
int i;
|
||||
|
||||
arraySize=AQH_ModulePerms_GetRoleArrayArraySize();
|
||||
arraySize=AQCGI_ModulePerms_GetRoleArrayArraySize();
|
||||
for(i=0; i<arraySize; i++) {
|
||||
if (AQH_ModulePerms_GetRoleArrayAt(modPerms, i)==rid)
|
||||
if (AQCGI_ModulePerms_GetRoleArrayAt(modPerms, i)==rid)
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -418,14 +416,14 @@ int _modulePermsHasRole(const AQH_MODULE_PERMS *modPerms, uint8_t rid)
|
||||
|
||||
|
||||
|
||||
void _writeEditUserForm(AQH_MODULE *m,
|
||||
const AQH_USER *u,
|
||||
void _writeEditUserForm(AQCGI_MODULE *m,
|
||||
const AQCGI_USER *u,
|
||||
const char *sAlias,
|
||||
const char *sUrl,
|
||||
const char *sSubmitText,
|
||||
GWEN_BUFFER *dbuf)
|
||||
{
|
||||
AQH_MODULE_LIST *moduleList;
|
||||
AQCGI_MODULE_LIST *moduleList;
|
||||
|
||||
/* write user info */
|
||||
GBAS(dbuf, "<h2>User Info</h2>\n");
|
||||
@@ -434,10 +432,10 @@ void _writeEditUserForm(AQH_MODULE *m,
|
||||
"<table class=\"formtable\">\n",
|
||||
sUrl?sUrl:"");
|
||||
_addLabelAndInputToFormTableH("Alias", "alias", sAlias, "required", dbuf);
|
||||
_addLabelAndInputToFormTableH("Name", "name", u?AQH_User_GetName(u):NULL, NULL, dbuf);
|
||||
_addLabelAndInputToFormTableH("Email", "email", u?AQH_User_GetEmail(u):NULL, NULL, dbuf);
|
||||
_addLabelAndInputToFormTableH("Notes", "notes", u?AQH_User_GetNotes(u):NULL, NULL, dbuf);
|
||||
_addUserStateLabelAndSelectionToFormTableH("Status", "status", u?AQH_User_GetState(u):AQH_UserState_Unknown, dbuf);
|
||||
_addLabelAndInputToFormTableH("Name", "name", u?AQCGI_User_GetName(u):NULL, NULL, dbuf);
|
||||
_addLabelAndInputToFormTableH("Email", "email", u?AQCGI_User_GetEmail(u):NULL, NULL, dbuf);
|
||||
_addLabelAndInputToFormTableH("Notes", "notes", u?AQCGI_User_GetNotes(u):NULL, NULL, dbuf);
|
||||
_addUserStateLabelAndSelectionToFormTableH("Status", "status", u?AQCGI_User_GetState(u):AQCGI_UserState_Unknown, dbuf);
|
||||
|
||||
GBAS(dbuf, "</table>\n");
|
||||
|
||||
@@ -451,26 +449,26 @@ void _writeEditUserForm(AQH_MODULE *m,
|
||||
"<tbody>\n");
|
||||
moduleList=AQH_ModService_LoadRawModules(m);
|
||||
if (moduleList) {
|
||||
const AQH_MODULE_PERMS_LIST *modPermsList;
|
||||
const AQH_MODULE *currentMod;
|
||||
const AQCGI_MODULE_PERMS_LIST *modPermsList;
|
||||
const AQCGI_MODULE *currentMod;
|
||||
|
||||
modPermsList=u?AQH_User_GetModulePermList(u):NULL;
|
||||
currentMod=AQH_Module_List_First(moduleList);
|
||||
modPermsList=u?AQCGI_User_GetModulePermList(u):NULL;
|
||||
currentMod=AQCGI_Module_List_First(moduleList);
|
||||
while(currentMod) {
|
||||
const char *sModName;
|
||||
const AQH_MODULE_PERMS *modPerms;
|
||||
const AQCGI_MODULE_PERMS *modPerms;
|
||||
|
||||
sModName=AQH_Module_GetName(currentMod);
|
||||
sModName=AQCGI_Module_GetName(currentMod);
|
||||
GBAA(dbuf, "<tr><td>%s</td><td>", sModName);
|
||||
|
||||
modPerms=modPermsList?AQH_ModulePerms_List_GetByModuleId(modPermsList, sModName):NULL;
|
||||
_writeUserModRolesToForm(AQH_Module_GetRoleList(currentMod), modPerms, sModName, dbuf);
|
||||
modPerms=modPermsList?AQCGI_ModulePerms_List_GetByModuleId(modPermsList, sModName):NULL;
|
||||
_writeUserModRolesToForm(AQCGI_Module_GetRoleList(currentMod), modPerms, sModName, dbuf);
|
||||
GBAS(dbuf, "</td></tr>\n");
|
||||
GBAS(dbuf, "<td>");
|
||||
|
||||
currentMod=AQH_Module_List_Next(currentMod);
|
||||
currentMod=AQCGI_Module_List_Next(currentMod);
|
||||
} /* while */
|
||||
AQH_Module_List_free(moduleList);
|
||||
AQCGI_Module_List_free(moduleList);
|
||||
}
|
||||
GBAS(dbuf,
|
||||
"</tbody>\n"
|
||||
@@ -484,61 +482,61 @@ void _writeEditUserForm(AQH_MODULE *m,
|
||||
|
||||
|
||||
|
||||
void _readAllModRolesForUserFromForm(AQH_MODULE *m, GWEN_DB_NODE *dbPost, AQH_USER *u)
|
||||
void _readAllModRolesForUserFromForm(AQCGI_MODULE *m, GWEN_DB_NODE *dbPost, AQCGI_USER *u)
|
||||
{
|
||||
AQH_MODULE_LIST *moduleList;
|
||||
AQCGI_MODULE_LIST *moduleList;
|
||||
|
||||
moduleList=AQH_ModService_LoadRawModules(m);
|
||||
if (moduleList) {
|
||||
AQH_MODULE_PERMS_LIST *permsList;
|
||||
const AQH_MODULE *module;
|
||||
AQCGI_MODULE_PERMS_LIST *permsList;
|
||||
const AQCGI_MODULE *module;
|
||||
|
||||
permsList=AQH_User_GetModulePermList(u);
|
||||
permsList=AQCGI_User_GetModulePermList(u);
|
||||
if (permsList==NULL) {
|
||||
DBG_ERROR(NULL, "Creating module perms list for user");
|
||||
permsList=AQH_ModulePerms_List_new();
|
||||
AQH_User_SetModulePermList(u, permsList);
|
||||
permsList=AQCGI_ModulePerms_List_new();
|
||||
AQCGI_User_SetModulePermList(u, permsList);
|
||||
}
|
||||
|
||||
module=AQH_Module_List_First(moduleList);
|
||||
module=AQCGI_Module_List_First(moduleList);
|
||||
while(module) {
|
||||
const char *sModName;
|
||||
const AQH_ROLE_LIST *roleList;
|
||||
const AQCGI_ROLE_LIST *roleList;
|
||||
|
||||
sModName=AQH_Module_GetName(module);
|
||||
roleList=AQH_Module_GetRoleList(module);
|
||||
sModName=AQCGI_Module_GetName(module);
|
||||
roleList=AQCGI_Module_GetRoleList(module);
|
||||
if (sModName && *sModName && roleList) {
|
||||
AQH_MODULE_PERMS *modPerms;
|
||||
AQCGI_MODULE_PERMS *modPerms;
|
||||
|
||||
modPerms=AQH_ModulePerms_List_GetByModuleId(permsList, sModName);
|
||||
modPerms=AQCGI_ModulePerms_List_GetByModuleId(permsList, sModName);
|
||||
if (modPerms==NULL) {
|
||||
modPerms=AQH_ModulePerms_new();
|
||||
AQH_ModulePerms_SetModuleId(modPerms, sModName);
|
||||
AQH_ModulePerms_List_Add(modPerms, permsList);
|
||||
modPerms=AQCGI_ModulePerms_new();
|
||||
AQCGI_ModulePerms_SetModuleId(modPerms, sModName);
|
||||
AQCGI_ModulePerms_List_Add(modPerms, permsList);
|
||||
}
|
||||
_readModRolesFromForm(dbPost, roleList, sModName, modPerms);
|
||||
}
|
||||
module=AQH_Module_List_Next(module);
|
||||
module=AQCGI_Module_List_Next(module);
|
||||
}
|
||||
|
||||
AQH_Module_List_free(moduleList);
|
||||
AQCGI_Module_List_free(moduleList);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void _writeUserModRolesToForm(const AQH_ROLE_LIST *roleList, const AQH_MODULE_PERMS *modPerms, const char *sModName, GWEN_BUFFER *dbuf)
|
||||
void _writeUserModRolesToForm(const AQCGI_ROLE_LIST *roleList, const AQCGI_MODULE_PERMS *modPerms, const char *sModName, GWEN_BUFFER *dbuf)
|
||||
{
|
||||
if (roleList) {
|
||||
const AQH_ROLE *role;
|
||||
const AQCGI_ROLE *role;
|
||||
|
||||
role=AQH_Role_List_First(roleList);
|
||||
role=AQCGI_Role_List_First(roleList);
|
||||
while(role) {
|
||||
const char *sRoleName;
|
||||
uint8_t roleId;
|
||||
|
||||
roleId=AQH_Role_GetId(role);
|
||||
sRoleName=AQH_Role_GetName(role);
|
||||
roleId=AQCGI_Role_GetId(role);
|
||||
sRoleName=AQCGI_Role_GetName(role);
|
||||
if (sRoleName && *sRoleName) {
|
||||
int isChecked;
|
||||
|
||||
@@ -552,7 +550,7 @@ void _writeUserModRolesToForm(const AQH_ROLE_LIST *roleList, const AQH_MODULE_PE
|
||||
GBAA(dbuf, "<label for=\"%s\">%s</label>", sRoleName, sRoleName);
|
||||
}
|
||||
}
|
||||
role=AQH_Role_List_Next(role);
|
||||
role=AQCGI_Role_List_Next(role);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -560,15 +558,15 @@ void _writeUserModRolesToForm(const AQH_ROLE_LIST *roleList, const AQH_MODULE_PE
|
||||
|
||||
|
||||
void _readModRolesFromForm(GWEN_DB_NODE *dbPost,
|
||||
const AQH_ROLE_LIST *roleList,
|
||||
const AQCGI_ROLE_LIST *roleList,
|
||||
const char *sPrefix,
|
||||
AQH_MODULE_PERMS *modPerms)
|
||||
AQCGI_MODULE_PERMS *modPerms)
|
||||
{
|
||||
AQH_ModulePerms_PresetRoleArray(modPerms, 0);
|
||||
AQCGI_ModulePerms_PresetRoleArray(modPerms, 0);
|
||||
if (roleList) {
|
||||
GWEN_BUFFER *tbuf;
|
||||
uint32_t pos;
|
||||
const AQH_ROLE *role;
|
||||
const AQCGI_ROLE *role;
|
||||
int nextRolePos=0;
|
||||
|
||||
tbuf=GWEN_Buffer_new(0, 256, 0, 1);
|
||||
@@ -576,11 +574,11 @@ void _readModRolesFromForm(GWEN_DB_NODE *dbPost,
|
||||
GBAA(tbuf, "%s:", sPrefix);
|
||||
pos=GWEN_Buffer_GetPos(tbuf);
|
||||
|
||||
role=AQH_Role_List_First(roleList);
|
||||
role=AQCGI_Role_List_First(roleList);
|
||||
while(role) {
|
||||
const char *roleName;
|
||||
|
||||
roleName=AQH_Role_GetName(role);
|
||||
roleName=AQCGI_Role_GetName(role);
|
||||
if (roleName && *roleName) {
|
||||
const char *s;
|
||||
|
||||
@@ -588,15 +586,15 @@ void _readModRolesFromForm(GWEN_DB_NODE *dbPost,
|
||||
s=GWEN_DB_GetCharValue(dbPost, GWEN_Buffer_GetStart(tbuf), 0, NULL);
|
||||
/*DBG_ERROR(NULL, "Role string %s = [%s]", GWEN_Buffer_GetStart(tbuf), s?s:"<empty>");*/
|
||||
if (s && *s) {
|
||||
if (nextRolePos<AQH_ModulePerms_GetRoleArrayArraySize()) {
|
||||
/*DBG_ERROR(NULL, "Setting role \"%s\" (%d)", roleName, AQH_Role_GetId(role));*/
|
||||
AQH_ModulePerms_SetRoleArrayAt(modPerms, nextRolePos++, AQH_Role_GetId(role));
|
||||
if (nextRolePos<AQCGI_ModulePerms_GetRoleArrayArraySize()) {
|
||||
/*DBG_ERROR(NULL, "Setting role \"%s\" (%d)", roleName, AQCGI_Role_GetId(role));*/
|
||||
AQCGI_ModulePerms_SetRoleArrayAt(modPerms, nextRolePos++, AQCGI_Role_GetId(role));
|
||||
}
|
||||
}
|
||||
GWEN_Buffer_Crop(tbuf, 0, pos);
|
||||
}
|
||||
|
||||
role=AQH_Role_List_Next(role);
|
||||
role=AQCGI_Role_List_Next(role);
|
||||
} /* while */
|
||||
GWEN_Buffer_free(tbuf);
|
||||
}
|
||||
@@ -614,10 +612,10 @@ void _addUserStateLabelAndSelectionToFormTableH(const char *sTitle, const char *
|
||||
|
||||
GBAA(dbuf, "<tr><td><label for=\"%s\">%s:</label></td>", sName?sName:"", sTitle?sTitle:"");
|
||||
GBAA(dbuf, "<td><select name=\"%s\">", sName?sName:"");
|
||||
for(i=AQH_UserState_Unknown; i<=AQH_UserState_Active; i++) {
|
||||
for(i=AQCGI_UserState_Unknown; i<=AQCGI_UserState_Active; i++) {
|
||||
const char *s;
|
||||
|
||||
s=AQH_UserState_toString(i);
|
||||
s=AQCGI_UserState_toString(i);
|
||||
GBAA(dbuf, "<option value=\"%s\" %s>%s</option>", s, (i==st)?"selected":"", s);
|
||||
}
|
||||
GBAS(dbuf, "</select></td></tr>");
|
||||
|
||||
@@ -24,9 +24,9 @@
|
||||
|
||||
|
||||
|
||||
void AQH_ModAdmUsers_Extend(AQH_MODULE *m, AQH_SERVICE *sv, const char *baseFolder);
|
||||
void AQH_ModAdmUsers_Extend(AQCGI_MODULE *m, AQCGI_SERVICE *sv, const char *baseFolder);
|
||||
|
||||
int AQH_ModAdmUsers_Create(AQH_SERVICE *sv);
|
||||
int AQH_ModAdmUsers_Create(AQCGI_SERVICE *sv);
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user