/*
* Author : Boris Mikhailenko <stg34@stargazer.dp.ua>
- * Author : Maxim Mamontov <faust@stargazer.dp.ua>
+ * Author : Maksym Mamontov <stg@madf.info>
*/
#include "parser_admins.h"
#include "stg/admins.h"
-#include "stg/common.h"
#include <strings.h> // strcasecmp
using STG::PARSER::DEL_ADMIN;
using STG::PARSER::CHG_ADMIN;
+const char * GET_ADMINS::tag = "GetAdmins";
+const char * ADD_ADMIN::tag = "AddAdmin";
+const char * DEL_ADMIN::tag = "DelAdmin";
+const char * CHG_ADMIN::tag = "ChgAdmin";
+
void GET_ADMINS::CreateAnswer()
{
const PRIV * priv = m_currAdmin.GetPriv();
return;
}
- m_answer.clear();
-
- m_answer += GetOpenTag();
+ m_answer = "<Admins>";
ADMIN_CONF ac;
int h = m_admins.OpenSearch();
m_answer += "<admin login=\"" + ac.login + "\" priv=\"" + x2str(p) + "\"/>";
}
m_admins.CloseSearch(h);
- m_answer += GetCloseTag();
+ m_answer += "</Admins>";
}
int DEL_ADMIN::Start(void *, const char * el, const char ** attr)
{
if (strcasecmp(el, m_tag.c_str()) == 0)
{
- admin = attr[1];
+ m_admin = attr[1];
return 0;
}
return -1;
void DEL_ADMIN::CreateAnswer()
{
- if (m_admins.Del(admin, &m_currAdmin) == 0)
+ if (m_admins.Del(m_admin, &m_currAdmin) == 0)
m_answer = "<" + m_tag + " Result=\"Ok\"/>";
else
m_answer = "<" + m_tag + " Result=\"Error. " + m_admins.GetStrError() + "\"/>";
{
if (strcasecmp(el, m_tag.c_str()) == 0)
{
- admin = attr[1];
+ m_admin = attr[1];
return 0;
}
return -1;
void ADD_ADMIN::CreateAnswer()
{
- if (m_admins.Add(admin, &m_currAdmin) == 0)
+ if (m_admins.Add(m_admin, &m_currAdmin) == 0)
m_answer = "<" + m_tag + " Result=\"Ok\"/>";
else
m_answer = "<" + m_tag + " Result=\"Error. " + m_admins.GetStrError() + "\"/>";