Tutorials

Eine immer größer werdende Tutorialdatenbank.

PHP-Fusion Core

Aktuelle PHP-Fusion Vollversionen und Updates

Addon Downloads

Alle Downloads garantiert Kostenlos

Support 24/7

24 Stunden, 7 Tage die Woche, das ganze Jahr.

Thema ansehen
PD_Warning automatische Sperre bei 100 Punkte + Admin PN Thema drucken
Benutzeravatar

Mitglied


Jean-Paul Geschrieben am 20.10.2013 um 21:11
 #1 Beitrag drucken Top
Guten Abend! Ich habe diese Frage bereits auch schon im Supportclub gestellt, allerdings ohne Erfolg. Hier sind mehr aktive Coder Tag für Tag Online und ich bin mir Sicher einer von Euch kann mir helfen.

Frage 1:
Bei dem PD_Warning ist es so das ein User ab 100 Punkte gesperrt wird, eine Benachrichtigung dazu bekommt ein Administrator welcher im Adminbereich eingestellt wurde - Nun kann es durchaus vorkommen das ein Admin 2 Tage nicht Online ist und diese 2 Tage hätte der "Unruhestifter" zeit weitere Unruhe zu stiften - Daher die Frage wie kann man es Realisieren das der User ab 100 Punkte automatisch von PHP-Fusion gesperrt wird ?

Frage 2:
Wenn ein User 100 Punkte hat kann man auswählen von den Seiten Administratoren welcher davon eine Hinweis PN bekommen soll - Wie ist es zu Realisieren das alle Seiten Administratoren eine PN bekommen ? Dann würde u.U. Frage 1 weg fallen, besser ist es wenn man beide Fragen realisieren könnte.

Für die PN an alle Administratoren würde es bereits einen Schnipsel geben:

///PN an Admins start
function pm_send($pmtoid, $subject, $pmfromid, $message){
      $pmtoid = stripinput($pmtoid);
      $subject = stripinput($subject);
      $pmfromid = stripinput($pmfromid);
      $message = descript($message);
      dbquery("INSERT INTO ".DB_MESSAGES." (message_id, message_to, message_from, message_subject, message_message, message_smileys, message_read, message_datestamp, message_folder) VALUES ('', '".$pmtoid."', '".$pmfromid."', '".$subject."', '".$message."', '0', '0', '".time()."', '0')");
   }
   $pn_result = dbquery("SELECT user_id FROM ".DB_USERS." WHERE user_level='103'");
                  while($data = dbarray($pn_result)){
                     pm_send($data['user_id'], 'Der Betreff der Nachricht', 'Die Absender ID', 'Der Nachrichtentext');
                  }
                  //PN an Admins stop

Nur das einbauen ist mit diesem schnipsel nicht ganz so einfach, aber vielleicht kann einer von Euch damit schon mehr anfangen.

Wir reden bei diesem Addon um die Free Version des PD Warning - Sprich nicht die Kaufversion.


Würde mich wirklich sehr über Hilfe freuen!
Beiträge: 167 
http://www.jppro.de 
Benutzeravatar

Seiten Administrator


David Geschrieben am 20.10.2013 um 21:42
 #2 Beitrag drucken Top
Könntest du eventuell das Addon anhängen?
Liebe Grüße, euer David.


Aktiver PHP-Fusion Nutzer seit 3. September 2006
--------------------------------------------------------
PHP-Fusion Österreich Seitenbetreiber.
Beiträge: 434 
http://www.php-fusion.at/ 
Benutzeravatar

Mitglied


Jean-Paul Geschrieben am 20.10.2013 um 21:50
 #3 Beitrag drucken Top
Klar kann ich :-)

Bitte sehr

P.S.: Wenn das machbar ist, wäre es Gut wenn bekannt gegeben wird was gemacht werden muss :-)
Jean-Paul hat folgende Datei angehängt:  pdwarning_ohne_sb.zip [37.35kB / 902 mal Heruntergeladen]
Beiträge: 167 
http://www.jppro.de 
Benutzeravatar

Seiten Administrator


David Geschrieben am 21.10.2013 um 22:38
 #4 Beitrag drucken Top
Also das ganze ist komplett ungetestet, daher unbedingt von den zu bearbeitenden Dateien ein Backup erstellen, und natürlich auch keine Garantie das es funktioniert.

Öffne die Datei "warning.inc.php" und Suche folgendes:
Download Code  GeSHi: PHP
  1. if (show_warning_points($post_warn_data['post_author'])>=100)
  2. {
  3. $pn_subject = stripinput(trim($locale['PDWA217']));
  4. $pn_messages = stripinput(trim("[url=".$settings['siteurl']."infusions/pd_warning/warning.php?lookup=".$post_warn_data['post_author']."]".$locale['PDWA218']."[/url]"));
  5. if($pd_warning_settings['set_pm_from']==0) { $pn_from = $userdata['user_id']; } else { $pn_from = $userdata['set_pm_from']; }
  6. $result = dbquery("INSERT INTO ".DB_PREFIX."messages (message_to, message_from, message_subject, message_message, message_smileys, message_read, message_datestamp, message_folder)
  7. VALUES ('".$pd_warning_settings['set_pm_to']."','".$pn_from."','".$pn_subject."','".$pn_messages."','y','0','".$insertdate."','0')");
  8. }
gewandelt in 0.012 Sekunden, benutzt wurde GeSHi 1.0.8.10


Das ganze ersetzt du durch folgendes:
Download Code  GeSHi: PHP
  1. // Benutzer ab 100 Verwarnpunkte bannen und alle Super Administratoren eine private Nachricht senden
  2. if (show_warning_points($post_warn_data['post_author']) >= 100) {
  3.  
  4. // Userdaten
  5. $warnuserdata = dbarray(dbquery("SELECT user_name, user_email FROM ".DB_USERS." WHERE user_id='".$post_warn_data['post_author']."' LIMIT 0,1"));
  6.  
  7. // E-Mail Text, Ban Grund
  8. $mail_subject = "Du wurdest gebannt";
  9. $mail_message = "Hallo ".$warnuserdata['user_name'].",\n\ndu wurdest auf unserer Seite gebannt, da du ueber 100 Verwarnpunkte gesammelt hast.";
  10. $ban_reason = "Maximale Verwarnpunkte erreicht.";
  11.  
  12. // Dateien einbinden fuer Ban, private Nachricht und E-Mail
  13. require_once INCLUDES."suspend_include.php";
  14. require_once INCLUDES."infusions_include.php";
  15. require_once INCLUDES."sendmail_include.php";
  16.  
  17. // Benutzerstatus aendern
  18. $update = dbquery("UPDATE ".DB_USERS." SET user_status='1', user_actiontime='0' WHERE user_id='".$post_warn_data['post_author']."'");
  19.  
  20. // Ban Log und E-Mail versenden
  21. suspend_log($post_warn_data['post_author'], 1, $ban_reason);
  22. sendemail($warnuserdata['user_name'], $warnuserdata['user_email'], $settings['siteusername'], $settings['siteemail'], $mail_subject, $mail_message);
  23.  
  24. // Private Nachricht an alle Super Administratoren versenden
  25. $pm_sender = ($pd_warning_settings['set_pm_from'] ? $userdata['set_pm_from'] : $userdata['user_id']);
  26. $pmreceivers_result = dbquery("SELECT user_id FROM ".DB_USERS." WHERE user_status='0' AND user_level='103'");
  27. if (dbrows($pmreceivers_result)) {
  28. while ($pmreceivers_data = dbarray($pmreceivers_result)) {
  29. send_pm($pmreceivers_data['user_id'], $pm_sender, $locale['PDWA217'], "[url=".$settings['siteurl']."infusions/pd_warning/warning.php?lookup=".$post_warn_data['post_author']."]".$locale['PDWA218']."[/url]", "y");
  30. }
  31. }
  32.  
  33. }
gewandelt in 0.008 Sekunden, benutzt wurde GeSHi 1.0.8.10


Würde mich über eine kurze Rückmeldung, ob es funktioniert hat, freuen.
Liebe Grüße, euer David.


Aktiver PHP-Fusion Nutzer seit 3. September 2006
--------------------------------------------------------
PHP-Fusion Österreich Seitenbetreiber.
Beiträge: 434 
http://www.php-fusion.at/ 
Benutzeravatar

Mitglied


Jean-Paul Geschrieben am 21.10.2013 um 22:55
 #5 Beitrag drucken Top
Also David deine möglichkeit funktioniert schonmal nicht.
Bearbeitet von Jean-Paul am 21.10.2013 um 23:03
Beiträge: 167 
http://www.jppro.de 
Benutzeravatar

Seiten Administrator


David Geschrieben am 21.10.2013 um 23:04
 #6 Beitrag drucken Top
Ja was ist denn der Fehler?!
Liebe Grüße, euer David.


Aktiver PHP-Fusion Nutzer seit 3. September 2006
--------------------------------------------------------
PHP-Fusion Österreich Seitenbetreiber.
Beiträge: 434 
http://www.php-fusion.at/ 
Benutzeravatar

Mitglied


Jean-Paul Geschrieben am 21.10.2013 um 23:09
 #7 Beitrag drucken Top
Fehler werden keine Ausgegeben - Ich habe eben nochmal geschaut und mir ist aufgefallen das ich die Pro Version nutze (Habe diese vor Einiger Zeit erworben) - Nun kann ich die Pro Version nicht anhängen.

Zusammengefügt am 22. Oktober 2013 um 00:39:17:
Also habe eben Nochmal nachgeschaut, es spielt keine Rolle ob es die Pro Version oder die Free Version ist. Die Einträge sind in der warnic.inc.php gleich - Jedoch wird bei Verwarnen des Users mit 100 Punkte keine PN ausgelöst und eben der User nicht "Gesperrt" wird - Da der Code nicht getestet wurde ist das Ergebnis trotzdem Gut, eventuell hat ein anderer noch eine Lösung.

P.S.
diese Zeile ist Fehlerhaft:

send_pm($pmreceivers_data['user_id'], $pm_sender, $locale['PDWA217'], "<a href='http://".$settings['siteurl'' target='_blank' title='".$settings['siteurl''>."infusions/pd_warning/warning.php?lookup=".$post_warn_data['post_author']."]".$locale['PDWA218']."</a>", "y");


habe diese durch

    send_pm($pmreceivers_data['user_id'], $pm_sender, $locale['PDWA217'], "<a target='_blank' title='' href='http://".$settings['siteurl']."infusions/pd_warning/warning.php?lookup=".$post_warn_data['post_author']."'>".$locale['PDWA218']."</a>", "y");


ersetzt.

Zusammengefügt am 25. Oktober 2013 um 18:54:42:
Ahoi!
Ich wollte mal wissen, ob da schon jemand weiter gekommen ist - Ich bin es bisher nicht - Ich weiß nur das Davids Anleitung nicht funktioniert, weder bei der Kauf noch bei der Free Version - Wobei die Datei bei beiden gleich zu sein scheint.

Würde mich sehr freuen, wenn ich das noch hinbekommen würde, wäre sicherlich für andere Nutzer hilfreich zu wissen wie man das macht,.
Beiträge: 167 
http://www.jppro.de 
Benutzeravatar

Neuling


Punkerwelle Geschrieben am 08.11.2013 um 18:27
 #8 Beitrag drucken Top
ich wäre auch an einer lösung interessiert.
Beiträge:
Springe ins Forum:
Anzeige


Anmelden


Registrieren Passwort vergessen

RSS Feeds

Feeds abonieren

Letzte News
Letzte Threads
Anzeige

© Copyright 2021 PHP-Fusion.at | Alle Rechte vorbehalten.

© 2016 Real Space. All rights reserved | Design by W3layouts | 16,915,503 eindeutige Besuche
Powered by PHP-Fusion copyright © 2002 - 2021 by Nick Jones. Released as free software without warranties under GNU Affero GPL v3.