Ob unsauber mit JS oder nicht.... es liegt am fehlenden token, da das preview ja ein link ist und die einschließende form auf POST läuft, bei der der token bereits mitgeliefert wird. In meiner geposteten Lösung ist dieser onclick event natürlich Quatsch, da das Eigentliche der Token ist, den ich in meinem entrylink im Dashboard für draft und futures bereits gesetzt habe.
Vorschlag:
Code: Select all
if ( !serendipity_checkFormToken() || !serendipity_checkPermission('adminEntries') ) {
return false;
}
in der function serendipity_iframe_create(). Zu überlegen ist, ob man das auf die adminEntries beschränkt, denn wie ist das eventuell bei Redakteuren, die ein Draft geschrieben haben und es als preview sehen wollen?
und
Code: Select all
&<?php echo serendipity_setFormToken('url'); ?>
ins GET bei line ~287 in der include/admin/entries.inc
Code: Select all
<a target="_blank" href="<?php echo $entry['preview_link']; ?>&<?php echo serendipity_setFormToken('url'); ?>" title="<?php echo PREVIEW . ' #' . $entry['id']; ?>" class="serendipityIconLink"><img src="<?php echo serendipity_getTemplateFile('admin/img/zoom.png'); ?>" alt="<?php echo PREVIEW; ?>" /><?php echo PREVIEW ?></a>
Die Frage wäre dann ja nur noch, ob das irgendwelche Auswirkungen für die von Garvin angedeutete Frontend User Geschichte hat.