Seite 3 von 6

Re: [3.3] Download-Zähler funktioniert nicht :-(

Verfasst: 24.04.2025 20:54
von IMC
hbri1314 hat geschrieben: 23.04.2025 09:58die drei Punkte abgearbeitet und konnte dabei nur eine Abweichung finden: Den ZIPs war kein Symbol zugeordnet,
Kontrolliere das bitte noch einmal. Ich habe das bei mir nachgestellt. Wenn die "Spezialkategorie" nicht auf "Keine" steht wird nicht gezählt.

Re: [3.3] Download-Zähler funktioniert nicht :-(

Verfasst: 24.04.2025 20:59
von hbri1314
Moin IMC,

für den Hinweis auf die

Code: Alles auswählen

 \downlaod\file.php
danke ich heftig! Bisher waren wir bei der

Code: Alles auswählen

viewtopic.php.
Allerdings weiß bruno sicher besser, wo ich denn die Zeilen einfügen kann. Zumal mein php sicher viel schlechter ist als mein schwäbisch ...

Schönen Abend noch und Danke für Eure Hilfe!

Re: [3.3] Download-Zähler funktioniert nicht :-(

Verfasst: 24.04.2025 21:06
von chris1278
Du könntest z.B. wie bruno sagt in der angegebenen Datei diese codezeile suchen:

Code: Alles auswählen

	else if ($display_cat == ATTACHMENT_CATEGORY_NONE && !$attachment['is_orphan'] && !phpbb_http_byte_range($attachment['filesize']))
	{
		// Update download count
		phpbb_increment_downloads($db, $attachment['attach_id']);
	}
und fügst z.B. folgendes so ein:

Code: Alles auswählen

	else if ($display_cat == ATTACHMENT_CATEGORY_NONE && !$attachment['is_orphan'] && !phpbb_http_byte_range($attachment['filesize']))
	{
		echo 'Wert wird ausgeführt';
		// Update download count
		phpbb_increment_downloads($db, $attachment['attach_id']);
	}
Dann würde wenn eben diese bedingung erfüllt ist in deinem Browser oben am rand links der Schriftzug Wert wird ausgeführt erscheinen.

Wenn du entsprechend die werte ausgeben möchtest um zu prüfen was übermittelt wird kannst du z.B. das so machen:

Code: Alles auswählen

	else if ($display_cat == ATTACHMENT_CATEGORY_NONE && !$attachment['is_orphan'] && !phpbb_http_byte_range($attachment['filesize']))
	{
		var_dump($db, $attachment['attach_id']);
		// Update download count
		phpbb_increment_downloads($db, $attachment['attach_id']);
	}
Dann würde in jedemfall eine angabe erscheinen im bestenfall mit einer id.

Wichtig ist aber immer vorher ein backup der original datei machen.

Re: [3.3] Download-Zähler funktioniert nicht :-(

Verfasst: 25.04.2025 07:17
von 69bruno
IMC hat geschrieben: 24.04.2025 19:21 Alles was keine Bilddatei ist wird in der Datei \download\file.php gezählt.
Mit diesem Code:

Code: Alles auswählen

	else if ($display_cat == ATTACHMENT_CATEGORY_NONE && !$attachment['is_orphan'] && !phpbb_http_byte_range($attachment['filesize']))
	{
		// Update download count
		phpbb_increment_downloads($db, $attachment['attach_id']);
	}
Da würde ich testen ob die Bedingungen erfüllt werden. Das sollte mit echo oder var_dump kein Problem sein.
Danke, da war ich an falscher Stelle im Code unterwegs.

Re: [3.3] Download-Zähler funktioniert nicht :-(

Verfasst: 25.04.2025 08:22
von hbri1314
Guten Morgen, allerseits,

@IMC Stichwort Spezialkategorie bei den Anhängen: Sie stehen alle auf keine

Okay: hier meine zweite Runde:
den gesuchten Code habe ich in Zeile 289 gefunden und in Zeile 291 (also nach der { ) den echo-Befehl eingetragen, womit der Kommentar \\ nach 292 und php_increment... nach 292 geschoben sind.

Dann im Board mein test.zip heruntergeladen und auf die Rückmeldung oben links geachtet, leider nix. Auch in den FF / Edge-Konsolen finde ich nichts.

Dann wird also diese Routine bisher nicht aufgerufen? Verstehe ich das richtig?

Vielen Dank schon mal vorab!
Grüße

Re: [3.3] Download-Zähler funktioniert nicht :-(

Verfasst: 25.04.2025 10:19
von 69bruno
@IMC
Du schreibst,
Alles was keine Bilddatei ist wird in der Datei \download\file.php gezählt.
Kannst Du mir noch sagen, wo die Bilddateien behandelt werden ?
Wenn dort dieselbe Funktion aufgerufen wird

Code: Alles auswählen

phpbb_increment_downloads()
dann müsste sie doch auch gleichermaßen funktionieren.

Zudem irritiert mich, dass in der Crossreferenz steht:

Code: Alles auswählen

Increments the download count of all provided attachments
Schon mal vielen Dank für deine Unterstützung.

Re: [3.3] Download-Zähler funktioniert nicht :-(

Verfasst: 25.04.2025 16:51
von IMC
@69bruno
69bruno hat geschrieben: 25.04.2025 10:19 Kannst Du mir noch sagen, wo die Bilddateien behandelt werden ?
In der viewtopic.php.

Code: Alles auswählen

	// Update the attachment download counts
	if (count($update_count))
	{
		$sql = 'UPDATE ' . ATTACHMENTS_TABLE . '
			SET download_count = download_count + 1
			WHERE ' . $db->sql_in_set('attach_id', array_unique($update_count));
		$db->sql_query($sql);
	}
Die Bilder werden um den Zähler eins erhöht sobald diese im Post angezeigt werden.
69bruno hat geschrieben: 25.04.2025 10:19 Zudem irritiert mich, dass in der Crossreferenz steht:

Code: Alles auswählen

Increments the download count of all provided attachments
Das kann verwirren. Wenn man sich jedoch bewusst macht das die Bilder nicht von Benutzer als Download heruntergeladen werden sondern vom Browser angezeigt werden passt es wieder.
In der file.php werden die gezählt, die der Spezialkategorie "keine" zugeordnet sind.


@hbri1314
hbri1314 hat geschrieben: 25.04.2025 08:22Spezialkategorie bei den Anhängen: Sie stehen alle auf keine
Schade. Dann wäre das einfach gewesen.
hbri1314 hat geschrieben: 25.04.2025 08:22 Dann wird also diese Routine bisher nicht aufgerufen? Verstehe ich das richtig?
So sieht es im Moment aus.
Versetze die \download\file.php bitte wieder in den Orginalzustand und suche in dieser:

Code: Alles auswählen

	extract($phpbb_dispatcher->trigger_event('core.download_file_send_to_browser_before', compact($vars)));

	if ($thumbnail)
und ersetze die Codestelle mit:

Code: Alles auswählen

	extract($phpbb_dispatcher->trigger_event('core.download_file_send_to_browser_before', compact($vars)));

var_dump($thumbnail, $display_cat, $attachment['is_orphan'], $attachment['filesize'], phpbb_http_byte_range($attachment['filesize']));

	if ($thumbnail)
Und poste die Ausgabe bitte hier. Sollte so ähnlich aussehen. bool(false) int(0) string(1) "0" string(5) "60282" bool(false)

Re: [3.3] Download-Zähler funktioniert nicht :-(

Verfasst: 26.04.2025 09:55
von hbri1314
Moin IMC,

habe Deine Zeile an der passenden Stelle in file.php eingefügt und anschließend in Edge und FF einen Download von hier https://www.vbasteleien.de/viewtopic.php?p=2257#p2257 ausgeführt. Den gewünschten Output konnte ich in beiden Konsolen nicht finden. Ist daraus eine sinnvolle Erkenntnis zu gewinnen?

Vielen Dank für Eure Geduld!

Re: [3.3] Download-Zähler funktioniert nicht :-(

Verfasst: 26.04.2025 10:02
von chris1278
Der output erscheint auch nicht in der Konsole. Sonden im Browser oben links in der ecke. Also im normalfall.

Re: [3.3] Download-Zähler funktioniert nicht :-(

Verfasst: 26.04.2025 10:54
von IMC
hbri1314 hat geschrieben: 26.04.2025 09:55 eine sinnvolle Erkenntnis zu gewinnen?
Nein. Hast du die richtige Datei in dem richtigen Forum geändert? Prüfe das nochmal. Lösche zur Sicherheit den Foren und Browser Cache.

Mit dem Einfügen von var_dump() muss eine Ausgabe kommen, mit anschließender Fehlermeldung das die Datei nicht heruntergeladen werden konnte.