Seite 166 von 166

Re: [BETA][3.2][3.3] Kalender

Verfasst: 08.08.2025 10:18
von TomLB
Ich hab mal eine Frage,
bei mir haben sich ein paar Spassvögel zu Terminen eingetragen,
- Kalendereintrag als Themeneintrag. -

Gibt es eine Möglichkeit, einzelne Eintragungen der User zu löschen?
Finde leider nichts dazu. (V 1.1.3)

Re: [BETA][3.2][3.3] Kalender

Verfasst: 08.08.2025 10:40
von HJW
Ist bisher nicht vorgesehen, ich schau mal, was ich da machen kann.

Re: [BETA][3.2][3.3] Kalender

Verfasst: 08.08.2025 12:11
von bammerli
Hallo zusammen

Sowas wäre wirklich nützlich, bisher durfte man falsche Anmeldungen via MYSQL Datenbank bearbeiten.

phpbb_calendar_participants

dort posts_id, user_id oder nach comments suchen um zu finden was man braucht.

Dies direkt im Forum im jeweiligen Termin und seinen Anmeldungen tätigen zu können/dürfen, wäre echtes QOL ;)
Vielleicht nur der Terminersteller oder Berechtigte Personen könnten dies dann durchführen. Eventuell sogar mit einer Mitteilung.

Re: [BETA][3.2][3.3] Kalender

Verfasst: 08.08.2025 21:39
von HJW
Ich denke, ich hab es.
Löschen kann nur ein Admin.

Wer mal testen will:
https://calendar.killifisch.info/extensions/hjw.zip

Wie immer, vorher ein Backup erstellen.

Re: [BETA][3.2][3.3] Kalender

Verfasst: 08.08.2025 22:27
von TomLB
So schnell? Super. probiere ich morgen mal aus in der Testumgebung.
sind nur 3 Verzeichnisse in der Zip?

Re: [BETA][3.2][3.3] Kalender

Verfasst: 09.08.2025 01:34
von bammerli
Hallo zusammen

Sensationell hjw, besten Dank :grin:
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 :lol:
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.

Re: [BETA][3.2][3.3] Kalender

Verfasst: 09.08.2025 07:23
von HJW
Ersetze

Code: Alles auswählen

header("Location: ./viewtopic.php?f=$forum_id&p=$post_id#$post_id");
mitl

Code: Alles auswählen

	header("Location: ./viewtopic.php?d=$event_date&p=$post_id#$post_id");

Re: [BETA][3.2][3.3] Kalender

Verfasst: 09.08.2025 09:31
von bammerli
Perfekt!!

Lernen macht Spaß :lol:
Ich bedanke mich für deine Hilfestellungen. Es läuft einwandfrei :grin: