/** * The collaborator remove itself from diagram */ function removeMeFromDiagram() { if (!is_numeric($_SESSION['userId'])) { print "Wrong way"; exit; } if (!is_numeric($_REQUEST['diagramId'])) { print "No diagram"; exit; } $delegate = new Delegate(); $loggedUser = $delegate->userGetById($_SESSION['userId']); $userdiagram = $delegate->userdiagramGetByIds($loggedUser->id, $_REQUEST['diagramId']); if ($userdiagram) { /**author can not remove itself. he has to delete the diagram*/ if ($userdiagram->level == Userdiagram::LEVEL_AUTHOR) { addError("Author can not remove itself from a diagram"); redirect('../myDiagrams.php'); exit; } if ($delegate->userdiagramDelete($loggedUser->id, $_REQUEST['diagramId'])) { addMessage("Removed from diagram"); //TODO: notify author ? } else { addError("You were not removed from diagram"); } redirect('../myDiagrams.php'); } else { print 'No rights'; exit; } }