diff --git a/doc/api/hooks_server-side.md b/doc/api/hooks_server-side.md index 51026140b..435872ea1 100644 --- a/doc/api/hooks_server-side.md +++ b/doc/api/hooks_server-side.md @@ -263,3 +263,20 @@ exports.exportFileName = function(hook, padId, callback){ callback("newFileName"+padId); } ``` + +## userLeave +Called from src/node/handler/PadMessageHandler.js + +This in context: + +1. session (including the pad id and author id) + +This hook gets called when an author leaves a pad. This is useful if you want to perform certain actions after a pad has been edited + +Example: + +``` +exports.userLeave = function(hook, session, callback) { + console.log('%s left pad %s', session.author, session.padId); +}; +``` diff --git a/src/node/handler/PadMessageHandler.js b/src/node/handler/PadMessageHandler.js index 26eb17a6d..e1ac994e8 100644 --- a/src/node/handler/PadMessageHandler.js +++ b/src/node/handler/PadMessageHandler.js @@ -145,6 +145,9 @@ exports.handleDisconnect = function(client) //Go trough all user that are still on the pad, and send them the USER_LEAVE message client.broadcast.to(session.padId).json.send(messageToTheOtherUsers); + + // Allow plugins to hook into users leaving the pad + hooks.callAll("userLeave", session); }); }