From 8b7a902269a1a20a6a5ddec387913753d01999ea Mon Sep 17 00:00:00 2001
From: Rasmus Fuhse <fuhse@data-quest.de>
Date: Sat, 20 Aug 2022 19:09:44 +0000
Subject: [PATCH] =?UTF-8?q?Resolve=20"Icons=20mit=20Zus=C3=A4tze=20ersetze?=
 =?UTF-8?q?n=20durch=20Icons=20ohne=20Zus=C3=A4tze"?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Closes #1463

Merge request studip/studip!913
---
 app/controllers/admin/courses.php             |   2 +-
 app/controllers/admin/plugin.php              |   9 +-
 app/controllers/admin/statusgroups.php        |   2 +-
 app/controllers/admin/user.php                |   8 +-
 .../admission/restricted_courses.php          |   2 +-
 app/controllers/consultation/admin.php        |   4 +-
 app/controllers/contact.php                   |   2 +-
 app/controllers/course/details.php            |   2 +-
 app/controllers/course/feedback.php           |   2 +-
 app/controllers/course/files.php              |   6 +-
 app/controllers/course/grouping.php           |   2 +-
 app/controllers/course/ilias_interface.php    |  14 +-
 app/controllers/course/management.php         |   4 +-
 app/controllers/course/members.php            |  22 +-
 app/controllers/course/overview.php           |   4 +-
 app/controllers/course/statusgroups.php       |  14 +-
 app/controllers/course/studygroup.php         |   4 +-
 app/controllers/course/topics.php             |   2 +-
 app/controllers/fachabschluss/abschluesse.php |   2 +-
 app/controllers/fachabschluss/faecher.php     |   2 +-
 app/controllers/fachabschluss/kategorien.php  |   2 +-
 app/controllers/files.php                     |   4 +-
 app/controllers/files_dashboard/helpers.php   |   4 +-
 app/controllers/files_dashboard/sidebar.php   |   2 +-
 app/controllers/institute/files.php           |   4 +-
 app/controllers/lvgruppen/lvgruppen.php       |   6 +-
 app/controllers/materialien/files.php         |   2 +-
 app/controllers/messages.php                  |   2 +-
 app/controllers/module/module.php             |   2 +-
 app/controllers/my_courses.php                |   6 +-
 app/controllers/my_institutes.php             |   4 +-
 app/controllers/news.php                      |   2 +-
 app/controllers/profile.php                   |   4 +-
 app/controllers/resources/resource.php        |   2 +-
 app/controllers/resources/room_request.php    |   8 +-
 app/controllers/room_management/planning.php  |   6 +-
 app/controllers/settings/deputies.php         |   2 +-
 app/controllers/shared/contacts.php           |   4 +-
 .../studiengaenge/studiengaenge.php           |   2 +-
 .../studiengaenge/studiengangteile.php        |   2 +-
 app/controllers/studiengaenge/versionen.php   |   2 +-
 app/views/admin/plugin/index.php              |   6 +-
 app/views/admin/role/show_role.php            |   2 +-
 app/views/admin/webservice_access/index.php   |   2 +-
 app/views/admission/courseset/index.php       |   2 +-
 app/views/calendar/schedule/index.php         |   2 +-
 app/views/calendar/single/manage_access.php   |   4 +-
 app/views/consultation/admin/index.php        |   6 +-
 app/views/consultation/admin/ungrouped.php    |   6 +-
 app/views/contact/index.php                   |   2 +-
 app/views/course/dates/_date_row-exdate.php   |   2 +-
 app/views/course/dates/_date_row.php          |   4 +-
 app/views/course/forum/area/add.php           |   2 +-
 app/views/course/forum/index/_post.php        |   2 +-
 app/views/course/forum/index/_threads.php     |   4 +-
 app/views/course/ilias_interface/index.php    |   6 +-
 app/views/course/statusgroups/_member.php     |   2 +-
 app/views/course/timesrooms/_cycleRow.php     |   2 +-
 .../course/timesrooms/_irregularEvents.php    |   4 +-
 app/views/evaluation/_actions.php             |   4 +-
 app/views/file/choose_folder.php              |   4 +-
 app/views/files/_folder_tr.php                |   6 +-
 app/views/materialien/files/add_dokument.php  |   2 +-
 app/views/materialien/files/index.php         |   2 +-
 app/views/materialien/files/range.php         | 226 +++++++++---------
 app/views/module/module/details.php           |   2 +-
 app/views/module/module/module.php            |   2 +-
 app/views/my_courses/waiting_list.php         |   2 +-
 app/views/my_ilias_accounts/index.php         |   8 +-
 app/views/my_studygroups/_course.php          |   2 +-
 app/views/news/admin_news.php                 |   2 +-
 app/views/news/display.php                    |   2 +-
 app/views/oer/market/details.php              |   2 +-
 app/views/oer/market/index.php                |   2 +-
 app/views/online/user-row.php                 |   4 +-
 app/views/questionnaire/widget.php            |   2 +-
 .../resources/booking/_add_edit_form.php      |   2 +-
 app/views/shared/contacts/index.php           |   2 +-
 app/views/shared/contacts/range.php           |   2 +-
 .../fachbereichestgteile/index.php            |   4 +-
 app/views/studiengaenge/faecher/index.php     |   4 +-
 .../studiengaenge/studiengangteile/index.php  |   2 +-
 .../studiengaenge/versionen/versionen.php     |   2 +-
 lib/classes/Icon.class.php                    |   6 +-
 lib/classes/MultiPersonSearch.class.php       |   2 +-
 lib/classes/sidebar/SearchWidget.php          |   2 +-
 lib/filesystem/FilesystemVueDataManager.php   |   4 +-
 lib/filesystem/HiddenFolder.php               |   4 +-
 lib/filesystem/StandardFile.php               |   8 +-
 lib/models/Freetext.php                       |   2 +-
 lib/models/Test.php                           |   2 +-
 lib/models/Vote.php                           |   2 +-
 lib/modules/ActivityFeed.php                  |   2 +-
 lib/modules/NewsWidget.php                    |   2 +-
 lib/wiki.inc.php                              |   2 +-
 templates/blubber/course_context.php          |   2 +-
 templates/blubber/global_context.php          |   2 +-
 tests/unit/lib/classes/IconClassTest.php      |  16 +-
 98 files changed, 294 insertions(+), 297 deletions(-)

diff --git a/app/controllers/admin/courses.php b/app/controllers/admin/courses.php
index 6cee886bb9d..711494a4ed0 100644
--- a/app/controllers/admin/courses.php
+++ b/app/controllers/admin/courses.php
@@ -222,7 +222,7 @@ class Admin_CoursesController extends AuthenticatedController
             $actions->addLink(
                 _('Neue Veranstaltung anlegen'),
                   URLHelper::getURL('dispatch.php/course/wizard'),
-                  Icon::create('seminar+add')
+                  Icon::create('add')
             )->asDialog('size=50%');
             $actions->addLink(
                 _('Diese Seitenleiste konfigurieren'),
diff --git a/app/controllers/admin/plugin.php b/app/controllers/admin/plugin.php
index 91f597245f7..044fc50ca70 100644
--- a/app/controllers/admin/plugin.php
+++ b/app/controllers/admin/plugin.php
@@ -56,18 +56,15 @@ class Admin_PluginController extends AuthenticatedController
         $views = Sidebar::get()->addWidget(new ViewsWidget());
         $views->addLink(
             _('Pluginverwaltung'),
-            $this->indexURL(),
-            Icon::create('plugin')
+            $this->indexURL()
         )->setActive($action === 'index');
         $views->addLink(
             _('Weitere Plugins installieren'),
-            $this->searchURL(),
-            Icon::create('search')
+            $this->searchURL()
         )->setActive($action === 'search');
         $views->addLink(
             _('Vorhandene Plugins registrieren'),
-            $this->unregisteredURL(),
-            Icon::create('plugin+add')
+            $this->unregisteredURL()
         )->setActive($action === 'unregistered');
     }
 
diff --git a/app/controllers/admin/statusgroups.php b/app/controllers/admin/statusgroups.php
index 57ad3185f69..aee95f93088 100644
--- a/app/controllers/admin/statusgroups.php
+++ b/app/controllers/admin/statusgroups.php
@@ -70,7 +70,7 @@ class Admin_StatusgroupsController extends AuthenticatedController
             $widget = new ActionsWidget();
             $widget->addLink(_('Neue Gruppe anlegen'),
                              $this->url_for('admin/statusgroups/editGroup'),
-                             Icon::create('group3+add', 'clickable'))
+                             Icon::create('add', 'clickable'))
                    ->asDialog('size=auto');
             $widget->addLink(_('Gruppenreihenfolge ändern'),
                              $this->url_for('admin/statusgroups/sortGroups'),
diff --git a/app/controllers/admin/user.php b/app/controllers/admin/user.php
index ab9f23bc77b..9c9491c7e86 100644
--- a/app/controllers/admin/user.php
+++ b/app/controllers/admin/user.php
@@ -1528,18 +1528,18 @@ class Admin_UserController extends AuthenticatedController
             $actions->addLink(
                 _('Neues Konto anlegen'),
                 $this->url_for('admin/user/new'),
-                Icon::create('person+add')
+                Icon::create('add')
             )->asDialog();
         }
         $actions->addLink(
             _('Vorläufiges Konto anlegen'),
             $this->url_for('admin/user/new/prelim'),
-            Icon::create('date+add')
+            Icon::create('add')
         )->asDialog();
         $actions->addLink(
             _('Konten zusammenführen'),
             $this->url_for('admin/user/migrate/' . (($this->user && is_array($this->user)) ? $this->user['user_id'] : '')),
-            Icon::create('persons+new')
+            Icon::create('community')
         );
 
         $search = $sidebar->addWidget(new SearchWidget());
@@ -1554,7 +1554,7 @@ class Admin_UserController extends AuthenticatedController
             $export = $sidebar->addWidget(new ExportWidget());
             $export->addLink(_('Suchergebnis exportieren'),
                 $this->url_for('admin/user?export=1'),
-                Icon::create('persons+move_right')
+                Icon::create('export')
             );
         }
 
diff --git a/app/controllers/admission/restricted_courses.php b/app/controllers/admission/restricted_courses.php
index 5ae3a38add7..f611f094103 100644
--- a/app/controllers/admission/restricted_courses.php
+++ b/app/controllers/admission/restricted_courses.php
@@ -32,7 +32,7 @@ class Admission_RestrictedCoursesController extends AuthenticatedController
     {
 
         $actions = new ActionsWidget();
-        $actions->addLink(_("Export"), $this->url_for('admission/restricted_courses', ['csv' => 1]), Icon::create('file-excel+export', 'clickable'));
+        $actions->addLink(_("Export"), $this->url_for('admission/restricted_courses', ['csv' => 1]), Icon::create('export', 'clickable'));
         Sidebar::get()->addWidget($actions);
 
         $sem_condition = "";
diff --git a/app/controllers/consultation/admin.php b/app/controllers/consultation/admin.php
index eca774c4d20..3708bc872cb 100644
--- a/app/controllers/consultation/admin.php
+++ b/app/controllers/consultation/admin.php
@@ -817,12 +817,12 @@ class Consultation_AdminController extends ConsultationController
         $export->addLink(
             _('Anmeldungen exportieren'),
             $this->url_for('consultation/export/bookings', $action === 'expired'),
-            Icon::create('file-excel+export')
+            Icon::create('export')
         );
         $export->addLink(
             _('Alle Termine exportieren'),
             $this->url_for('consultation/export/all', $action === 'expired'),
-            Icon::create('file-excel+export')
+            Icon::create('export')
         );
     }
 
diff --git a/app/controllers/contact.php b/app/controllers/contact.php
index 1453f91d2eb..35b693c565e 100644
--- a/app/controllers/contact.php
+++ b/app/controllers/contact.php
@@ -221,7 +221,7 @@ class ContactController extends AuthenticatedController
         $actions->addLink(
             _('Neue Gruppe anlegen'),
             $this->url_for('contact/editGroup'),
-            Icon::create('group3+add')
+            Icon::create('group3')
         )->asDialog('size=auto');
         $actions->addLink(
             _('Nachricht an alle'),
diff --git a/app/controllers/course/details.php b/app/controllers/course/details.php
index bcd4f54172d..5eaedf763d6 100644
--- a/app/controllers/course/details.php
+++ b/app/controllers/course/details.php
@@ -287,7 +287,7 @@ class Course_DetailsController extends AuthenticatedController
                     'cid'    => null,
                     'again'  => 'yes',
                 ]),
-                Icon::create('group')
+                Icon::create('clipboard')
             );
             $sidebar->addWidget($share);
 
diff --git a/app/controllers/course/feedback.php b/app/controllers/course/feedback.php
index a4d79e3f47d..cd970a03e41 100644
--- a/app/controllers/course/feedback.php
+++ b/app/controllers/course/feedback.php
@@ -49,7 +49,7 @@ class Course_FeedbackController extends AuthenticatedController
                 $widget->addLink(
                     _('Neues Feedback-Element'),
                     $this->url_for('course/feedback/create_form'),
-                    Icon::create('star+add')
+                    Icon::create('star')
                 )->asDialog();
             }
         }
diff --git a/app/controllers/course/files.php b/app/controllers/course/files.php
index cccbdeec0fe..6cfef6e750d 100644
--- a/app/controllers/course/files.php
+++ b/app/controllers/course/files.php
@@ -73,7 +73,7 @@ class Course_FilesController extends AuthenticatedController
             $actions->addLink(
                 _('Neuer Ordner'),
                 URLHelper::getUrl('dispatch.php/file/new_folder/' . $this->topFolder->getId()),
-                Icon::create('folder-empty+add', 'clickable')
+                Icon::create('folder-empty', 'clickable')
             )->asDialog();
 
         }
@@ -81,7 +81,7 @@ class Course_FilesController extends AuthenticatedController
             $actions->addLink(
                 _('Dokument hinzufügen'),
                 '#',
-                Icon::create('file+add', 'clickable'),
+                Icon::create('add', 'clickable'),
                 ['onclick' => "STUDIP.Files.openAddFilesWindow(); return false;"]
             );
         }
@@ -89,7 +89,7 @@ class Course_FilesController extends AuthenticatedController
             $actions->addLink(
                 _('Neues Feedback-Element'),
                 $this->url_for('course/feedback/create_form/' . $this->topFolder->getId() . '/Folder'),
-                Icon::create('star+add')
+                Icon::create('star')
             )->asDialog();
 
         }
diff --git a/app/controllers/course/grouping.php b/app/controllers/course/grouping.php
index 2386a4d98d9..e35728255ca 100644
--- a/app/controllers/course/grouping.php
+++ b/app/controllers/course/grouping.php
@@ -133,7 +133,7 @@ class Course_GroupingController extends AuthenticatedController
             $actions->addLink(
                 _('Unterveranstaltungen anlegen'),
                 $this->url_for('course/grouping/create_children'),
-                Icon::create('seminar+add', 'clickable')
+                Icon::create('add', 'clickable')
             )->asDialog('size=auto');
             $sidebar->addWidget($actions);
         }
diff --git a/app/controllers/course/ilias_interface.php b/app/controllers/course/ilias_interface.php
index d6ebce2083a..a07e24ad637 100644
--- a/app/controllers/course/ilias_interface.php
+++ b/app/controllers/course/ilias_interface.php
@@ -103,14 +103,14 @@ class Course_IliasInterfaceController extends AuthenticatedController
                 $widget->addLink(
                     _('Lernobjekte suchen'),
                     $this->url_for('course/ilias_interface/add_object/search'),
-                    Icon::create('learnmodule+add')
+                    Icon::create('add')
                 )->asDialog();
             }
             if ($this->author_permission) {
                 $widget->addLink(
                     _('Meine Lernobjekte'),
                     $this->url_for('course/ilias_interface/add_object/my_modules'),
-                    Icon::create('learnmodule+add')
+                    Icon::create('add')
                 )->asDialog();
             }
             if ($this->ilias_interface_config['search_active'] || $this->author_permission) {
@@ -124,20 +124,20 @@ class Course_IliasInterfaceController extends AuthenticatedController
             $widget->addLink(
                 _('Neuen ILIAS-Kurs anlegen'),
                 $this->url_for('course/ilias_interface/add_object/new_course'),
-                Icon::create('seminar+add')
+                Icon::create('add')
             )->asDialog('size=auto;reload-on-close');
             if ($this->change_course_permission) {
                 $widget->addLink(
                     _('ILIAS-Kurs aus einer anderen Veranstaltung zuordnen'),
                     $this->url_for('course/ilias_interface/add_object/assign_course'),
-                    Icon::create('seminar+add')
+                    Icon::create('learnmodule')
                 )->asDialog('size=auto;reload-on-close');
             }
             if ($this->add_own_course_permission) {
                 $widget->addLink(
                     _('Eigenen ILIAS-Kurs zuordnen'),
                     $this->url_for('course/ilias_interface/add_object/assign_own_course'),
-                    Icon::create('seminar+add')
+                    Icon::create('learnmodule')
                 )->asDialog('size=auto;reload-on-close');
             }
         }
@@ -152,7 +152,7 @@ class Course_IliasInterfaceController extends AuthenticatedController
                 $widget->addLink(
                     sprintf(_('Verknüpfung zu %s entfernen'), $this->ilias_list[$ilias_index]->getName()),
                     $this->url_for("course/ilias_interface/remove_course/{$ilias_index}/{$crs_id}"),
-                    Icon::create('seminar+remove'),
+                    Icon::create('trash'),
                     [
                         'data-confirm' => sprintf(
                             _('Verknüpfung zum Kurs in %s entfernen? Hierdurch werden auch die Verknüpfungen zu allen Objekten innerhalb des Kurses entfernt.'),
@@ -170,7 +170,7 @@ class Course_IliasInterfaceController extends AuthenticatedController
                 $widget->addLink(
                     _('Gruppen übertragen'),
                     $this->url_for('course/ilias_interface/add_groups'),
-                    Icon::create('group2+refresh')
+                    Icon::create('group2')
                 )->asDialog('size=auto');
             }
             if ($this->author_permission) {
diff --git a/app/controllers/course/management.php b/app/controllers/course/management.php
index 2f8bc7b2d62..b3b92681ce4 100644
--- a/app/controllers/course/management.php
+++ b/app/controllers/course/management.php
@@ -66,7 +66,7 @@ class Course_ManagementController extends AuthenticatedController
                     $actions->addLink(
                         _('Veranstaltung kopieren'),
                         URLHelper::getURL($this->url_for('course/wizard/copy/'.$course->id), ['studip_ticket' => Seminar_Session::get_ticket()]),
-                        Icon::create('seminar+add')
+                        Icon::create('seminar')
                     );
                 }
 
@@ -74,7 +74,7 @@ class Course_ManagementController extends AuthenticatedController
                     $actions->addLink(
                         _('Veranstaltung löschen'),
                         URLHelper::getURL( $this->url_for('course/archive/confirm'), ['studip_ticket' => Seminar_Session::get_ticket()]),
-                        Icon::create('seminar+remove')
+                        Icon::create('trash')
                     )->asDialog('size=auto');
                 }
 
diff --git a/app/controllers/course/members.php b/app/controllers/course/members.php
index 4e6afdc44f5..e9cdb5f3472 100644
--- a/app/controllers/course/members.php
+++ b/app/controllers/course/members.php
@@ -203,7 +203,7 @@ class Course_MembersController extends AuthenticatedController
         $results = SimpleCollection::createFromArray($members)->pluck('email');
 
         if (!empty($results)) {
-            return sprintf('<a href="mailto:%s">%s</a>', htmlReady(join(',', $results)), Icon::create('mail+move_right', 'clickable', ['title' => sprintf('E-Mail an alle %s versenden',$textStatus)])->asImg(16));
+            return sprintf('<a href="mailto:%s">%s</a>', htmlReady(join(',', $results)), Icon::create('mail', 'clickable', ['title' => sprintf('E-Mail an alle %s versenden',$textStatus)])->asImg(16));
         } else {
             return null;
         }
@@ -1426,7 +1426,7 @@ class Course_MembersController extends AuthenticatedController
                     'course_id' => $this->course_id,
                     'default_subject' => $this->subject
                 ]),
-                Icon::create('inbox')
+                Icon::create('mail')
             )->asDialog('size=auto');
         }
         if ($this->is_tutor) {
@@ -1497,7 +1497,7 @@ class Course_MembersController extends AuthenticatedController
                             $membersOfInstitute)
                         ->setNavigationItem('/course/members/view')
                         ->render();
-                    $element = LinkElement::fromHTML($mp, Icon::create('community+add'));
+                    $element = LinkElement::fromHTML($mp, Icon::create('add'));
                     $widget->addElement($element);
                 }
                 if (!$this->tutor_is_locked) {
@@ -1553,7 +1553,7 @@ class Course_MembersController extends AuthenticatedController
                             $membersOfInstitute)
                         ->setNavigationItem('/course/members/view')
                         ->render();
-                    $element = LinkElement::fromHTML($mp, Icon::create('community+add'));
+                    $element = LinkElement::fromHTML($mp, Icon::create('add'));
                     $widget->addElement($element);
                 }
             }
@@ -1617,7 +1617,7 @@ class Course_MembersController extends AuthenticatedController
                     ->render();
                 $widget->addElement(LinkElement::fromHTML(
                     $mp,
-                    Icon::create('community+add')
+                    Icon::create('add')
                 ));
 
                 // add "add person to waitlist" to sidebar
@@ -1644,13 +1644,13 @@ class Course_MembersController extends AuthenticatedController
                         ->addQuickfilter(_('Mitglieder der Einrichtung'), $membersOfInstitute)
                         ->setNavigationItem('/course/members/view')
                         ->render();
-                    $element = LinkElement::fromHTML($mp, Icon::create('community+add'));
+                    $element = LinkElement::fromHTML($mp, Icon::create('add'));
                     $widget->addElement($element);
                 }
                 $widget->addLink(
                     _('Teilnehmendenliste importieren'),
                     $this->url_for('course/members/import_autorlist'),
-                    Icon::create('community+add'),
+                    Icon::create('persons'),
                     ['data-dialog' => 1]
                 );
             }
@@ -1671,7 +1671,7 @@ class Course_MembersController extends AuthenticatedController
                 );
                 $widget->addLinkFromHTML(
                     $csvExport,
-                    Icon::create('file-office')
+                    Icon::create('export')
                 );
 
                 // create csv-export link
@@ -1687,7 +1687,7 @@ class Course_MembersController extends AuthenticatedController
                 );
                 $widget->addLinkFromHTML(
                     $rtfExport,
-                    Icon::create('file-text')
+                    Icon::create('export')
                 );
 
                 if (count($this->awaiting) > 0) {
@@ -1703,7 +1703,7 @@ class Course_MembersController extends AuthenticatedController
                     );
                     $widget->addLinkFromHTML(
                         $awaiting_rtf,
-                        Icon::create('file-office+export')
+                        Icon::create('export')
                     );
 
                     $awaiting_csv = export_link(
@@ -1718,7 +1718,7 @@ class Course_MembersController extends AuthenticatedController
                     );
                     $widget->addLinkFromHTML(
                         $awaiting_csv,
-                        Icon::create('file-text+export')
+                        Icon::create('export')
                     );
                 }
             }
diff --git a/app/controllers/course/overview.php b/app/controllers/course/overview.php
index 3d209e6c652..bfff5538c72 100644
--- a/app/controllers/course/overview.php
+++ b/app/controllers/course/overview.php
@@ -153,7 +153,7 @@ class Course_OverviewController extends AuthenticatedController
                     'cid'   => null,
                     'again' => 'yes',
                 ]),
-                Icon::create('group')
+                Icon::create('clipboard')
             );
         } else {
             $share->addCopyableLink(
@@ -163,7 +163,7 @@ class Course_OverviewController extends AuthenticatedController
                     'cid'    => null,
                     'again'  => 'yes',
                 ]),
-                Icon::create('group')
+                Icon::create('clipboard')
             );
         }
         $sidebar->addWidget($share);
diff --git a/app/controllers/course/statusgroups.php b/app/controllers/course/statusgroups.php
index 4013c8c5f0c..46618e2fe47 100644
--- a/app/controllers/course/statusgroups.php
+++ b/app/controllers/course/statusgroups.php
@@ -236,14 +236,14 @@ class Course_StatusgroupsController extends AuthenticatedController
         if ($this->is_tutor) {
             if (!$this->is_locked) {
                 $actions->addLink(
-                    _('Neue Gruppe anlegen'),
+                    _('Gruppe anlegen'),
                     $this->url_for('course/statusgroups/edit'),
                     Icon::create('add')
                 )->asDialog('size=auto');
                 $actions->addLink(
                     _('Mehrere Gruppen anlegen'),
                     $this->url_for('course/statusgroups/create_groups'),
-                    Icon::create('group2+add')
+                    Icon::create('add')
                 )->asDialog('size=auto');
             }
             if (Config::get()->EXPORT_ENABLE) {
@@ -252,18 +252,18 @@ class Course_StatusgroupsController extends AuthenticatedController
                 $csvExport = export_link($this->course_id, 'person',
                     sprintf('%s %s', _('Gruppenliste'), htmlReady($this->course_title)),
                     'csv', 'csv-gruppen', 'status',
-                    _('Gruppen als CSV-Dokument exportieren'),
+                    _('Als CSV-Dokument exportieren'),
                     'passthrough');
-                $element = LinkElement::fromHTML($csvExport, Icon::create('file-office'));
+                $element = LinkElement::fromHTML($csvExport, Icon::create('export'));
                 $export->addElement($element);
 
                 // create rtf-export link
                 $rtfExport = export_link($this->course_id, 'person',
                     sprintf('%s %s', _('Gruppenliste'), htmlReady($this->course_title)),
                     'rtf', 'rtf-gruppen', 'status',
-                    _('Gruppen als RTF-Dokument exportieren'),
+                    _('Als RTF-Dokument exportieren'),
                     'passthrough');
-                $element = LinkElement::fromHTML($rtfExport, Icon::create('file-text'));
+                $element = LinkElement::fromHTML($rtfExport, Icon::create('export'));
                 $export->addElement($element);
 
                 $sidebar->addWidget($export);
@@ -287,7 +287,7 @@ class Course_StatusgroupsController extends AuthenticatedController
             $actions->addLink(
                 _('Alle Gruppen aufklappen'),
                 $this->url_for('course/statusgroups', ['open_groups' => '1']),
-                Icon::create('arr_2down')
+                Icon::create('arr_1down')
             );
         }
         $sidebar->addWidget($actions);
diff --git a/app/controllers/course/studygroup.php b/app/controllers/course/studygroup.php
index cbe711e2cc1..58032b86c32 100644
--- a/app/controllers/course/studygroup.php
+++ b/app/controllers/course/studygroup.php
@@ -376,7 +376,7 @@ class Course_StudygroupController extends AuthenticatedController
             $actions->addLink(
                 _('Neue Studiengruppe anlegen'),
                 $this->url_for('course/wizard?studygroup=1'),
-                Icon::create('studygroup+add')
+                Icon::create('add')
             );
             if ($GLOBALS['perm']->have_studip_perm('tutor', $id)) {
                 $actions->addLink(
@@ -551,7 +551,7 @@ class Course_StudygroupController extends AuthenticatedController
                                     ->setNavigationItem('/course/members')
                                     ->render();
 
-            $element = LinkElement::fromHTML($mp, Icon::create('community+add', 'clickable'));
+            $element = LinkElement::fromHTML($mp, Icon::create('add', 'clickable'));
             $actions->addElement($element);
         }
 
diff --git a/app/controllers/course/topics.php b/app/controllers/course/topics.php
index c8218569f3d..d90955f9b2b 100644
--- a/app/controllers/course/topics.php
+++ b/app/controllers/course/topics.php
@@ -250,7 +250,7 @@ class Course_TopicsController extends AuthenticatedController
             $actions->addLink(
                 _('Themen aus Veranstaltung kopieren'),
                 $this->url_for('course/topics/copy'),
-                Icon::create('topic+add')
+                Icon::create('clipboard')
             )->asDialog();
         }
 
diff --git a/app/controllers/fachabschluss/abschluesse.php b/app/controllers/fachabschluss/abschluesse.php
index 4d3bca8c78d..e7d350dca9f 100644
--- a/app/controllers/fachabschluss/abschluesse.php
+++ b/app/controllers/fachabschluss/abschluesse.php
@@ -180,7 +180,7 @@ class Fachabschluss_AbschluesseController extends MVVController
             $widget->addLink(
                 _('Neuen Abschluss anlegen'),
                 $this->url_for('/abschluss'),
-                    Icon::create('file')
+                    Icon::create('add')
             );
             $sidebar->addWidget($widget);
         }
diff --git a/app/controllers/fachabschluss/faecher.php b/app/controllers/fachabschluss/faecher.php
index 1240a88fd15..b767005af7e 100644
--- a/app/controllers/fachabschluss/faecher.php
+++ b/app/controllers/fachabschluss/faecher.php
@@ -228,7 +228,7 @@ class Fachabschluss_FaecherController extends MVVController
             $widget->addLink(
                 _('Neues Fach anlegen'),
                 $this->url_for('/fach'),
-                Icon::create('file+add')
+                Icon::create('add')
             );
             $sidebar->addWidget($widget);
         }
diff --git a/app/controllers/fachabschluss/kategorien.php b/app/controllers/fachabschluss/kategorien.php
index 892ec5ea77f..8c005879d5a 100644
--- a/app/controllers/fachabschluss/kategorien.php
+++ b/app/controllers/fachabschluss/kategorien.php
@@ -225,7 +225,7 @@ class Fachabschluss_KategorienController extends MVVController
             $widget->addLink(
                 _('Neue Abschluss-Kategorie anlegen'),
                 $this->url_for('/kategorie'),
-                Icon::create('file+add')
+                Icon::create('add')
             );
             $sidebar->addWidget($widget);
         }
diff --git a/app/controllers/files.php b/app/controllers/files.php
index 531463d7d67..aaa26ef5669 100644
--- a/app/controllers/files.php
+++ b/app/controllers/files.php
@@ -96,7 +96,7 @@ class FilesController extends AuthenticatedController
             $actions->addLink(
                 _('Neuer Ordner'),
                 URLHelper::getUrl('dispatch.php/file/new_folder/' . $folder->getId()),
-                Icon::create('folder-empty+add', 'clickable'), ['data-dialog' => 1]
+                Icon::create('folder-empty', 'clickable'), ['data-dialog' => 1]
             );
         }
 
@@ -113,7 +113,7 @@ class FilesController extends AuthenticatedController
             $actions->addLink(
                 _('Dokument hinzufügen'),
                 '#',
-                Icon::create('file+add', 'clickable'),
+                Icon::create('add', 'clickable'),
                 ['onClick' => "STUDIP.Files.openAddFilesWindow(); return false;"]
             );
         }
diff --git a/app/controllers/files_dashboard/helpers.php b/app/controllers/files_dashboard/helpers.php
index 1e4e2717585..3519fb8ba5f 100644
--- a/app/controllers/files_dashboard/helpers.php
+++ b/app/controllers/files_dashboard/helpers.php
@@ -56,7 +56,7 @@ trait Helpers
             $actionMenu->addLink(
                 URLHelper::getURL('dispatch.php/file/choose_destination/move/'.$fileRef->id),
                 _('Datei verschieben'),
-                Icon::create('file+move_right', Icon::ROLE_CLICKABLE, ['size' => 20]),
+                Icon::create('arr_1right', Icon::ROLE_CLICKABLE, ['size' => 20]),
                 ['data-dialog' => 'size=auto']
             );
         }
@@ -65,7 +65,7 @@ trait Helpers
             $actionMenu->addLink(
                 URLHelper::getURL('dispatch.php/file/choose_destination/copy/'.$fileRef->id),
                 _('Datei kopieren'),
-                Icon::create('file+add', Icon::ROLE_CLICKABLE, ['size' => 20]),
+                Icon::create('clipboard', Icon::ROLE_CLICKABLE, ['size' => 20]),
                 ['data-dialog' => 'size=auto']
             );
         }
diff --git a/app/controllers/files_dashboard/sidebar.php b/app/controllers/files_dashboard/sidebar.php
index 347b99c35b2..9fcc237c303 100644
--- a/app/controllers/files_dashboard/sidebar.php
+++ b/app/controllers/files_dashboard/sidebar.php
@@ -23,7 +23,7 @@ trait Sidebar
         $actions->addLink(
             _('Datei hinzufügen'),
             $this->url_for('file/choose_destination/upload'),
-            \Icon::create('file+add', 'clickable'),
+            \Icon::create('add', 'clickable'),
             ['data-dialog' => 'size=auto']
         );
 
diff --git a/app/controllers/institute/files.php b/app/controllers/institute/files.php
index 8ff697b39da..9f2cdd5559b 100644
--- a/app/controllers/institute/files.php
+++ b/app/controllers/institute/files.php
@@ -67,14 +67,14 @@ class Institute_FilesController extends AuthenticatedController
                 URLHelper::getUrl(
                     'dispatch.php/file/new_folder/' . $this->topFolder ->getId()
                 ),
-                Icon::create('folder-empty+add', 'clickable')
+                Icon::create('folder-empty', 'clickable')
             )->asDialog();
         }
         if ($this->topFolder && $this->topFolder->isWritable($GLOBALS['user']->id)) {
             $actions->addLink(
                 _('Dokument hinzufügen'),
                 '#',
-                Icon::create('file+add', 'clickable'),
+                Icon::create('add', 'clickable'),
                 ['onclick' => "STUDIP.Files.openAddFilesWindow(); return false;"]
             );
         }
diff --git a/app/controllers/lvgruppen/lvgruppen.php b/app/controllers/lvgruppen/lvgruppen.php
index 43831cbe556..e9050de1c5b 100644
--- a/app/controllers/lvgruppen/lvgruppen.php
+++ b/app/controllers/lvgruppen/lvgruppen.php
@@ -94,17 +94,17 @@ class Lvgruppen_LvgruppenController extends MVVController
 
         $this->setSidebar();
         $sidebar = Sidebar::get();
-        $widget  = new ActionsWidget();
+        $widget  = new ExportWidget();
 
         $widget->addLink(_('Lehrveranstaltungsgruppen mit Zuordnungen exportieren'),
                 $this->url_for('/export_xls'),
-                Icon::create('download'));
+                Icon::create('export'));
 
         if (Config::get()->MVV_ALLOW_CREATE_LVGRUPPEN_INDEPENDENTLY
                 && MvvPerm::havePermCREATE('Lvgruppe')) {
             $widget->addLink(_('Neue LV-Gruppe anlegen'),
                 $this->url_for('/lvgruppe'),
-                Icon::create('file+add'), ['data-dialog' => 'size=auto']);
+                Icon::create('add'), ['data-dialog' => 'size=auto']);
         }
 
         $sidebar->addWidget($widget);
diff --git a/app/controllers/materialien/files.php b/app/controllers/materialien/files.php
index 629845a1bee..ba5f2c8ba1e 100644
--- a/app/controllers/materialien/files.php
+++ b/app/controllers/materialien/files.php
@@ -614,7 +614,7 @@ class Materialien_FilesController extends MVVController
             $widget->addLink(
                 _('Neues Dokument anlegen'),
                 $this->url_for('/new_dokument'),
-                Icon::create('file+add')
+                Icon::create('add')
             )->asDialog('size=auto');
         }
         $sidebar->addWidget($widget);
diff --git a/app/controllers/messages.php b/app/controllers/messages.php
index 82d42d1cae5..c6672ae6dbf 100644
--- a/app/controllers/messages.php
+++ b/app/controllers/messages.php
@@ -997,7 +997,7 @@ class MessagesController extends AuthenticatedController {
             $actions->addLink(
                 _('Neue Nachricht schreiben'),
                 $this->url_for('messages/write'),
-                Icon::create('mail+add'),
+                Icon::create('mail'),
                 ['data-dialog' => 'width=700;height=700']
             );
         }
diff --git a/app/controllers/module/module.php b/app/controllers/module/module.php
index cf7b6ac23d0..cb685826e0b 100644
--- a/app/controllers/module/module.php
+++ b/app/controllers/module/module.php
@@ -1317,7 +1317,7 @@ class Module_ModuleController extends MVVController
             $widget->addLink(
                 _('Neues Modul anlegen'),
                 $this->url_for('/modul'),
-                Icon::create('file+add')
+                Icon::create('add')
             );
         }
         $sidebar->addWidget($widget, 'actions');
diff --git a/app/controllers/my_courses.php b/app/controllers/my_courses.php
index 0c12f417bb5..a45ad4dd045 100644
--- a/app/controllers/my_courses.php
+++ b/app/controllers/my_courses.php
@@ -882,20 +882,20 @@ class MyCoursesController extends AuthenticatedController
             $setting_widget->addLink(
                 _('Neue Veranstaltung anlegen'),
                 URLHelper::getURL('dispatch.php/course/wizard'),
-                Icon::create('seminar+add')
+                Icon::create('add')
             )->asDialog();
         }
 
         $setting_widget->addLink(
             _('Veranstaltung hinzufügen'),
             URLHelper::getURL('dispatch.php/search/courses'),
-            Icon::create('seminar')
+            Icon::create('search')
         );
         if (Config::get()->STUDYGROUPS_ENABLE) {
             $setting_widget->addLink(
                 _('Neue Studiengruppe anlegen'),
                 URLHelper::getURL('dispatch.php/course/wizard', ['studygroup' => 1]),
-                Icon::create('studygroup+add')
+                Icon::create('studygroup')
             )->asDialog();
         }
 
diff --git a/app/controllers/my_institutes.php b/app/controllers/my_institutes.php
index 0bdff852d75..514fd66380b 100644
--- a/app/controllers/my_institutes.php
+++ b/app/controllers/my_institutes.php
@@ -118,14 +118,14 @@ class MyInstitutesController extends AuthenticatedController
             $links->addLink(
                 _('Einrichtungsdaten bearbeiten'),
                 URLHelper::getURL('dispatch.php/settings/statusgruppen'),
-                Icon::create('institute+edit')
+                Icon::create('edit')
             );
         }
         if ($GLOBALS['perm']->have_perm('autor')) {
             $links->addLink(
                 _('Einrichtungen suchen'),
                 URLHelper::getURL('dispatch.php/search/globalsearch#GlobalSearchInstitutes'),
-                Icon::create('institute+add')
+                Icon::create('search')
             );
             $links->addLink(
                 _('Studiendaten bearbeiten'),
diff --git a/app/controllers/news.php b/app/controllers/news.php
index 9e685ea4765..d41ee6398c2 100644
--- a/app/controllers/news.php
+++ b/app/controllers/news.php
@@ -582,7 +582,7 @@ class NewsController extends StudipController
         $widget->addLink(
             _('Ankündigung erstellen'),
             $this->url_for('news/edit_news/new'),
-            Icon::create('news+add'),
+            Icon::create('add'),
             ['target' => '_blank']
         )->asDialog();
         $this->sidebar->addWidget($widget);
diff --git a/app/controllers/profile.php b/app/controllers/profile.php
index 21de27e6121..cd2994f9379 100644
--- a/app/controllers/profile.php
+++ b/app/controllers/profile.php
@@ -279,14 +279,14 @@ class ProfileController extends AuthenticatedController
                 $actions->addLink(
                     _('Zu den Kontakten hinzufügen'),
                     $this->url_for('profile/add_buddy?username=' . $this->current_user->username),
-                    Icon::create('person+add', Icon::ROLE_CLICKABLE, tooltip2(_('Zu den Kontakten hinzufügen'))),
+                    Icon::create('add', Icon::ROLE_CLICKABLE, tooltip2(_('Zu den Kontakten hinzufügen'))),
                     ['data-confirm' => _('Wollen Sie die Person wirklich als Kontakt hinzufügen?')]
                 )->asButton();
             } else {
                 $actions->addLink(
                     _('Von den Kontakten entfernen'),
                     $this->url_for('profile/remove_buddy', ['username' => $this->current_user->username]),
-                    Icon::create('person+remove', Icon::ROLE_CLICKABLE, tooltip2(_('Zu den Kontakten hinzufügen'))),
+                    Icon::create('trash', Icon::ROLE_CLICKABLE, tooltip2(_('Zu den Kontakten hinzufügen'))),
                     ['data-confirm' => _('Wollen Sie die Person wirklich von den Kontakten entfernen?')]
                 )->asButton();
             }
diff --git a/app/controllers/resources/resource.php b/app/controllers/resources/resource.php
index b2aaa783d71..e7570d2c0c0 100644
--- a/app/controllers/resources/resource.php
+++ b/app/controllers/resources/resource.php
@@ -1446,7 +1446,7 @@ class Resources_ResourceController extends AuthenticatedController
             $actions->addLink(
                 _('Dokument hinzufügen'),
                 '#',
-                Icon::create('file+add'),
+                Icon::create('file'),
                 [
                     'onclick' => 'STUDIP.Files.openAddFilesWindow(); return false;'
                 ]
diff --git a/app/controllers/resources/room_request.php b/app/controllers/resources/room_request.php
index 3ab375d7e89..b12da6b0c45 100644
--- a/app/controllers/resources/room_request.php
+++ b/app/controllers/resources/room_request.php
@@ -557,7 +557,7 @@ class Resources_RoomRequestController extends AuthenticatedController
             $filter_reset_widget->addLink(
                 _('Filter zurücksetzen'),
                 $this->overviewURL(['reset_filter' => '1']),
-                Icon::create('filter+decline')
+                Icon::create('decline')
             );
             $sidebar->addWidget($filter_reset_widget);
         }
@@ -770,12 +770,12 @@ class Resources_RoomRequestController extends AuthenticatedController
         $export->addLink(
             _('Gefilterte Anfragen'),
             $this->export_listURL($export_url_params),
-            Icon::create('file-excel')
+            Icon::create('export')
         );
         $export->addLink(
             _('Alle Anfragen'),
             $this->export_listURL(),
-            Icon::create('file-excel')
+            Icon::create('export')
         );
         $sidebar->addWidget($export);
 
@@ -2593,7 +2593,7 @@ class Resources_RoomRequestController extends AuthenticatedController
             $filter_reset_widget->addLink(
                 _('Filter zurücksetzen'),
                 $this->planningURL(['reset_filter' => '1']),
-                Icon::create('filter+decline')
+                Icon::create('decline')
             );
             $sidebar->addWidget($filter_reset_widget);
         }
diff --git a/app/controllers/room_management/planning.php b/app/controllers/room_management/planning.php
index 95d806bde13..5890a66d17f 100644
--- a/app/controllers/room_management/planning.php
+++ b/app/controllers/room_management/planning.php
@@ -286,7 +286,7 @@ class RoomManagement_PlanningController extends AuthenticatedController
         $actions->addLink(
             _('Buchungen kopieren'),
             $this->url_for('room_management/planning/copy_bookings'),
-            Icon::create('assessment+add'),
+            Icon::create('clipboard'),
             ['data-dialog' => 'size=auto']
         );
         $sidebar->addWidget($actions);
@@ -1132,7 +1132,7 @@ class RoomManagement_PlanningController extends AuthenticatedController
                     'date' => $this->date->format('d.m.Y')
                 ]
             ),
-            Icon::create('file-text')
+            Icon::create('export')
         );
         $actions->addLink(
             _('Export als CSV'),
@@ -1143,7 +1143,7 @@ class RoomManagement_PlanningController extends AuthenticatedController
                     'date' => $this->date->format('d.m.Y')
                 ]
             ),
-            Icon::create('file-excel')
+            Icon::create('export')
         );
         $sidebar->addWidget($actions);
 
diff --git a/app/controllers/settings/deputies.php b/app/controllers/settings/deputies.php
index 910d93da467..69921667ea0 100644
--- a/app/controllers/settings/deputies.php
+++ b/app/controllers/settings/deputies.php
@@ -93,7 +93,7 @@ class Settings_DeputiesController extends Settings_SettingsController
             ->setSearchObject($this->search)
             ->setNavigationItem('/links/settings/deputies')
             ->render();
-        $element = LinkElement::fromHTML($mp, Icon::create('community+add'));
+        $element = LinkElement::fromHTML($mp, Icon::create('add'));
         $actions->addElement($element);
         Sidebar::Get()->addWidget($actions);
     }
diff --git a/app/controllers/shared/contacts.php b/app/controllers/shared/contacts.php
index b1d82c46310..5ab74ebf870 100644
--- a/app/controllers/shared/contacts.php
+++ b/app/controllers/shared/contacts.php
@@ -267,13 +267,13 @@ class Shared_ContactsController extends MVVController
             $widget->addLink(
                 _('Neuen Ansprechpartner anlegen'),
                 $this->url_for('/new_ansprechpartner'),
-                Icon::create('headache+add')
+                Icon::create('add')
             )->asDialog('size=auto');
         }
         $widget->addLink(
             _('Liste exportieren (CSV)'),
             $this->url_for('/export_csv'),
-            Icon::create('download')
+            Icon::create('export')
         );
         $sidebar->addWidget($widget);
 
diff --git a/app/controllers/studiengaenge/studiengaenge.php b/app/controllers/studiengaenge/studiengaenge.php
index 97a9a589c79..f04a62a77fe 100644
--- a/app/controllers/studiengaenge/studiengaenge.php
+++ b/app/controllers/studiengaenge/studiengaenge.php
@@ -1027,7 +1027,7 @@ class Studiengaenge_StudiengaengeController extends MVVController
             $widget->addLink(
                 _('Neuen Studiengang anlegen'),
                 $this->url_for('/studiengang'),
-                Icon::create('file+add')
+                Icon::create('add')
             );
         }
         $sidebar->addWidget($widget);
diff --git a/app/controllers/studiengaenge/studiengangteile.php b/app/controllers/studiengaenge/studiengangteile.php
index ffd71517b53..f5d7b2de1fa 100644
--- a/app/controllers/studiengaenge/studiengangteile.php
+++ b/app/controllers/studiengaenge/studiengangteile.php
@@ -251,7 +251,7 @@ class Studiengaenge_StudiengangteileController extends SharedVersionController
             $widget->addLink(
                 _('Neuen Studiengangteil anlegen'),
                 $this->url_for('/stgteil'),
-                Icon::create('file+add')
+                Icon::create('add')
             );
         }
         $sidebar->addWidget($widget);
diff --git a/app/controllers/studiengaenge/versionen.php b/app/controllers/studiengaenge/versionen.php
index cb0be78d26a..d7fcd705d06 100644
--- a/app/controllers/studiengaenge/versionen.php
+++ b/app/controllers/studiengaenge/versionen.php
@@ -281,7 +281,7 @@ class Studiengaenge_VersionenController extends SharedVersionController
                 $widget->addLink(
                     _('Neue Version anlegen'),
                     $this->url_for('/version', $this->chooser_filter['stgteil']),
-                    Icon::create('file+add')
+                    Icon::create('add')
                 );
             }
         }
diff --git a/app/views/admin/plugin/index.php b/app/views/admin/plugin/index.php
index 5f38b363dfb..859083babbb 100644
--- a/app/views/admin/plugin/index.php
+++ b/app/views/admin/plugin/index.php
@@ -67,7 +67,7 @@ use Studip\Button, Studip\LinkButton;
                         <td <? if (!$plugin['enabled']) echo 'class="quiet"'; ?>>
                             <?= htmlReady($update_info[$pluginid]['version']) ?>
                         <? if ($plugin['automatic_update_url']): ?>
-                            <?= Icon::create('plugin+move_down', Icon::ROLE_STATUS_RED)->asImg([
+                            <?= Icon::create('install', Icon::ROLE_STATUS_RED)->asImg([
                                 'title' => _('Automatische Updates sind eingerichtet'),
                                 'style' => 'vertical-align: text-bottom',
                             ]) ?>
@@ -79,7 +79,7 @@ use Studip\Button, Studip\LinkButton;
                             <? if ($migrations[$pluginid]['schema_version'] < $migrations[$pluginid]['migration_top_version']): ?>
                                 <a href="<?= $controller->url_for('admin/plugin/migrate/' . $pluginid) ?>"
                                    title="<?= sprintf(_('Update auf Version %d verfügbar'), $migrations[$pluginid]['migration_top_version']) ?>">
-                                    <?= Icon::create('plugin+new') ?>
+                                    <?= Icon::create('plugin', Icon::ROLE_STATUS_RED) ?>
                                 </a>
                             <? endif; ?>
                         <? endif; ?>
@@ -100,7 +100,7 @@ use Studip\Button, Studip\LinkButton;
                                 <? $actionMenu->addLink(
                                     $controller->url_for('admin/plugin/edit_automaticupdate/' . $pluginid),
                                     $plugin['automatic_update_url'] ? _('Automatisches Update verwalten (eingerichtet)') : _('Automatisches Update verwalten'),
-                                    Icon::create('plugin+move_down', $plugin['automatic_update_url'] ? 'attention' : 'clickable', [
+                                    Icon::create('install', $plugin['automatic_update_url'] ? 'attention' : 'clickable', [
                                         'title' => $plugin['automatic_update_url']
                                                  ? _('Automatisches Update verwalten (eingerichtet)')
                                                  : _('Automatisches Update verwalten')
diff --git a/app/views/admin/role/show_role.php b/app/views/admin/role/show_role.php
index 161296f8f6c..ba91fc5e304 100644
--- a/app/views/admin/role/show_role.php
+++ b/app/views/admin/role/show_role.php
@@ -144,7 +144,7 @@ use Studip\Button, Studip\LinkButton;
                         htmlReady($role->getRolename())) ?>
             <div class="actions">
                 <a href="<?= $controller->url_for('admin/role/add_plugin/' . $roleid) ?>" data-dialog="size=auto">
-                    <?= Icon::create('plugin+add', 'clickable') ?>
+                    <?= Icon::create('add', 'clickable') ?>
                     <?= _('Plugins hinzufügen') ?>
                 </a>
             </div>
diff --git a/app/views/admin/webservice_access/index.php b/app/views/admin/webservice_access/index.php
index 2a63164f4aa..b74b67c10ff 100644
--- a/app/views/admin/webservice_access/index.php
+++ b/app/views/admin/webservice_access/index.php
@@ -76,7 +76,7 @@
 $sidebar = Sidebar::Get();
 
 $actions = new ActionsWidget();
-$actions->addLink(_('Regeln testen'),$controller->url_for('admin/webservice_access/test'), Icon::create('add', 'clickable'));
+$actions->addLink(_('Regeln testen'),$controller->url_for('admin/webservice_access/test'), Icon::create('unit-test', 'clickable'));
 $actions->addLink(_('Neue Zugriffsregel anlegen'),$controller->url_for('admin/webservice_access/new'), Icon::create('add', 'clickable'));
 
 $sidebar->addWidget($actions);
diff --git a/app/views/admission/courseset/index.php b/app/views/admission/courseset/index.php
index f0f56b728d9..555e18f2e62 100644
--- a/app/views/admission/courseset/index.php
+++ b/app/views/admission/courseset/index.php
@@ -58,7 +58,7 @@ if ($coursesets) {
                     </a>
                     <? if ($courseset->isUserAllowedToEdit($GLOBALS['user']->id)) : ?>
                     <a href="<?= $controller->link_for('admission/courseset/copy/'.$courseset->getId()); ?>">
-                            <?= Icon::create('edit+add', 'clickable', ['title' => _('Anmeldeset kopieren')])->asImg(16, ["alt" => _('Anmeldeset kopieren')]); ?>
+                            <?= Icon::create('clipboard', 'clickable', ['title' => _('Anmeldeset kopieren')])->asImg(16, ["alt" => _('Anmeldeset kopieren')]); ?>
                         </a>
                     <a href="<?= $controller->link_for('admission/courseset/configure/'.$courseset->getId()); ?>">
                             <?= Icon::create('edit')->asImg(['title' => _('Anmeldeset bearbeiten')]) ?>
diff --git a/app/views/calendar/schedule/index.php b/app/views/calendar/schedule/index.php
index 60e6d69532f..31339f5e6bb 100644
--- a/app/views/calendar/schedule/index.php
+++ b/app/views/calendar/schedule/index.php
@@ -17,7 +17,7 @@ if (!$inst_mode) {
     $actions->addLink(
         _('Neuer Eintrag'),
         $controller->url_for('calendar/schedule/entry'),
-        Icon::create('date+add'),
+        Icon::create('add'),
         ['data-dialog' => 'size=auto']
     );
 }
diff --git a/app/views/calendar/single/manage_access.php b/app/views/calendar/single/manage_access.php
index b5f1634ecd2..5aa5ca6a9a5 100644
--- a/app/views/calendar/single/manage_access.php
+++ b/app/views/calendar/single/manage_access.php
@@ -82,7 +82,7 @@
                         </td>
                         <td class="actions">
                             <a title="<?= _('Benutzer entfernen') ?>" onClick="STUDIP.CalendarDialog.removeUser(this);" href="<?= $controller->url_for('calendar/single/remove_user/' . $calendar->getRangeId() . $filter, ['user_id' => $user->user_id]) ?>">
-                                <?= Icon::create('person+remove', 'clickable')->asImg() ?>
+                                <?= Icon::create('trash', 'clickable')->asImg() ?>
                             </a>
                         </td>
                     </tr>
@@ -96,4 +96,4 @@
         <?= Studip\LinkButton::create(_('Abbrechen'), $controller->url_for('calendar/single/' . $last_view)) ?>
         <? endif; ?>
     </div>
-</form>
\ No newline at end of file
+</form>
diff --git a/app/views/consultation/admin/index.php b/app/views/consultation/admin/index.php
index cf8d6c0ae11..70367ae2bdb 100644
--- a/app/views/consultation/admin/index.php
+++ b/app/views/consultation/admin/index.php
@@ -62,7 +62,7 @@
                 )->condition($block['block']->has_bookings && !$block['block']->is_expired)->addLink(
                     $controller->cancel_blockURL($block['block'], $page),
                     _('Termine absagen'),
-                    Icon::create('consultation+remove'),
+                    Icon::create('decline'),
                     ['data-dialog' => 'size=auto']
                 )->condition(!$block['block']->has_bookings || $block['block']->is_expired)->addButton(
                     'remove',
@@ -127,7 +127,7 @@
                 )->condition(!$slot->is_expired && count($slot->bookings) < $slot->block->size)->addLink(
                     $controller->bookURL($block['block'], $slot, $page),
                     _('Termin reservieren'),
-                    Icon::create('consultation+add'),
+                    Icon::create('consultation'),
                     ['data-dialog' => 'size=auto']
                 )->condition($slot->has_bookings)->addLink(
                     $controller->reasonURL($block['block'], $slot, $slot->bookings->first(), $page),
@@ -142,7 +142,7 @@
                 )->condition($slot->has_bookings && !$slot->is_expired)->addLink(
                     $controller->cancel_slotURL($block['block'], $slot, $page),
                     _('Termin absagen'),
-                    Icon::create('consultation+remove'),
+                    Icon::create('decline'),
                     ['data-dialog' => 'size=auto']
                 )->condition(!$slot->has_bookings || $slot->is_expired)->addButton(
                     'delete',
diff --git a/app/views/consultation/admin/ungrouped.php b/app/views/consultation/admin/ungrouped.php
index e64efea67f0..0643429c20f 100644
--- a/app/views/consultation/admin/ungrouped.php
+++ b/app/views/consultation/admin/ungrouped.php
@@ -88,7 +88,7 @@
                 )->condition($block->has_bookings && !$block->is_expired)->addLink(
                     $controller->cancel_blockURL($block, $page),
                     _('Termine absagen'),
-                    Icon::create('consultation+remove'),
+                    Icon::create('decline'),
                     ['data-dialog' => 'size=auto']
                 )->condition(!$block->has_bookings || $block->is_expired)->addButton(
                     'remove',
@@ -214,7 +214,7 @@
                 )->condition(!$slot->is_expired && count($slot->bookings) < $slot->block->size)->addLink(
                     $controller->bookURL($slot->block, $slot, $page),
                     _('Termin reservieren'),
-                    Icon::create('consultation+add'),
+                    Icon::create('consultation'),
                     ['data-dialog' => 'size=auto']
                 )->condition($slot->has_bookings)->addLink(
                     $controller->reasonURL($slot->block, $slot, $slot->bookings->first(), $page),
@@ -229,7 +229,7 @@
                 )->condition($slot->has_bookings && !$slot->is_expired)->addLink(
                     $controller->cancel_slotURL($slot->block, $slot, $page),
                     _('Termin absagen'),
-                    Icon::create('consultation+remove'),
+                    Icon::create('decline'),
                     ['data-dialog' => 'size=auto']
                 )->condition(!$slot->has_bookings || $slot->is_expired)->addButton(
                     'delete',
diff --git a/app/views/contact/index.php b/app/views/contact/index.php
index 503c65a2463..6ecef64ac25 100644
--- a/app/views/contact/index.php
+++ b/app/views/contact/index.php
@@ -82,7 +82,7 @@
                                     Icon::create('vcard')) ?>
                                 <?= $actionMenu->addButton('remove_person',
                                     $filter ? _('Kontakt aus Gruppe entfernen') : _('Kontakt entfernen'),
-                                    Icon::create('person+remove',
+                                    Icon::create('trash',
                                         [
                                             'data-confirm' => sprintf(
                                                 _('Wollen Sie %s wirklich von der Liste entfernen'),
diff --git a/app/views/course/dates/_date_row-exdate.php b/app/views/course/dates/_date_row-exdate.php
index c9b95f5d725..0b86f6e41d9 100644
--- a/app/views/course/dates/_date_row-exdate.php
+++ b/app/views/course/dates/_date_row-exdate.php
@@ -20,7 +20,7 @@
     <? if ($has_access && !$cancelled_dates_locked): ?>
         <form action="<?= $controller->url_for("course/timesrooms/undeleteSingle/{$date->id}/1") ?>" method="post">
             <? $actionMenu = ActionMenu::get()->setContext($date) ?>
-            <? $actionMenu->addButton('restore_date', _('Termin wiederherstellen'), Icon::create('trash+decline'),
+            <? $actionMenu->addButton('restore_date', _('Termin wiederherstellen'), Icon::create('refresh'),
                                       ['data-confirm' => _('Diesen Termin wiederherstellen?')]) ?>
             <?= $actionMenu->render() ?>
         </form>
diff --git a/app/views/course/dates/_date_row.php b/app/views/course/dates/_date_row.php
index fe045ed73ca..32433ae593c 100644
--- a/app/views/course/dates/_date_row.php
+++ b/app/views/course/dates/_date_row.php
@@ -1,5 +1,5 @@
 <?php
-$icon = $date->chdate > $last_visitdate ? 'date+new' : 'date';
+$icon = 'date';
 $dialog_url = $show_raumzeit
             ? $controller->url_for('course/dates/details/' . $date->id)
             : $controller->url_for('course/dates/singledate/' . $date->id);
@@ -54,7 +54,7 @@ $dialog_url = $show_raumzeit
         <? if ($has_access): ?>
             <? $actionMenu->addLink($dialog_url, _('Termin bearbeiten'), Icon::create('edit'), ['data-dialog' => '']) ?>
             <? $actionMenu->addLink($controller->url_for('course/dates/new_topic?termin_id=' . $date->id),
-                                    _('Thema hinzufügen'), Icon::create('topic+add'), ['data-dialog' => 'size=auto']) ?>
+                                    _('Thema hinzufügen'), Icon::create('add'), ['data-dialog' => 'size=auto']) ?>
         <? endif ?>
         <? if ($filecount): ?>
             <? $actionMenu->addLink($controller->url_for('course/dates/details_files/' . $date->id),
diff --git a/app/views/course/forum/area/add.php b/app/views/course/forum/area/add.php
index 9524a6596b6..a3fdf2d6c91 100644
--- a/app/views/course/forum/area/add.php
+++ b/app/views/course/forum/area/add.php
@@ -6,7 +6,7 @@
 
         <a href="<?= $controller->link_for("course/forum/index/index/{$entry['topic_id']}#{$entry['topic_id']}") ?>">
         <? if ($entry['chdate'] >= $visitdate && $entry['user_id'] !== $GLOBALS['user']->id): ?>
-            <?= Icon::create('forum+new', Icon::ROLE_ATTENTION)->asImg([
+            <?= Icon::create('forum', Icon::ROLE_ATTENTION)->asImg([
                 'title' => _('Dieser Eintrag ist neu!'),
                 'style' => 'margin-bottom: 15px',
             ]) ?>
diff --git a/app/views/course/forum/index/_post.php b/app/views/course/forum/index/_post.php
index 5052c2e8af6..864c796d6a0 100644
--- a/app/views/course/forum/index/_post.php
+++ b/app/views/course/forum/index/_post.php
@@ -257,7 +257,7 @@
 
         <? if ($is_new): ?>
         <span class="new_posting">
-            <?= Icon::create('forum+new', 'attention', ['title' => _("Dieser Beitrag ist seit Ihrem letzten Besuch hinzugekommen.")])->asImg(16) ?>
+            <?= Icon::create('forum', 'attention', ['title' => _("Dieser Beitrag ist seit Ihrem letzten Besuch hinzugekommen.")])->asImg(16) ?>
         </span>
         <? endif ?>
     </span>
diff --git a/app/views/course/forum/index/_threads.php b/app/views/course/forum/index/_threads.php
index 97f0c4c1dd6..1445d876cbe 100644
--- a/app/views/course/forum/index/_threads.php
+++ b/app/views/course/forum/index/_threads.php
@@ -40,7 +40,7 @@
                     <td class="icon">
                         <a href="<?= $controller->link_for("course/forum/index/index/{$jump_to_topic_id}#{$jump_to_topic_id}") ?>">
                             <? if ($entry['chdate'] >= $visitdate && $entry['user_id'] != $GLOBALS['user']->id): ?>
-                                <?= Icon::create('forum+new', Icon::ROLE_ATTENTION)->asImg([
+                                <?= Icon::create('forum', Icon::ROLE_ATTENTION)->asImg([
                                     'title' => _('Dieser Eintrag ist neu!'),
                                 ]) ?>
                             <? else : ?>
@@ -126,7 +126,7 @@
                             ->addLink(
                                 "javascript:STUDIP.Forum.moveThreadDialog('{$entry['topic_id']}');",
                                 _('Dieses Thema verschieben'),
-                                Icon::create('folder-full+move_right'),
+                                Icon::create('folder-full'),
                                 ['class' => 'js']
                             )
                             // Open/close thread
diff --git a/app/views/course/ilias_interface/index.php b/app/views/course/ilias_interface/index.php
index c45d058b7e0..8f841b34ce7 100644
--- a/app/views/course/ilias_interface/index.php
+++ b/app/views/course/ilias_interface/index.php
@@ -58,7 +58,7 @@
                     <? if ($module->isAllowed('edit')) $actionMenu->addButton(
                             'edit',
                             _('In ILIAS bearbeiten'),
-                            Icon::create('learnmodule+edit', Icon::ROLE_CLICKABLE, [
+                            Icon::create('edit', Icon::ROLE_CLICKABLE, [
                                 'title'        => _('In ILIAS bearbeiten'),
                                 'formaction'   => $controller->url_for($module->getRoute('edit')),
                                 'target'       => '_blank',
@@ -68,7 +68,7 @@
                     <? if ($edit_permission && $module->isAllowed('delete')) $actionMenu->addButton(
                             'remove',
                             _('Entfernen'),
-                            Icon::create('learnmodule+decline', Icon::ROLE_CLICKABLE, [
+                            Icon::create('trash', Icon::ROLE_CLICKABLE, [
                                 'title'        => _('Entfernen'),
                                 'formaction'   => $controller->url_for($module->getRoute('remove')),
                                 'data-confirm' => $module->siblings_count < 2 ? sprintf(_('Dies ist die einzige Instanz des Objekts "%s". Durch das Entfernen aus dem Kurs wird das Objekt unwiderruflich gelöscht! Wollen Sie das Objekt wirklich löschen?'), htmlReady($module->getTitle())) : sprintf(_('Wollen Sie das Objekt "%s" jetzt entfernen?'), htmlReady($module->getTitle())),
@@ -111,7 +111,7 @@
                     <? if ($edit_permission) $actionMenu->addButton(
                             'remove',
                             _('Entfernen'),
-                            Icon::create('learnmodule+decline', Icon::ROLE_CLICKABLE, [
+                            Icon::create('trash', Icon::ROLE_CLICKABLE, [
                                 'title'        => _('Entfernen'),
                                 'formaction'   => $controller->url_for('course/ilias_interface/remove_course/'.$ilias_index.'/'.$courses[$ilias_index]),
                                 'data-confirm' => sprintf(_('Verknüpfung zum Kurs in %s entfernen? Hierdurch werden auch die Verknüpfungen zu allen Objekten innerhalb des Kurses entfernt.'), $ilias->getName()),
diff --git a/app/views/course/statusgroups/_member.php b/app/views/course/statusgroups/_member.php
index ce3507b312e..d436178ce0f 100644
--- a/app/views/course/statusgroups/_member.php
+++ b/app/views/course/statusgroups/_member.php
@@ -52,7 +52,7 @@
                 $actions->addLink(
             $controller->url_for('course/statusgroups/move_member', $m->user_id, $group->id),
             _('In eine andere Gruppe verschieben'),
-            Icon::create('person+move_right', 'clickable', [
+            Icon::create('arr_1right', 'clickable', [
                 'title' => sprintf(
                     _('%s in eine andere Gruppe verschieben'),
                             $user_fullname
diff --git a/app/views/course/timesrooms/_cycleRow.php b/app/views/course/timesrooms/_cycleRow.php
index d1adcdd6c8b..8f05d78d719 100644
--- a/app/views/course/timesrooms/_cycleRow.php
+++ b/app/views/course/timesrooms/_cycleRow.php
@@ -116,7 +116,7 @@ $is_exTermin = $termin instanceof CourseExDate;
         <? $actionMenu->addButton(
             'delete_part',
             _('Termin wiederherstellen'),
-            Icon::create('trash+decline', Icon::ROLE_CLICKABLE, $params)
+            Icon::create('refresh', Icon::ROLE_CLICKABLE, $params)
         ) ?>
 
     <? elseif (!$locked) : ?>
diff --git a/app/views/course/timesrooms/_irregularEvents.php b/app/views/course/timesrooms/_irregularEvents.php
index 2bd4c2d50e7..b2520370a19 100644
--- a/app/views/course/timesrooms/_irregularEvents.php
+++ b/app/views/course/timesrooms/_irregularEvents.php
@@ -18,14 +18,14 @@ $room_request_filter = function ($date) {
             <? $actionMenu->addLink(
                 $controller->url_for('course/timesrooms/createSingleDate/' . $course->id, $linkAttributes),
                 _('Einzeltermin hinzufügen'),
-                Icon::create('date+add', Icon::ROLE_CLICKABLE, ['title' => _('Einzeltermin hinzufügen')]),
+                Icon::create('date', Icon::ROLE_CLICKABLE, ['title' => _('Einzeltermin hinzufügen')]),
                 ['data-dialog' => 'size=600']
             ) ?>
 
             <? $actionMenu->addLink(
                 $controller->url_for('course/block_appointments/index/' . $course->id, $linkAttributes),
                 _('Blocktermin hinzufügen'),
-                Icon::create('timetable+add', Icon::ROLE_CLICKABLE, ['title' => _('Blocktermin hinzufügen')]),
+                Icon::create('date-block', Icon::ROLE_CLICKABLE, ['title' => _('Blocktermin hinzufügen')]),
                 ['data-dialog' => 'size=600']
             ) ?>
             <?= $actionMenu->render() ?>
diff --git a/app/views/evaluation/_actions.php b/app/views/evaluation/_actions.php
index 45bf032693c..e702ff2a66f 100644
--- a/app/views/evaluation/_actions.php
+++ b/app/views/evaluation/_actions.php
@@ -1,4 +1,4 @@
 <?= Icon::create('pause', 'clickable')->asImg() ?>
-<?= Icon::create('community+remove', 'clickable')->asImg() ?>
+<?= Icon::create('decline', 'clickable')->asImg() ?>
 <?= Icon::create('admin', 'clickable')->asImg() ?>
-<?= Icon::create('trash', 'clickable')->asImg() ?>
\ No newline at end of file
+<?= Icon::create('trash', 'clickable')->asImg() ?>
diff --git a/app/views/file/choose_folder.php b/app/views/file/choose_folder.php
index f76f27ebc50..498ad0e3150 100644
--- a/app/views/file/choose_folder.php
+++ b/app/views/file/choose_folder.php
@@ -123,9 +123,9 @@ $buttonLabels = [
             <tr>
                 <td class="document-icon" data-sort-value="0">
                 <? if ($subfolder->is_empty): ?>
-                    <?= Icon::create('folder-empty+decline', Icon::ROLE_INFO)->asImg(24) ?>
+                    <?= Icon::create('folder-empty', Icon::ROLE_INACTIVE)->asImg(24) ?>
                 <? else: ?>
-                    <?= Icon::create('folder-full+decline', Icon::ROLE_INFO)->asImg(24) ?>
+                    <?= Icon::create('folder-full', Icon::ROLE_INACTIVE)->asImg(24) ?>
                 <? endif ?>
                 </td>
                 <td>
diff --git a/app/views/files/_folder_tr.php b/app/views/files/_folder_tr.php
index ca89fc9bbda..09cd2959a90 100644
--- a/app/views/files/_folder_tr.php
+++ b/app/views/files/_folder_tr.php
@@ -93,20 +93,20 @@ if ($folder->isReadable($GLOBALS['user']->id)) {
            $actionMenu->addLink(
                $controller->url_for('file/choose_destination/move/' . $folder->getId(), ['isfolder' => 1]),
                 _('Ordner verschieben'),
-                Icon::create('folder-empty+move_right', 'clickable', ['size' => 20]),
+                Icon::create('arr_1right', 'clickable', ['size' => 20]),
                 ['data-dialog' => 'size=auto']
             );
             $actionMenu->addLink(
                 $controller->url_for('file/choose_destination/copy/' . $folder->getId(), ['isfolder' => 1]),
                 _('Ordner kopieren'),
-                Icon::create('folder-empty+add', 'clickable', ['size' => 20]),
+                Icon::create('clipboard', 'clickable', ['size' => 20]),
                 ['data-dialog' => 'size=auto']
             );
             if (Feedback::isActivated() && Feedback::hasCreatePerm($course->id)) {
                 $actionMenu->addLink(
                     $controller->url_for('course/feedback/create_form/' . $folder->getId() . '/Folder'),
                     _('Neues Feedback-Element'),
-                    Icon::create('star+add', Icon::ROLE_CLICKABLE, ['size' => 20]),
+                    Icon::create('star', Icon::ROLE_CLICKABLE, ['size' => 20]),
                     ['data-dialog' => '1']
                 );
             }
diff --git a/app/views/materialien/files/add_dokument.php b/app/views/materialien/files/add_dokument.php
index 2b7c5ac4242..6a531c5f8ef 100644
--- a/app/views/materialien/files/add_dokument.php
+++ b/app/views/materialien/files/add_dokument.php
@@ -37,7 +37,7 @@
             <td>
                 <div class="attachments" style="<?= (!$documents || !key_exists($key, $documents))  ? '' : 'display: none;'?>">
                     <span style="cursor:pointer;" onClick="$('#fileselector_<?= $key; ?>').toggle();$(this).toggle();">
-                        <?= Icon::create('file+add', Icon::ROLE_CLICKABLE, ['title' => _("Datei hinzufügen"), 'class' => 'text-bottom']); ?>
+                        <?= Icon::create('add', Icon::ROLE_CLICKABLE, ['title' => _("Datei hinzufügen"), 'class' => 'text-bottom']); ?>
                         <?= _("Datei hinzufügen") ?>
                     </span>
                     <div id="fileselector_<?= $key; ?>" style="display:none;">
diff --git a/app/views/materialien/files/index.php b/app/views/materialien/files/index.php
index 5e0117d86b2..c1976782b64 100644
--- a/app/views/materialien/files/index.php
+++ b/app/views/materialien/files/index.php
@@ -67,7 +67,7 @@
                 $actions->addLink(
                     $controller->url_for('materialien/files/add_ranges_to_file',$mvv_file->mvvfile_id),
                     _('Dokument zuordnen'),
-                    Icon::create('file+add'),
+                    Icon::create('add'),
                     ['data-dialog' => 'size=auto']
                 );
                 foreach ($mvv_file->file_refs as $fileref) {
diff --git a/app/views/materialien/files/range.php b/app/views/materialien/files/range.php
index 86c36f4200a..8044b7acfba 100644
--- a/app/views/materialien/files/range.php
+++ b/app/views/materialien/files/range.php
@@ -1,113 +1,113 @@
-<div id="messagebox-container">
-<? if (Request::isXhr()) : ?>
-    <? foreach (PageLayout::getMessages() as $messagebox) : ?>
-        <?= $messagebox ?>
-    <? endforeach ?>
-<? endif; ?>
-</div>
-<table id="mvv_files" class="default sortable-table" data-sortlist="[[0, 0]]">
-    <caption>
-        <span class="actions">
-            <a href="<?= $controller->url_for('materialien/files/add_dokument', 'range', $range_type, $range_id);?>" data-dialog="">
-                <?= Icon::create('upload+add', Icon::ROLE_CLICKABLE, ['title' => _('neues Dokument hinzufügen')]); ?>
-            </a>
-            <a href="<?= $controller->url_for('materialien/files/add_files_to_range',$range_type, $range_id);?>" data-dialog="">
-                <?= Icon::create('file+add', Icon::ROLE_CLICKABLE, ['title' => _('vorhandenes Dokument hinzufügen')]); ?>
-            </a>
-            <a href="<?= $controller->url_for('materialien/files/sort', $range_type, $range_id);?>" data-dialog="size=auto">
-                <?= Icon::create('arr_2up', Icon::ROLE_CLICKABLE, ['title' => _('Reihenfolge der Dokumente ändern')]); ?>
-            </a>
-        </span>
-    </caption>
-    <thead>
-        <tr class="sortable">
-            <th data-sorter="digit"><?= _('Pos.') ?></th>
-            <th data-sorter="text"><?= _('Name') ?></th>
-            <th data-sorter="text"><?= _('Dateiname') ?></th>
-            <th data-sorter="digit"><?= _('Sichtbarkeit') ?></th>
-            <th><?= _('Sprache') ?></th>
-            <th data-sorter="text"><?= _('Art der Datei') ?></th>
-            <th data-sorter="digit"><?= _('Datum') ?></th>
-            <th data-sorter="text"><?= _('Dateityp') ?></th>
-            <th data-sorter="text"><?= _('Kategorie') ?></th>
-            <th data-sorter="digit"><?= _('Zuordnungen') ?></th>
-            <th data-sorter="false" style="text-align: right;"><?= _('Aktionen') ?></th>
-        </tr>
-    </thead>
-<? if($dokumente): ?>
-    <tbody>
-    <? foreach($dokumente as $mvv_file): ?>
-        <tr>
-            <td><?= htmlReady($mvv_file->getPositionInRange($range_id)); ?></td>
-            <td><?= htmlReady($mvv_file->getDisplayName()) ?></td>
-            <td data-sort-value="<?= htmlReady($mvv_file->getFilenames()[0]); ?>">
-                <? if($mvv_file->getFiletypes()[0] == 'Link'): ?>
-                    <a href="<?= htmlReady($mvv_file->getFilenames()[0]); ?>" target="_blank">
-                        <?= Icon::create('link-extern', Icon::ROLE_CLICKABLE, ['class' => 'text-bottom']); ?>
-                        <?= htmlReady($mvv_file->getFilenames()[0]); ?>
-                    </a>
-                <? else: ?>
-                    <?= htmlReady($mvv_file->getFilenames()[0]); ?>
-                <? endif; ?>
-            </td>
-            <td style="text-align: center;" data-sort-value="<?= $mvv_file->extern_visible?'1':'0' ?>">
-                <?= Icon::create(
-                        $mvv_file->extern_visible?'visibility-visible':'visibility-invisible',
-                        Icon::ROLE_INFO,
-                        [
-                            'class' => 'text-bottom',
-                            'title' => $mvv_file->extern_visible?_('sichtbar'):_('unsichtbar')
-                        ]
-                    );
-                ?>
-            </td>
-            <td>
-                <? foreach ($mvv_file->file_refs as $fileref) : ?>
-                    <?= Assets::img('languages/lang_' . mb_strtolower($fileref->file_language) . '.gif') ?>
-                <? endforeach; ?>
-            </td>
-            <td><?= htmlReady($GLOBALS['MVV_DOCUMENTS']['TYPE']['values'][$mvv_file->type]['name']); ?></td>
-            <td data-sort-value="<?= htmlReady($mvv_file->mkdate); ?>"><?= htmlReady(date('d.m.Y', $mvv_file->mkdate)); ?></td>
-            <td style="text-align: center;"><?= htmlReady($mvv_file->getFiletypes()[0]); ?></td>
-            <td><?= htmlReady($GLOBALS['MVV_DOCUMENTS']['CATEGORY']['values'][$mvv_file->category]['name']); ?></td>
-            <td style="text-align: center;"><?= htmlReady($mvv_file->count_relations); ?></td>
-            <td class="actions">
-            <?
-                $actions = ActionMenu::get()->setContext($mvv_file->getDisplayName());
-                $actions->addLink(
-                    $controller->url_for('materialien/files/details',$mvv_file->mvvfile_id),
-                    _('Details'),
-                    Icon::create('info-circle'),
-                    ['data-dialog' => 'size=auto']
-                );
-                $actions->addLink(
-                    $controller->url_for('materialien/files/add_dokument','range', $range_type, $range_id, $mvv_file->mvvfile_id),
-                    _('Dokument bearbeiten'),
-                    Icon::create('edit'),
-                    ['data-dialog' => '']
-                );
-                foreach ($mvv_file->file_refs as $fileref) {
-                    $actions->addLink(
-                        $fileref->file_ref->getDownloadURL('force_download'),
-                        _('Datei herunterladen') . ' (' . $fileref->file_language . ')',
-                        Icon::create('download', 'clickable', ['size' => 20]),
-                        ['target' => '_blank']
-                    );
-                }
-                $actions->addLink(
-                    $controller->url_for('materialien/files/delete_range', $mvv_file->mvvfile_id, $range_id),
-                    _('Dokument-Zuordnung löschen'),
-                    Icon::create('trash'),
-                    [
-                        'data-confirm' => _('Wollen Sie die Zuordnung des Dokuments wirklich entfernen?'),
-                        'data-dialog' => 'size=auto'
-                    ]
-                );
-                echo $actions;
-            ?>
-            </td>
-        </tr>
-    <? endforeach; ?>
-    </tbody>
-<? endif; ?>
-</table>
+<div id="messagebox-container">
+<? if (Request::isXhr()) : ?>
+    <? foreach (PageLayout::getMessages() as $messagebox) : ?>
+        <?= $messagebox ?>
+    <? endforeach ?>
+<? endif; ?>
+</div>
+<table id="mvv_files" class="default sortable-table" data-sortlist="[[0, 0]]">
+    <caption>
+        <span class="actions">
+            <a href="<?= $controller->url_for('materialien/files/add_dokument', 'range', $range_type, $range_id);?>" data-dialog="">
+                <?= Icon::create('upload', Icon::ROLE_CLICKABLE, ['title' => _('neues Dokument hinzufügen')]); ?>
+            </a>
+            <a href="<?= $controller->url_for('materialien/files/add_files_to_range',$range_type, $range_id);?>" data-dialog="">
+                <?= Icon::create('add', Icon::ROLE_CLICKABLE, ['title' => _('vorhandenes Dokument hinzufügen')]); ?>
+            </a>
+            <a href="<?= $controller->url_for('materialien/files/sort', $range_type, $range_id);?>" data-dialog="size=auto">
+                <?= Icon::create('arr_2up', Icon::ROLE_CLICKABLE, ['title' => _('Reihenfolge der Dokumente ändern')]); ?>
+            </a>
+        </span>
+    </caption>
+    <thead>
+        <tr class="sortable">
+            <th data-sorter="digit"><?= _('Pos.') ?></th>
+            <th data-sorter="text"><?= _('Name') ?></th>
+            <th data-sorter="text"><?= _('Dateiname') ?></th>
+            <th data-sorter="digit"><?= _('Sichtbarkeit') ?></th>
+            <th><?= _('Sprache') ?></th>
+            <th data-sorter="text"><?= _('Art der Datei') ?></th>
+            <th data-sorter="digit"><?= _('Datum') ?></th>
+            <th data-sorter="text"><?= _('Dateityp') ?></th>
+            <th data-sorter="text"><?= _('Kategorie') ?></th>
+            <th data-sorter="digit"><?= _('Zuordnungen') ?></th>
+            <th data-sorter="false" style="text-align: right;"><?= _('Aktionen') ?></th>
+        </tr>
+    </thead>
+<? if($dokumente): ?>
+    <tbody>
+    <? foreach($dokumente as $mvv_file): ?>
+        <tr>
+            <td><?= htmlReady($mvv_file->getPositionInRange($range_id)); ?></td>
+            <td><?= htmlReady($mvv_file->getDisplayName()) ?></td>
+            <td data-sort-value="<?= htmlReady($mvv_file->getFilenames()[0]); ?>">
+                <? if($mvv_file->getFiletypes()[0] == 'Link'): ?>
+                    <a href="<?= htmlReady($mvv_file->getFilenames()[0]); ?>" target="_blank">
+                        <?= Icon::create('link-extern', Icon::ROLE_CLICKABLE, ['class' => 'text-bottom']); ?>
+                        <?= htmlReady($mvv_file->getFilenames()[0]); ?>
+                    </a>
+                <? else: ?>
+                    <?= htmlReady($mvv_file->getFilenames()[0]); ?>
+                <? endif; ?>
+            </td>
+            <td style="text-align: center;" data-sort-value="<?= $mvv_file->extern_visible?'1':'0' ?>">
+                <?= Icon::create(
+                        $mvv_file->extern_visible?'visibility-visible':'visibility-invisible',
+                        Icon::ROLE_INFO,
+                        [
+                            'class' => 'text-bottom',
+                            'title' => $mvv_file->extern_visible?_('sichtbar'):_('unsichtbar')
+                        ]
+                    );
+                ?>
+            </td>
+            <td>
+                <? foreach ($mvv_file->file_refs as $fileref) : ?>
+                    <?= Assets::img('languages/lang_' . mb_strtolower($fileref->file_language) . '.gif') ?>
+                <? endforeach; ?>
+            </td>
+            <td><?= htmlReady($GLOBALS['MVV_DOCUMENTS']['TYPE']['values'][$mvv_file->type]['name']); ?></td>
+            <td data-sort-value="<?= htmlReady($mvv_file->mkdate); ?>"><?= htmlReady(date('d.m.Y', $mvv_file->mkdate)); ?></td>
+            <td style="text-align: center;"><?= htmlReady($mvv_file->getFiletypes()[0]); ?></td>
+            <td><?= htmlReady($GLOBALS['MVV_DOCUMENTS']['CATEGORY']['values'][$mvv_file->category]['name']); ?></td>
+            <td style="text-align: center;"><?= htmlReady($mvv_file->count_relations); ?></td>
+            <td class="actions">
+            <?
+                $actions = ActionMenu::get()->setContext($mvv_file->getDisplayName());
+                $actions->addLink(
+                    $controller->url_for('materialien/files/details',$mvv_file->mvvfile_id),
+                    _('Details'),
+                    Icon::create('info-circle'),
+                    ['data-dialog' => 'size=auto']
+                );
+                $actions->addLink(
+                    $controller->url_for('materialien/files/add_dokument','range', $range_type, $range_id, $mvv_file->mvvfile_id),
+                    _('Dokument bearbeiten'),
+                    Icon::create('edit'),
+                    ['data-dialog' => '']
+                );
+                foreach ($mvv_file->file_refs as $fileref) {
+                    $actions->addLink(
+                        $fileref->file_ref->getDownloadURL('force_download'),
+                        _('Datei herunterladen') . ' (' . $fileref->file_language . ')',
+                        Icon::create('download', 'clickable', ['size' => 20]),
+                        ['target' => '_blank']
+                    );
+                }
+                $actions->addLink(
+                    $controller->url_for('materialien/files/delete_range', $mvv_file->mvvfile_id, $range_id),
+                    _('Dokument-Zuordnung löschen'),
+                    Icon::create('trash'),
+                    [
+                        'data-confirm' => _('Wollen Sie die Zuordnung des Dokuments wirklich entfernen?'),
+                        'data-dialog' => 'size=auto'
+                    ]
+                );
+                echo $actions;
+            ?>
+            </td>
+        </tr>
+    <? endforeach; ?>
+    </tbody>
+<? endif; ?>
+</table>
diff --git a/app/views/module/module/details.php b/app/views/module/module/details.php
index 5ae025a034c..dd5bf8d88a2 100644
--- a/app/views/module/module/details.php
+++ b/app/views/module/module/details.php
@@ -37,7 +37,7 @@
                                 <? $actionMenu->addLink(
                                     $controller->url_for('/lvgruppe/' . $modulteil->id),
                                     _('Neue LV-Gruppe anlegen'),
-                                    Icon::create('file+add', Icon::ROLE_CLICKABLE, ['title' => _('Neue LV-Gruppe anlegen')]),
+                                    Icon::create('file', Icon::ROLE_CLICKABLE, ['title' => _('Neue LV-Gruppe anlegen')]),
                                     [
                                         'data-dialog' => 'size=normal',
                                         'title'       => _('Neue LV-Gruppe anlegen')
diff --git a/app/views/module/module/module.php b/app/views/module/module/module.php
index a89fbd50d92..9e6d6ca6789 100644
--- a/app/views/module/module/module.php
+++ b/app/views/module/module/module.php
@@ -80,7 +80,7 @@
                         <? $actionMenu->addLink(
                             $controller->url_for('/modulteil', ['modul_id' => $modul->id]),
                             _('Modulteil anlegen'),
-                            Icon::create('file+add', Icon::ROLE_CLICKABLE,['title' => _('Modulteil anlegen')])
+                            Icon::create('add', Icon::ROLE_CLICKABLE,['title' => _('Modulteil anlegen')])
                         ) ?>
                     <? endif; ?>
                     <? if ($perm->havePermWrite()) : ?>
diff --git a/app/views/my_courses/waiting_list.php b/app/views/my_courses/waiting_list.php
index ae93da9ea27..b1f75270a5a 100644
--- a/app/views/my_courses/waiting_list.php
+++ b/app/views/my_courses/waiting_list.php
@@ -85,7 +85,7 @@
             <td style="text-align: right">
                 <? if ($wait["status"] == "accepted" && $wait['admission_binding']) : ?>
                     <a href="<?= $controller->url_for('my_courses/decline_binding') ?>">
-                        <?= Icon::create('door-leave+decline', 'inactive', ['title' => _("Die Teilnahme ist bindend. Bitte wenden Sie sich an die Lehrenden.")])->asImg(20) ?>
+                        <?= Icon::create('door-leave', 'inactive', ['title' => _("Die Teilnahme ist bindend. Bitte wenden Sie sich an die Lehrenden.")])->asImg(20) ?>
                     </a>
                 <?  else : ?>
                     <a href="<?= $controller->link_for('my_courses/decline', $wait['seminar_id'], ['cmd' => 'suppose_to_kill_admission']) ?>">
diff --git a/app/views/my_ilias_accounts/index.php b/app/views/my_ilias_accounts/index.php
index 6b29d5d408f..f263baac5b8 100644
--- a/app/views/my_ilias_accounts/index.php
+++ b/app/views/my_ilias_accounts/index.php
@@ -55,7 +55,7 @@
                     <? if ($module->isAllowed('edit')) $actionMenu->addButton(
                             'edit',
                             _('In ILIAS bearbeiten'),
-                            Icon::create('learnmodule+edit', Icon::ROLE_CLICKABLE, [
+                            Icon::create('edit', Icon::ROLE_CLICKABLE, [
                                 'title'        => _('In ILIAS bearbeiten'),
                                 'formaction'   => $controller->url_for($module->getRoute('edit')),
                                 'formtarget'       => '_blank',
@@ -111,7 +111,7 @@
                     <? if ($ilias->ilias_config['allow_change_account'] && ($ilias->user->getUserType() === IliasUser::USER_TYPE_CREATED)) $actionMenu->addButton(
                             'new_account',
                             _('Account neu zuordnen'),
-                            Icon::create('person+new', Icon::ROLE_CLICKABLE, [
+                            Icon::create('person', Icon::ROLE_CLICKABLE, [
                                 'title'        => _('Account neu zuordnen'),
                                 'formaction'   => $controller->url_for('my_ilias_accounts/new_account/'.$ilias_index),
                                 'data-confirm' =>
@@ -124,7 +124,7 @@
                     <? if ($ilias->ilias_config['allow_change_account'] && ($ilias->user->getUserType() === IliasUser::USER_TYPE_ORIGINAL)) $actionMenu->addButton(
                             'change_account',
                             _('Account-Zuordnung aufheben'),
-                            Icon::create('person+remove', Icon::ROLE_CLICKABLE, [
+                            Icon::create('trash', Icon::ROLE_CLICKABLE, [
                                 'title'        => _('Account-Zuordnung aufheben'),
                                 'formaction'   => $controller->url_for('my_ilias_accounts/change_account/'.$ilias_index.'/remove'),
                                 'data-confirm' =>
@@ -136,7 +136,7 @@
                     <? if ($ilias->user->getUserType() === IliasUser::USER_TYPE_CREATED) $actionMenu->addButton(
                             'update_account',
                             _('Account aktualisieren'),
-                            Icon::create('person+refresh', Icon::ROLE_CLICKABLE, [
+                            Icon::create('refresh', Icon::ROLE_CLICKABLE, [
                                 'title'        => _('Account aktualisieren'),
                                 'formaction'   => $controller->url_for('my_ilias_accounts/change_account/'.$ilias_index.'/update')
                             ])
diff --git a/app/views/my_studygroups/_course.php b/app/views/my_studygroups/_course.php
index fc3ca414134..fcdae826e3c 100644
--- a/app/views/my_studygroups/_course.php
+++ b/app/views/my_studygroups/_course.php
@@ -53,7 +53,7 @@
 
             <? elseif ($group["binding"]) : ?>
                 <a href="<?= URLHelper::getLink('', ['auswahl' => $group['seminar_id'], 'cmd' => 'no_kill']) ?>">
-                    <?= Icon::create('door-leave+decline', 'inactive', ['title' => _("Die Teilnahme ist bindend. Bitte wenden Sie sich an die Lehrenden.")])->asImg(20) ?>
+                    <?= Icon::create('door-leave', 'inactive', ['title' => _("Die Teilnahme ist bindend. Bitte wenden Sie sich an die Lehrenden.")])->asImg(20) ?>
                 </a>
             <?
             else : ?>
diff --git a/app/views/news/admin_news.php b/app/views/news/admin_news.php
index 95c819f124c..590becae3a0 100644
--- a/app/views/news/admin_news.php
+++ b/app/views/news/admin_news.php
@@ -130,7 +130,7 @@
                             $menu->addLink(
                                 $controller->url_for('news/edit_news/new/template/' . $news['object']->news_id),
                                 _('Kopieren, um neue Ankündigung zu erstellen'),
-                                Icon::create('news+export'),
+                                Icon::create('clipboard'),
                                 ['data-dialog' => '1', 'target' => '_blank']
                             );
                             if ($news['object']->havePermission('unassign', $news['range_id'])) {
diff --git a/app/views/news/display.php b/app/views/news/display.php
index 22434f9b500..356ec1f1249 100644
--- a/app/views/news/display.php
+++ b/app/views/news/display.php
@@ -14,7 +14,7 @@
         <? endif; ?>
         <? if ($perm && Config::get()->NEWS_RSS_EXPORT_ENABLE): ?>
             <a data-dialog="size=auto;reload-on-close" title="<?=_('RSS-Feed konfigurieren') ?>" href="<?= $controller->link_for('news/rss_config/' . $range); ?>">
-                <?= Icon::create('rss+add') ?>
+                <?= Icon::create('admin') ?>
             </a>
         <? endif; ?>
         <? if ($rss_id): ?>
diff --git a/app/views/oer/market/details.php b/app/views/oer/market/details.php
index 7d54dc6cc9b..5a3763755c1 100644
--- a/app/views/oer/market/details.php
+++ b/app/views/oer/market/details.php
@@ -325,7 +325,7 @@ if ($GLOBALS['perm']->have_perm("autor")) {
     $actions->addLink(
         _('Zu Veranstaltung hinzufügen'),
         $controller->url_for( "oer/market/add_to_course/" . $material->getId()),
-        Icon::create("seminar+move_right", Icon::ROLE_CLICKABLE),
+        Icon::create("seminar", Icon::ROLE_CLICKABLE),
         ['data-dialog' => "1"]
     );
 }
diff --git a/app/views/oer/market/index.php b/app/views/oer/market/index.php
index 0b33a712cd8..eccab17b8fa 100644
--- a/app/views/oer/market/index.php
+++ b/app/views/oer/market/index.php
@@ -61,7 +61,7 @@ if ($GLOBALS['perm']->have_perm("autor")) {
     $actions->addLink(
         $abo ? _('Neuigkeiten abbestellen') : _('Neuigkeiten abonnieren'),
         $controller->url_for("oer/market/abo"),
-        $abo ? Icon::create("rss+decline", Icon::ROLE_CLICKABLE) : Icon::create("rss", Icon::ROLE_CLICKABLE),
+        $abo ? Icon::create("decline", Icon::ROLE_CLICKABLE) : Icon::create("rss", Icon::ROLE_CLICKABLE),
         ['data-dialog' => "size=small"]
     );
     Sidebar::Get()->addWidget($actions);
diff --git a/app/views/online/user-row.php b/app/views/online/user-row.php
index cc4b12f2083..f63d5a02fbb 100644
--- a/app/views/online/user-row.php
+++ b/app/views/online/user-row.php
@@ -38,13 +38,13 @@
             <? $actionMenu->addLink(
                 $controller->url_for('online/buddy/remove?username=' . $user['username']),
                 _('Aus den Kontakten entfernen'),
-                Icon::create('person+remove', 'clickable')
+                Icon::create('trash', 'clickable')
             ) ?>
         <? else: ?>
             <? $actionMenu->addLink(
                 $controller->url_for('online/buddy/add?username=' . $user['username']),
                 _('Zu den Kontakten hinzufügen'),
-                Icon::create('person+add', 'clickable')
+                Icon::create('add', 'clickable')
             ) ?>
         <? endif; ?>
         <?= $actionMenu->render() ?>
diff --git a/app/views/questionnaire/widget.php b/app/views/questionnaire/widget.php
index 24aa9e40c65..044f246aa2a 100644
--- a/app/views/questionnaire/widget.php
+++ b/app/views/questionnaire/widget.php
@@ -17,7 +17,7 @@
                     </a>
                 <? endif ?>
                 <a href="<?= URLHelper::getLink("dispatch.php/questionnaire/" . ($range_type == 'course' || $range_type == 'institute' ? 'course' : ''). "overview") ?>" title="<?= _('Fragebögen verwalten') ?>">
-                    <?= Icon::create("edit", "clickable")->asimg("16px", ['class' => "text-bottom"]) ?>
+                    <?= Icon::create("admin", "clickable")->asimg("16px", ['class' => "text-bottom"]) ?>
                 </a>
             <? endif ?>
         </nav>
diff --git a/app/views/resources/booking/_add_edit_form.php b/app/views/resources/booking/_add_edit_form.php
index bd02f0a6063..16f7cd6fb0d 100644
--- a/app/views/resources/booking/_add_edit_form.php
+++ b/app/views/resources/booking/_add_edit_form.php
@@ -577,7 +577,7 @@
                                 <?= $interval->takes_place ? ' invisible' : ''; ?>
                                 "
                                            data-interval_id="<?= htmlReady($interval->id) ?>">
-                                            <?= Icon::create('trash+decline')->asImg(
+                                            <?= Icon::create('refresh')->asImg(
                                                 [
                                                     'class' => 'text-bottom',
                                                     'title' => _('wiederherstellen')
diff --git a/app/views/shared/contacts/index.php b/app/views/shared/contacts/index.php
index f52a315c63f..ab7698341ab 100644
--- a/app/views/shared/contacts/index.php
+++ b/app/views/shared/contacts/index.php
@@ -37,7 +37,7 @@
                     $actions->addLink(
                         $controller->url_for('shared/contacts/add_ranges_to_contact', $mvv_contact->contact_id),
                         _('Ansprechpartner zuordnen'),
-                        Icon::create('person+add'),
+                        Icon::create('person'),
                         ['data-dialog' => 'size=auto']
                     );
                     $actions->addLink(
diff --git a/app/views/shared/contacts/range.php b/app/views/shared/contacts/range.php
index 78d9a14f1c9..c61e43ef994 100644
--- a/app/views/shared/contacts/range.php
+++ b/app/views/shared/contacts/range.php
@@ -10,7 +10,7 @@
         <span class="actions">
             <? if ($perm_contacts >= MvvPerm::PERM_CREATE) : ?>
                 <a href="<?= $controller->url_for('shared/contacts/add_ansprechpartner', 'range', $range_type, $range_id);?>" data-dialog="size=auto">
-                    <?= Icon::create('headache+add', Icon::ROLE_CLICKABLE, ['title' => _('Ansprechpartner hinzufügen')]); ?>
+                    <?= Icon::create('person', Icon::ROLE_CLICKABLE, ['title' => _('Ansprechpartner hinzufügen')]); ?>
                 </a>
             <? endif ?>
             <? if (reset($contacts) && MvvPerm::get(reset($contacts))->haveFieldPerm('position', MvvPerm::PERM_WRITE)) : ?>
diff --git a/app/views/studiengaenge/fachbereichestgteile/index.php b/app/views/studiengaenge/fachbereichestgteile/index.php
index 6ae4dab9866..f8c95ef6de4 100644
--- a/app/views/studiengaenge/fachbereichestgteile/index.php
+++ b/app/views/studiengaenge/fachbereichestgteile/index.php
@@ -23,7 +23,7 @@
                     <td class="actions dont-hide" style="white-space: nowrap;">
                         <? if (MvvPerm::havePermCreate('StudiengangTeil')) : ?>
                             <a href="<?= $controller->url_for('/stgteil_fachbereich/' . $fachbereich['institut_id']) ?>">
-                                <?= Icon::create('file+add', Icon::ROLE_CLICKABLE , ['title' => _('Neuen Studiengangteil in diesem Fachbereich anlegen')])->asImg(); ?>
+                                <?= Icon::create('file', Icon::ROLE_CLICKABLE , ['title' => _('Neuen Studiengangteil in diesem Fachbereich anlegen')])->asImg(); ?>
                             </a>
                         <? endif; ?>
                     </td>
@@ -36,4 +36,4 @@
             </tbody>
         <? endforeach ?>
     </table>
-</form>
\ No newline at end of file
+</form>
diff --git a/app/views/studiengaenge/faecher/index.php b/app/views/studiengaenge/faecher/index.php
index 188e23bd24f..a71ed08dea6 100644
--- a/app/views/studiengaenge/faecher/index.php
+++ b/app/views/studiengaenge/faecher/index.php
@@ -29,7 +29,7 @@
                     <td class="dont-hide actions">
                         <? if (MvvPerm::havePermCreate('StudiengangTeil')) : ?>
                             <a href="<?= $controller->url_for('/stgteil_fach/' . $fach->id) ?>">
-                                <?= Icon::create('file+add',  Icon::ROLE_CLICKABLE ,['title' => _('Neuen Studiengangteil für gewähltes Fach anlegen')])->asImg(); ?>
+                                <?= Icon::create('file',  Icon::ROLE_CLICKABLE ,['title' => _('Neuen Studiengangteil für gewähltes Fach anlegen')])->asImg(); ?>
                             </a>
                         <? endif; ?>
                     </td>
@@ -60,4 +60,4 @@
             </tfoot>
         <? endif; ?>
     </table>
-</form>
\ No newline at end of file
+</form>
diff --git a/app/views/studiengaenge/studiengangteile/index.php b/app/views/studiengaenge/studiengangteile/index.php
index 5b0a1f5edf0..68fedb48767 100644
--- a/app/views/studiengaenge/studiengangteile/index.php
+++ b/app/views/studiengaenge/studiengangteile/index.php
@@ -44,7 +44,7 @@
                                 <? $actionMenu->addLink(
                                     $controller->url_for('/version/' . $stgteil->getId()),
                                     _('Neue Version anlegen'),
-                                    Icon::create('file+add', Icon::ROLE_CLICKABLE, ['title' => _('Neue Version anlegen')])
+                                    Icon::create('file', Icon::ROLE_CLICKABLE, ['title' => _('Neue Version anlegen')])
                                 ) ?>
                             <? endif; ?>
                             <? if (MvvPerm::havePermWrite($stgteil)) : ?>
diff --git a/app/views/studiengaenge/versionen/versionen.php b/app/views/studiengaenge/versionen/versionen.php
index 2f052bda541..97680ac206e 100644
--- a/app/views/studiengaenge/versionen/versionen.php
+++ b/app/views/studiengaenge/versionen/versionen.php
@@ -37,7 +37,7 @@
                         <? $actionMenu->addLink(
                             $controller->url_for('/abschnitt', ['version_id' => $version->id]),
                             _('Studiengangteil-Abschnitt anlegen'),
-                            Icon::create('file+add', Icon::ROLE_CLICKABLE, ['title' => _('Studiengangteil-Abschnitt anlegen')]),
+                            Icon::create('file', Icon::ROLE_CLICKABLE, ['title' => _('Studiengangteil-Abschnitt anlegen')]),
                             ['data-dialog' => true])
                         ?>
                     <? endif; ?>
diff --git a/lib/classes/Icon.class.php b/lib/classes/Icon.class.php
index 3070aecd2a5..30d3f3a4317 100644
--- a/lib/classes/Icon.class.php
+++ b/lib/classes/Icon.class.php
@@ -90,7 +90,7 @@ class Icon
      * constructor instead.
      *
      * @param String $shape      Shape of the icon, may contain a mixed definition
-     *                           like 'seminar+add'
+     *                           like 'seminar'
      * @param String $role       Role of the icon, defaults to Icon::DEFAULT_ROLE
      * @param Array $attributes  Additional attributes like 'title';
      *                           only use semantic ones describing
@@ -113,7 +113,7 @@ class Icon
      * Constructor of the object.
      *
      * @param String $shape      Shape of the icon, may contain a mixed definition
-     *                           like 'seminar+add'
+     *                           like 'seminar'
      * @param String $role       Role of the icon, defaults to Icon::DEFAULT_ROLE
      * @param Array $attributes  Additional attributes like 'title';
      *                           only use semantic ones describing
@@ -380,7 +380,7 @@ class Icon
         return mb_strpos($shape, 'http') === 0;
     }
 
-    // transforms a shape w/ possible additions (`shape+addition`) to a path `(addition/)?shape`
+    // transforms a shape w/ possible additions (`shape`) to a path `(addition/)?shape`
     private function shapeToPath()
     {
         return self::isStatic($this->shape)
diff --git a/lib/classes/MultiPersonSearch.class.php b/lib/classes/MultiPersonSearch.class.php
index 972b7ab5827..1b37cb0701f 100644
--- a/lib/classes/MultiPersonSearch.class.php
+++ b/lib/classes/MultiPersonSearch.class.php
@@ -516,7 +516,7 @@ class MultiPersonSearch {
     private function setDefaultValues() {
         $this->title = _('Personen hinzufügen');
         $this->description = _('Bitte wählen Sie aus, wen Sie hinzufügen möchten.');
-        $this->linkIconPath = Icon::create("community+add", "clickable", ['title' => _('Personen hinzufügen')]);
+        $this->linkIconPath = Icon::create("add", "clickable", ['title' => _('Personen hinzufügen')]);
     }
 
     /**
diff --git a/lib/classes/sidebar/SearchWidget.php b/lib/classes/sidebar/SearchWidget.php
index 626078ef918..f7dcdc18453 100644
--- a/lib/classes/sidebar/SearchWidget.php
+++ b/lib/classes/sidebar/SearchWidget.php
@@ -150,7 +150,7 @@ class SearchWidget extends SidebarWidget
             $reset_link = sprintf(
                 '<a href="%s">%s %s</a>',
                 URLHelper::getLink($this->url, array_merge($reset_params, ['reset-search' => 1])),
-                Icon::create('search+decline')->asImg(['class' => 'text-top']),
+                Icon::create('decline')->asImg(['class' => 'text-top']),
                 _('Zurücksetzen')
             );
             $this->template_variables['reset_search'] = $reset_link;
diff --git a/lib/filesystem/FilesystemVueDataManager.php b/lib/filesystem/FilesystemVueDataManager.php
index 9054de628a3..0714356f721 100644
--- a/lib/filesystem/FilesystemVueDataManager.php
+++ b/lib/filesystem/FilesystemVueDataManager.php
@@ -83,13 +83,13 @@ class FilesystemVueDataManager
             $actionMenu->addLink(
                 URLHelper::getURL('dispatch.php/file/choose_destination/move/' . $folder->getId(), ['isfolder' => 1]),
                 _('Ordner verschieben'),
-                Icon::create('folder-empty+move_right', 'clickable', ['size' => 20]),
+                Icon::create('arr_1right', 'clickable', ['size' => 20]),
                 ['data-dialog' => 'size=auto']
             );
             $actionMenu->addLink(
                 URLHelper::getURL('dispatch.php/file/choose_destination/copy/' . $folder->getId(), ['isfolder' => 1]),
                 _('Ordner kopieren'),
-                Icon::create('folder-empty+add', 'clickable', ['size' => 20]),
+                Icon::create('clipboard', 'clickable', ['size' => 20]),
                 ['data-dialog' => 'size=auto']
             );
             $actionMenu->addLink(
diff --git a/lib/filesystem/HiddenFolder.php b/lib/filesystem/HiddenFolder.php
index 60a8cbd1e43..460b8523569 100644
--- a/lib/filesystem/HiddenFolder.php
+++ b/lib/filesystem/HiddenFolder.php
@@ -45,8 +45,8 @@ class HiddenFolder extends PermissionEnabledFolder
     public function getIcon($role = Icon::DEFAULT_ROLE)
     {
         $shape = $this->is_empty
-               ? 'folder-lock-empty+visibility-invisible'
-               : 'folder-lock-full+visibility-invisible';
+               ? 'folder-lock-empty'
+               : 'folder-lock-full';
         return Icon::create($shape, $role);
     }
 
diff --git a/lib/filesystem/StandardFile.php b/lib/filesystem/StandardFile.php
index 2e9f1ba8376..05f6979e392 100644
--- a/lib/filesystem/StandardFile.php
+++ b/lib/filesystem/StandardFile.php
@@ -257,7 +257,7 @@ class StandardFile implements FileType, ArrayAccess, StandardFileInterface
             $actionMenu->addLink(
                 URLHelper::getURL('dispatch.php/file/choose_destination/move/' . $this->fileref->id),
                 _('Datei verschieben'),
-                Icon::create('file+move_right', Icon::ROLE_CLICKABLE, ['size' => 20]),
+                Icon::create('arr_1right', Icon::ROLE_CLICKABLE, ['size' => 20]),
                 ['data-dialog' => 'size=auto'],
                 'file-move'
             );
@@ -266,14 +266,14 @@ class StandardFile implements FileType, ArrayAccess, StandardFileInterface
             $actionMenu->addLink(
                 URLHelper::getURL('dispatch.php/file/choose_destination/copy/' . $this->fileref->id),
                 _('Datei kopieren'),
-                Icon::create('file+add', Icon::ROLE_CLICKABLE, ['size' => 20]),
+                Icon::create('files', Icon::ROLE_CLICKABLE, ['size' => 20]),
                 ['data-dialog' => 'size=auto'],
                 'file-copy'
             );
             $actionMenu->addLink(
                 $this->fileref->getDownloadURL('force_download'),
                 _('Link kopieren'),
-                Icon::create('group'),
+                Icon::create('clipboard'),
                 ['class' => 'copyable-link'],
                 'link-to-clipboard'
             );
@@ -305,7 +305,7 @@ class StandardFile implements FileType, ArrayAccess, StandardFileInterface
                 $actionMenu->addLink(
                     URLHelper::getURL('dispatch.php/course/feedback/create_form/'. $this->fileref->id . '/FileRef'),
                     _('Neues Feedback-Element'),
-                    Icon::create('star+add', Icon::ROLE_CLICKABLE, ['size' => 20]),
+                    Icon::create('star', Icon::ROLE_CLICKABLE, ['size' => 20]),
                     ['data-dialog' => '1']
                 );
             }
diff --git a/lib/models/Freetext.php b/lib/models/Freetext.php
index e96c706fda9..0c8272b9965 100644
--- a/lib/models/Freetext.php
+++ b/lib/models/Freetext.php
@@ -15,7 +15,7 @@ class Freetext extends QuestionnaireQuestion implements QuestionType
     public static function getIcon($active = false, $add = false)
     {
         return Icon::create(
-            ($add ?  'add/' : '') . 'guestbook',
+            'guestbook',
             $active ? Icon::ROLE_CLICKABLE : Icon::ROLE_INFO
         );
     }
diff --git a/lib/models/Test.php b/lib/models/Test.php
index 3e5cc860c36..53e87906121 100644
--- a/lib/models/Test.php
+++ b/lib/models/Test.php
@@ -8,7 +8,7 @@ class Test extends QuestionnaireQuestion implements QuestionType
 {
     public static function getIcon($active = false, $add = false)
     {
-        return Icon::create($add ?  'test+add' : 'test', $active ? 'clickable' : 'info');
+        return Icon::create('test', $active ? 'clickable' : 'info');
     }
 
     public static function getName()
diff --git a/lib/models/Vote.php b/lib/models/Vote.php
index a27fbace3ee..6060f0beb24 100644
--- a/lib/models/Vote.php
+++ b/lib/models/Vote.php
@@ -7,7 +7,7 @@ class Vote extends QuestionnaireQuestion implements QuestionType
 {
     public static function getIcon($active = false, $add = false)
     {
-        return Icon::create($add ?  'vote+add' : 'vote', $active ? 'clickable' : 'info');
+        return Icon::create('vote', $active ? 'clickable' : 'info');
     }
 
     public static function getName()
diff --git a/lib/modules/ActivityFeed.php b/lib/modules/ActivityFeed.php
index 6fa9ce3c21d..7fddce4adb3 100644
--- a/lib/modules/ActivityFeed.php
+++ b/lib/modules/ActivityFeed.php
@@ -31,7 +31,7 @@ class ActivityFeed extends CorePlugin implements PortalPlugin
         $icons[] = $navigation;
 
         $navigation = new Navigation('', '#', ['cid' => null]);
-        $navigation->setImage(Icon::create('headache+visibility-visible', 'clickable'));
+        $navigation->setImage(Icon::create('person-online', 'clickable'));
         $navigation->setLinkAttributes([
             'id'    => 'toggle-user-activities',
             'title' => _('Eigene Aktivitäten ein-/ausblenden'),
diff --git a/lib/modules/NewsWidget.php b/lib/modules/NewsWidget.php
index 440d13d84d4..f158631d613 100644
--- a/lib/modules/NewsWidget.php
+++ b/lib/modules/NewsWidget.php
@@ -53,7 +53,7 @@ class NewsWidget extends CorePlugin implements PortalPlugin
             $icons[] = $navigation;
             if (Config::get()->NEWS_RSS_EXPORT_ENABLE) {
                 $navigation = new Navigation('', 'dispatch.php/news/rss_config/studip');
-                $navigation->setImage(Icon::create('rss+add', 'clickable', ["title" => _('RSS-Feed konfigurieren')]), ["rel" => 'size=auto']);
+                $navigation->setImage(Icon::create('rss', 'clickable', ["title" => _('RSS-Feed konfigurieren')]), ["rel" => 'size=auto']);
                 $icons[] = $navigation;
             }
         }
diff --git a/lib/wiki.inc.php b/lib/wiki.inc.php
index d1a0dbe719d..09397b05e84 100644
--- a/lib/wiki.inc.php
+++ b/lib/wiki.inc.php
@@ -1361,7 +1361,7 @@ function getShowPageInfobox($keyword, $latest_version)
             $widget->addLink(
                 _('Seiten importieren'),
                 URLHelper::getURL('dispatch.php/wiki/import/' . Context::getId()),
-                Icon::create('wiki+add')
+                Icon::create('import')
             )->asDialog('size=auto');
         }
 
diff --git a/templates/blubber/course_context.php b/templates/blubber/course_context.php
index f5aca3258af..e4fd91b4b09 100644
--- a/templates/blubber/course_context.php
+++ b/templates/blubber/course_context.php
@@ -65,7 +65,7 @@
            class="followunfollow<?= $unfollowed ? " unfollowed" : "" ?>"
            title="<?= _("Benachrichtigungen für diese Konversation abstellen.") ?>"
            data-thread_id="<?= htmlReady($thread->id) ?>">
-            <?= Icon::create("notification2+remove")->asImg(20, ['class' => "follow text-bottom"]) ?>
+            <?= Icon::create("decline")->asImg(20, ['class' => "follow text-bottom"]) ?>
             <?= Icon::create("notification2")->asImg(20, ['class' => "unfollow text-bottom"]) ?>
             <?= _("Benachrichtigungen aktiviert") ?>
         </a>
diff --git a/templates/blubber/global_context.php b/templates/blubber/global_context.php
index 1a5c24299ee..77c4a2905e6 100644
--- a/templates/blubber/global_context.php
+++ b/templates/blubber/global_context.php
@@ -8,7 +8,7 @@
        class="followunfollow<?= $unfollowed ? " unfollowed" : "" ?>"
        title="<?= _("Benachrichtigungen für diese Konversation abstellen.") ?>"
        data-thread_id="global">
-        <?= Icon::create("notification2+remove")->asImg(20, ['class' => "follow text-bottom"]) ?>
+        <?= Icon::create("decline")->asImg(20, ['class' => "follow text-bottom"]) ?>
         <?= Icon::create("notification2")->asImg(20, ['class' => "unfollow text-bottom"]) ?>
         <?= _("Benachrichtigungen aktiviert") ?>
     </a>
diff --git a/tests/unit/lib/classes/IconClassTest.php b/tests/unit/lib/classes/IconClassTest.php
index 4596d7e9abf..eb743b90d96 100644
--- a/tests/unit/lib/classes/IconClassTest.php
+++ b/tests/unit/lib/classes/IconClassTest.php
@@ -34,16 +34,16 @@ class IconClassTest extends \Codeception\Test\Unit
     function testIconCreateAsImgWithAddition()
     {
         $this->assertEquals(
-            '<img width="16" height="16" src="images/icons/blue/add/vote.svg" alt="" class="icon-role-clickable icon-shape-vote+add">',
-            Icon::create('vote+add', 'clickable')->asImg()
+            '<img width="16" height="16" src="images/icons/blue/vote.svg" alt="" class="icon-role-clickable icon-shape-vote">',
+            Icon::create('vote', 'clickable')->asImg()
         );
     }
 
     function testIconCreateAsImgWithSize()
     {
         $this->assertEquals(
-            '<img width="20" height="20" src="images/icons/blue/add/vote.svg" alt="" class="icon-role-clickable icon-shape-vote+add">',
-            Icon::create('vote+add', 'clickable')->asImg(20)
+            '<img width="20" height="20" src="images/icons/blue/vote.svg" alt="" class="icon-role-clickable icon-shape-vote">',
+            Icon::create('vote', 'clickable')->asImg(20)
         );
     }
 
@@ -135,16 +135,16 @@ class IconClassTest extends \Codeception\Test\Unit
     function testIconCreateAsCSSWithSize()
     {
         $this->assertEquals(
-            'background-image:url(images/icons/blue/add/vote.svg);background-size:17px 17px;',
-            Icon::create('vote+add', 'clickable')->asCSS(17)
+            'background-image:url(images/icons/blue/vote.svg);background-size:17px 17px;',
+            Icon::create('vote', 'clickable')->asCSS(17)
         );
     }
 
     function testIconCreateAsImagePath()
     {
         $this->assertEquals(
-            'images/icons/blue/add/vote.svg',
-            Icon::create('vote+add', 'clickable')->asImagePath()
+            'images/icons/blue/vote.svg',
+            Icon::create('vote', 'clickable')->asImagePath()
         );
     }
 
-- 
GitLab