|
|
|
@ -98,6 +98,7 @@ Block Blocks::GetBlockFromJSON(JSONParse *j) {
|
|
|
|
|
|
|
|
|
|
bl.name[0] = 0;
|
|
|
|
|
bl.flags = 0;
|
|
|
|
|
bl.lockedby[0] = 0;
|
|
|
|
|
|
|
|
|
|
j->GetValue("name", &s);
|
|
|
|
|
strncpy (bl.name, s.c_str(), REFERENCENAME_LEN);
|
|
|
|
@ -211,11 +212,13 @@ int Blocks::SetLockedby (string blname, string lockedby, int lock_onoff) {
|
|
|
|
|
JSONParse jp;
|
|
|
|
|
int res = -1;
|
|
|
|
|
|
|
|
|
|
debug (0, "Blocks:SetLockedby block:'%s' locked for '%s' locked:%d", blname.c_str(), lockedby.c_str(), lock_onoff);
|
|
|
|
|
|
|
|
|
|
Lock();
|
|
|
|
|
if ((bl = FindBlock(blname)) != NULL) {
|
|
|
|
|
if (lockedby.compare (bl->lockedby) == 0) res = 1;
|
|
|
|
|
else if (bl->lockedby[0] == 0) {
|
|
|
|
|
strncpy (bl->lockedby, lockedby.c_str(), REFERENCENAME_LEN);
|
|
|
|
|
if (lockedby.compare (bl->lockedby) == 0 || bl->lockedby[0] == 0) {
|
|
|
|
|
if (lock_onoff) strncpy (bl->lockedby, lockedby.c_str(), REFERENCENAME_LEN);
|
|
|
|
|
else bl->lockedby[0] = 0;
|
|
|
|
|
jp.AddObject("block",_GetJSON(bl));
|
|
|
|
|
if(network) network->ChangeListPushToAll(jp.ToString());
|
|
|
|
|
res = 1;
|
|
|
|
|