From bfbc9e4f3717175cb26023c99bbebe0024da51a0 Mon Sep 17 00:00:00 2001
From: Barry de Graaff <4353213+barrydegraaff@users.noreply.github.com>
Date: Tue, 23 May 2023 08:48:43 +0200
Subject: [PATCH] initial version
---
README.md | 8 +-
.../com_zimbra_outofoffice_alert.js | 80 ++++++++++++
.../com_zimbra_outofoffice_alert.properties | 3 +
.../com_zimbra_outofoffice_alert.xml | 4 +
extension/.gitignore | 8 ++
extension/META-INF/MANIFEST.MF | 3 +
extension/build.xml | 50 +++++++
extension/makefile | 9 ++
.../outofofficebanner/OutOfOfficeBanner.java | 123 ++++++++++++++++++
.../OutOfOfficeBannerExtension.java | 38 ++++++
screenshots/out-of-office-alert.png | Bin 0 -> 69945 bytes
11 files changed, 324 insertions(+), 2 deletions(-)
create mode 100644 com_zimbra_outofoffice_alert/com_zimbra_outofoffice_alert.js
create mode 100644 com_zimbra_outofoffice_alert/com_zimbra_outofoffice_alert.properties
create mode 100644 com_zimbra_outofoffice_alert/com_zimbra_outofoffice_alert.xml
create mode 100644 extension/.gitignore
create mode 100644 extension/META-INF/MANIFEST.MF
create mode 100644 extension/build.xml
create mode 100644 extension/makefile
create mode 100644 extension/src/com/zimbra/outofofficebanner/OutOfOfficeBanner.java
create mode 100644 extension/src/com/zimbra/outofofficebanner/OutOfOfficeBannerExtension.java
create mode 100644 screenshots/out-of-office-alert.png
diff --git a/README.md b/README.md
index 2418834..9cb29d2 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,6 @@
-# out-of-office-alert-zimlet
-This Classic UI Zimlets displays an alert as soon as you enter an email address in to/cc/bcc of someone with an active out of office reply.
+# Out Of Office Alert Zimlet
+
+This Classic UI Zimlets displays an alert as soon as you enter an email address in to/cc/bcc of someone with an active out of office reply. Avoid putting time in writing an email just to be greeted with an out-of-office message after sending an email.
+
+![](screenshots/out-of-office-alert.png)
+
diff --git a/com_zimbra_outofoffice_alert/com_zimbra_outofoffice_alert.js b/com_zimbra_outofoffice_alert/com_zimbra_outofoffice_alert.js
new file mode 100644
index 0000000..5f07fd6
--- /dev/null
+++ b/com_zimbra_outofoffice_alert/com_zimbra_outofoffice_alert.js
@@ -0,0 +1,80 @@
+function com_zimbra_outofoffice_alert_HandlerObject() {
+ com_zimbra_outofoffice_alert_HandlerObject.settings = {};
+};
+
+com_zimbra_outofoffice_alert_HandlerObject.prototype = new ZmZimletBase();
+com_zimbra_outofoffice_alert_HandlerObject.prototype.constructor = com_zimbra_outofoffice_alert_HandlerObject;
+var outOfOfficeAlertZimlet = com_zimbra_outofoffice_alert_HandlerObject;
+
+outOfOfficeAlertZimlet.prototype.init = function () {
+ AjxDispatcher.require(["MailCore"]);
+ try {
+ ZmRecipients.prototype._bubblesChangedCallback =
+ function() {
+ if (this._resetContainerSize) {
+ this._resetContainerSize(); // body size might change due to change in size of address field (due to new bubbles).
+ }
+ outOfOfficeAlertZimlet.prototype.bubblesChanged(this);
+ };
+ } catch (e) {console.log(e);}
+};
+
+/* status method show a Zimbra status message
+ * */
+outOfOfficeAlertZimlet.prototype.status = function(text, type) {
+ var transitions = [ ZmToast.FADE_IN, ZmToast.PAUSE, ZmToast.FADE_OUT ];
+ appCtxt.getAppController().setStatusMsg(text, type, null, transitions);
+};
+
+outOfOfficeAlertZimlet.prototype.bubblesChanged = function(ZmRecipients) {
+ var zimletInstance = appCtxt._zimletMgr.getZimletByName('com_zimbra_outofoffice_alert').handlerObject;
+ var rawAddresses = ZmRecipients.getRawAddrFields();
+ var allAddresses = rawAddresses.TO + " " + rawAddresses.CC;
+ if(rawAddresses.BCC)
+ {
+ allAddresses = allAddresses + " " + rawAddresses.BCC;
+ }
+ allAddresses = allAddresses.replaceAll('<', ' ');
+ var regex = /\S+[a-z0-9]@[a-z0-9\.]+/img;
+ var recipients = allAddresses.match(regex);
+
+ var requestData = {}
+ requestData.accounts = recipients;
+ var request = new XMLHttpRequest();
+ var url = '/service/extension/outofofficebanner';
+ var formData = new FormData();
+ formData.append("jsondata", JSON.stringify(requestData));
+ request.open('POST', url);
+ request.onreadystatechange = function (e) {
+ if (request.readyState == 4) {
+ if (request.status == 200) {
+ var response = JSON.parse(request.responseText);
+ var hasOoo = false;
+ var recipientsWithOoo = "";
+ for (var key in response) {
+ if (response.hasOwnProperty(key)) {
+ if(response[key] == true)
+ {
+ hasOoo = true;
+ recipientsWithOoo = recipientsWithOoo + key;
+ }
+ }
+ }
+ if(hasOoo)
+ {
+ var zimletInstance = appCtxt._zimletMgr.getZimletByName('com_zimbra_outofoffice_alert').handlerObject;
+ zimletInstance.status(zimletInstance.getMessage('outOfOfficeAlertZimlet_message') + " " + recipientsWithOoo);
+ }
+ }
+ }
+ }
+ request.send(formData);
+};
+
+/* status method show a Zimbra status message
+ * */
+outOfOfficeAlertZimlet.prototype.status = function(text, type) {
+ var transitions = [ ZmToast.FADE_IN, ZmToast.PAUSE, ZmToast.PAUSE, ZmToast.PAUSE, ZmToast.FADE_OUT ];
+ appCtxt.getAppController().setStatusMsg(text, type, null, transitions);
+};
+
diff --git a/com_zimbra_outofoffice_alert/com_zimbra_outofoffice_alert.properties b/com_zimbra_outofoffice_alert/com_zimbra_outofoffice_alert.properties
new file mode 100644
index 0000000..ad887b8
--- /dev/null
+++ b/com_zimbra_outofoffice_alert/com_zimbra_outofoffice_alert.properties
@@ -0,0 +1,3 @@
+# Unicode conversion see: http://itpro.cz/juniconv/
+
+outOfOfficeAlertZimlet_message = The following recipient(s) are out of office:
diff --git a/com_zimbra_outofoffice_alert/com_zimbra_outofoffice_alert.xml b/com_zimbra_outofoffice_alert/com_zimbra_outofoffice_alert.xml
new file mode 100644
index 0000000..38cd194
--- /dev/null
+++ b/com_zimbra_outofoffice_alert/com_zimbra_outofoffice_alert.xml
@@ -0,0 +1,4 @@
+
+ com_zimbra_outofoffice_alert.js
+ com_zimbra_outofoffice_alert_HandlerObject
+
diff --git a/extension/.gitignore b/extension/.gitignore
new file mode 100644
index 0000000..c701c83
--- /dev/null
+++ b/extension/.gitignore
@@ -0,0 +1,8 @@
+build
+lib
+outofofficebanner.jar
+.idea
+*.iml
+openjdk*
+java*
+out
diff --git a/extension/META-INF/MANIFEST.MF b/extension/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..aa46cc2
--- /dev/null
+++ b/extension/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Zimbra-Extension-Class: com.zimbra.outofofficebanner.OutOfOfficeBannerExtension
+
diff --git a/extension/build.xml b/extension/build.xml
new file mode 100644
index 0000000..5659a76
--- /dev/null
+++ b/extension/build.xml
@@ -0,0 +1,50 @@
+
+
+ Build file for the Zimbra Extension.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/extension/makefile b/extension/makefile
new file mode 100644
index 0000000..f744754
--- /dev/null
+++ b/extension/makefile
@@ -0,0 +1,9 @@
+all: extension
+
+extension:
+ ant jar
+
+clean:
+ rm -f outofofficebanner.jar
+
+.PHONY: all extension
diff --git a/extension/src/com/zimbra/outofofficebanner/OutOfOfficeBanner.java b/extension/src/com/zimbra/outofofficebanner/OutOfOfficeBanner.java
new file mode 100644
index 0000000..195c837
--- /dev/null
+++ b/extension/src/com/zimbra/outofofficebanner/OutOfOfficeBanner.java
@@ -0,0 +1,123 @@
+package com.zimbra.outofofficebanner;
+
+import com.zimbra.cs.account.Account;
+import com.zimbra.cs.account.Provisioning;
+import com.zimbra.cs.extension.ExtensionHttpHandler;
+import com.zimbra.cs.account.AuthToken;
+import com.zimbra.cs.servlet.util.AuthUtil;
+
+import java.io.*;
+import java.nio.charset.StandardCharsets;
+import java.util.*;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+
+import org.apache.commons.io.IOUtils;
+import org.json.JSONArray;
+import org.json.JSONObject;
+
+public class OutOfOfficeBanner extends ExtensionHttpHandler {
+
+ /**
+ * @return path
+ */
+ @Override
+ public String getPath() {
+ return "/outofofficebanner";
+ }
+
+ /**
+ * Processes HTTP GET requests.
+ *
+ * @param req request message
+ * @param resp response message
+ */
+ @Override
+ public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+ resp.getOutputStream().print("com.zimbra.outofofficebanner is installed.");
+ }
+
+ /**
+ * Processes HTTP POST requests.
+ *
+ * @param req request message
+ * @param resp response message
+ */
+
+ /* This extension works with aliasses as well. */
+ /*
+ let testData = {}
+ testData.accounts = ["info@barrydegraaff.nl", "admin@barrydegraaff.nl"];
+ var request = new XMLHttpRequest();
+ var url = '/service/extension/outofofficebanner';
+ var formData = new FormData();
+ formData.append("jsondata", JSON.stringify(testData));
+ request.open('POST', url);
+ request.onreadystatechange = function (e) {
+ if (request.readyState == 4) {
+ if (request.status == 200) {
+ const Response = JSON.parse(request.responseText);
+ console.log(Response);
+ }
+ if (request.status == 400) {
+ const Response = JSON.parse(request.responseText);
+ console.log(Response);
+ }
+ }
+ }
+ request.send(formData);
+ * */
+ @Override
+ public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+ //all authentication is done by AuthUtil.getAuthTokenFromHttpReq, returns null if unauthorized
+ final AuthToken authToken = AuthUtil.getAuthTokenFromHttpReq(req, resp, false, true);
+ if (authToken != null) {
+ try {
+ //Get the jsondata field from the multipart request send to the server and parse it to JSON Object.
+ JSONObject receivedJSON = new JSONObject(IOUtils.toString(req.getPart("jsondata").getInputStream(), StandardCharsets.UTF_8));
+ JSONArray reqAccounts = receivedJSON.getJSONArray("accounts");
+ JSONObject responseJSON = new JSONObject();
+
+ //loop to get all json objects from data json array
+ for (int i = 0; i < reqAccounts.length(); i++) {
+ //use of toLowerCase to prevent people from using this endpoint to determine if accounts exist on server (privacy).
+ String reqAccount = reqAccounts.get(i).toString();
+
+ boolean replyInEffect = false;
+ try {
+ Account account = Provisioning.getInstance().getAccountByName(reqAccount);
+ boolean replyEnabled = account.isPrefOutOfOfficeReplyEnabled();
+
+ // Check if we are in any configured out of office interval
+ Date now = new Date();
+ Date fromDate = account.getGeneralizedTimeAttr(Provisioning.A_zimbraPrefOutOfOfficeFromDate, null);
+ Date untilDate = account.getGeneralizedTimeAttr(Provisioning.A_zimbraPrefOutOfOfficeUntilDate, null);
+
+ if (replyEnabled && (fromDate != null && !now.before(fromDate))) {
+ if (untilDate == null) {
+ replyInEffect = true;
+ } else if (untilDate != null && !now.after(untilDate)) {
+ replyInEffect = true;
+ } else {
+ replyInEffect = false;
+ }
+ }
+ responseJSON.put(reqAccount, replyInEffect);
+
+ } catch (Exception e) {
+ responseJSON.put(reqAccount, false);
+ }
+
+ }
+ resp.setContentType("application/json");
+ resp.setCharacterEncoding("UTF-8");
+ resp.getOutputStream().print(responseJSON.toString());
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+}
diff --git a/extension/src/com/zimbra/outofofficebanner/OutOfOfficeBannerExtension.java b/extension/src/com/zimbra/outofofficebanner/OutOfOfficeBannerExtension.java
new file mode 100644
index 0000000..5346802
--- /dev/null
+++ b/extension/src/com/zimbra/outofofficebanner/OutOfOfficeBannerExtension.java
@@ -0,0 +1,38 @@
+package com.zimbra.outofofficebanner;
+
+import com.zimbra.common.service.ServiceException;
+import com.zimbra.cs.extension.ExtensionDispatcherServlet;
+import com.zimbra.cs.extension.ZimbraExtension;
+
+/**
+ * This extension registers a custom HTTP handler with ExtensionDispatcherServlet
+ *
+ * @author vmahajan
+ */
+public class OutOfOfficeBannerExtension implements ZimbraExtension {
+
+ /**
+ * Defines a name for the extension. It must be an identifier.
+ *
+ * @return extension name
+ */
+ public String getName() {
+ return "OutOfOfficeBannerExtension";
+ }
+
+ /**
+ * Initializes the extension. Called when the extension is loaded.
+ *
+ * @throws com.zimbra.common.service.ServiceException
+ */
+ public void init() throws ServiceException {
+ ExtensionDispatcherServlet.register(this, new OutOfOfficeBanner());
+ }
+
+ /**
+ * Terminates the extension. Called when the server is shut down.
+ */
+ public void destroy() {
+ ExtensionDispatcherServlet.unregister(this);
+ }
+}
diff --git a/screenshots/out-of-office-alert.png b/screenshots/out-of-office-alert.png
new file mode 100644
index 0000000000000000000000000000000000000000..302485508cf597ecd8d9698d58eefb2ef029f370
GIT binary patch
literal 69945
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