function execute($param, $post) { if (count($param) > 0) { if ($param[0] == "act") { $obj = json_decode($post["json"]); if ($obj->Action == "remove") { $existingUserConnections = array(); foreach ($obj->UserConnections as $userConnection) { $existingUserConnection = GetSingleByCondition("UserConnections", array("Guid" => $userConnection->Guid)); if ($existingUserConnection != null) { $existingUserConnections[] = $existingUserConnection; } } return ReturnBoolean(DeleteAll($existingUserConnections)); } else { if ($obj->Action == "add") { $newUserConnections = array(); foreach ($obj->UserConnections as $userConnection) { $existingUserConnection = GetSingleByCondition("UserConnections", array("Guid" => $userConnection->Guid)); if ($existingUserConnection == null) { $newuserconnection = new NoteTaker(); $newuserconnection->Guid = $userConnection->Guid; $newuserconnection->Color = $userConnection->Color; $newuserconnection->Name = $userConnection->Name; $newuserconnection->ConnectedUserGuid = $userConnection->ConnectedUserGuid; $newuserconnection->UserGuid = $obj->Guid; $newUserConnections[] = $newuserconnection; } } return ReturnBoolean(InsertAll($newUserConnections)); } else { if ($obj->Action == "addorupdate") { $newUserConnections = array(); $updateUserConnections = array(); foreach ($obj->UserConnections as $userConnection) { $existingUserConnection = GetSingleByCondition("UserConnections", array("Guid" => $userConnection->Guid)); if ($existingUserConnection == null) { $newuserconnection = new NoteTaker(); $newuserconnection->Guid = $userConnection->Guid; $newuserconnection->Color = $userConnection->Color; $newuserconnection->Name = $userConnection->Name; $newuserconnection->ConnectedUserGuid = $userConnection->ConnectedUserGuid; $newuserconnection->UserGuid = $obj->Guid; $newUserConnections[] = $newuserconnection; } else { $existingUserConnection->Color = $userConnection->Color; $existingUserConnection->Name = $userConnection->Name; $existingUserConnection->ConnectedUserGuid = $userConnection->ConnectedUserGuid; $existingUserConnection->UserGuid = $obj->Guid; $updateUserConnections[] = $existingUserConnection; } } return ReturnBoolean(InsertAll($newUserConnections) && UpdateAll($updateUserConnections)); } else { if ($obj->Action == "sync") { $userConnectioncount = $this->countExistingUserConnections($obj); if ($userConnectioncount !== $obj->ExpectedCount) { return ReturnBoolean(false); } $userConnections = GetAllByCondition("UserConnections", array("UserGuid" => $obj->Guid), "Name DESC", " LIMIT " . count($obj->UserConnections)); for ($i = 0; $i < count($userConnections); $i++) { if ($userConnections[$i]->Guid != $obj->UserConnections[$i]->Guid) { return ReturnBoolean(false); } } return ReturnBoolean(true); } else { return ReturnError(LINK_INVALID); } } } } } else { if ($param[0] == "checkGUID" && isset($param[1])) { $res = $this->checkForUniqueGuid($param[1]); if ($res == 1) { return ReturnBoolean(true); } return ReturnBoolean(false); } else { if ($param[0] == "completeGUID" && isset($param[1])) { $res = $this->getUniqueGuid($param[1]); if ($res !== false) { return ReturnJson(new GuidResponse($res)); } return ReturnJson(new GuidResponse("00000000-0000-0000-0000-00000000000")); } else { if (ValidateGuid($param[0])) { $userConnections = GetAllByCondition("UserConnections", array("UserGuid" => $param[0]), "Name DESC"); $resp = new UserConnectionResponse(); foreach ($userConnections as $userConnection) { $resp->UserConnections[] = new NoteTakerEntity($userConnection); } return ReturnJson($resp); } } } } } return ReturnError(LINK_INVALID); }
function execute($param, $post) { try { if (count($param) > 0) { if ($param[0] == "act") { $obj = json_decode($post["json"]); if ($obj->Action == "delete") { $guids = array(); foreach ($obj->Notes as $note) { $guids[] = $note->Guid; } return ReturnBoolean($this->deleteNotes($obj->NoteTakerGuid, $obj->NoteCollectionGuid, $guids)); } else { if ($obj->Action == "addorupdate") { $newNotes = array(); $updateNotes = array(); $listId = $this->getNoteCollectionId($obj->NoteTakerGuid, $obj->NoteCollectionGuid); if ($listId !== false) { foreach ($obj->Notes as $note) { $existingNote = GetSingleByCondition("Notes", array("Guid" => $note->Guid, "NoteCollectionId" => $listId)); if ($existingNote == null) { $newnote = new Note(); $newnote->NoteCollectionId = $listId; $newnote->Guid = $note->Guid; $newnote->Content = $note->Content; $newnote->Description = $note->Description; $newnote->CreateTime = ConvertToDatabaseDateTime($note->CreateTime); $newnote->IsCompleted = $note->IsCompleted; $newNotes[] = $newnote; } else { $existingNote->Content = $note->Content; $existingNote->Description = $note->Description; $existingNote->CreateTime = ConvertToDatabaseDateTime($note->CreateTime); $existingNote->IsCompleted = $note->IsCompleted; $updateNotes[] = $existingNote; } } $res = InsertAll($newNotes); $res &= UpdateAll($updateNotes); return ReturnBoolean($res == 1); } return ReturnBoolean(false); } else { if ($obj->Action == "get") { $listId = $this->getNoteCollectionId($obj->NoteTakerGuid, $obj->NoteCollectionGuid); if ($listId !== false) { $notes = GetAllByCondition("Notes", array("NoteCollectionId" => $listId)); $resp = new NoteResponse(); foreach ($notes as $note) { $resp->Notes[] = new NoteEntity($note); } return ReturnJson($resp); } return ReturnBoolean(false); } else { return ReturnError(LINK_INVALID); } } } } } return ReturnError(LINK_INVALID); } catch (\Exception $ex) { return ReturnError("Exception occured: " . $ex->getMessage()); } }
function execute($param, $post) { try { if (count($param) > 0) { if ($param[0] == "act") { $obj = json_decode($post["json"]); if ($obj->Action == "delete") { $guids = array(); foreach ($obj->NoteCollections as $collection) { $guids[] = $collection->Guid; } return ReturnBoolean($this->deleteNoteCollections($obj->NoteTakerGuid, $guids)); } else { if ($obj->Action == "addorupdate") { $newCollections = array(); $updateCollections = array(); $taker = $this->tryAddNoteTaker($obj->NoteTakerGuid); if ($taker !== false) { $existingCollections = $this->getNoteCollections($obj->NoteTakerGuid); foreach ($obj->NoteCollections as $collection) { $found = false; foreach ($existingCollections as $existingCollection) { if ($existingCollection->Guid == $collection->Guid) { $found = $existingCollection; } } if ($found == false) { $newCollection = new NoteCollection(); $newCollection->Guid = $collection->Guid; $newCollection->CreateTime = ConvertToDatabaseDateTime($collection->CreateTime); $newCollection->Name = $collection->Name; $newCollections[] = $newCollection; } else { $found->Name = $collection->Name; $found->CreateTime = ConvertToDatabaseDateTime($collection->CreateTime); $updateCollections[] = $found; } } return ReturnBoolean($this->addNoteCollections($obj->NoteTakerGuid, $newCollections) && UpdateAll($updateCollections)); } return ReturnBoolean(false); } else { if ($obj->Action == "get") { $collections = $this->getNoteCollections($obj->NoteTakerGuid); if ($collections !== false) { $resp = new NoteCollectionResponse(); foreach ($collections as $collection) { $resp->NoteCollections[] = new NoteCollectionEntity($collection); } return ReturnJson($resp); } return ReturnBoolean(false); } else { return ReturnError(LINK_INVALID); } } } } } return ReturnError(LINK_INVALID); } catch (\Exception $ex) { return ReturnError("Exception occured: " . $ex->getMessage()); } }