git.stg.codes
/
stg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Ignore .d files.
[stg.git]
/
projects
/
stargazer
/
plugins
/
configuration
/
sgconfig
/
parser_admin.cpp
diff --git
a/projects/stargazer/plugins/configuration/sgconfig/parser_admin.cpp
b/projects/stargazer/plugins/configuration/sgconfig/parser_admin.cpp
index d93b3448f013efa4d8d6223afa39b6e02c182f95..fef2efbad3434cd7a7411c38663b7766d1fcf631 100644
(file)
--- a/
projects/stargazer/plugins/configuration/sgconfig/parser_admin.cpp
+++ b/
projects/stargazer/plugins/configuration/sgconfig/parser_admin.cpp
@@
-1,8
+1,10
@@
-#include <stdio.h>
-#include <string.h>
-
#include "parser.h"
#include "parser.h"
+#include "stg/admins.h"
+#include "stg/common.h"
+
+#include <strings.h> // strcasecmp
+
//-----------------------------------------------------------------------------
// GET ADMINS
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// GET ADMINS
//-----------------------------------------------------------------------------
@@
-30,24
+32,18
@@
void PARSER_GET_ADMINS::CreateAnswer()
const PRIV * priv = currAdmin->GetPriv();
if (!priv->adminChg)
{
const PRIV * priv = currAdmin->GetPriv();
if (!priv->adminChg)
{
- //answerList->clear();
- answerList->erase(answerList->begin(), answerList->end());
-
- answerList->push_back("<Error Result=\"Error. Access denied.\"/>");
+ answer = "<Error Result=\"Error. Access denied.\"/>";
return;
}
return;
}
-std::string s;
-//answerList->clear();
-answerList->erase(answerList->begin(), answerList->end());
+answer.clear();
-answer
List->push_back("<Admins>")
;
+answer
+= "<Admins>"
;
ADMIN_CONF ac;
int h = admins->OpenSearch();
while (admins->SearchNext(h, &ac) == 0)
{
ADMIN_CONF ac;
int h = admins->OpenSearch();
while (admins->SearchNext(h, &ac) == 0)
{
- //memcpy(&p, &ac.priv, sizeof(unsigned int));
unsigned int p = (ac.priv.userStat << 0) +
(ac.priv.userConf << 2) +
(ac.priv.userCash << 4) +
unsigned int p = (ac.priv.userStat << 0) +
(ac.priv.userConf << 2) +
(ac.priv.userCash << 4) +
@@
-55,11
+51,10
@@
while (admins->SearchNext(h, &ac) == 0)
(ac.priv.userAddDel << 8) +
(ac.priv.adminChg << 10) +
(ac.priv.tariffChg << 12);
(ac.priv.userAddDel << 8) +
(ac.priv.adminChg << 10) +
(ac.priv.tariffChg << 12);
- strprintf(&s, "<admin login=\"%s\" priv=\"%d\"/>", ac.login.c_str(), p);
- answerList->push_back(s);
+ answer += "<admin login=\"" + ac.login + "\" priv=\"" + x2str(p) + "\"/>";
}
admins->CloseSearch(h);
}
admins->CloseSearch(h);
-answer
List->push_back("</Admins>")
;
+answer
+= "</Admins>"
;
}
//-----------------------------------------------------------------------------
}
//-----------------------------------------------------------------------------
@@
-89,19
+84,10
@@
return -1;
//-----------------------------------------------------------------------------
void PARSER_DEL_ADMIN::CreateAnswer()
{
//-----------------------------------------------------------------------------
void PARSER_DEL_ADMIN::CreateAnswer()
{
-//answerList->clear();
-answerList->erase(answerList->begin(), answerList->end());
-
if (admins->Del(adminToDel, currAdmin) == 0)
if (admins->Del(adminToDel, currAdmin) == 0)
- {
- answerList->push_back("<DelAdmin Result=\"Ok\"/>");
- }
+ answer = "<DelAdmin Result=\"Ok\"/>";
else
else
- {
- std::string s;
- strprintf(&s, "<DelAdmin Result=\"Error. %s\"/>", admins->GetStrError().c_str());
- answerList->push_back(s);
- }
+ answer = "<DelAdmin Result=\"Error. " + admins->GetStrError() + "\"/>";
}
//-----------------------------------------------------------------------------
// ADD ADMIN
}
//-----------------------------------------------------------------------------
// ADD ADMIN
@@
-118,9
+104,6
@@
return -1;
//-----------------------------------------------------------------------------
int PARSER_ADD_ADMIN::ParseEnd(void *, const char *el)
{
//-----------------------------------------------------------------------------
int PARSER_ADD_ADMIN::ParseEnd(void *, const char *el)
{
-//answerList->clear();
-answerList->erase(answerList->begin(), answerList->end());
-
if (strcasecmp(el, "AddAdmin") == 0)
{
CreateAnswer();
if (strcasecmp(el, "AddAdmin") == 0)
{
CreateAnswer();
@@
-131,19
+114,10
@@
return -1;
//-----------------------------------------------------------------------------
void PARSER_ADD_ADMIN::CreateAnswer()
{
//-----------------------------------------------------------------------------
void PARSER_ADD_ADMIN::CreateAnswer()
{
-//answerList->clear();
-answerList->erase(answerList->begin(), answerList->end());
-
if (admins->Add(adminToAdd, currAdmin) == 0)
if (admins->Add(adminToAdd, currAdmin) == 0)
- {
- answerList->push_back("<AddAdmin Result=\"Ok\"/>");
- }
+ answer = "<AddAdmin Result=\"Ok\"/>";
else
else
- {
- std::string s;
- strprintf(&s, "<AddAdmin Result=\"Error. %s\"/>", admins->GetStrError().c_str());
- answerList->push_back(s);
- }
+ answer = "<AddAdmin Result=\"Error. " + admins->GetStrError() + "\"/>";
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
@@
-195,16
+169,13
@@
return -1;
//-----------------------------------------------------------------------------
void PARSER_CHG_ADMIN::CreateAnswer()
{
//-----------------------------------------------------------------------------
void PARSER_CHG_ADMIN::CreateAnswer()
{
-answerList->erase(answerList->begin(), answerList->end());
-
-
if (!login.empty())
{
ADMIN * origAdmin = NULL;
if (admins->Find(login.data(), &origAdmin))
{
if (!login.empty())
{
ADMIN * origAdmin = NULL;
if (admins->Find(login.data(), &origAdmin))
{
- answer
List->push_back(std::string("<ChgAdmin Result = \"Admin '") + login.data() + "' is not found.\"/>")
;
+ answer
= "<ChgAdmin Result = \"Admin '" + login.data() + "' is not found.\"/>"
;
return;
}
return;
}
@@
-218,7
+189,7
@@
if (!login.empty())
int p = 0;
if (str2x(privAsString.data().c_str(), p) < 0)
{
int p = 0;
if (str2x(privAsString.data().c_str(), p) < 0)
{
- answer
List->push_back("<ChgAdmin Result = \"Incorrect parameter Priv.\"/>")
;
+ answer
= "<ChgAdmin Result = \"Incorrect parameter Priv.\"/>"
;
return;
}
return;
}
@@
-226,20
+197,10
@@
if (!login.empty())
}
if (admins->Change(conf, currAdmin) != 0)
}
if (admins->Change(conf, currAdmin) != 0)
- {
- std::string s;
- strprintf(&s, "<ChgAdmin Result = \"%s\"/>", admins->GetStrError().c_str());
- answerList->push_back(s);
- }
+ answer = "<ChgAdmin Result = \"" + admins->GetStrError() + "\"/>";
else
else
- {
- answerList->push_back("<ChgAdmin Result = \"Ok\"/>");
- }
+ answer = "<ChgAdmin Result = \"Ok\"/>";
}
else
}
else
- {
- answerList->push_back("<ChgAdmin Result = \"Incorrect parameter login.\"/>");
- }
+ answer = "<ChgAdmin Result = \"Incorrect parameter login.\"/>";
}
}
-//-----------------------------------------------------------------------------*/
-