diff --git a/extras/icon_authors/index.php b/extras/icon_authors/index.php
new file mode 100644
index 000000000..6ccce2121
--- /dev/null
+++ b/extras/icon_authors/index.php
@@ -0,0 +1,145 @@
+
+
Zammad Icons
+
+
+
+
+# Path to image folder
+$imageFolder = '../../public/assets/images/icons/';
+
+# Show only these file types from the image folder
+$imageTypes = '{*.svg}';
+
+# Set to true if you prefer sorting images by name
+# If set to false, images will be sorted by date
+$sortByImageName = true;
+
+# Set to false if you want the oldest images to appear first
+# This is only used if images are sorted by date (see above)
+$newestImagesFirst = true;
+
+# The rest of the code is technical
+
+# Add images to array
+$images = glob($imageFolder . $imageTypes, GLOB_BRACE);
+
+$author_data = json_decode(file_get_contents('list.json'), true);
+
+# Sort images
+if ($sortByImageName) {
+ $sortedImages = $images;
+ natsort($sortedImages);
+} else {
+ # Sort the images based on its 'last modified' time stamp
+ $sortedImages = array();
+ $count = count($images);
+ for ($i = 0; $i < $count; $i++) {
+ $sortedImages[date('YmdHis', filemtime($images[$i])) . $i] = $images[$i];
+ }
+ # Sort images in array
+ if ($newestImagesFirst) {
+ krsort($sortedImages);
+ } else {
+ ksort($sortedImages);
+ }
+}
+?>
+
+ foreach ($sortedImages as $image): ?>
+
+ # Get the name of the image, stripped from image folder path and file type extension
+ $filename = basename($image);
+ $name = preg_replace('/\\.[^.\\s]{3,4}$/', '', $filename);
+
+ # Begin adding
+?>
+
+
+ = file_get_contents($image) ?>
+
+
+
+ endforeach ?>
+
+
+
\ No newline at end of file
diff --git a/extras/icon_authors/list.json b/extras/icon_authors/list.json
new file mode 100644
index 000000000..b8132a922
--- /dev/null
+++ b/extras/icon_authors/list.json
@@ -0,0 +1,67 @@
+{
+ "arrow-down.svg": "Felix Niklas",
+ "arrow-left.svg": "Felix Niklas",
+ "arrow-right.svg": "Felix Niklas",
+ "arrow-up.svg": "Felix Niklas",
+ "checkbox-checked.svg": "Felix Niklas",
+ "checkbox.svg": "Felix Niklas",
+ "checkmark.svg": "Felix Niklas",
+ "clock.svg": "",
+ "close.svg": "Felix Niklas",
+ "cloud.svg": "Felix Niklas",
+ "cog.svg": "",
+ "dashboard.svg": "",
+ "diagonal-cross.svg": "Felix Niklas",
+ "download.svg": "Felix Niklas",
+ "email.svg": "",
+ "facebook.svg": "Global Domain",
+ "group.svg": "",
+ "help.svg": "Felix Niklas",
+ "important.svg": "",
+ "in-process.svg": "",
+ "list.svg": "Felix Niklas",
+ "loading.svg": "Felix Niklas",
+ "lock-open.svg": "Felix Niklas",
+ "lock.svg": "Felix Niklas",
+ "logo.svg": "",
+ "long-arrow-right.svg": "Felix Niklas",
+ "magnifier.svg": "Felix Niklas",
+ "marker.svg": "Felix Niklas",
+ "message.svg": "Felix Niklas",
+ "mood-bad.svg": "",
+ "mood-good.svg": "",
+ "mood-ok.svg": "",
+ "mood-super-bad.svg": "",
+ "mood-supergood.svg": "",
+ "note.svg": "",
+ "one-ticket.svg": "",
+ "organization.svg": "",
+ "outbound-calls.svg": "",
+ "overviews.svg": "",
+ "package.svg": "Felix Niklas",
+ "paperclip.svg": "Felix Niklas",
+ "pen.svg": "Felix Niklas",
+ "person.svg": "",
+ "phone.svg": "",
+ "plus.svg": "Felix Niklas",
+ "priority-modified-inner-circle.svg": "Felix Niklas",
+ "priority-modified-outer-circle.svg": "Felix Niklas",
+ "priority.svg": "Felix Niklas",
+ "radio-checked.svg": "Felix Niklas",
+ "radio.svg": "Felix Niklas",
+ "received-calls.svg": "",
+ "reopening.svg": "",
+ "reply-all.svg": "Felix Niklas",
+ "reply.svg": "Felix Niklas",
+ "signout.svg": "",
+ "split.svg": "",
+ "stopwatch.svg": "",
+ "switchView.svg": "",
+ "team.svg": "",
+ "templates.svg": "Felix Niklas",
+ "tools.svg": "",
+ "total-tickets.svg": "",
+ "trash.svg": "Felix Niklas",
+ "twitter.svg": "",
+ "user.svg": ""
+}
\ No newline at end of file
diff --git a/extras/icon_authors/store.php b/extras/icon_authors/store.php
new file mode 100644
index 000000000..e46315749
--- /dev/null
+++ b/extras/icon_authors/store.php
@@ -0,0 +1,9 @@
+
+
+// check for ajax request
+if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
+ file_put_contents('list.json', json_encode($_POST['list'], JSON_PRETTY_PRINT));
+ exit();
+}
+
+?>
\ No newline at end of file