Hey! Irgendwie finde ich nichts zu genau meinem Problem, weder in Deutsch, noch in Englisch, und vielleicht kennt sich hier ja jemand so gut mit allem aus, dass er mich auf den richtigen Riecher bringen kann. Ich bin jedenfalls überfragt, und zwar geht's um Folgendes:
Seitdem ich auf die neuste Forenversion geupgraded habe, funktioniert mein Quickdelete-Button nicht mehr. Statt nach der Löschung zu fragen, leitet mich der Button lediglich zum Editieren des Posts weiter. Da dachte ich: ok, liegt vielleicht daran, dass ich das quickdelete-Template mit einem Icon versehen hatte und es nach dem Update eine Veränderung gab, also setze ich das Template einfach mal zurück. Pustekuchen, auch mit dem Original Inhalt
Code:
<a href="editpost.php?pid={$post['pid']}" onclick="Thread.deletePost({$post['pid']}); return false;" id="quick_delete_{$post['pid']}" title="{$postbit_qdelete}" class="postbit_qdelete postbit_mirage"><span>{$lang->postbit_button_qdelete}</span></a>
geht es nicht, es führt trotzdem zum Edit. Also muss es wohl an einer php liegen? Aber puh, an welcher?! Wo gucke ich da? Ich habe versucht, die functions_post durchzugucken, aber ehrlich gesagt weiß ich nicht, wo der Fehler liegen könnte, sodass diese Situation hervorgerufen wird. Hat jemand eine Idee? Langsam verzweifel ich nämlich.
Danke für jede Hilfe!
Riley
Es scheint hier an JavaScript zu liegen.
Der Link hat zwar eine URL, allerdings soll beim onclick eine JS-Funktion aufgerufen werden, was bei dir scheinbar nicht der Fall ist; und daher geht es dem Link zufolge auf die Edit-Seite.
1. JavaScript im Browser aktiviert?
2. Alle nötigen *.js Dateien an ihrem Platz?
[ExiTuS]
Hey,
erstmal danke für die Antwort und Hilfe! Javascript ist auf alle Fälle aktiviert. Was die js-Dateien angeht: welche sind denn von diesem Button betroffen?
Mein Template sah vorher so aus, bevor ich es auf Original zurückgesetzt habe:
Code:
<a href="editpost.php?pid={$post['pid']}" onclick="Thread.deletePost({$post['pid']}); return false;" style="display: none;" id="quick_delete_{$post['pid']}" title="{$postbit_qdelete}" class="postbit_qdelete"><span><i class="fas fa-trash-alt"></i></span></a>
<script type="text/javascript">
$('#quick_delete_{$post['pid']}').css('display', '{$display}');
</script>
Gibt das irgendwie Aufschluss darüber, wo der Fehler liegen kann? Mit diesem Code ging's auch nicht, es ist auch nur auf's Editieren gegangen, aber das Original Template funktioniert leider auch nicht...
Bin echt überfragt.
Ist die thread.js auf dem aktuellen Stand und ist sie im Template showthread korrekt eingebunden?
Sind alle Templates nach dem Update aktualisiert worden?
Danke auch dir, Schnapsnase! Ich habe mal in die showthread gelunst und mir ist aufgefallen, dass folgender Code ausgeklammert ist:
Code:
<script type="text/javascript">
<!--
var quickdelete_confirm = "{$lang->quickdelete_confirm}";
var quickrestore_confirm = "{$lang->quickrestore_confirm}";
var allowEditReason = "{$mybb->settings['alloweditreason']}";
lang.save_changes = "{$lang->save_changes}";
lang.cancel_edit = "{$lang->cancel_edit}";
lang.quick_edit_update_error = "{$lang->quick_edit_update_error}";
lang.quick_reply_post_error = "{$lang->quick_reply_post_error}";
lang.quick_delete_error = "{$lang->quick_delete_error}";
lang.quick_delete_success = "{$lang->quick_delete_success}";
lang.quick_delete_thread_success = "{$lang->quick_delete_thread_success}";
lang.quick_restore_error = "{$lang->quick_restore_error}";
lang.quick_restore_success = "{$lang->quick_restore_success}";
lang.editreason = "{$lang->postbit_editreason}";
// -->
</script>
Ich frage mich, wieso dieser Code wohl ausgeklammert ist? Gibt es dafür einen Grund durch die Foreneinstellungen? Und daran wird es wohl liegen, oder? Ich frage lieber nach, bevor ich hier etwas verstelle....
Diese Ausklammerung im Code ist hier nicht relevant und dient lediglich als HTML-Kommentar, nicht zur Deaktivierung des JS-Codes. Als keine Sorge
Hast du im ACP schon einmal die Dateien überprüft (File Verification). Dort werden manipulierte, bzw. geänderte oder korrupte Dateien angezeigt. Hier würde ich einen Blick drüber werfen.
[ExiTuS]
Oh, my bad.
schade, ich dachte, wir hätten den Fehler bereits gefunden.
In folgenden Dateien habe ich Änderungen:
inc/datahandlers/user.php
inc/functions.php
inc/functions_forumlist.php
[b]index.php
global.php[/b]
Keine js-Datei dabei... könnte irgendwo - in einer der php-Dateien - der Fehler liegen? In welcher Datei wäre es denn am wahrscheinlichsten?
Danke fürs Helfen und Herantasten!
Schau in die Entwickler-Console des Browsers, ob Du evtl. Javascript-Fehler siehst.
Damit Dir hier wirklich geholfen wird, solltest Du mit Informationen nicht so geizig sein.
Update von welcher Version?
Theme?
Funktionierts im default-Theme?
Link zum Forum?
usw. siehe
hier
Sorry, ich hatte gedacht, dass die Fehlerbeschreibung genügt, um mich in die richtige Richtung zu schubsen. Offenbar stehe ich zurecht auf dem Schlauch. Jedenfalls weiß ich die alte Version leider nicht mehr, das Upgrade liegt schon ein wenig zurück, aber es lagen viele Versionen zwischen der alten und neuen Version. Im Default Theme funktioniert es auch nicht, deswegen meine anfängliche Vermutung mit einer php-Datei (oder zumindest mit einer Datei im Ftp). Meines Wissens nach ist der Fehler auch erst nach dem Upgrade aufgetreten, früher war es noch nicht der Fall. Seither wurde auch nichts an dem Forum bearbeitet außer optische Dinge; alles, was jetzt drauf ist, war auch zuvor drauf und hatte damals nicht die Delete-Option gekillt. In drei, vier Templates musste ich allerdings das hier einfügen:
Code:
<input name="my_post_key" type="hidden" value="{$mybb->post_code}" />
In der Fehlerkonsole wird folgendes angezeigt:
Code:
DevTools failed to load SourceMap: Could not load content for chrome-extension://gighmmpiobklfepjocnamgkkbiglidom/include.preload.js.map: HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME
DevTools failed to load SourceMap: Could not load content for chrome-extension://gighmmpiobklfepjocnamgkkbiglidom/include.postload.js.map: HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME
und dass ich das hier:
Code:
<script type="text/javascript">
$(".author_avatar img").error(function () {
$(this).unbind("error").closest('.author_avatar').remove();
});
</script>
bei paar Templates rausnehmen muss, weil das offenbar veraltet und nicht mehr gebraucht ist. DevTools kann ich mir allerdings nicht erklären. Jedenfalls - kann irgendwas davon einen Zusammenhang haben?
Einen Serverwechsel hat es auch gegeben, aber ich kann nicht sagen, ob es damit einen Zusammenhang hat, weil direkt nach dem Serverwechsel das Upgrade gemacht wurde.
DevTools sind die Entwicklertools im Chrome-Browser, haben also hiermit nichts zu tun.
Wie Du selbst schreibst, sind beim Update viele Versionen übersprungen worden.
In aller Regel sind dann je nach Theme auch einige Templates manuell anzupassen, da ein Update nur originale und unveränderte Templates aktualisiert. Offensichtlich und nach Deiner Beschreibung hast Du dies nicht getan, denn es genügt in den meisten Fällen nicht, nur das login-form zu korrigieren.
Evtl. Upload-Fehler beim Update kann man auch nicht ausschließen.
Da wir immer noch keinen Link incl. Testzugang zum Forum haben, bleibt das hier alles Spekulation.
Eine Glaskugel haben wir leider nicht.