Files
awo-hamburg-intranet/module/knowledgecenter_update/Views/post_cardform_edit_aside.php
Moritz Weinmann 833c3718cf Add summary field to knowledgecenter posts
- ALTER TABLE knowledgecenter_post_versions ADD COLUMN summary TEXT NULL AFTER content
- Add summary textarea to post edit form (after Quill editor)
- Include summary in insert_post_version() and update_post_version()

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 11:59:31 +02:00

148 lines
8.1 KiB
PHP

<h2>
<?php
// echo "<pre>";
// var_dump($translations);
// echo "</pre>";
if (!$isNew) {
?>
<span id="cancelEditBtn" style="cursor:pointer;">←</span>
<?php
} else {
?>
<a href="javascript:history.back()">←</a>
<?php
}
?>
<span id="editAreaTitle"><?= $translation->get("edit_version") ?></span>
</h2>
<!-- Language Tabs -->
<div class="language-tabs tab-bar">
<?php foreach ($allLanguages as $lang): ?>
<div data-lang="<?= $lang['id'] ?>" class="<?= ($lang['id'] == $languageId) ? 'active' : '' ?>">
<?= htmlspecialchars(strtoupper($lang['code'])) ?>
</div>
<?php endforeach; ?>
</div>
<form id="editVersionForm">
<!-- Gemeinsame Hidden-Felder -->
<input type="hidden" name="post_id" value="<?= $postId; ?>">
<div class="edit-columns">
<!-- Left column: Main content editing -->
<div class="edit-main">
<?php foreach ($allLanguages as $lang):
$langId = $lang['id'];
$trans = isset($translations[$langId]) ? $translations[$langId] : ['title' => '', 'image' => '', 'teaser' => '', 'content' => '', 'summary' => ''];
?>
<div class="lang-form" id="lang_<?= $langId ?>" data-lang="<?= $langId ?>"
style="<?= ($langId == $languageId) ? '' : 'display: none;' ?>">
<input type="hidden" name="version_id[<?= $langId ?>]" value="<?= $trans['id'] ?>">
<label for="title_<?= $langId ?>">Titel (<?= htmlspecialchars($lang['code']) ?>):</label>
<input type="text" id="title_<?= $langId ?>" name="title[<?= $langId ?>]"
value="<?= htmlspecialchars($trans['title']) ?>">
<div class="single_image_group">
<?php
$imageIsValid = (!empty($trans['image']) && $trans['image'] !== 'null');
$imagePath = $imageIsValid ? '/userdata/' . htmlspecialchars($trans['image']) : '/userdata/knowledgecenter/platzhalter.jpg';
?>
<img class="preview" id="preview-<?= $lang['code'] ?>" src="<?= $imagePath ?>" alt="Bildvorschau"
style="max-width: 100px; min-height: 60px; border-radius: 5px; <?= $imageIsValid ? '' : 'background-color:#f3f3f3;'; ?>">
<input type="hidden" id="image_<?= $langId ?>" name="image[<?= $langId ?>]"
value="<?= htmlspecialchars($trans['image']) ?>">
<div class="post-action-btn grey openFileGallery" data-target="image_<?= $langId ?>">+</div>
<div class="post-action-btn grey clearImage" data-target="image_<?= $langId ?>">✕</div>
</div>
<label for="teaser_<?= $langId ?>"><?= $translation->get("Teaser") ?></label>
<textarea id="teaser_<?= $langId ?>"
name="teaser[<?= $langId ?>]"><?= htmlspecialchars($trans['teaser']) ?></textarea>
<hr>
<div id="editor_<?= $langId ?>" class="editor">
<?= $translations[$langId]['content'] ?>
</div>
<hr>
<label for="summary_<?= $langId ?>">Zusammenfassung (Summary)</label>
<textarea id="summary_<?= $langId ?>" name="summary[<?= $langId ?>]" rows="4"
placeholder="Kurze Zusammenfassung des Artikelinhalts..."><?= htmlspecialchars($trans['summary'] ?? '') ?></textarea>
</div>
<?php endforeach; ?>
</div>
<!-- Right column: Sidebar with save button and meta fields -->
<div class="edit-sidebar">
<?php if (get_permission_state('r-wiki', $GLOBALS['main_contact']['master_mandant_id'], $GLOBALS['main_contact']['id']) == 1 || get_permission_state('r-wiki', $GLOBALS['main_contact']['master_mandant_id'], $GLOBALS['main_contact']['id']) == 1) { ?>
<span title="<?= $translation->get("save") ?>" id="saveVersionBtn" class="post-action-btn-text green">
<?= $translation->get("save") ?>
</span>
<?php } ?>
<hr>
<?php foreach ($allLanguages as $lang):
$langId = $lang['id'];
$trans = isset($translations[$langId]) ? $translations[$langId] : ['title' => '', 'image' => '', 'teaser' => '', 'content' => '', 'summary' => ''];
?>
<div class="lang-form-meta" data-lang="<?= $langId ?>"
style="<?= ($langId == $languageId) ? '' : 'display: none;' ?>">
<div class="post-edit-meta">
<label for="link_<?= $langId ?>">Link
<input type="url" id="link_<?= $langId ?>" name="link[<?= $langId ?>]"
value="<?= htmlspecialchars($trans['link'] ?? '', ENT_QUOTES, 'UTF-8') ?>"
placeholder="https://...">
</label>
<label for="link_label_<?= $langId ?>">Link-Label
<input type="text" id="link_label_<?= $langId ?>" name="link_label[<?= $langId ?>]"
value="<?= htmlspecialchars($trans['link_label'] ?? '', ENT_QUOTES, 'UTF-8') ?>"
placeholder="z. B. Mehr erfahren">
</label>
<hr>
<?php
$fromVal = (
!empty($trans['valid_from'])
&& $trans['valid_from'] !== '0000-00-00 00:00:00'
)
? date('Y-m-d', strtotime($trans['valid_from']))
: '';
$untilVal = (
!empty($trans['valid_until'])
&& $trans['valid_until'] !== '0000-00-00 00:00:00'
)
? date('Y-m-d', strtotime($trans['valid_until']))
: '';
?>
<label for="valid_from_<?= $langId ?>">
Gültig ab:
<input type="date" id="valid_from_<?= $langId ?>" name="valid_from[<?= $langId ?>]"
value="<?= htmlspecialchars($fromVal) ?>">
</label>
<label for="valid_until_<?= $langId ?>">
Gültig bis:
<input type="date" id="valid_until_<?= $langId ?>" name="valid_until[<?= $langId ?>]"
value="<?= htmlspecialchars($untilVal) ?>">
</label>
<label for="state_<?= $langId ?>">Status:
<select id="state_<?= $langId ?>" name="state[<?= $langId ?>]">
<option value="1" <?= (isset($trans['state']) && $trans['state'] == 1) ? 'selected' : '' ?>>
Aktiv
</option>
<option value="0" <?= (isset($trans['state']) && $trans['state'] == 0) ? 'selected' : '' ?>>
Inaktiv
</option>
</select>
</label>
<div class="keep-modified-at-field">
<label for="keep_modified_at" class="keep-modified-at-label"><?= $translation->get("keep_modified_at") ?></label>
<input type="checkbox" id="keep_modified_at" name="keep_modified_at" value="1">
</div>
<input type="hidden" name="author_id[<?= $langId ?>]" value="<?php echo $GLOBALS['main_contact']['id']; ?>">
<input type="hidden" name="content[<?= $langId ?>]" id="hiddenContent_<?= $langId ?>">
</div>
</div>
<?php endforeach; ?>
</div>
</div>
</form>