Ich habe mal quick und recht dirty was zusammengebastelt, um einzelne Beiträge als wichtig zu markieren.
Die Markierung erfolgt dabei durch Änderung der
Hintergrundfarbe, aber das kann man mit CSS-Kenntnissen einfach seinen Bedürfnissen anpassen.
In der Datenbanktabelle posts legt man mit phpMyAdmin ein neues Feld an:
Field: post_edit_mark
Type: TINYINT
Length/Values: 1
Default: As defined: 0
Attributes: UNSIGNED
In der
includes/functions_posting.php suchen
Code: Alles auswählen
'bbcode_bitfield' => $data['bbcode_bitfield'],
'bbcode_uid' => $data['bbcode_uid'],
'post_postcount' => ($auth->acl_get('f_postcount', $data['forum_id'])) ? 1 : 0,
'post_edit_locked' => $data['post_edit_locked'],
Dahinter in einer neuen Zeile einfügen
Suchen
Code: Alles auswählen
'post_attachment' => (!empty($data['attachment_data'])) ? 1 : 0,
'bbcode_bitfield' => $data['bbcode_bitfield'],
'bbcode_uid' => $data['bbcode_uid'],
'post_edit_locked' => $data['post_edit_locked'])
Ersetze
'post_edit_locked' => $data['post_edit_locked'])
mit
Code: Alles auswählen
'post_edit_locked' => $data['post_edit_locked'],
'post_edit_mark' => $data['post_edit_mark'])
Suche in der
includes/functions_post_oo.php
Danach einfügen:
Suchen
Code: Alles auswählen
'post_edit_reason' => $this->post_edit_reason,
'post_edit_user' => $this->post_edit_user,
'post_edit_count' => $this->post_edit_count,
'post_edit_locked' => $this->post_edit_locked,
Danach einfügen
Öffne
root/posting.php und suche
Code: Alles auswählen
else
{
$post_data['quote_username'] = isset($post_data['username']) ? $post_data['username'] : '';
}
$post_data['post_edit_locked'] = (isset($post_data['post_edit_locked'])) ? (int) $post_data['post_edit_locked'] : 0;
Danach einfügen
Code: Alles auswählen
$post_data['post_edit_mark'] = (isset($post_data['post_edit_mark'])) ? (int) $post_data['post_edit_mark'] : 0;
Suche
Code: Alles auswählen
$topic_lock = (isset($_POST['lock_topic'])) ? true : false;
$post_lock = (isset($_POST['lock_post'])) ? true : false;
Danach einfügen
Code: Alles auswählen
$post_mark = (isset($_POST['mark_post'])) ? true : false;
Suche
Code: Alles auswählen
// Lock/Unlock Post Edit
if ($mode == 'edit' && $post_data['post_edit_locked'] == ITEM_LOCKED && !$post_lock && $auth->acl_get('m_edit', $forum_id))
{
$post_data['post_edit_locked'] = ITEM_UNLOCKED;
}
else if ($mode == 'edit' && $post_data['post_edit_locked'] == ITEM_UNLOCKED && $post_lock && $auth->acl_get('m_edit', $forum_id))
{
$post_data['post_edit_locked'] = ITEM_LOCKED;
}
Danach einfügen (das ist jetzt recht unsauber, eigentlich sollte man statt ITEM_LOCKED/UNLOCKED einen weiteren Zustand definieren, aber das war mir gerade zu aufwendig

)
Code: Alles auswählen
// Mark/Unmark Post Edit
if ($mode == 'edit' && $post_data['post_edit_mark'] == ITEM_LOCKED && !$post_mark && $auth->acl_get('m_edit', $forum_id))
{
$post_data['post_edit_mark'] = ITEM_UNLOCKED;
}
else if ($mode == 'edit' && $post_data['post_edit_mark'] == ITEM_UNLOCKED && $post_mark && $auth->acl_get('m_edit', $forum_id))
{
$post_data['post_edit_mark'] = ITEM_LOCKED;
}
Suche
Code: Alles auswählen
'notify_set' => $post_data['notify_set'],
'poster_ip' => (isset($post_data['poster_ip'])) ? $post_data['poster_ip'] : $user->ip,
'post_edit_locked' => (int) $post_data['post_edit_locked'],
Danach einfügen
Code: Alles auswählen
'post_edit_mark' => (int) $post_data['post_edit_mark'],
Suche
Code: Alles auswählen
$lock_topic_checked = (isset($topic_lock) && $topic_lock) ? $topic_lock : (($post_data['topic_status'] == ITEM_LOCKED) ? 1 : 0);
$lock_post_checked = (isset($post_lock)) ? $post_lock : $post_data['post_edit_locked'];
Danach einfügen
Code: Alles auswählen
$mark_post_checked = (isset($post_mark)) ? $post_mark : $post_data['post_edit_mark'];
Suche
Code: Alles auswählen
'S_LOCK_POST_CHECKED' => ($lock_post_checked) ? ' checked="checked"' : '',
Danach einfügen
Code: Alles auswählen
'S_MARK_POST_CHECKED' => ($mark_post_checked) ? ' checked="checked"' : '',
Öffne
root/viewtopic.php
Suche
Code: Alles auswählen
'post_edit_reason' => $row['post_edit_reason'],
'post_edit_user' => $row['post_edit_user'],
'post_edit_locked' => $row['post_edit_locked'],
Danach einfügen
Suche
Code: Alles auswählen
'EDITED_MESSAGE' => $l_edited_by,
'EDIT_REASON' => $row['post_edit_reason'],
'BUMPED_MESSAGE' => $l_bumped_by,
Danach einfügen
Öffne
/language/de/posting.php
Suche
Code: Alles auswählen
'MAX_IMG_HEIGHT_EXCEEDED' => 'Ihre Bilder dürfen maximal %1$d Pixel hoch sein.',
'MAX_IMG_WIDTH_EXCEEDED' => 'Ihre Bilder dürfen maximal %1$d Pixel breit sein.',
Danach einfügen
Öffne
/styles/prosilver/template/posting_editor.html
Suche
Code: Alles auswählen
<!-- IF S_LOCK_POST_ALLOWED -->
<div><label for="lock_post"><input type="checkbox" name="lock_post" id="lock_post"{S_LOCK_POST_CHECKED} /> {L_LOCK_POST} [{L_LOCK_POST_EXPLAIN}]</label></div>
<!-- ENDIF -->
Danach einfügen
Code: Alles auswählen
<!-- IF S_LOCK_POST_ALLOWED -->
<div><label for="mark_post"><input type="checkbox" name="mark_post" id="mark_post"{S_MARK_POST_CHECKED} /> {L_MARK_POST}</label></div>
<!-- ENDIF -->
Ich habe hier kein neues Recht definiert. Wer Beiträge sperren kann, kann die auch als wichtig markieren.
Öffne
/styles/prosilver/template/viewtopic_body.html
Suche
Code: Alles auswählen
<!-- IF postrow.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->
Danach einfügen
Code: Alles auswählen
<!-- IF postrow.MARK_POST eq 1 --> markpost<!-- ENDIF -->
Öffne
/styles/prosilver/theme/colours.css
Am Ende einfügen
Dies kann wie gesagt nach persönlichen Vorlieben angepasst werden. Man kann die Abfrage postrow.MARK_POST auch an anderen Stellen anwenden, je nach Vorlieben.
Ich hoffe, ich habe jetzt keine meiner Änderungen im Testforum übersehen. Bitte mal ausprobieren und bei Fehlern melden.
Aussehen kann es dann so:

- mark_post0.png (5.7 KiB) 5569 mal betrachtet
Die Markierung als wichtig erfolgt hier nur, indem man den Beitrag aufruft und bearbeitet. Das Einbinden dieser Funktion ins MCP erschien mir unnötig. Das kann dann jemand übernehmen, der eine vollständige Modifikation daraus machen will, die weniger quick & dirty ist.