[3.2] Wer hat dieses Thema besucht

Du suchst eine bestimmte Extension, weißt aber nicht genau wo bzw. ob sie überhaupt existiert? Du kannst hier die von dir gewünschte/gesuchte Extension beschreiben ...
Falls ein Extension-Autor eine der Anfragen hier aufnimmt, um eine neue Extension zu entwickeln, geht's in Extensions in Entwicklung weiter.
Benutzeravatar
chris1278
Mitglied
Beiträge: 3842
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.2] Wer hat dieses Thema besucht

Beitrag von chris1278 »

BNa hat geschrieben: 25.01.2021 11:52 Hallo Bruno,

seh ich genauso als nächste Möglichkeit. Daher, bevor Chris an der SQL-Server Config dauerhaft was ändert,
einfach mal testweise die temporäre Variante des Deaktivierens von "only_full_group_by" probieren.

Hier beschrieben unter Variante (1):
(1) PHPMyAdmin

if you are using phpMyAdmin then change the "sql_mode" setting as mentioned in the below screenshot.
https://stackoverflow.com/a/51629259

Wichtig, vorher mal alle Änderungen an der Ext listener.php rückgängig machen und alle Browser- und Board-Caches leeren,
dann ab ins phpMyAdmin und die Ext sofort testen (weil die temporäre SQL-Änderungen nur bis zum Neustart des SQL-Server "wirkt" :wink:
Datenbank änderungen kann ich wohl nur lokal testen. auf diee datenbank des hosters habe ich keinen einfluss leider.
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: [3.2] Wer hat dieses Thema besucht

Beitrag von BNa »

Hallo Chris,

ich rede ja von der temporären Variante, um den Fehler einzukreisen.
Wirst ja wohl Zugriff auf phpMyAdmin haben? Dann haben wir Gewissheit und
Du kannst die Variante dann von Deinem Provider in der "echten" sql-config ändern lassen :wink:
Benutzeravatar
chris1278
Mitglied
Beiträge: 3842
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.2] Wer hat dieses Thema besucht

Beitrag von chris1278 »

bei mir kann ich den in phpmyadmin editieren aber die zeile ist dort komplett leer.

https://prnt.sc/xlldrj

Wenn du mir sagst, was ich dort per Edit genau reinschreiben soll, kann ich es auf meinem Server mal testen.

beim verso forum muss ich pw nochmal beim lutz fragen dann kann ich mal schauen was er da driun stehen hat.
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: [3.2] Wer hat dieses Thema besucht

Beitrag von BNa »

Auch auf Deinem Server einfach mal das testen (steht alles genau beschrieben mit Screenshot unter (1) PHPMyAdmin)
BNa hat geschrieben: 25.01.2021 11:52 Hier beschrieben unter Variante (1):
(1) PHPMyAdmin

if you are using phpMyAdmin then change the "sql_mode" setting as mentioned in the below screenshot.
https://stackoverflow.com/a/51629259

Wichtig, vorher mal alle Änderungen an der Ext listener.php rückgängig machen und alle Browser- und Board-Caches leeren,
dann ab ins phpMyAdmin und die Ext sofort testen (weil die temporäre SQL-Änderungen nur bis zum Neustart des SQL-Server "wirkt"
Ansonsten temporär die dort beschriebene Variante 2 mal probieren
Zuletzt geändert von BNa am 25.01.2021 12:16, insgesamt 1-mal geändert.
Benutzeravatar
chris1278
Mitglied
Beiträge: 3842
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.2] Wer hat dieses Thema besucht

Beitrag von chris1278 »

ok wenn ich auf editieren klicke und en begriuff da aus der zeile löschen will kommt diese meldung:
https://prnt.sc/xllyj9
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: [3.2] Wer hat dieses Thema besucht

Beitrag von BNa »

Dann hast Du nicht genug Rechte, kannst ja mal temporär Dein Privileg hochschrauben versuchen.

Ansonsten evtl:
BNa hat geschrieben: 25.01.2021 12:13 ..temporär die dort beschriebene Variante 2 mal probieren
(2) SQL/Command prompt Run the below command.
Benutzeravatar
chris1278
Mitglied
Beiträge: 3842
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.2] Wer hat dieses Thema besucht

Beitrag von chris1278 »

Ich hab jetzt mal folgendes gemacht. bei mir im lokalhost hab ich mal nur den wert ONLY_FULL_GROUP_BY in diese zeile geschrieben und der fehler tritt nun bei mir auch im localhost auf. also scheint das mit dieser variable zusammenzuhängen.

@edit


Ich kann auf dem Server von verso-forum diese Variable SQL-mode nicht ändern egal ob über weg 1 oder 2 da ich leider keine berechtigung dafür habe
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: [3.2] Wer hat dieses Thema besucht

Beitrag von BNa »

Sehr cool. Ist der Fehler also quasie umzingelt.
Eleganter wäre es allerdings die listener.php-SQL-Abfrage ONLY_FULL_GROUP_BY-konform zu machen:

Code: Alles auswählen

			$query = 'SELECT w.user_id, w.topic_id, w.counter_user, w.date, u.username, u.user_colour, u.user_id, u.user_avatar, u.user_avatar_type, u.user_avatar_height, u.user_avatar_width, u.user_type, SUM(w.counter_user) AS total
				FROM ' . $this->whovisitedthistopic_table . ' w, ' . USERS_TABLE . ' u
				WHERE w.topic_id = ' . (int) $topic_id . '
					AND w.user_id = u.user_id
				GROUP BY w.user_id
				ORDER BY w.date DESC';
			$row_query = $this->db->sql_query_limit($query, $value);
Fehlt mir nur persönlich grad die Zeit dazu..
@edit

Ich kann auf dem Server von verso-forum diese Variable SQL-mode nicht ändern egal ob über weg 1 oder 2 da ich leider keine berechtigung dafür habe
Dann die von Bruno angedachte Variante und den Support anfragen

------------------

(Edit) Link-Parking:
https://dev.mysql.com/doc/refman/5.7/en ... dling.html
Zuletzt geändert von BNa am 26.01.2021 13:44, insgesamt 2-mal geändert.
Benutzeravatar
chris1278
Mitglied
Beiträge: 3842
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.2] Wer hat dieses Thema besucht

Beitrag von chris1278 »

Du kannst ja mal schauen wenn du zeit hast und mal schauen. Es ist jetzt nicht so eilig das es brennt.

Ich hab jetzt erstmal beim hoster gefragt ob die den Wert einfach mal ändern können. Ob die das machen mus man abwarten. aber das problem der abfrage in der listener zu ändern wäre wahrscheinlich auch für andere der elegantere weg.
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: [3.2] Wer hat dieses Thema besucht

Beitrag von BNa »

Fix for Who Visited This Topic 1.0.7

SQL-Error:

Code: Alles auswählen

Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'USER_DB.w.counter_user' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by [1055]
Cause: Strict Use of SQL-Server Directive > ONLY_FULL_GROUP_BY SQL
Info: https://www.percona.com/blog/2019/05/13 ... -sql-mode/

Ext-Source: https://www.phpbb.com/customise/db/exte ... pic/216651

Related Topics:
https://www.phpbb.com/customise/db/exte ... pic/196886
https://www.phpbb.com/customise/db/exte ... pic/179781

Solution

Open in Ext > event/listener.php

Find

Code: Alles auswählen

			$query = 'SELECT w.user_id, w.topic_id, w.counter_user, w.date, u.username, u.user_colour, u.user_id, u.user_avatar, u.user_avatar_type, u.user_avatar_height, u.user_avatar_width, u.user_type, SUM(w.counter_user) 
				AS total
				FROM ' . $this->whovisitedthistopic_table . ' w, ' . USERS_TABLE . ' u
				WHERE w.topic_id = ' . (int) $topic_id . '
					AND w.user_id = u.user_id
				GROUP BY w.user_id
				ORDER BY w.date DESC';
			$row_query = $this->db->sql_query_limit($query, $value);
Replace with

Code: Alles auswählen

			// Old Query
			/*
			$query = 'SELECT w.user_id, w.topic_id, w.counter_user, w.date, u.username, u.user_colour, u.user_id, u.user_avatar, u.user_avatar_type, u.user_avatar_height, u.user_avatar_width, u.user_type, SUM(w.counter_user) 
				AS total
				FROM ' . $this->whovisitedthistopic_table . ' w, ' . USERS_TABLE . ' u
				WHERE w.topic_id = ' . (int) $topic_id . '
					AND w.user_id = u.user_id
				GROUP BY w.user_id
				ORDER BY w.date DESC';
			$row_query = $this->db->sql_query_limit($query, $value);
			*/
			// Old Query	
			
			// New Query
			$query = 'SELECT w.user_id, w.topic_id, w.counter_user, w.date, u.username, u.user_colour, u.user_id, u.user_avatar, u.user_avatar_type, u.user_avatar_height, u.user_avatar_width, u.user_type, SUM(w.counter_user) 
				AS total
				FROM ' . $this->whovisitedthistopic_table . ' w, ' . USERS_TABLE . ' u
				WHERE w.topic_id = ' . (int) $topic_id . '
					AND w.user_id = u.user_id
				GROUP BY w.user_id, w.topic_id, w.counter_user, w.date, u.username, u.user_colour, u.user_id, u.user_avatar, u.user_avatar_type, u.user_avatar_height, u.user_avatar_width, u.user_type
				ORDER BY w.date DESC';
			$row_query = $this->db->sql_query_limit($query, $value);
			// New Query
Find

Code: Alles auswählen

			$sql = 'SELECT topic_id, SUM(counter_user) 
			AS counter
				FROM ' . $this->whovisitedthistopic_table . '
				WHERE topic_id = ' . (int) $topic_id;
			$result = $this->db->sql_query($sql);
			$counter = (int) $this->db->sql_fetchfield('counter');
			$this->db->sql_freeresult($result);
Replace with

Code: Alles auswählen

                        // Old Query
                        /*
			$sql = 'SELECT topic_id, SUM(counter_user) 
			AS counter
				FROM ' . $this->whovisitedthistopic_table . '
				WHERE topic_id = ' . (int) $topic_id;
			$result = $this->db->sql_query($sql);
			$counter = (int) $this->db->sql_fetchfield('counter');
			$this->db->sql_freeresult($result);
			*/
			// Old Query
			
			// New Query
			$sql = 'SELECT topic_id, SUM(counter_user) 
			AS counter
				FROM ' . $this->whovisitedthistopic_table . '
				WHERE topic_id = ' . (int) $topic_id . '
				GROUP BY topic_id';
			$result = $this->db->sql_query($sql);
			$counter = (int) $this->db->sql_fetchfield('counter');
			$this->db->sql_freeresult($result);	
			// New Query
Note: Bcs. of this Fix no changes on SQL-Server Settings sql_mode=only_full_group_by is needed
Zuletzt geändert von BNa am 28.01.2021 10:37, insgesamt 1-mal geändert.
Antworten

Zurück zu „Extension Suche/Anfrage“