Exemple #1
0
/**
 * 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;
    }
}