Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

beim verschieben in die Gruppe (für (noch) nicht akzeptierte Policy) zur Hauptgruppe machen #63

Open
derRichter opened this issue May 28, 2018 · 7 comments
Labels
wontfix This will not be worked on

Comments

@derRichter
Copy link

Ist es möglich das der Benutzer bei Ablehnung der Policy und der Option in Gruppe verschieben, diese auch gleich zur Hauptgruppe zu machen.
Dies hätte den Vorteil das die eingestellt Farboption der Gruppe z. B. in der "Wer ist online"-Liste mit greift und diese User dann somit auch viel besser erkennbar sind.

Danke für die tolle Arbeit. Erste Spende wurde getätigt.

@derRichter
Copy link
Author

Nach dieser Anleitung hier:
https://wiki.phpbb.com/Function.group_user_add#Example_1
habe ich mal das (,false,false,true)
in Zeile 215 in der listener.php eingefügt.

Komischerweise funktioniert das nicht (auch nicht nach löschen des Cache, wohl ein phpbb-Bug :P)

@derRichter
Copy link
Author

OK hab das ganze nun gelöst indem ich "einfach" darunter die Zeile
group_set_user_default($this->config['tas2580_privacyprotection_reject_group'], array($this->user->data['user_id']));
eingefügt habe.
Warum das mit den zusätzlichen Paramentern ", false, false, true" wie oben angeben nicht funktioniert ist mir ein Rätsel, wahrscheinlich ein Feature :P

Jetzt muss ich nur noch rauskriegen warum sich diese "Gruppe für nicht akzeptierte Policy" selbständig mit Haufen unsichtbaren, quasi nicht existierenden Usern (die auch nicht angezeigt werden) mit der User_ID "0" füllt.
Das kann auf die Dauer noch zu einem Problem werden?!

Gruß

@derRichter
Copy link
Author

derRichter commented May 28, 2018

so da mich dadurch noch recht gestört hat das nun Admins und Moderatoren Ihre "Farbe" verlieren, weil die alte Gruppe nach dem Bestätigen der Policy nicht mehr als Hauptgruppe markiert ist, habe ich noch eine Abfrage eingebaut welche diese User ausnimmt: hier der vollständige Code aus der listener.php:

  // Move user to group
  // zu überprüfende Gruppen IDs (Beispiel Gruppen ID 1=Gäste; 4=Globale Moderatoren; 5=Administratoren; 6=Bots; 8=Spezielle Moderatoren)
  // Hinweis: Bei mehreren Gruppen muss es ein array() sein!
  $gruppen_id = array(1,4,5,6,8);
  // zu überprüfender User ( Beispiel: Der User, der diese Seite aufgerufen hat )
  $benutzer_id = (int) $this->user->data['user_id'];
  // Nun erfolgt die eigentliche Prüfung:
  if (!function_exists('group_memberships'))
  {
    include($this->phpbb_root_path . 'includes/functions_user.' . $this->php_ext);
  }
  $is_in_group = group_memberships($gruppen_id, $benutzer_id, true);    
  
  if (!$is_in_group && $benutzer_id > 1) // Kein Bot und Anonymous
  {
    if ($this->config['tas2580_privacyprotection_reject_group'] <> 0)
    {
      if (!function_exists('group_user_add'))
      {
        include($this->phpbb_root_path . 'includes/functions_user.' . $this->php_ext);
      }
    
      group_user_add($this->config['tas2580_privacyprotection_reject_group'], array($this->user->data['user_id'], false, false, $this->config['tas2580_privacyprotection_reject_group']));
      group_set_user_default($this->config['tas2580_privacyprotection_reject_group'], array($this->user->data['user_id']));
    }
  }

Die Gruppen-IDs müssen natürlich angepasst werden.

EDIT: (gerade gemerkt das Bots die UserID 0 haben :D):
Dies hat wohl auch das Problem gelöst das in der Gruppe der abgelehnten Policy immer User mit ID 0 gelandet sind. Damit hat mein Feature-Wunsch sogar noch Sinn ^^

Gruß

@derRichter derRichter changed the title Benutzergruppe bei Ablehnung der Policy zur Hauptgruppe machen beim verschieben in die Gruppe (für (noch) nicht akzeptierte Policy) zur Hauptgruppe machen May 29, 2018
@tas2580
Copy link
Owner

tas2580 commented May 29, 2018

Du solltest beim zurück verschieben wieder eine Gruppe zur Hauptgruppe machen. Um das sauber zu machen müsste man die alte Hauptgruppe zwischenspeichern. Das halte ich für etwas viel Aufwand um die Farbe zu ändern.

@tas2580 tas2580 added the wontfix This will not be worked on label May 29, 2018
@derRichter
Copy link
Author

derRichter commented May 30, 2018

das war ein kommentar für dich selbst oder? denn selbst schreibe ich ja gar nichts zurück oder brauche diese nicht, meine Lösung passt mir soweit.

Wobei trotz diesem Code und z. B. $benutzer_id != 0 && $benutzer_id != 1 in der Gruppe immer wieder Benutzer mit ID 0 und ein Benutzer mit ID 9 landet?
Kannst du dir da einen Reim draus machen?
vor allem wer ist User 9?

group_id | user_id | group_leader | user_pending
9 | 726 | 0 | 0
9 | 0 | 0 | 0
9 | 0 | 0 | 0
9 | 9 | 0 | 0
9 | 0 | 0 | 0
9 | 0 | 0 | 0
9 | 0 | 0 | 0
9 | 0 | 0 | 0
9 | 0 | 0 | 0
9 | 0 | 0 | 0
9 | 0 | 0 | 0
9 | 0 | 0 | 0
9 | 0 | 0 | 0
9 | 192 | 0 | 0
9 | 0 | 0 | 0
9 | 56 | 0 | 0

In der Anzahl der Gruppen-Mitglieder im ACL ist das natürlich sehr verwirrend, da wird bei mir z. B. zur Zeit 16 Mitglieder angezeigt (sieht man auch so in der Datenbank-Tabelle "_user_group") obwohl da in Wahrheit nur drei echte User drin sind!

@tas2580
Copy link
Owner

tas2580 commented May 30, 2018

Der Benutzer mit der ID 9 ist bei mir der "Exabot [Bot]", siehe .../memberlist.php?mode=viewprofile&u=9 warum der verschoben wird kann ich jetzt so nicht sagen, werde das aber mal genauer anschauen.

@derRichter
Copy link
Author

derRichter commented May 30, 2018

ne den User oder Bot mit der user_id 9 gibts bei mir nicht. Die Bots fangen alle bei über 700 an. An dem Exabot würde ich mich da nicht aufhängen glaub ich. Aber das könnt ich ja noch verstehen.

Teste grade mal bei den user_id 0 Einträgen ob nicht doch der abgefragte Wert noch in ein int-konvertiert werden muss für den Vergleich ;) denn das sollte ja zumindest greifen wenn ich das so explizit angebe (hmm, hat auch nix geändert)
ich steh auf dem schlauch glaub ich ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

2 participants