Hallo zusammen
Sensationell hjw, besten Dank
In unserem Forum sind ausschließlich wiederkehrende Termine.
Ich lerne nach wie vor und hoffe das was ich geändert habe, richtig geändert zu haben
Deine Anpassungen wurden hinzugefügt und ich erhalte eine PHP Warnung wenn ich ein Thema mit Terminen aufrufe.
[phpBB Debug] PHP Warning: in file [ROOT]/ext/hjw/calendar/event/main_listener.php on line 182: Trying to access array offset on false
Ich habe deine Anpassungen in der main_listener.php in eine eigene if ($event_row) gelegt.
Dadurch wird der Fehler vermieden, falls $event_row den Wert false (kein Ergebnis) hat.
Weil ich als Admin nicht alle Termine erstelle bei uns, habe ich für unsere Bedürfnisse die Berechtigung für Globale Moderatoren hinzugefügt.
Code: Alles auswählen
$event_row = $this->db->sql_fetchrow($result);
if ($event_row) {
$event_date = ($d != 0 && $p == $post_id) ? $d : strtotime($event_row['date_from']);
$del_event_date = date("Y-m-d", $event_date);
if ($delete && ($this->user->data['user_type'] == 3 || $this->user->data['user_type'] == 1)) {
if ($delete == 'text')
{
// Delete comments
$sql = 'UPDATE ' . $this->calendar_participants_table . "
SET comments = ''
WHERE post_id = '$post_id'
AND event_date = '$del_event_date'
AND user_id = '$del_id'";
$result = $this->db->sql_query($sql);
$delete = '';
$del_id = 0;
}
if ($delete == 'all')
{
// Delete participant
$sql = 'DELETE FROM ' . $this->calendar_participants_table . "
WHERE post_id = '$post_id'
AND event_date = '$del_event_date'
AND user_id = '$del_id'";
$result = $this->db->sql_query($sql);
$delete = '';
$del_id = 0;
}
header("Location: ./viewtopic.php?f=$forum_id&p=$post_id#$post_id");
}
}
Die viewtopic_body_postrow_post_content_footer.html habe ich um die Anzeige der Sprachvariablen ergänzt.
Code: Alles auswählen
{% if postrow.LIST %}
<p>{{ lang('PARTICIPANTS_LIST') }} ( {{ lang('CALENDAR_YES') }} / {{ lang('CALENDAR_MB') }} / {{ lang('CALENDAR_NO') }} / {{ lang('CALENDAR_RES') }} ): {{ postrow.COUNT.PARTICIPANTS_COUNT }}</p>
{% endif %}
<fieldset class="tabulated">
<table class="table1 zebra-table {% if postrow.S_ROW_COUNT is odd %}bg2{% else %}bg1{% endif %}" >
<thead>
<tr>
<th style="text-align:center">{{ lang('CALENDAR_USERS') }}</th>
<th style="text-align:center">{{ lang('CALENDAR_NUMBER') }}</th>
<th style="text-align:center">{{ lang('CALENDAR_PART') }}</th>
<th style="text-align:center">{{ lang('CALENDAR_COMMENTS') }}</th>
<th style="text-align:center">{{ lang('CALENDAR_DATE') }}</th>
<th style="text-align:center">{{ lang('CALENDAR_P_DELETE_TEXT') }}</th>
<th style="text-align:center">{{ lang('CALENDAR_P_DELETE_ALL') }}</th>
</tr>
Bei den Tests fällt mir auf, dass nach der Löschung einer Bemerkung oder dem Löschen eines Teilnehmers, das Forum zum ersten Termin, des Themas mit den wiederkehrenden Terminen springt und nicht zum Termin zurückkehrt, bei dem ich soeben Bemerkung/Teilnehmer gelöscht habe.
Alles andere funktioniert einwandfrei bei mir, ohne Fehlermeldung. Es wird sowohl die Bemerkung als auch der Teilnehmer sauber gelöscht.