From b1314942d7b82dce28d9ee41523a68f0b40eab91 Mon Sep 17 00:00:00 2001
From: Joas Schilling <coding@schilljs.com>
Date: Tue, 11 Oct 2016 10:23:45 +0200
Subject: [PATCH] Fix authors that have a mail or homepage

Signed-off-by: Joas Schilling <coding@schilljs.com>
---
 settings/js/apps.js | 26 ++++++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/settings/js/apps.js b/settings/js/apps.js
index 5119b35178e..cd554812ec9 100644
--- a/settings/js/apps.js
+++ b/settings/js/apps.js
@@ -184,7 +184,15 @@ OC.Settings.Apps = OC.Settings.Apps || {
 		}
 
 		if (_.isArray(app.author)) {
-			app.author = app.author.join(', ');
+			var authors = [];
+			_.each(app.author, function (author) {
+				if (typeof author === 'string') {
+					authors.push(author);
+				} else {
+					authors.push(author['@value']);
+				}
+			});
+			app.author = authors.join(', ');
 		}
 
 		var html = template(app);
@@ -518,7 +526,21 @@ OC.Settings.Apps = OC.Settings.Apps || {
 		// Author Name
 		apps = apps.concat(_.filter(OC.Settings.Apps.State.apps, function (app) {
 			if (_.isArray(app.author)) {
-				return app.author.join(', ').toLowerCase().indexOf(query) !== -1;
+				var authors = [];
+				_.each(app.author, function (author) {
+					if (typeof author === 'string') {
+						authors.push(author);
+					} else {
+						authors.push(author['@value']);
+						if (!_.isUndefined(author['@attributes']['homepage'])) {
+							authors.push(author['@attributes']['homepage']);
+						}
+						if (!_.isUndefined(author['@attributes']['mail'])) {
+							authors.push(author['@attributes']['mail']);
+						}
+					}
+				});
+				return authors.join(' ').toLowerCase().indexOf(query) !== -1;
 			}
 			return app.author.toLowerCase().indexOf(query) !== -1;
 		}));
-- 
GitLab