aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/controllers/course/forum/index.php11
-rw-r--r--app/controllers/messages.php36
-rw-r--r--app/controllers/settings/general.php4
-rw-r--r--app/views/admin/accessibility_info_text/index.php2
-rw-r--r--app/views/course/feedback/_new_edit_feedback_form.php2
-rw-r--r--app/views/course/forum/index/_new_entry.php7
-rw-r--r--app/views/course/forum/index/_post.php6
-rw-r--r--app/views/course/forum/index/_preview.php11
-rw-r--r--app/views/course/lti/edit.php2
-rw-r--r--app/views/course/scm/edit.php2
-rw-r--r--app/views/course/topics/edit.php2
-rw-r--r--app/views/fachabschluss/abschluesse/abschluss.php2
-rw-r--r--app/views/fachabschluss/faecher/fach.php6
-rw-r--r--app/views/fachabschluss/kategorien/kategorie.php2
-rw-r--r--app/views/file/suggest_oer.php2
-rw-r--r--app/views/lvgruppen/lvgruppen/lvgruppe.php2
-rw-r--r--app/views/messages/write.php18
-rw-r--r--app/views/module/module/lvgruppe.php2
-rw-r--r--app/views/module/module/modul.php60
-rw-r--r--app/views/module/module/modulteil.php40
-rw-r--r--app/views/news/_comments.php2
-rw-r--r--app/views/resources/admin/configuration.php2
-rw-r--r--app/views/settings/categories.php2
-rw-r--r--app/views/settings/details.php8
-rw-r--r--app/views/settings/general.php11
-rw-r--r--app/views/shared/form_dokumente.php2
-rw-r--r--app/views/siteinfo/edit.php2
-rw-r--r--app/views/studiengaenge/studiengaenge/studiengang.php8
-rw-r--r--app/views/studiengaenge/versionen/abschnitt.php2
-rw-r--r--app/views/studiengaenge/versionen/version.php6
-rw-r--r--db/migrations/5.5.5_drop_wysiwyg_config.php39
-rw-r--r--lib/classes/Markup.class.php5
-rw-r--r--lib/classes/PageLayout.php5
-rw-r--r--lib/evaluation/classes/EvaluationTreeEditView.class.php2
-rw-r--r--lib/include/html_head.inc.php7
-rw-r--r--lib/visual.inc.php27
-rw-r--r--resources/assets/javascripts/bootstrap/application.js2
-rw-r--r--resources/assets/javascripts/bootstrap/wiki.js24
-rw-r--r--resources/assets/javascripts/bootstrap/wysiwyg.js28
-rw-r--r--resources/assets/javascripts/init.js2
-rw-r--r--resources/assets/javascripts/jquery-bundle.js10
-rw-r--r--resources/assets/javascripts/lib/forum.js53
-rw-r--r--resources/assets/javascripts/lib/messages.js25
-rw-r--r--resources/assets/javascripts/lib/toolbar.js100
-rw-r--r--resources/assets/javascripts/lib/toolbar_buttonset.js67
-rw-r--r--resources/vue/components/I18nTextarea.vue25
-rw-r--r--resources/vue/components/StudipWysiwyg.vue17
-rw-r--r--resources/vue/components/TextareaWithToolbar.vue3
-rw-r--r--templates/datafields/textmarkup.php2
-rw-r--r--templates/datafields/textmarkupi18n.php2
-rw-r--r--templates/forms/i18n_formatted_input.php2
-rw-r--r--templates/layouts/base.php19
-rw-r--r--templates/wiki/edit.php2
-rw-r--r--tests/unit/lib/classes/MarkupClassTest.php3
54 files changed, 179 insertions, 556 deletions
diff --git a/app/controllers/course/forum/index.php b/app/controllers/course/forum/index.php
index f2c6de7..bb1b49c 100644
--- a/app/controllers/course/forum/index.php
+++ b/app/controllers/course/forum/index.php
@@ -335,17 +335,6 @@ class Course_Forum_IndexController extends ForumController
/* * * * * * * * * * * * * * * * * * * * * * * * * */
/**
- * this action renders a preview of the submitted text
- */
- function preview_action() {
- if (Request::isXhr()) {
- $this->render_text(formatReady(Request::get('posting')));
- } else {
- $this->render_text(ForumEntry::getContentAsHtml(Request::get('posting')));
- }
- }
-
- /**
* Add a new entry. Has a simple spambot protection and checks
* the parent_id to add the entry to, throwing an exception if missing.
*
diff --git a/app/controllers/messages.php b/app/controllers/messages.php
index 417a721..162083b 100644
--- a/app/controllers/messages.php
+++ b/app/controllers/messages.php
@@ -438,13 +438,7 @@ class MessagesController extends AuthenticatedController {
}
}
$message .= "\n\n";
- if (Studip\Markup::editorEnabled()) {
- $message = Studip\Markup::markupToHtml($message, false) . Studip\Markup::markupToHtml($old_message['message']);
- } else if (Studip\Markup::isHtml($old_message['message'])) {
- $message .= Studip\Markup::removeHtml($old_message['message']);
- } else {
- $message .= $old_message['message'];
- }
+ $message = Studip\Markup::markupToHtml($message, false) . Studip\Markup::markupToHtml($old_message['message']);
$this->default_message['message'] = $message;
}
$this->default_message['subject'] = mb_substr($old_message['subject'], 0, 4) === "RE: " ? $old_message['subject'] : "RE: ".$old_message['subject'];
@@ -492,13 +486,7 @@ class MessagesController extends AuthenticatedController {
}
}
$message .= "\n\n";
- if (Studip\Markup::editorEnabled()) {
- $message = Studip\Markup::markupToHtml($message, false) . Studip\Markup::markupToHtml($old_message['message']);
- } else if (Studip\Markup::isHtml($old_message['message'])) {
- $message .= Studip\Markup::removeHtml($old_message['message']);
- } else {
- $message .= $old_message['message'];
- }
+ $message = Studip\Markup::markupToHtml($message, false) . Studip\Markup::markupToHtml($old_message['message']);
if ($old_message->getNumAttachments()) {
//there is at least one attachment: we must copy it
$old_attachment_folder = MessageFolder::findTopFolder($old_message->id);
@@ -534,11 +522,7 @@ class MessagesController extends AuthenticatedController {
}
}
if (Request::get('default_body')) {
- if (Studip\Markup::editorEnabled()) {
- $this->default_message['message'] = Studip\Markup::markupToHtml(Request::get("default_body"));
- } else {
- $this->default_message['message'] = Studip\Markup::removeHtml(Request::get("default_body"));
- }
+ $this->default_message['message'] = Studip\Markup::markupToHtml(Request::get("default_body"));
}
if (Request::get('default_subject')) {
$this->default_message['subject'] = Request::get("default_subject");
@@ -550,11 +534,8 @@ class MessagesController extends AuthenticatedController {
$this->show_adressees = null;
}
if (trim($settings['sms_sig'])) {
- if (Studip\Markup::editorEnabled()) {
- $sms_sig = Studip\Markup::markAsHtml('<br><br><hr>' . Studip\Markup::markupToHtml($settings['sms_sig']) . '<br><br>');
- } else {
- $sms_sig = "\n\n--\n" . $settings['sms_sig'] . "\n\n";
- }
+ $sms_sig = Studip\Markup::markAsHtml('<br><br><hr>' . Studip\Markup::markupToHtml($settings['sms_sig']) . '<br><br>');
+
if ($forward_message || $quoted_message) {
$this->default_message['message'] = $sms_sig . $this->default_message['message'];
} else {
@@ -909,13 +890,6 @@ class MessagesController extends AuthenticatedController {
$this->render_nothing();
}
- public function preview_action()
- {
- if (Request::isXhr()) {
- $this->render_text(formatReady(Request::get('text')));
- }
- }
-
public function delete_tag_action()
{
CSRFProtection::verifyUnsafeRequest();
diff --git a/app/controllers/settings/general.php b/app/controllers/settings/general.php
index 8b6ef0e..734cca1 100644
--- a/app/controllers/settings/general.php
+++ b/app/controllers/settings/general.php
@@ -70,10 +70,6 @@ class Settings_GeneralController extends Settings_SettingsController
$this->config->store('RESOURCES_CONFIRM_PLAN_DRAG_AND_DROP', Request::int('resources_confirm_plan_drag_and_drop'));
}
- if (Config::get()->WYSIWYG) {
- $this->config->store('WYSIWYG_DISABLED', !Request::int('wysiwyg_enabled'));
- }
-
if (Request::int('personal_notifications_activated')) {
PersonalNotifications::activate($this->user->id);
} else {
diff --git a/app/views/admin/accessibility_info_text/index.php b/app/views/admin/accessibility_info_text/index.php
index c236099..f2e46ff 100644
--- a/app/views/admin/accessibility_info_text/index.php
+++ b/app/views/admin/accessibility_info_text/index.php
@@ -8,7 +8,7 @@
<?= _('Die angegebene Information wird im Datei-Hochladen-Dialog unter der Checkbox angezeigt.') ?>
</label>
<?= I18N::textarea('accessbility_info_text', Config::get()->ACCESSIBILITY_INFO_TEXT,
- ['class' => 'add_toolbar wysiwyg', 'data-editor' => 'toolbar=small']) ?>
+ ['class' => 'wysiwyg', 'data-editor' => 'toolbar=small']) ?>
</section>
</fieldset>
diff --git a/app/views/course/feedback/_new_edit_feedback_form.php b/app/views/course/feedback/_new_edit_feedback_form.php
index b5268c0..224cd11 100644
--- a/app/views/course/feedback/_new_edit_feedback_form.php
+++ b/app/views/course/feedback/_new_edit_feedback_form.php
@@ -9,7 +9,7 @@
</label>
<label>
<?= _('Beschreibung') ?>
- <textarea name="description" class="add_toolbar wysiwyg"
+ <textarea name="description" class="wysiwyg"
placeholder="<?= _('Optionale Beschreibung') ?>"><?= wysiwygReady($feedback->description); ?></textarea>
</label>
<label>
diff --git a/app/views/course/forum/index/_new_entry.php b/app/views/course/forum/index/_new_entry.php
index 64f1c14..62f0dc4 100644
--- a/app/views/course/forum/index/_new_entry.php
+++ b/app/views/course/forum/index/_new_entry.php
@@ -34,7 +34,7 @@
<? endif; ?>
<label>
- <textarea class="add_toolbar wysiwyg size-l" data-textarea="new_entry" name="content" required tabindex="3"
+ <textarea class="wysiwyg size-l" data-textarea="new_entry" name="content" required tabindex="3"
placeholder="<?= _('Schreiben Sie hier Ihren Beitrag.') ?>"></textarea>
</label>
@@ -52,16 +52,11 @@
<?= Studip\LinkButton::createCancel(_('Abbrechen'), '', [
'onClick' => "return STUDIP.Forum.cancelNewEntry();",
'tabindex' => '4']) ?>
-
- <?= Studip\LinkButton::create(_('Vorschau'), "javascript:STUDIP.Forum.preview('new_entry', 'new_entry_preview');", ['tabindex' => '5', 'class' => 'js']) ?>
</footer>
<input type="hidden" name="parent" value="<?= $topic_id ?>">
<input type="text" name="nixda" style="display: none;">
<?= CSRFProtection::tokenTag() ?>
</form>
-
- <?= $this->render_partial('course/forum/index/_preview', ['preview_id' => 'new_entry_preview']) ?>
- <br>
</div>
</script>
diff --git a/app/views/course/forum/index/_post.php b/app/views/course/forum/index/_post.php
index d21b4ef..f6e3696 100644
--- a/app/views/course/forum/index/_post.php
+++ b/app/views/course/forum/index/_post.php
@@ -86,7 +86,7 @@
<!-- Postinginhalt -->
<div class="content">
<span data-edit-topic="<?= $post['topic_id'] ?>" <?= $edit_posting == $post['topic_id'] ? '' : 'style="display: none;"' ?>>
- <textarea data-textarea="<?= $post['topic_id'] ?>" data-reset="<?= wysiwygReady($post['content_raw']) ?>" name="content" class="add_toolbar wysiwyg"><?= wysiwygReady($post['content_raw']) ?></textarea>
+ <textarea data-textarea="<?= $post['topic_id'] ?>" data-reset="<?= wysiwygReady($post['content_raw']) ?>" name="content" class="wysiwyg"><?= wysiwygReady($post['content_raw']) ?></textarea>
</span>
<span data-show-topic="<?= $post['topic_id'] ?>" data-topic-content="<?= $post['topic_id'] ?>" <?= $edit_posting != $post['topic_id'] ? '' : 'style="display: none;"' ?>>
@@ -106,8 +106,6 @@
<?= Studip\LinkButton::createCancel(_('Abbrechen'), $controller->link_for('course/forum/index/index/'. $post['topic_id'] .'#'. $post['topic_id']),
['onClick' => "STUDIP.Forum.cancelEditEntry('". $post['topic_id'] ."'); return false;"]) ?>
-
- <?= Studip\LinkButton::create(_('Vorschau'), "javascript:STUDIP.Forum.preview('". $post['topic_id'] ."', 'preview_". $post['topic_id'] ."');") ?>
</span>
<span data-show-topic="<?= $post['topic_id'] ?>" <?= $edit_posting != $post['topic_id'] ? '' : 'style="display: none;"' ?>>
@@ -262,5 +260,3 @@
<div class="clear"></div>
</div>
</form>
-
-<?= $this->render_partial('course/forum/index/_preview', ['preview_id' => 'preview_' . $post['topic_id']]) ?>
diff --git a/app/views/course/forum/index/_preview.php b/app/views/course/forum/index/_preview.php
deleted file mode 100644
index e39f621..0000000
--- a/app/views/course/forum/index/_preview.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<div class="posting bg2" style="margin-bottom: 20px; display: none; position: relative; text-align: left;">
- <span class="title" style="padding-left: 5px; font-weight: bold">
- <?= _('Vorschau ihres Beitrags:') ?> (<?= _('Vergessen Sie nicht, ihren Beitrag zu speichern!')?>)
- <br><br>
- </span>
-
- <?= Icon::create('decline', 'attention', ['title' => _('Vorschaufenster schließen')])->asImg(16, ["style" => 'position: absolute; top: 5px; right: 5px; cursor: pointer;', "onClick" => 'jQuery(this).parent().hide();']) ?>
-
- <div class="postbody" id="<?= $preview_id ?>"></div>
- <br style="clear: both">
-</div> \ No newline at end of file
diff --git a/app/views/course/lti/edit.php b/app/views/course/lti/edit.php
index 1812bf2..0131e05 100644
--- a/app/views/course/lti/edit.php
+++ b/app/views/course/lti/edit.php
@@ -21,7 +21,7 @@
<label>
<?= _('Beschreibung') ?>
- <textarea name="description" class="add_toolbar wysiwyg"><?= wysiwygReady($lti_data->description) ?></textarea>
+ <textarea name="description" class="wysiwyg"><?= wysiwygReady($lti_data->description) ?></textarea>
</label>
<label>
diff --git a/app/views/course/scm/edit.php b/app/views/course/scm/edit.php
index 87ad30f..3146dff 100644
--- a/app/views/course/scm/edit.php
+++ b/app/views/course/scm/edit.php
@@ -37,7 +37,7 @@
<label>
<?= _('Inhalt') ?>
<?= I18N::textarea('content', $scm->content, [
- 'class' => 'add_toolbar wysiwyg size-l',
+ 'class' => 'wysiwyg size-l',
]) ?>
</label>
</fieldset>
diff --git a/app/views/course/topics/edit.php b/app/views/course/topics/edit.php
index 0faa486..a6b897e 100644
--- a/app/views/course/topics/edit.php
+++ b/app/views/course/topics/edit.php
@@ -18,7 +18,7 @@
<?= _("Beschreibung") ?>
<?= I18N::textarea('description', $topic->description, [
- 'class' => 'add_toolbar wysiwyg size-l',
+ 'class' => 'wysiwyg size-l',
]) ?>
</label>
diff --git a/app/views/fachabschluss/abschluesse/abschluss.php b/app/views/fachabschluss/abschluesse/abschluss.php
index df1a90a..40f4fa2 100644
--- a/app/views/fachabschluss/abschluesse/abschluss.php
+++ b/app/views/fachabschluss/abschluesse/abschluss.php
@@ -14,7 +14,7 @@
</label>
<label>
<?= _('Beschreibung') ?>
- <?= MvvI18N::textarea('beschreibung', $abschluss->beschreibung, ['class' => 'add_toolbar ui-resizable wysiwyg'])->checkPermission($abschluss) ?>
+ <?= MvvI18N::textarea('beschreibung', $abschluss->beschreibung, ['class' => 'wysiwyg'])->checkPermission($abschluss) ?>
</fieldset>
<fieldset>
<legend><?= _('Abschluss-Kategorie wählen') ?></legend>
diff --git a/app/views/fachabschluss/faecher/fach.php b/app/views/fachabschluss/faecher/fach.php
index 40a65aa..448f565 100644
--- a/app/views/fachabschluss/faecher/fach.php
+++ b/app/views/fachabschluss/faecher/fach.php
@@ -19,7 +19,7 @@
</label>
<label>
<?= _('Beschreibung') ?>
- <?= MvvI18N::textarea('beschreibung', $fach->beschreibung, ['class' => 'add_toolbar ui-resizable wysiwyg'])->checkPermission($fach) ?>
+ <?= MvvI18N::textarea('beschreibung', $fach->beschreibung, ['class' => 'wysiwyg'])->checkPermission($fach) ?>
</label>
</fieldset>
@@ -86,10 +86,10 @@
<label><?= _('Schlagworte') ?>
<? if ($perm->haveFieldPerm('schlagworte')) : ?>
<textarea cols="60" rows="5" name="schlagworte" id="schlagworte"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($fach->schlagworte) ?></textarea>
+ class="wysiwyg"><?= htmlReady($fach->schlagworte) ?></textarea>
<? else : ?>
<textarea readonly cols="60" rows="5" name="schlagworte" id="schlagworte"
- class="ui-resizable"><?= htmlReady($fach->schlagworte) ?></textarea>
+ ><?= htmlReady($fach->schlagworte) ?></textarea>
<? endif; ?>
<?= _('Hier können zusätzlich Schlagworte angegeben werden, die in der Suche berücksichtigt werden.') ?>
</label>
diff --git a/app/views/fachabschluss/kategorien/kategorie.php b/app/views/fachabschluss/kategorien/kategorie.php
index 2fa9efa..1fb3cf1 100644
--- a/app/views/fachabschluss/kategorien/kategorie.php
+++ b/app/views/fachabschluss/kategorien/kategorie.php
@@ -30,7 +30,7 @@
<?= _('Beschreibung') ?>
<?= MvvI18N::textarea(
'beschreibung',
- $abschluss_kategorie->beschreibung, ['class' => 'add_toolbar ui-resizable wysiwyg']
+ $abschluss_kategorie->beschreibung, ['class' => 'wysiwyg']
)->checkPermission($abschluss_kategorie) ?>
</label>
</fieldset>
diff --git a/app/views/file/suggest_oer.php b/app/views/file/suggest_oer.php
index 2d5a6da..977b933 100644
--- a/app/views/file/suggest_oer.php
+++ b/app/views/file/suggest_oer.php
@@ -8,7 +8,7 @@
<p><?= _('Schreiben Sie der Autorin/dem Autoren:') ?></p>
<label for="additional_text">
- <textarea class = "add_toolbar wysiwyg"
+ <textarea class = "wysiwyg"
name = "additional_text"
id = "additional_text"
rows = "3"
diff --git a/app/views/lvgruppen/lvgruppen/lvgruppe.php b/app/views/lvgruppen/lvgruppen/lvgruppe.php
index 3726987..b1bee81 100644
--- a/app/views/lvgruppen/lvgruppen/lvgruppe.php
+++ b/app/views/lvgruppen/lvgruppen/lvgruppe.php
@@ -11,7 +11,7 @@
</label>
<label>
<?= _('Alternativtext') ?>
- <?= MvvI18N::textarea('alttext', $lvgruppe->alttext, ['class' => 'add_toolbar ui-resizable wysiwyg'])->checkPermission($lvgruppe) ?>
+ <?= MvvI18N::textarea('alttext', $lvgruppe->alttext, ['class' => 'wysiwyg'])->checkPermission($lvgruppe) ?>
</label>
</fieldset>
<footer data-dialog-button>
diff --git a/app/views/messages/write.php b/app/views/messages/write.php
index 2b2d06d..c170572 100644
--- a/app/views/messages/write.php
+++ b/app/views/messages/write.php
@@ -60,7 +60,7 @@
<div>
<label>
<?= _("Nachricht") ?>
- <textarea name="message_body" class="add_toolbar wysiwyg"><?= wysiwygReady($default_message['message'],false) ?></textarea>
+ <textarea name="message_body" class="wysiwyg"><?= wysiwygReady($default_message['message'],false) ?></textarea>
</label>
</div>
<div>
@@ -88,15 +88,6 @@
<strong><?= _("Optionen") ?></strong>
</a>
</li>
- <? if (!\Studip\Markup::editorEnabled()) : ?>
- <li>
- <a href="" onClick="STUDIP.Messages.toggleSetting('preview'); STUDIP.Messages.previewComposedMessage(); return false;">
- <?= Icon::create('visibility-visible', 'clickable')->asImg(40) ?>
- <br>
- <strong><?= _("Vorschau") ?></strong>
- </a>
- </li>
- <? endif ?>
</ul>
</div>
@@ -165,13 +156,6 @@
</div>
</fieldset>
- <? if (!\Studip\Markup::editorEnabled()) : ?>
- <div id="preview" style="display: none;">
- <?= _("Vorschau") ?>
- <p class="message_body"></p>
- </div>
- <? endif ?>
-
<footer data-dialog-button>
<?= Studip\Button::createAccept(_('Abschicken'), null, ['onclick' => "STUDIP.Messages.checkAdressee();"]) ?>
<?= Studip\LinkButton::createCancel(_('Abbrechen'), $controller->url_for('messages')) ?>
diff --git a/app/views/module/module/lvgruppe.php b/app/views/module/module/lvgruppe.php
index 5dd1d17..fd6c6ac 100644
--- a/app/views/module/module/lvgruppe.php
+++ b/app/views/module/module/lvgruppe.php
@@ -13,7 +13,7 @@
id="name" type="text" name="name" value="<?= htmlReady($lvgruppe->name) ?>" size="50">
</label>
<label><?= _('Alternativtext') ?>
- <?= MvvI18N::textarea('alttext', $lvgruppe->alttext, ['class' => 'add_toolbar resizable'])->checkPermission($lvgruppe) ?>
+ <?= MvvI18N::textarea('alttext', $lvgruppe->alttext, ['class' => 'resizable'])->checkPermission($lvgruppe) ?>
</fieldset>
<footer data-dialog-button>
<? if ($lvgruppe->isNew()) : ?>
diff --git a/app/views/module/module/modul.php b/app/views/module/module/modul.php
index af6b3e7..ba76e33 100644
--- a/app/views/module/module/modul.php
+++ b/app/views/module/module/modul.php
@@ -241,9 +241,9 @@ if ($GLOBALS['MVV_MODUL']['SPRACHE']['default'] != $display_language) {
<? endforeach; ?>
<label id="mvv-field-modul-kommentar_status"><?= _('Kommentar') ?>
<? if ($perm->haveFieldPerm('kommentar_status', MvvPerm::PERM_WRITE)): ?>
- <textarea cols="60" rows="5" name="kommentar_status" id="kommentar_status" class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($modul->kommentar_status) ?></textarea>
+ <textarea cols="60" rows="5" name="kommentar_status" id="kommentar_status" class="wysiwyg"><?= htmlReady($modul->kommentar_status) ?></textarea>
<? else : ?>
- <textarea readonly cols="60" rows="5" name="kommentar_status" id="kommentar_status" class="ui-resizable"><?= htmlReady($modul->kommentar_status) ?></textarea>
+ <textarea readonly cols="60" rows="5" name="kommentar_status" id="kommentar_status"><?= htmlReady($modul->kommentar_status) ?></textarea>
<? endif; ?>
</label>
<? else : ?>
@@ -430,9 +430,9 @@ if ($GLOBALS['MVV_MODUL']['SPRACHE']['default'] != $display_language) {
</section>
<label id="mvv-field-modul-kommentar_kapazitaet"><?= _('Kommentar') ?>
<? if($perm_d->haveFieldPerm('kommentar_kapazitaet', MvvPerm::PERM_WRITE)): ?>
- <textarea cols="60" rows="5" name="kommentar_kapazitaet" id="kommentar_kapazitaet" class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->kommentar_kapazitaet) ?></textarea>
+ <textarea cols="60" rows="5" name="kommentar_kapazitaet" id="kommentar_kapazitaet" class="wysiwyg"><?= htmlReady($deskriptor->kommentar_kapazitaet) ?></textarea>
<? else: ?>
- <textarea readonly cols="60" rows="5" name="kommentar_kapazitaet" id="kommentar_kapazitaet" class="ui-resizable"><?= htmlReady($deskriptor->kommentar_kapazitaet) ?></textarea>
+ <textarea readonly cols="60" rows="5" name="kommentar_kapazitaet" id="kommentar_kapazitaet"><?= htmlReady($deskriptor->kommentar_kapazitaet) ?></textarea>
<? endif; ?>
</label>
@@ -475,55 +475,55 @@ if ($GLOBALS['MVV_MODUL']['SPRACHE']['default'] != $display_language) {
<label id="mvv-field-modul-voraussetzung"><?= _('Teilnahmevoraussetzung') ?>
<? if ($perm_d->haveFieldPerm('voraussetzung', MvvPerm::PERM_WRITE)): ?>
<textarea cols="60" rows="5" name="voraussetzung" id="voraussetzung"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->voraussetzung) ?></textarea>
+ class="wysiwyg"><?= htmlReady($deskriptor->voraussetzung) ?></textarea>
<? else: ?>
<textarea readonly cols="60" rows="5" name="voraussetzung" id="voraussetzung"
- class="ui-resizable"><?= htmlReady($deskriptor->voraussetzung) ?></textarea>
+ ><?= htmlReady($deskriptor->voraussetzung) ?></textarea>
<? endif; ?>
</label>
<label id="mvv-field-modul-kompetenzziele"><?= _('Kompetenzziele') ?>
<? if ($perm_d->haveFieldPerm('kompetenzziele', MvvPerm::PERM_WRITE)): ?>
<textarea cols="60" rows="5" name="kompetenzziele" id="kompetenzziele"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->kompetenzziele) ?></textarea>
+ class="wysiwyg"><?= htmlReady($deskriptor->kompetenzziele) ?></textarea>
<? else: ?>
<textarea readonly cols="60" rows="5" name="kompetenzziele" id="kompetenzziele"
- class="ui-resizable"><?= htmlReady($deskriptor->kompetenzziele) ?></textarea>
+ ><?= htmlReady($deskriptor->kompetenzziele) ?></textarea>
<? endif; ?>
</label>
<label id="mvv-field-modul-inhalte"><?= _('Inhalte') ?>
<? if ($perm_d->haveFieldPerm('inhalte', MvvPerm::PERM_WRITE)): ?>
<textarea cols="60" rows="5" name="inhalte" id="inhalte"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->inhalte) ?></textarea>
+ class="wysiwyg"><?= htmlReady($deskriptor->inhalte) ?></textarea>
<? else: ?>
<textarea readonly cols="60" rows="5" name="inhalte" id="inhalte"
- class="ui-resizable"><?= htmlReady($deskriptor->inhalte) ?></textarea>
+ ><?= htmlReady($deskriptor->inhalte) ?></textarea>
<? endif; ?>
</label>
<label id="mvv-field-modul-literatur"><?= _('Literatur') ?>
<? if ($perm_d->haveFieldPerm('literatur', MvvPerm::PERM_WRITE)): ?>
<textarea cols="60" rows="5" name="literatur" id="literatur"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->literatur) ?></textarea>
+ class="wysiwyg"><?= htmlReady($deskriptor->literatur) ?></textarea>
<? else: ?>
<textarea readonly cols="60" rows="5" name="literatur" id="literatur"
- class="ui-resizable"><?= htmlReady($deskriptor->literatur) ?></textarea>
+ ><?= htmlReady($deskriptor->literatur) ?></textarea>
<? endif; ?>
</label>
<label id="mvv-field-modul-links"><?= _('Links') ?>
<? if ($perm_d->haveFieldPerm('links', MvvPerm::PERM_WRITE)): ?>
<textarea cols="60" rows="5" name="links" id="links"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->links) ?></textarea>
+ class="wysiwyg"><?= htmlReady($deskriptor->links) ?></textarea>
<? else: ?>
<textarea readonly cols="60" rows="5" name="links" id="links"
- class="ui-resizable"><?= htmlReady($deskriptor->links) ?></textarea>
+ ><?= htmlReady($deskriptor->links) ?></textarea>
<? endif; ?>
</label>
<label id="mvv-field-modul-kommentar"><?= _('Kommentar') ?>
<? if ($perm_d->haveFieldPerm('kommentar', MvvPerm::PERM_WRITE)): ?>
<textarea cols="60" rows="5" name="kommentar" id="kommentar"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->kommentar) ?></textarea>
+ class="wysiwyg"><?= htmlReady($deskriptor->kommentar) ?></textarea>
<? else: ?>
<textarea readonly cols="60" rows="5" name="kommentar" id="kommentar"
- class="ui-resizable"><?= htmlReady($deskriptor->kommentar) ?></textarea>
+ ><?= htmlReady($deskriptor->kommentar) ?></textarea>
<? endif; ?>
</label>
@@ -544,10 +544,10 @@ if ($GLOBALS['MVV_MODUL']['SPRACHE']['default'] != $display_language) {
<label id="mvv-field-modul-kommentar_wl_selbst"><?= _('Kommentar') ?>
<? if ($perm_d->haveFieldPerm('kommentar_wl_selbst', MvvPerm::PERM_WRITE)): ?>
<textarea cols="60" rows="5" name="kommentar_wl_selbst" id="kommentar_wl_selbst"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->kommentar_wl_selbst) ?></textarea>
+ class="wysiwyg"><?= htmlReady($deskriptor->kommentar_wl_selbst) ?></textarea>
<? else: ?>
<textarea readonly cols="60" rows="5" name="kommentar_wl_selbst" id="kommentar_wl_selbst"
- class="ui-resizable"><?= htmlReady($deskriptor->kommentar_wl_selbst) ?></textarea>
+ ><?= htmlReady($deskriptor->kommentar_wl_selbst) ?></textarea>
<? endif; ?>
</label>
@@ -562,10 +562,10 @@ if ($GLOBALS['MVV_MODUL']['SPRACHE']['default'] != $display_language) {
<label id="mvv-field-modul-kommentar_wl_pruef"><?= _('Kommentar') ?>
<? if ($perm_d->haveFieldPerm('kommentar_wl_pruef', MvvPerm::PERM_WRITE)): ?>
<textarea cols="60" rows="5" name="kommentar_wl_pruef" id="kommentar_wl_pruef"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->kommentar_wl_pruef) ?></textarea>
+ class="wysiwyg"><?= htmlReady($deskriptor->kommentar_wl_pruef) ?></textarea>
<? else: ?>
<textarea readonly cols="60" rows="5" name="kommentar_wl_pruef" id="kommentar_wl_pruef"
- class="ui-resizable"><?= htmlReady($deskriptor->kommentar_wl_pruef) ?></textarea>
+ ><?= htmlReady($deskriptor->kommentar_wl_pruef) ?></textarea>
<? endif; ?>
</label>
</fieldset>
@@ -594,36 +594,36 @@ if ($GLOBALS['MVV_MODUL']['SPRACHE']['default'] != $display_language) {
<label id="mvv-field-modul-pruef_vorleistung"><?= _('Prüfungsvorleistung') ?>
<? if ($perm_d->haveFieldPerm('pruef_vorleistung', MvvPerm::PERM_WRITE)) : ?>
<textarea cols="60" rows="5" name="pruef_vorleistung" id="pruef_vorleistung"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->pruef_vorleistung) ?></textarea>
+ class="wysiwyg"><?= htmlReady($deskriptor->pruef_vorleistung) ?></textarea>
<? else : ?>
<textarea readonly cols="60" rows="5" name="pruef_vorleistung" id="pruef_vorleistung"
- class="ui-resizable"><?= htmlReady($deskriptor->pruef_vorleistung) ?></textarea>
+ ><?= htmlReady($deskriptor->pruef_vorleistung) ?></textarea>
<? endif; ?>
</label>
<label id="mvv-field-modul-pruef_leistung"><?= _('Leistung/Prüfungsform') ?>
<? if ($perm_d->haveFieldPerm('pruef_leistung', MvvPerm::PERM_WRITE)) : ?>
<textarea cols="60" rows="5" name="pruef_leistung" id="pruef_leistung"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->pruef_leistung) ?></textarea>
+ class="wysiwyg"><?= htmlReady($deskriptor->pruef_leistung) ?></textarea>
<? else : ?>
<textarea readonly cols="60" rows="5" name="pruef_leistung" id="pruef_leistung"
- class="ui-resizable"><?= htmlReady($deskriptor->pruef_leistung) ?></textarea>
+ ><?= htmlReady($deskriptor->pruef_leistung) ?></textarea>
<? endif; ?>
</label>
<label id="mvv-field-modul-pruef_wiederholung"><?= _('Wiederholungsprüfung') ?>
<? if ($perm_d->haveFieldPerm('pruef_wiederholung', MvvPerm::PERM_WRITE)) : ?>
<textarea cols="60" rows="5" name="pruef_wiederholung" id="pruef_wiederholung"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->pruef_wiederholung) ?></textarea>
+ class="wysiwyg"><?= htmlReady($deskriptor->pruef_wiederholung) ?></textarea>
<? else : ?>
<textarea readonly cols="60" rows="5" name="pruef_wiederholung" id="pruef_wiederholung"
- class="ui-resizable"><?= htmlReady($deskriptor->pruef_wiederholung) ?></textarea>
+ ><?= htmlReady($deskriptor->pruef_wiederholung) ?></textarea>
<? endif; ?>
</label>
<label><?= _('Kommentar Note') ?>
<? if($perm_d->haveFieldPerm('kommentar_note', MvvPerm::PERM_WRITE)): ?>
- <textarea cols="60" rows="5" name="kommentar_note" id="kommentar_note" class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->kommentar_note) ?></textarea>
+ <textarea cols="60" rows="5" name="kommentar_note" id="kommentar_note" class="wysiwyg"><?= htmlReady($deskriptor->kommentar_note) ?></textarea>
<? else: ?>
- <textarea readonly cols="60" rows="5" name="kommentar_note" id="kommentar_note" class="ui-resizable"><?= htmlReady($deskriptor->kommentar_note) ?></textarea>
+ <textarea readonly cols="60" rows="5" name="kommentar_note" id="kommentar_note"><?= htmlReady($deskriptor->kommentar_note) ?></textarea>
<? endif; ?>
</label>
</fieldset>
@@ -643,10 +643,10 @@ if ($GLOBALS['MVV_MODUL']['SPRACHE']['default'] != $display_language) {
<label id="mvv-field-modul-ersatztext"><?= _('Ersatztext') ?>
<? if ($perm_d->haveFieldPerm('ersatztext', MvvPerm::PERM_WRITE)) : ?>
<textarea cols="60" rows="5" name="ersatztext" id="ersatztext"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->ersatztext) ?></textarea>
+ class="wysiwyg"><?= htmlReady($deskriptor->ersatztext) ?></textarea>
<? else : ?>
<textarea readonly cols="60" rows="5" name="ersatztext" id="ersatztext"
- class="ui-resizable"><?= htmlReady($deskriptor->ersatztext) ?></textarea>
+ ><?= htmlReady($deskriptor->ersatztext) ?></textarea>
<? endif; ?>
</label>
<? foreach ($deskriptor->datafields as $entry) : ?>
diff --git a/app/views/module/module/modulteil.php b/app/views/module/module/modulteil.php
index 1dcf8fc..7290c1d 100644
--- a/app/views/module/module/modulteil.php
+++ b/app/views/module/module/modulteil.php
@@ -193,10 +193,10 @@ if ($GLOBALS['MVV_MODULTEIL']['SPRACHE']['default'] != $display_language) {
<label id="mvv-field-modulteil-kommentar_kapazitaet"><?= _('Kommentar') ?>
<? if ($perm_d->haveFieldPerm('kommentar_kapazitaet', MvvPerm::PERM_WRITE)) : ?>
<textarea cols="60" rows="5" name="kommentar_kapazitaet" id="kommentar_kapazitaet"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->kommentar_kapazitaet) ?></textarea>
+ class="wysiwyg"><?= htmlReady($deskriptor->kommentar_kapazitaet) ?></textarea>
<? else : ?>
<textarea readonly cols="60" rows="5" name="kommentar_kapazitaet" id="kommentar_kapazitaet"
- class="ui-resizable"><?= htmlReady($deskriptor->kommentar_kapazitaet) ?></textarea>
+ ><?= htmlReady($deskriptor->kommentar_kapazitaet) ?></textarea>
<? endif; ?>
</label>
@@ -231,9 +231,9 @@ if ($GLOBALS['MVV_MODULTEIL']['SPRACHE']['default'] != $display_language) {
</legend>
<label><?= _('Teilnahmevoraussetzung') ?>
<? if ($perm_d->haveFieldPerm('voraussetzung', MvvPerm::PERM_WRITE)) : ?>
- <textarea cols="60" rows="5" name="voraussetzung" id="voraussetzung" class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->voraussetzung) ?></textarea>
+ <textarea cols="60" rows="5" name="voraussetzung" id="voraussetzung" class="wysiwyg"><?= htmlReady($deskriptor->voraussetzung) ?></textarea>
<? else : ?>
- <textarea readonly cols="60" rows="5" name="voraussetzung" id="voraussetzung" class="ui-resizable"><?= htmlReady($deskriptor->voraussetzung) ?></textarea>
+ <textarea readonly cols="60" rows="5" name="voraussetzung" id="voraussetzung"><?= htmlReady($deskriptor->voraussetzung) ?></textarea>
<? endif; ?>
</label>
</fieldset>
@@ -244,9 +244,9 @@ if ($GLOBALS['MVV_MODULTEIL']['SPRACHE']['default'] != $display_language) {
</legend>
<label><?= _('Kommentar') ?>
<? if ($perm_d->haveFieldPerm('kommentar', MvvPerm::PERM_WRITE)) : ?>
- <textarea cols="60" rows="5" name="kommentar" id="kommentar" class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->kommentar) ?></textarea>
+ <textarea cols="60" rows="5" name="kommentar" id="kommentar" class="wysiwyg"><?= htmlReady($deskriptor->kommentar) ?></textarea>
<? else : ?>
- <textarea readonly cols="60" rows="5" name="kommentar" id="kommentar" class="ui-resizable"><?= htmlReady($deskriptor->kommentar) ?></textarea>
+ <textarea readonly cols="60" rows="5" name="kommentar" id="kommentar"><?= htmlReady($deskriptor->kommentar) ?></textarea>
<? endif; ?>
</label>
</fieldset>
@@ -271,10 +271,10 @@ if ($GLOBALS['MVV_MODULTEIL']['SPRACHE']['default'] != $display_language) {
<label for="kommentar_wl_praesenz" style="vertical-align: top;"><?= _('Kommentar') ?>
<? if ($perm_d->haveFieldPerm('kommentar_wl_praesenz', MvvPerm::PERM_WRITE)) : ?>
<textarea cols="60" rows="5" name="kommentar_wl_praesenz" id="kommentar_wl_praesenz"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->kommentar_wl_praesenz) ?></textarea>
+ class="wysiwyg"><?= htmlReady($deskriptor->kommentar_wl_praesenz) ?></textarea>
<? else : ?>
<textarea readonly cols="60" rows="5" name="kommentar_wl_praesenz" id="kommentar_wl_praesenz"
- class="ui-resizable"><?= htmlReady($deskriptor->kommentar_wl_praesenz) ?></textarea>
+ ><?= htmlReady($deskriptor->kommentar_wl_praesenz) ?></textarea>
<? endif; ?>
</label>
@@ -291,10 +291,10 @@ if ($GLOBALS['MVV_MODULTEIL']['SPRACHE']['default'] != $display_language) {
<label><?= _('Kommentar') ?>
<? if ($perm_d->haveFieldPerm('kommentar_wl_bereitung', MvvPerm::PERM_WRITE)) : ?>
<textarea cols="60" rows="5" name="kommentar_wl_bereitung" id="kommentar_wl_bereitung"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->kommentar_wl_bereitung) ?></textarea>
+ class="wysiwyg"><?= htmlReady($deskriptor->kommentar_wl_bereitung) ?></textarea>
<? else : ?>
<textarea readonly cols="60" rows="5" name="kommentar_wl_bereitung" id="kommentar_wl_bereitung"
- class="ui-resizable"><?= htmlReady($deskriptor->kommentar_wl_bereitung) ?></textarea>
+ ><?= htmlReady($deskriptor->kommentar_wl_bereitung) ?></textarea>
<? endif; ?>
</label>
@@ -311,10 +311,10 @@ if ($GLOBALS['MVV_MODULTEIL']['SPRACHE']['default'] != $display_language) {
<label><?= _('Kommentar') ?>
<? if ($perm_d->haveFieldPerm('kommentar_wl_selbst', MvvPerm::PERM_WRITE)) : ?>
<textarea cols="60" rows="5" name="kommentar_wl_selbst" id="kommentar_wl_selbst"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->kommentar_wl_selbst) ?></textarea>
+ class="wysiwyg"><?= htmlReady($deskriptor->kommentar_wl_selbst) ?></textarea>
<? else : ?>
<textarea readonly cols="60" rows="5" name="kommentar_wl_selbst" id="kommentar_wl_selbst"
- class="ui-resizable"><?= htmlReady($deskriptor->kommentar_wl_selbst) ?></textarea>
+ ><?= htmlReady($deskriptor->kommentar_wl_selbst) ?></textarea>
<? endif; ?>
</label>
@@ -329,10 +329,10 @@ if ($GLOBALS['MVV_MODULTEIL']['SPRACHE']['default'] != $display_language) {
<label><?= _('Kommentar') ?>
<? if ($perm_d->haveFieldPerm('kommentar_wl_pruef', MvvPerm::PERM_WRITE)) : ?>
<textarea cols="60" rows="5" name="kommentar_wl_pruef" id="kommentar_wl_pruef"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->kommentar_wl_pruef) ?></textarea>
+ class="wysiwyg"><?= htmlReady($deskriptor->kommentar_wl_pruef) ?></textarea>
<? else : ?>
<textarea readonly cols="60" rows="5" name="kommentar_wl_pruef" id="kommentar_wl_pruef"
- class="ui-resizable"><?= htmlReady($deskriptor->kommentar_wl_pruef) ?></textarea>
+ ><?= htmlReady($deskriptor->kommentar_wl_pruef) ?></textarea>
<? endif; ?>
</label>
</fieldset>
@@ -344,19 +344,19 @@ if ($GLOBALS['MVV_MODULTEIL']['SPRACHE']['default'] != $display_language) {
<label><?= _('Prüfungsvorleistung') ?>
<? if ($perm_d->haveFieldPerm('pruef_vorleistung', MvvPerm::PERM_WRITE)) : ?>
<textarea cols="60" rows="5" name="pruef_vorleistung" id="pruef_vorleistung"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->pruef_vorleistung) ?></textarea>
+ class="wysiwyg"><?= htmlReady($deskriptor->pruef_vorleistung) ?></textarea>
<? else : ?>
<textarea readonly cols="60" rows="5" name="pruef_vorleistung" id="pruef_vorleistung"
- class="ui-resizable"><?= htmlReady($deskriptor->pruef_vorleistung) ?></textarea>
+ ><?= htmlReady($deskriptor->pruef_vorleistung) ?></textarea>
<? endif; ?>
</label>
<label><?= _('Prüfungsleistung Modulteil') ?>
<? if ($perm_d->haveFieldPerm('pruef_leistung', MvvPerm::PERM_WRITE)) : ?>
<textarea cols="60" rows="5" name="pruef_leistung" id="pruef_leistung"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->pruef_leistung) ?></textarea>
+ class="wysiwyg"><?= htmlReady($deskriptor->pruef_leistung) ?></textarea>
<? else : ?>
<textarea readonly cols="60" rows="5" name="pruef_leistung" id="pruef_leistung"
- class="ui-resizable"><?= htmlReady($deskriptor->pruef_leistung) ?></textarea>
+ ><?= htmlReady($deskriptor->pruef_leistung) ?></textarea>
<? endif; ?>
</label>
<label><?= _('Anteil an Modulnote') ?>
@@ -418,11 +418,11 @@ if ($GLOBALS['MVV_MODULTEIL']['SPRACHE']['default'] != $display_language) {
<label><?= _('Kommentar') ?>
<? if ($perm_d->haveFieldPerm('kommentar_pflicht', MvvPerm::PERM_WRITE)) : ?>
<textarea cols="60" rows="5" name="kommentar_pflicht" id="kommentar_pflicht"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($deskriptor->kommentar_pflicht) ?>
+ class="wysiwyg"><?= htmlReady($deskriptor->kommentar_pflicht) ?>
</textarea>
<? else : ?>
<textarea readonly cols="60" rows="5" name="kommentar_pflicht" id="kommentar_pflicht"
- class="ui-resizable"><?= htmlReady($deskriptor->kommentar_pflicht) ?>
+ ><?= htmlReady($deskriptor->kommentar_pflicht) ?>
</textarea>
<? endif; ?>
</label>
diff --git a/app/views/news/_comments.php b/app/views/news/_comments.php
index a99238e..d09d109 100644
--- a/app/views/news/_comments.php
+++ b/app/views/news/_comments.php
@@ -18,7 +18,7 @@
<?= _('Kommentieren') ?>
</legend>
<label>
- <textarea class="add_toolbar wysiwyg" name="comment_content" rows="8"
+ <textarea class="wysiwyg" name="comment_content" rows="8"
cols="38" wrap="virtual"
placeholder="<?= _('Geben Sie hier Ihren Kommentar ein!') ?>"></textarea>
</label>
diff --git a/app/views/resources/admin/configuration.php b/app/views/resources/admin/configuration.php
index 5fb3e89..b30d3e8 100644
--- a/app/views/resources/admin/configuration.php
+++ b/app/views/resources/admin/configuration.php
@@ -122,7 +122,7 @@
</label>
<label>
<?= _('Zusatztext, der beim Seriendruck unter jedem Raumplan angezeigt werden soll') ?>
- <textarea class="add_toolbar wysiwyg" name="additional_text" cols="75" rows="4">
+ <textarea class="wysiwyg" name="additional_text" cols="75" rows="4">
<?= wysiwygReady($config->RESOURCES_ADDITIONAL_TEXT_ROOM_EXPORT) ?>
</textarea>
</label>
diff --git a/app/views/settings/categories.php b/app/views/settings/categories.php
index 12e9df5..640c811 100644
--- a/app/views/settings/categories.php
+++ b/app/views/settings/categories.php
@@ -55,7 +55,7 @@
<?= I18n::textarea("category-content-{$category->id}", $category->content, [
'aria-label' => _('Inhalt der Kategorie:'),
- 'class' => 'resizable add_toolbar wysiwyg size-l',
+ 'class' => 'resizable wysiwyg size-l',
'id' => "content{$index}",
]) ?>
</label>
diff --git a/app/views/settings/details.php b/app/views/settings/details.php
index a319af7..8315de9 100644
--- a/app/views/settings/details.php
+++ b/app/views/settings/details.php
@@ -48,22 +48,22 @@
</label>
<label>
<?= _('Hobbys') ?>
- <?= I18N::textarea('hobby', $user->hobby, ['class' => 'add_toolbar wysiwyg'] + (!$controller->shallChange('user_info.hobby') ? ['disabled' => true] : [])) ?>
+ <?= I18N::textarea('hobby', $user->hobby, ['class' => 'wysiwyg'] + (!$controller->shallChange('user_info.hobby') ? ['disabled' => true] : [])) ?>
</label>
<a name="lebenslauf"></a>
<label>
<?= _('Lebenslauf') ?>
- <?= I18N::textarea('lebenslauf', $user->lebenslauf, ['class' => 'add_toolbar wysiwyg'] + (!$controller->shallChange('user_info.lebenslauf') ? ['disabled' => true] : [])) ?>
+ <?= I18N::textarea('lebenslauf', $user->lebenslauf, ['class' => 'wysiwyg'] + (!$controller->shallChange('user_info.lebenslauf') ? ['disabled' => true] : [])) ?>
</label>
<? if ($is_dozent): ?>
<a name="schwerpunkte"></a>
<label>
<?= _('Schwerpunkte') ?>
- <?= I18N::textarea('schwerp', $user->schwerp, ['class' => 'add_toolbar wysiwyg'] + (!$controller->shallChange('user_info.schwerp') ? ['disabled' => true] : [])) ?>
+ <?= I18N::textarea('schwerp', $user->schwerp, ['class' => 'wysiwyg'] + (!$controller->shallChange('user_info.schwerp') ? ['disabled' => true] : [])) ?>
<a name="publikationen"></a>
<label>
<?= _('Publikationen') ?>
- <?= I18N::textarea('publi', $user->publi, ['class' => 'add_toolbar wysiwyg'] + (!$controller->shallChange('user_info.publi') ? ['disabled' => true] : [])) ?>
+ <?= I18N::textarea('publi', $user->publi, ['class' => 'wysiwyg'] + (!$controller->shallChange('user_info.publi') ? ['disabled' => true] : [])) ?>
</label>
<? endif; ?>
<? if (Config::get()->OERCAMPUS_ENABLED) : ?>
diff --git a/app/views/settings/general.php b/app/views/settings/general.php
index 27cf5c9..db1d01d 100644
--- a/app/views/settings/general.php
+++ b/app/views/settings/general.php
@@ -107,17 +107,6 @@ $start_pages = [
</label>
</fieldset>
-<? if (Config::get()->WYSIWYG): ?>
- <fieldset>
- <legend><?= _('WYSIWYG-Editor') ?></legend>
-
- <label>
- <input type="checkbox" name="wysiwyg_enabled" value="1"
- <? if (!$config->WYSIWYG_DISABLED) echo 'checked'; ?>>
- <?= _('WYSIWYG-Editor aktivieren') ?>
- </fieldset>
-<? endif; ?>
-
<? if ($show_room_management_autor_config) : ?>
<fieldset>
<legend><?= _('Raumverwaltung') ?></legend>
diff --git a/app/views/shared/form_dokumente.php b/app/views/shared/form_dokumente.php
index 35275cd..1f3db9e 100644
--- a/app/views/shared/form_dokumente.php
+++ b/app/views/shared/form_dokumente.php
@@ -66,7 +66,7 @@
<?= MvvI18N::textarea(
'beschreibung',
$dokument->kommentar,
- ['class' => 'add_toolbar ui-resizable wysiwyg']
+ ['class' => 'wysiwyg']
) ?>
</label>
<?= _('Die Änderungen werden erst gespeichert, wenn das Hauptformular gespeichert wurde!') ?>
diff --git a/app/views/siteinfo/edit.php b/app/views/siteinfo/edit.php
index 00d4d6e..c4a6c5d 100644
--- a/app/views/siteinfo/edit.php
+++ b/app/views/siteinfo/edit.php
@@ -44,7 +44,7 @@ use Studip\Button, Studip\LinkButton;
<label>
<?= _('Seiteninhalt')?>
- <textarea style="height: 15em;" name="content" id="content" class="add_toolbar size-l wysiwyg"><?= wysiwygReady($content) ?></textarea>
+ <textarea style="height: 15em;" name="content" id="content" class="size-l wysiwyg"><?= wysiwygReady($content) ?></textarea>
</label>
<input type="hidden" name="detail_id" value="<?= $currentdetail?>">
diff --git a/app/views/studiengaenge/studiengaenge/studiengang.php b/app/views/studiengaenge/studiengaenge/studiengang.php
index 6a2f05a..091f108 100644
--- a/app/views/studiengaenge/studiengaenge/studiengang.php
+++ b/app/views/studiengaenge/studiengaenge/studiengang.php
@@ -206,10 +206,10 @@ use Studip\Button, Studip\LinkButton;
<label for="kommentar_status" style="vertical-align: top;"><?= _('Kommentar Bearbeitungsstatus') ?>
<? if ($perm->haveFieldPerm('kommentar_status', MvvPerm::PERM_WRITE)): ?>
<textarea cols="60" rows="5" name="kommentar_status" id="kommentar_status"
- class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($studiengang->kommentar_status) ?></textarea>
+ class="wysiwyg"><?= htmlReady($studiengang->kommentar_status) ?></textarea>
<? else: ?>
<textarea readonly cols="60" rows="5" name="kommentar_status" id="kommentar_status"
- class="ui-resizable"><?= htmlReady($studiengang->kommentar_status) ?></textarea>
+ ><?= htmlReady($studiengang->kommentar_status) ?></textarea>
<? endif ?>
</label>
@@ -323,7 +323,7 @@ use Studip\Button, Studip\LinkButton;
</legend>
<label>
<?= _('Beschreibung') ?>
- <?= MvvI18N::textarea('beschreibung', $studiengang->beschreibung, ['class' => 'add_toolbar ui-resizable wysiwyg'])->checkPermission($studiengang) ?>
+ <?= MvvI18N::textarea('beschreibung', $studiengang->beschreibung, ['class' => 'wysiwyg'])->checkPermission($studiengang) ?>
</label>
<? foreach ($datafields as $df) : ?>
<? if (mb_strpos($df->model->object_class, 'info') !== false) : ?>
@@ -336,7 +336,7 @@ use Studip\Button, Studip\LinkButton;
<? endif ?>
<? endforeach ?>
<label><?= _('Schlagwörter') ?>
- <textarea <?= $perm->disable('schlagworte') ?> cols="60" rows="5" name="schlagworte" id="schlagworte" class="ui-resizable"><?= htmlReady($studiengang->schlagworte) ?></textarea>
+ <textarea <?= $perm->disable('schlagworte') ?> cols="60" rows="5" name="schlagworte" id="schlagworte"><?= htmlReady($studiengang->schlagworte) ?></textarea>
<div><?= _('Hier können zusätzlich Schlagwörter angegeben werden, die in der Suche berücksichtigt werden.') ?></div>
</label>
</fieldset>
diff --git a/app/views/studiengaenge/versionen/abschnitt.php b/app/views/studiengaenge/versionen/abschnitt.php
index 41132f6..e379e35 100644
--- a/app/views/studiengaenge/versionen/abschnitt.php
+++ b/app/views/studiengaenge/versionen/abschnitt.php
@@ -18,7 +18,7 @@ $perm = MvvPerm::get($abschnitt)
</label>
<label>
<?= _('Kommentar') ?>
- <?= MvvI18N::textarea('kommentar', $abschnitt->kommentar, ['class' => 'add_toolbar resizable ui-resizable'])->checkPermission($abschnitt) ?>
+ <?= MvvI18N::textarea('kommentar', $abschnitt->kommentar, ['class' => 'resizable'])->checkPermission($abschnitt) ?>
<label><?= _('Kreditpunkte') ?>
<input <?= $perm->disable('kp') ?>
type="text" name="kp" id="kp"
diff --git a/app/views/studiengaenge/versionen/version.php b/app/views/studiengaenge/versionen/version.php
index dcd8608..34f87eb 100644
--- a/app/views/studiengaenge/versionen/version.php
+++ b/app/views/studiengaenge/versionen/version.php
@@ -102,7 +102,7 @@ $perm = MvvPerm::get($version)
<legend>
<?= _('Beschreibung') ?>
</legend>
- <?= MvvI18N::textarea('beschreibung', $version->beschreibung, ['class' => 'add_toolbar ui-resizable wysiwyg', 'id' => 'beschreibung'])->checkPermission($version) ?>
+ <?= MvvI18N::textarea('beschreibung', $version->beschreibung, ['class' => 'wysiwyg', 'id' => 'beschreibung'])->checkPermission($version) ?>
</fieldset>
<fieldset class="collapsable collapsed">
@@ -133,9 +133,9 @@ $perm = MvvPerm::get($version)
<? endforeach; ?>
<label for="kommentar_status" style="vertical-align: top;"><?= _('Kommentar:') ?></label>
<? if($perm->haveFieldPerm('kommentar_status', MvvPerm::PERM_WRITE)) : ?>
- <textarea cols="60" rows="5" name="kommentar_status" id="kommentar_status" class="add_toolbar ui-resizable wysiwyg"><?= htmlReady($version->kommentar_status) ?></textarea>
+ <textarea cols="60" rows="5" name="kommentar_status" id="kommentar_status" class="wysiwyg"><?= htmlReady($version->kommentar_status) ?></textarea>
<? else : ?>
- <textarea disabled cols="60" rows="5" name="kommentar_status" id="kommentar_status" class="ui-resizable"><?= htmlReady($version->kommentar_status) ?></textarea>
+ <textarea disabled cols="60" rows="5" name="kommentar_status" id="kommentar_status"><?= htmlReady($version->kommentar_status) ?></textarea>
<? endif; ?>
</fieldset>
diff --git a/db/migrations/5.5.5_drop_wysiwyg_config.php b/db/migrations/5.5.5_drop_wysiwyg_config.php
new file mode 100644
index 0000000..ae86e59
--- /dev/null
+++ b/db/migrations/5.5.5_drop_wysiwyg_config.php
@@ -0,0 +1,39 @@
+<?php
+
+class DropWysiwygConfig extends Migration
+{
+ public function description()
+ {
+ return 'Drop config option for disabling the ckeditor';
+ }
+
+ public function up()
+ {
+ $settings = [
+ 'WYSIWYG',
+ 'WYSIWYG_DISABLED'
+ ];
+
+ $query = 'DELETE `config`, `config_values`
+ FROM `config` LEFT JOIN `config_values` USING (`field`)
+ WHERE `field` IN (?)';
+ DBManager::get()->execute($query, [$settings]);
+ }
+
+ public function down()
+ {
+ $query = 'INSERT INTO `config` (`field`, `value`, `type`, `range`, `section`, `mkdate`, `chdate`, `description`)
+ VALUES (:name, :value, :type, :range, :section, UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), :description)';
+ $statement = DBManager::get()->prepare($query);
+ $statement->execute([
+ ':name' => 'WYSIWYG',
+ ':description' => 'Aktiviert den WYSIWYG Editor im JavaScript.',
+ ':section' => 'global',
+ ':range' => 'global',
+ ':type' => 'boolean',
+ ':value' => '1'
+ ]);
+
+ // WYSIWYG_DISABLED did not exist as a setting in the DB
+ }
+}
diff --git a/lib/classes/Markup.class.php b/lib/classes/Markup.class.php
index 77628ad..a56d15a 100644
--- a/lib/classes/Markup.class.php
+++ b/lib/classes/Markup.class.php
@@ -53,12 +53,13 @@ class Markup
/**
* Return `true` if the WYSIWYG editor is enabled for this user.
+ * @deprecated since Stud.IP 5.5
*
- * @return boolean `true` if the editor is enabled.
+ * @return boolean always returns `true`.
*/
public static function editorEnabled()
{
- return \Config::get()->WYSIWYG && !$GLOBALS['user']->cfg->WYSIWYG_DISABLED;
+ return true;
}
/**
diff --git a/lib/classes/PageLayout.php b/lib/classes/PageLayout.php
index 3921ef0..fca69b5 100644
--- a/lib/classes/PageLayout.php
+++ b/lib/classes/PageLayout.php
@@ -131,12 +131,9 @@ class PageLayout
self::addStylesheet('studip-base.css?v=' . $v, ['media' => 'screen']);
self::addScript('studip-base.js?v=' . $v);
+ self::addScript('studip-wysiwyg.js?v=' . $v);
self::addStylesheet('print.css?v=' . $v, ['media' => 'print']);
-
- if (Config::get()->WYSIWYG) {
- self::addScript('studip-wysiwyg.js?v=' . $v);
- }
}
/**
diff --git a/lib/evaluation/classes/EvaluationTreeEditView.class.php b/lib/evaluation/classes/EvaluationTreeEditView.class.php
index c5b8867..3bfe92a 100644
--- a/lib/evaluation/classes/EvaluationTreeEditView.class.php
+++ b/lib/evaluation/classes/EvaluationTreeEditView.class.php
@@ -2304,7 +2304,7 @@ class EvaluationTreeEditView
$label->addContent($text_label);
$label->addHTMLContent($this->createImage(EVAL_PIC_HELP, $text_info));
- $textarea = "<br><textarea class=\"add_toolbar wysiwyg\" name=\"text\" rows=\"4\" "
+ $textarea = "<br><textarea class=\"wysiwyg\" name=\"text\" rows=\"4\" "
. "style=\"vertical-align:top; width: 100%;\">";
$textarea .= ($text)
? $text
diff --git a/lib/include/html_head.inc.php b/lib/include/html_head.inc.php
index 7e7bdea..9189031 100644
--- a/lib/include/html_head.inc.php
+++ b/lib/include/html_head.inc.php
@@ -50,15 +50,12 @@ $lang_attr = str_replace('_', '-', $_SESSION['_language']);
is_object($GLOBALS['perm']) &&
$GLOBALS['perm']->have_perm('autor') &&
PersonalNotifications::isActivated()) ?>,
- wysiwyg_enabled: <?= json_encode((bool) Config::get()->WYSIWYG) ?>
+ wysiwyg_enabled: true,
+ editor_enabled: true
}
</script>
<?= PageLayout::getHeadElements() ?>
-
- <script>
- window.STUDIP.editor_enabled = <?= json_encode((bool) Studip\Markup::editorEnabled()) ?>;
- </script>
</head>
<body id="<?= PageLayout::getBodyElementId() ?>">
diff --git a/lib/visual.inc.php b/lib/visual.inc.php
index 80133fd..a002054 100644
--- a/lib/visual.inc.php
+++ b/lib/visual.inc.php
@@ -59,9 +59,6 @@ function jsReady ($what, $target = 'script-single') {
/**
* Quote a piece of text, optionally include the author's name.
*
- * Applies Stud.IP-Markup if WYSIWYG/HTML is disabled and HTML
- * if it is enabled.
- *
* @param string $text Text that is to be quoted.
* @param string $author Name of the text's author (optional).
*
@@ -78,28 +75,14 @@ function quotes_encode($text, $author = '')
// - studipQuotePlugin > insertStudipQuote
// public/assets/javascripts/ckeditor/plugins/studip-quote/plugin.js
- if (Markup::editorEnabled()) {
- // quote with HTML markup
- $text = Markup::markupToHtml($text);
-
- if ($author) {
- $title = sprintf(_('%s hat geschrieben:'), htmlReady($author));
- $text = '<div class="author">' . $title . '</div>' . $text;
- }
- $text = sprintf('<blockquote>%s</blockquote><p>&nbsp;</p>', $text);
- return Markup::markAsHtml($text);
- }
-
- if (Markup::isHtml($text)) {
- // remove HTML before quoting
- $text = Markup::removeHtml($text);
- }
+ $text = Markup::markupToHtml($text);
- // quote with Stud.IP markup
if ($author) {
- return "[quote=" . $author . "]\n" . $text . "\n[/quote]\n";
+ $title = sprintf(_('%s hat geschrieben:'), htmlReady($author));
+ $text = '<div class="author">' . $title . '</div>' . $text;
}
- return "[quote]\n" . $text . "\n[/quote]\n";
+ $text = sprintf('<blockquote>%s</blockquote><p>&nbsp;</p>', $text);
+ return Markup::markAsHtml($text);
}
/**
diff --git a/resources/assets/javascripts/bootstrap/application.js b/resources/assets/javascripts/bootstrap/application.js
index c6ffe35..1629b9b 100644
--- a/resources/assets/javascripts/bootstrap/application.js
+++ b/resources/assets/javascripts/bootstrap/application.js
@@ -97,8 +97,6 @@ STUDIP.domReady(function () {
});
STUDIP.ready((event) => {
- jQuery('.add_toolbar', event.target).addToolbar();
-
STUDIP.Forms.initialize(event.target);
STUDIP.Markup.element(event.target);
});
diff --git a/resources/assets/javascripts/bootstrap/wiki.js b/resources/assets/javascripts/bootstrap/wiki.js
index 24f3119..25a277b 100644
--- a/resources/assets/javascripts/bootstrap/wiki.js
+++ b/resources/assets/javascripts/bootstrap/wiki.js
@@ -16,12 +16,10 @@ $(document).on('click', '#wiki button[name="submit-and-edit"]', function(event)
i,
wysiwyg_editor = false;
- if (STUDIP.editor_enabled) {
- const textarea = $('textarea[name="body"]', form).get(0);
- if (textarea) {
- wysiwyg_editor = STUDIP.wysiwyg.getEditor(textarea);
- wysiwyg_editor.sourceElement.value = STUDIP.wysiwyg.markAsHtml(wysiwyg_editor.getData());
- }
+ const textarea = $('textarea[name="body"]', form).get(0);
+ if (textarea) {
+ wysiwyg_editor = STUDIP.wysiwyg.getEditor(textarea);
+ wysiwyg_editor.sourceElement.value = STUDIP.wysiwyg.markAsHtml(wysiwyg_editor.getData());
}
form_data = form.serializeArray();
@@ -115,20 +113,6 @@ $(document).on('click', '#wiki button[name="submit-and-edit"]', function(event)
event.preventDefault();
});
-$(document).on('keyup change', '#wiki textarea[name=body]', function() {
- // Disable "save and edit" button if text was not changed
- $('#wiki button[name="submit-and-edit"]').prop('disabled', this.value === this.defaultValue);
-});
-
-STUDIP.domReady(() => {
- if (!STUDIP.editor_enabled) {
- // Trigger above disable mechanism only when not using wysiwyg
- $('#wiki textarea[name=body]').change();
- } else {
- $(document).off('keyup change', '#wiki textarea[name=body]');
- }
-});
-
$(document).on('change', '#wiki-config .global-permissions :checkbox', function () {
if ($(this).is(':checked')) {
return;
diff --git a/resources/assets/javascripts/bootstrap/wysiwyg.js b/resources/assets/javascripts/bootstrap/wysiwyg.js
index 39eaa71..92479d2 100644
--- a/resources/assets/javascripts/bootstrap/wysiwyg.js
+++ b/resources/assets/javascripts/bootstrap/wysiwyg.js
@@ -1,22 +1,20 @@
STUDIP.domReady(() => {
- if (STUDIP.editor_enabled) {
- // replace areas visible on page load
- replaceVisibleTextareas();
+ // replace areas visible on page load
+ replaceVisibleTextareas();
- // update the height of the editor view on focus changes in dialogs
- $(document).on('focus blur', '.studip-dialog .ck-editor__editable_inline', function(event) {
- let height = this.clientHeight;
- let editor = this.ckeditorInstance;
- editor.editing.view.change(writer => {
- writer.setStyle('height', height + 'px', editor.editing.view.document.getRoot());
- });
+ // update the height of the editor view on focus changes in dialogs
+ $(document).on('focus blur', '.studip-dialog .ck-editor__editable_inline', function(event) {
+ let height = this.clientHeight;
+ let editor = this.ckeditorInstance;
+ editor.editing.view.change(writer => {
+ writer.setStyle('height', height + 'px', editor.editing.view.document.getRoot());
});
+ });
- // replace areas that are created or shown after page load
- // remove editors that become hidden after page load
- // show, hide and create do not raise an event, use interval timer
- setInterval(replaceVisibleTextareas, 300);
- }
+ // replace areas that are created or shown after page load
+ // remove editors that become hidden after page load
+ // show, hide and create do not raise an event, use interval timer
+ setInterval(replaceVisibleTextareas, 300);
// when attaching to hidden textareas, or textareas who's parents are
// hidden, the editor does not function properly; therefore attach to
diff --git a/resources/assets/javascripts/init.js b/resources/assets/javascripts/init.js
index 27039d6..3ec1960 100644
--- a/resources/assets/javascripts/init.js
+++ b/resources/assets/javascripts/init.js
@@ -75,7 +75,6 @@ import Statusgroups from './lib/statusgroups.js';
import study_area_selection from './lib/study_area_selection.js';
import Table from './lib/table.js';
import TableOfContents from './lib/table-of-contents.js';
-import Toolbar from './lib/toolbar.js';
import Tooltip from './lib/tooltip.js';
import Tour from './lib/tour.js';
import * as Gettext from './lib/gettext.js';
@@ -162,7 +161,6 @@ window.STUDIP = _.assign(window.STUDIP || {}, {
study_area_selection,
Table,
TableOfContents,
- Toolbar,
Tooltip,
Tour,
URLHelper,
diff --git a/resources/assets/javascripts/jquery-bundle.js b/resources/assets/javascripts/jquery-bundle.js
index 82053f6..bdee32d 100644
--- a/resources/assets/javascripts/jquery-bundle.js
+++ b/resources/assets/javascripts/jquery-bundle.js
@@ -77,16 +77,6 @@ import 'blueimp-file-upload/js/jquery.iframe-transport.js';
import './jquery/autoresize.jquery.min.js';
import { $gettext } from './lib/gettext.js';
-import Toolbar from './lib/toolbar.js';
-
-$.fn.extend({
- // Adds the toolbar to an element
- addToolbar: function(button_set) {
- return this.each(function() {
- Toolbar.initialize(this, button_set);
- });
- }
-});
// Create jQuery "plugin" that just reverses the elements' order. This is
// neccessary since the navigation is built and afterwards, we need to
diff --git a/resources/assets/javascripts/lib/forum.js b/resources/assets/javascripts/lib/forum.js
index fb2e4c7..c2f0d7c 100644
--- a/resources/assets/javascripts/lib/forum.js
+++ b/resources/assets/javascripts/lib/forum.js
@@ -308,10 +308,7 @@ const Forum = {
// usually the wysiwyg editor does this automatically,
// but since there is no submit event the editor does not
// get notified
- if (STUDIP.editor_enabled) {
- // wysiwyg is active, ensure HTML markers are set
- textarea.val(STUDIP.wysiwyg.markAsHtml(textarea.val()));
- }
+ textarea.val(STUDIP.wysiwyg.markAsHtml(textarea.val()));
// remember current textarea value
textarea.data('reset', textarea.val());
@@ -332,7 +329,6 @@ const Forum = {
STUDIP.Markup.element('span[data-topic-content=' + topic_id +']');
// hide the other stuff
- jQuery('div[id*=preview]').parent().hide();
jQuery('span[data-edit-topic=' + topic_id +']').hide();
jQuery('span[data-show-topic=' + topic_id +']').show();
@@ -349,8 +345,6 @@ const Forum = {
},
cancelEditEntry: function (topic_id) {
- jQuery('div[id*=preview]').parent().hide();
-
jQuery('span[data-edit-topic=' + topic_id +'] input[name=name]').val(
jQuery('span[data-edit-topic=' + topic_id +'] input[name=name]').data('reset')
);
@@ -457,28 +451,14 @@ const Forum = {
// - studipQuotePlugin > insertStudipQuote
// public/assets/javascripts/ckeditor/plugins/studip-quote/plugin.js
- if (STUDIP.editor_enabled) {
- // quote with HTML markup
- var author = '';
- if (name) {
- var writtenBy = $gettext('%s hat geschrieben:');
- author = '<div class="author">'
- + writtenBy.replace('%s', name)
- + '</div>';
- }
- return '<blockquote>' + author + text + '</blockquote><p>&nbsp;</p>';
- }
-
- if (STUDIP.wysiwyg.isHtml(text)) {
- // remove HTML before quoting
- text = jQuery(text).text();
- }
-
- // quote with Stud.IP markup
+ var author = '';
if (name) {
- return '[quote=' + name + ']\n' + text + '\n[/quote]\n';
+ var writtenBy = $gettext('%s hat geschrieben:');
+ author = '<div class="author">'
+ + writtenBy.replace('%s', name)
+ + '</div>';
}
- return '[quote]\n' + text + '\n[/quote]\n';
+ return '<blockquote>' + author + text + '</blockquote><p>&nbsp;</p>';
},
forwardEntry: function(topic_id) {
@@ -537,25 +517,6 @@ const Forum = {
});
},
- preview: function (text_element_id, preview_id) {
- var posting = {};
- posting.posting = jQuery('textarea[data-textarea=' + text_element_id + ']').val();
- if (STUDIP.editor_enabled) {
- posting.posting = STUDIP.wysiwyg.markAsHtml(posting.posting);
- }
-
- jQuery.ajax(STUDIP.URLHelper.getURL('dispatch.php/course/forum/index/preview?cid=' + STUDIP.Forum.seminar_id), {
- type: 'POST',
- data: posting,
- success: function (html) {
- jQuery('div[id*=preview]').parent().hide();
- jQuery('#' + preview_id).html(html);
- STUDIP.Markup.element('#' + preview_id);
- jQuery('#' + preview_id).parent().show();
- }
- });
- },
-
loadAction: function(element, action) {
jQuery(element).load(STUDIP.URLHelper.getURL('dispatch.php/course/forum/index/'
+ action + '?cid=' + STUDIP.Forum.seminar_id))
diff --git a/resources/assets/javascripts/lib/messages.js b/resources/assets/javascripts/lib/messages.js
index 886d527..dbb2793 100644
--- a/resources/assets/javascripts/lib/messages.js
+++ b/resources/assets/javascripts/lib/messages.js
@@ -252,31 +252,6 @@ const Messages = {
if (jQuery('#' + name).is(':visible')) {
jQuery('#' + name)[0].scrollIntoView(false);
}
- },
- previewComposedMessage: function() {
- var old_written_text = '',
- written_text = jQuery('textarea[name=message_body]').val();
- var updatePreview = function() {
- written_text = jQuery('textarea[name=message_body]').val();
- if (old_written_text !== written_text) {
- jQuery.ajax({
- url: STUDIP.ABSOLUTE_URI_STUDIP + 'dispatch.php/messages/preview',
- data: {
- text: STUDIP.editor_enabled ? STUDIP.wysiwyg.markAsHtml(written_text) : written_text
- },
- type: 'POST',
- success: function(html) {
- jQuery('#preview .message_body').html(html);
- Markup.element('#preview .message_body');
- }
- });
- old_written_text = written_text;
- }
- if (jQuery('#preview .message_body').is(':visible')) {
- window.setTimeout(updatePreview, 1000);
- }
- };
- updatePreview();
}
};
diff --git a/resources/assets/javascripts/lib/toolbar.js b/resources/assets/javascripts/lib/toolbar.js
deleted file mode 100644
index c707b49..0000000
--- a/resources/assets/javascripts/lib/toolbar.js
+++ /dev/null
@@ -1,100 +0,0 @@
-import { $gettext } from './gettext.js';
-import ToolbarButtonset from './toolbar_buttonset.js';
-import Dialog from './dialog.js';
-
-function getElementWidth(element) {
- var proxy = null;
-
- // Special case: Handle i18n hidden textareas
- // - Hidden textareas have no dimensions thus we need to proxy the
- // width from the first visible element in the i18n group
- if ($(element).is(':hidden') && $(element).closest('.i18n_group').length > 0) {
- proxy = $(element)
- .closest('.i18n_group')
- .find('div.i18n:visible')
- .children()
- .first();
- if (proxy.length > 0) {
- element = proxy;
- }
- }
-
- return $(element).css('width') || $(element).outerWidth(true);
-}
-
-const Toolbar = {
- buttonSet: ToolbarButtonset,
-
- // Initializes (adds) a toolbar the passed textarea element
- initialize: function(element, button_set) {
- var $element = $(element),
- wrap,
- toolbar;
-
- // don't initialize toolbar for wysiwyg textareas
- if (STUDIP.editor_enabled && $element.hasClass('wysiwyg')) {
- return;
- }
-
- // Bail out if the element is not a tetarea or a toolbar has already
- // been applied
- if (!$element.is('textarea') || $element.data('toolbar-added')) {
- return;
- }
-
- button_set = button_set || Toolbar.buttonSet;
-
- // Add flag so one element will never have more than one toolbar
- $element.data('toolbar-added', true);
-
- // Create toolbar element
- toolbar = $('<div class="buttons">');
-
- // Assemble toolbar
- ['left', 'right'].forEach(function(position) {
- var buttons = $('<span>').addClass(position);
- $.each(button_set[position], function(name, format) {
- var button = $('<span>').addClass(name),
- label = format.label || name;
-
- if (format.icon) {
- label = $('<img>', {
- alt: format.label || name,
- src: STUDIP.ASSETS_URL + 'images/icons/blue/' + format.icon + '.svg'
- });
- }
-
- button
- .html(label)
- .button()
- .click(function() {
- var selection = $element.getSelection(),
- result = format.evaluate(selection, $element, this) || selection,
- replacement = $.isPlainObject(result)
- ? result.replacement
- : result === undefined
- ? selection
- : result,
- offset = $.isPlainObject(result) ? result.offset : (result || '').length;
- $element.replaceSelection(replacement, offset).change();
- return false;
- });
-
- buttons.append(button);
- });
- toolbar.append(buttons);
- });
-
- // Attach toolbar to the specified element
- wrap = $('<div class="editor_toolbar">').css({
- width: getElementWidth($element),
- display: $element.css('display')
- });
- $element
- .css('width', '100%')
- .wrap(wrap)
- .before(toolbar);
- }
-};
-
-export default Toolbar;
diff --git a/resources/assets/javascripts/lib/toolbar_buttonset.js b/resources/assets/javascripts/lib/toolbar_buttonset.js
deleted file mode 100644
index cd92f54..0000000
--- a/resources/assets/javascripts/lib/toolbar_buttonset.js
+++ /dev/null
@@ -1,67 +0,0 @@
-// Creates a wrapper function that wraps the passed string using the
-// passed prefix and suffix. If the suffix is omitted, it will be replaced
-// by the prefix.
-// Be aware that the wrap function will not wrap a string twice.
-function createWrap(prefix, suffix) {
- if (suffix === undefined) {
- suffix = prefix;
- }
- return function(string) {
- if (string.substr(0, prefix.length) === prefix && string.substr(-suffix.length) === suffix) {
- return string;
- }
- if (string) {
- return prefix + string + suffix;
- }
- return {
- replacement: prefix + suffix,
- offset: prefix.length
- };
- };
-}
-
-// Define default stud.ip button set
-const buttonSet = {
- left: {
- bold: { label: '<strong>B</strong>', evaluate: createWrap('**') },
- italic: { label: '<em>i</em>', evaluate: createWrap('%%') },
- underline: { label: '<u>u</u>', evaluate: createWrap('__') },
- strikethrough: { label: '<del>u</del>', evaluate: createWrap('{-', '-}') },
- code: { label: '<code>code</code>', evaluate: createWrap('[code]', '[/code]') },
- larger: { label: 'A+', evaluate: createWrap('++') },
- smaller: { label: 'A-', evaluate: createWrap('--') },
- signature: { label: 'signature', evaluate: createWrap('', '\u2013~~~') },
- link: {
- label: 'link',
- evaluate: function(string) {
- string = string || window.prompt('Text:') || '';
- if (string.length === 0) {
- return string;
- }
-
- var url = window.prompt('URL:') || '';
- return url.length === 0 ? string : '[' + string + ']' + url;
- }
- },
- image: {
- label: 'img',
- evaluate: function(string) {
- var url = window.prompt('URL:') || '';
- return url.length === 0 ? string : '[img]' + url;
- }
- }
- },
- right: {
- help: {
- label: '?',
- evaluate: function() {
- var url = $('link[rel=help].text-format').attr('href'),
- win;
- win = window.open(url, '_blank');
- win.opener = null;
- }
- }
- }
-};
-
-export default buttonSet;
diff --git a/resources/vue/components/I18nTextarea.vue b/resources/vue/components/I18nTextarea.vue
index 6d31d7b..1b103b4 100644
--- a/resources/vue/components/I18nTextarea.vue
+++ b/resources/vue/components/I18nTextarea.vue
@@ -25,14 +25,7 @@
v-bind="$attrs"
v-on="$listeners"
:required="required && defaultLanguage === selectedLanguage.id"
- v-else-if="type === 'wysiwyg' && !wysiwyg_disabled"></studip-wysiwyg>
- <textarea-with-toolbar :name="nameOfInput(selectedLanguage.id)"
- ref="inputfield"
- v-else
- v-model="values[selectedLanguage.id]"
- v-bind="$attrs"
- :required="required && defaultLanguage === selectedLanguage.id"
- v-on="$listeners"></textarea-with-toolbar>
+ v-else></studip-wysiwyg>
</div>
<input type="hidden"
v-for="language in otherLanguages"
@@ -72,14 +65,7 @@
v-bind="$attrs"
v-on="$listeners"
:required="required"
- v-else-if="type === 'wysiwyg' && !wysiwyg_disabled"></studip-wysiwyg>
- <textarea-with-toolbar :name="name"
- ref="inputfield"
- v-else
- v-model="values[selectedLanguage.id]"
- v-bind="$attrs"
- :required="required"
- v-on="$listeners"></textarea-with-toolbar>
+ v-else></studip-wysiwyg>
</div>
</template>
@@ -109,11 +95,6 @@ export default {
required: false,
default: ""
},
- wysiwyg_disabled: {
- type: Boolean,
- required: false,
- default: false
- },
required: {
type: Boolean,
required: false,
@@ -200,7 +181,7 @@ export default {
let name = this.nameOfInput(this.languages[i].id);
let value = newValue[this.languages[i].id];
- if (this.type === 'wysiwyg' && STUDIP.editor_enabled && value !== null) {
+ if (this.type === 'wysiwyg' && value !== null) {
value = STUDIP.wysiwyg.markAsHtml(value);
}
diff --git a/resources/vue/components/StudipWysiwyg.vue b/resources/vue/components/StudipWysiwyg.vue
index df58bc2..e343e80 100644
--- a/resources/vue/components/StudipWysiwyg.vue
+++ b/resources/vue/components/StudipWysiwyg.vue
@@ -1,24 +1,15 @@
<template>
<ckeditor
- v-if="enabled"
:editor="editor"
:config="editorConfig"
@ready="prefill"
v-model="currentText"
@input="onInput"
/>
- <textarea
- v-else
- :value="text"
- @input="$emit('input', $event.target.value)"
- ref="textarea"
- class="studip-wysiwyg wysiwyg"
- ></textarea>
</template>
<script>
import { ClassicEditor, BalloonEditor } from '../../assets/javascripts/chunks/wysiwyg.js';
-import Toolbar from '../../assets/javascripts/lib/toolbar.js';
export default {
name: 'studip-wysiwyg',
@@ -55,9 +46,6 @@ export default {
}
throw new Error('Unknown `editorType`');
},
- enabled() {
- return STUDIP.editor_enabled;
- },
},
methods: {
prefill(editor) {
@@ -71,10 +59,5 @@ export default {
created() {
STUDIP.loadChunk('mathjax');
},
- mounted() {
- if (!this.enabled) {
- Toolbar.initialize(this.$refs.textarea);
- }
- },
};
</script>
diff --git a/resources/vue/components/TextareaWithToolbar.vue b/resources/vue/components/TextareaWithToolbar.vue
index 498c5d1..7e35602 100644
--- a/resources/vue/components/TextareaWithToolbar.vue
+++ b/resources/vue/components/TextareaWithToolbar.vue
@@ -24,9 +24,6 @@ export default {
this.$emit('input', newContent);
}
}
- },
- mounted () {
- $(this.$refs.textarea).addToolbar();
}
}
</script>
diff --git a/templates/datafields/textmarkup.php b/templates/datafields/textmarkup.php
index e876d13..9db4afd 100644
--- a/templates/datafields/textmarkup.php
+++ b/templates/datafields/textmarkup.php
@@ -9,7 +9,7 @@
<textarea name="<?= $name ?>[<?= $model->id ?>]"
id="<?= $name ?>_<?= $model->id ?>"
- class="add_toolbar wysiwyg"
+ class="wysiwyg"
<?= !$entry->isEditable() ? "disabled" : "" ?>
<? if ($model->is_required) echo 'required'; ?>
><?= wysiwygReady($value) ?></textarea>
diff --git a/templates/datafields/textmarkupi18n.php b/templates/datafields/textmarkupi18n.php
index 3e7229a..11f765e 100644
--- a/templates/datafields/textmarkupi18n.php
+++ b/templates/datafields/textmarkupi18n.php
@@ -8,7 +8,7 @@
<? endif ?>
<? if ($entry->isEditable()) : ?>
- <?= I18N::textarea($name, $value, ['class' => 'add_toolbar wysiwyg', 'required' => (bool) $model->is_required, 'locale_names' => $locale_names]) ?>
+ <?= I18N::textarea($name, $value, ['class' => 'wysiwyg', 'required' => (bool) $model->is_required, 'locale_names' => $locale_names]) ?>
<? else : ?>
<textarea name="<?= $name ?>[<?= $model->id ?>]"
id="<?= $name ?>_<?= $model->id ?>"
diff --git a/templates/forms/i18n_formatted_input.php b/templates/forms/i18n_formatted_input.php
index 6466731..425b1ae 100644
--- a/templates/forms/i18n_formatted_input.php
+++ b/templates/forms/i18n_formatted_input.php
@@ -13,6 +13,6 @@
value="<?= htmlReady($value) ?>"
@allinputs="setInputs"
@selectlanguage="(language_id) => selectLanguage('<?= htmlReady($this->name) ?>', language_id)"
- :wysiwyg_disabled="<?= \Config::get()->WYSIWYG ? 'false' : 'true' ?>" <?= $required ? 'required' : '' ?>>
+ <?= $required ? 'required' : '' ?>>
</i18n-textarea>
</div>
diff --git a/templates/layouts/base.php b/templates/layouts/base.php
index 8dc2444..3378d88 100644
--- a/templates/layouts/base.php
+++ b/templates/layouts/base.php
@@ -46,7 +46,8 @@ $lang_attr = str_replace('_', '-', $_SESSION['_language']);
is_object($GLOBALS['perm']) &&
$GLOBALS['perm']->have_perm('autor') &&
PersonalNotifications::isActivated()) ?>,
- wysiwyg_enabled: <?= json_encode((bool) Config::get()->WYSIWYG) ?>,
+ wysiwyg_enabled: true,
+ editor_enabled: true,
server_timestamp: <?= time() ?>,
config: <?= json_encode([
'ACTIONMENU_THRESHOLD' => Config::get()->ACTION_MENU_THRESHOLD,
@@ -59,15 +60,13 @@ $lang_attr = str_replace('_', '-', $_SESSION['_language']);
<?= PageLayout::getHeadElements() ?>
<script>
- window.STUDIP.editor_enabled = <?= json_encode((bool) Studip\Markup::editorEnabled()) ?>;
-
- setTimeout(() => {
- // This needs to be put in a timeout since otherwise it will not match
- if (STUDIP.Responsive.isResponsive()) {
- document.querySelector('html').classList.add('responsive-display');
- }
- }, 0);
-</script>
+ setTimeout(() => {
+ // This needs to be put in a timeout since otherwise it will not match
+ if (STUDIP.Responsive.isResponsive()) {
+ document.querySelector('html').classList.add('responsive-display');
+ }
+ }, 0);
+ </script>
</head>
<body id="<?= PageLayout::getBodyElementId() ?>" <? if (!PageLayout::isSidebarEnabled()) echo 'class="no-sidebar"'; ?>>
diff --git a/templates/wiki/edit.php b/templates/wiki/edit.php
index 3e42108..fab85eb 100644
--- a/templates/wiki/edit.php
+++ b/templates/wiki/edit.php
@@ -12,7 +12,7 @@
<input type="hidden" name="cmd" value="show">
<br>
- <textarea name="body" class="wiki-editor add_toolbar wysiwyg size-l" data-editor="extraPlugins=WikiLink"
+ <textarea name="body" class="wiki-editor wysiwyg size-l" data-editor="extraPlugins=WikiLink"
><?= wysiwygReady($body) ?></textarea>
</fieldset>
diff --git a/tests/unit/lib/classes/MarkupClassTest.php b/tests/unit/lib/classes/MarkupClassTest.php
index 982d155..d1c35b1 100644
--- a/tests/unit/lib/classes/MarkupClassTest.php
+++ b/tests/unit/lib/classes/MarkupClassTest.php
@@ -55,8 +55,6 @@ class MarkupClassTest extends \Codeception\Test\Unit
*/
public function testRemoveHTML(string $input, string $expected): void
{
- Config::set(new Config(['WYSIWYG' => true]));
-
$this->assertEquals($expected, Studip\Markup::removeHtml(Studip\Markup::markAsHtml($input)));
}
@@ -165,7 +163,6 @@ class MarkupClassTest extends \Codeception\Test\Unit
# fake Stud.IP web server set-up
fakeServer($test['uri'], $test['domains']);
Config::get()->LOAD_EXTERNAL_MEDIA = $test['externalMedia'];
- //echoWebGlobals(); // call to help with debugging
# test getMediaUrl
try {