ilch Forum » Ilch Clan 1.1 » Allgemein » Profildaten ändern sich

Geschlossen
  1. #1
    User Pic
    wut Mitglied
    Registriert seit
    01.02.2006
    Beiträge
    289
    Beitragswertungen
    0 Beitragspunkte
    Hallo zusammen,

    gibt es eine Funktion die mir es ermöglicht das ich eine Info bekomme wenn einer seine Daten im Profil ändert?
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.638
    Beitragswertungen
    1193 Beitragspunkte
    Funktion nicht, aber man könnte zur wd Info in profil_edit eine PM an eine feste ID senden!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    wut Mitglied
    Registriert seit
    01.02.2006
    Beiträge
    289
    Beitragswertungen
    0 Beitragspunkte
    tja und wie?!
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    MaddinXx Mitglied
    Registriert seit
    15.02.2007
    Beiträge
    787
    Beitragswertungen
    40 Beitragspunkte
    Naja ich will mich nicht gross einmischen, aber ich frage es immer wieder wie es Leute schaffen, eine solche Arroganz an den Tag zu legen.

    Da deutet Lord einen Lösungsvorschlag an, den er später sicher auch gerne umsetzen wird (hilft ja immer gerne :)) und da kommt der wut und postet so einen, meiner Meinung nach fast schon frechen Beitrag....
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.638
    Beitragswertungen
    1193 Beitragspunkte
    Suche in profil_edit.php nach:

    # definie and print msg
    $fmsg = ( isset($fmsg) ? $fmsg : $lang['changesuccessful'] );
    wd('?user-8' , $fmsg  , 10 );


    ändere es in:

    	# definie and print msg
    	$fmsg = ( isset($fmsg) ? $fmsg : $lang['changesuccessful'] );
    	// Info per PM
    	$eid = '1'; 							# EmpfängerID der automatischen Nachrichten
    	$inforecht = '-3'; 						# [-9 Admin, -8 CoAdmin, -7 SiteAdmin, -6 Leader, -5 CoLeader, -4 Member, -3 Trialmember, -2 Superuser, -1 User, 0 Gast]
    	//
    	$name = @db_result(db_query("SELECT name FROM prefix_user WHERE id = ".$_SESSION['authid']),0);
    	$recht = @db_result(db_query("SELECT recht FROM prefix_user WHERE id = ".$_SESSION['authid']),0);
    	$betreff = 'Ich habe mein Profil geändert';
    	$text = '\n[u]Automatisch gesendete Nachricht:[/u]\n\n[b]'.$name.'[/b] hat sein Profil geändert!\n[url=/index.php?user-details-'.$_SESSION['authid'].']Profil ansehen[/url] | [url='.$website.'/index.php?forum-privmsg-new=0&empfid='.$_SESSION['authid'].']Nachricht senden[/url]\n\n';
    	if ($recht <= $inforecht) { sendpm ($_SESSION['authid'],$eid,$betreff,$text,0); }
    	//
    	wd('?user-8' , $fmsg  , 10 );


    Sollte funktionieren! Beschreibung dabei!


    Zuletzt modifiziert von Lord|Schirmer am 21.06.2010 - 22:16:59
    rules :: doku :: faq :: linkus
    3 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    MagistYata Mitglied
    Registriert seit
    22.12.2007
    Beiträge
    861
    Beitragswertungen
    6 Beitragspunkte
    Hey Lord, das ist mal wieder ein fettes Danke angesagt. Ich habe den Code zwar noch nicht eingefügt, aber es erleichtert uns eine Menge Arbeit. Vielen Dank dafür. +3
    Streß ist Lebensdiebstahl
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    MagistYata Mitglied
    Registriert seit
    22.12.2007
    Beiträge
    861
    Beitragswertungen
    6 Beitragspunkte
    So habe das heute getestet. Die PN kommt an, aber sobal einer sein Profil geändert hat zerreißt es das Design. Mann muss dann die Seite zu machen und sie nochmals öffnen.
    Hier mein Code dazu (zumindest der untere Teil:
    	  
        // Design save 
    	    $_SESSION['authgfx'] = $_POST['template'];	  
     
    	# change other profil fields
    
        profilefields_change_save ( $_SESSION['authid'] );
    	$design->header();
    	
    	# definie and print msg
        $fmsg = ( isset($fmsg) ? $fmsg : $lang['changesuccessful'] );
        // Info per PM
        $eid = '122';                             # EmpfängerID der automatischen Nachrichten
        $website = 'http://www.oskorei.de';     # Domain der WebSite, für Verlinkungen im Text
        $inforecht = '-3';                      # [-9 Admin, -8 CoAdmin, -7 SiteAdmin, -6 Leader, -5 CoLeader, -4 Member, -3 Trialmember, -2 Superuser, -1 User, 0 Gast]
        //
        $name = @db_result(db_query("SELECT name FROM prefix_user WHERE id = ".$_SESSION['authid']),0);
        $recht = @db_result(db_query("SELECT recht FROM prefix_user WHERE id = ".$_SESSION['authid']),0);
        $betreff = 'Ich habe mein Profil geändert';
        $text = '\n[u]Automatisch gesendete Nachricht:[/u]\n\n[b]'.$name.'[/b] hat sein Profil geändert!\n[url='.$website.'/index.php?user-details-'.$_SESSION['authid'].']Profil ansehen[/url] | [url='.$website.'/index.php?forum-privmsg-new=0&empfid='.$_SESSION['authid'].']Nachricht senden[/url]\n\n';
        if ($recht <= $inforecht) { sendpm ($_SESSION['authid'],$eid,$betreff,$text,0); }
        //
        wd('?user-8' , $fmsg  , 10 );
    
    }
    
    } else {
    		$tpl = new tpl ( 'user/login' );
    		$tpl->set_out('WDLINK', '?user-8', 0);
    }
    
    $design->footer();
    ?>
    Streß ist Lebensdiebstahl
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.638
    Beitragswertungen
    1193 Beitragspunkte
    Hhm... in dem Abschnitt kann ich kein Fehler erkennen! Bei mir funzt es bestens! Der Code hat eigentlch keine Auswirkung auf das Design, zufällig noch was geändert?
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    wut Mitglied
    Registriert seit
    01.02.2006
    Beiträge
    289
    Beitragswertungen
    0 Beitragspunkte
    so wieder zurück aus dem Hospital

    @Lord|Schirmer

    danke für die Hilfe werde ich versuchen zum umsetzte, bin aber nicht Code sicher

    @MaddinXx

    wenn du mich kennen würdest würdest du wissen das ich es NICHT böse oder anderes gemeint habe.

    ich weis sehrwohl eure Arbeit zu schätzten

    denke mir halt nur kurze Fragen - schnelle Antworten

    war nicht böse gemeint
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.638
    Beitragswertungen
    1193 Beitragspunkte
    OK! Ich hoffe nichts Ernstes!

    Teste mal ob bei Dir alles problemlos funktioniert!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    wut Mitglied
    Registriert seit
    01.02.2006
    Beiträge
    289
    Beitragswertungen
    0 Beitragspunkte
    es geht wieder, danke der Nachfrage,

    bevor ich das versuche (was ich mit Sicherheit nicht hinbekomme) muss ich meine Seite ers kpl. neu machen.

    Ich hoffe du bist noch länger hier weil das wird mit Sicherheit 1 Woche dauern, würde dich dann nochmals anschreiben, wenn ich darf?
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.638
    Beitragswertungen
    1193 Beitragspunkte
    Kein Problem, dann einfach Post 5 befolgen!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Akira Mitglied
    Registriert seit
    25.01.2007
    Beiträge
    1.369
    Beitragswertungen
    1 Beitragspunkte
    is doch viel zu umständlich

    lass nen timestamp ins profil eintragen beim bearbeiten

    und dann mach im admin bereich ne übersicht letzte 5 profile
    bzw geht auch als box
    externer Link Visit Us zwinker
    Neue Scripte: JQuery Login usw... Turnier(externer Link Multi-Bewertung, Refferer, Forum Upload, E-Mail login
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.638
    Beitragswertungen
    1193 Beitragspunkte
    Viele Wege führen nach Rom! Ist aber eine gute Idee!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Akira Mitglied
    Registriert seit
    25.01.2007
    Beiträge
    1.369
    Beitragswertungen
    1 Beitragspunkte
    ZitatZitat geschrieben von Lord|Schirmer

    Viele Wege führen nach Rom! Ist aber eine gute Idee!


    Danke lachen

    und klar man kanns auch über ne pm funktion machen *FG*
    externer Link Visit Us zwinker
    Neue Scripte: JQuery Login usw... Turnier(externer Link Multi-Bewertung, Refferer, Forum Upload, E-Mail login
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    wut Mitglied
    Registriert seit
    01.02.2006
    Beiträge
    289
    Beitragswertungen
    0 Beitragspunkte
    @Lord|Schirmer


    irgendwie funktioniert es nur bei mir selbst?!

    ich bräuchte diese Funktion aber wenn die Member bei sich was ändern das der hauptadmin eine Info bekommt und das kontrolliert was sie eintragen?

    also egal wer was im profil ändert der hauptadmin wird informiert
    das wäre das was ich bräuchte - bitte

    weil jetzt bekomme ich nur infos wenn ein member oder noch höher was ändert.
    habs hinbekommen mußte nur die Zahl ändern

    so nun die nächste frage (ich hoffe ihr hasst mich noch nicht)

    wäre es möglich anzeigen zu lassen was geändert wurde?

    und das wichtigste wie kann ich dem Code sagen an wenn er die MSG schicken soll?
    Zuletzt modifiziert von wut am 20.06.2010 - 00:32:08
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.638
    Beitragswertungen
    1193 Beitragspunkte
    ZitatZitat geschrieben von wut

    ...und das wichtigste wie kann ich dem Code sagen an wenn er die MSG schicken

    ...hä? Ich hab doch alles beschriftet!

    Das man herausfindet was geändert wird bedeutet ein weit größeren Eingriff, da erst alle eingegebenen Daten mit den vorhandenen verglichen werden müssten!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    wut Mitglied
    Registriert seit
    01.02.2006
    Beiträge
    289
    Beitragswertungen
    0 Beitragspunkte
    @Lord|Schirmer

    habs gefunden, naja lesen war noch nie meine Stärke
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    MagistYata Mitglied
    Registriert seit
    22.12.2007
    Beiträge
    861
    Beitragswertungen
    6 Beitragspunkte
    Könnte man das ganze auch so einstellen, dass man sieht was der User geändert hat? Bild, Profilfeld usw.
    Streß ist Lebensdiebstahl
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.638
    Beitragswertungen
    1193 Beitragspunkte
    Grundsätzlich ja, bedeutet aber etwas aufwand!

    Mann müsste vor dem Update der Tabelle, die vorhandenen Daten der Tabelle mit den zu updatenden Daten vergleichen und die unterschiedlichen Daten dann erfassen!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    MagistYata Mitglied
    Registriert seit
    22.12.2007
    Beiträge
    861
    Beitragswertungen
    6 Beitragspunkte
    Hab ich mir schon gedacht. Da müsste wahrscheinlich ein weiteres Feld in der Datenbank angelegt werden, dass bei einem Profilupdate die Daten dorthin kopiert und sie dann mit den geänderten Daten der "Original DB" vergleicht.

    Dann lassen wir das mal. Danke Lord.
    Streß ist Lebensdiebstahl
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.638
    Beitragswertungen
    1193 Beitragspunkte
    Naja die Datenbank bräuchte nicht unbedingt verändert werden, da ja die alten Daten noch vorhanden und die neuen per Post ausgelesen vorliegen! Diese könnten noch vor UPDATE verglichen werden!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    MagistYata Mitglied
    Registriert seit
    22.12.2007
    Beiträge
    861
    Beitragswertungen
    6 Beitragspunkte
    Hi Lord,
    vielleicht kannst Du mir hier auch nochmal helfen.

    Hat nur indirekt etwas mit dem Post zu tun, wollte aber nicht extra einen neuen Thread aufmachen.

    Mein Problem.
    Es soll ein Eintrag in die History gemacht werden, wenn bei jemanden die Rechte von -1,-2,-3 auf höhere Rechte -4 bis -9 in der Userverwaltung eingestellt werden.

    Dazu habe ich folgenden Code in die admin/user.php geschrieben, der einfach nicht funktionieren will.

     # das recht eines users aendern
      case 'changeRecht' :
       
        $uid  = $menu->get(2);
    	$name = db_result(db_query("SELECT name FROM prefix_user WHERE id = ".$uid),0);
        $altes_recht = db_result(db_query("SELECT recht FROM prefix_user WHERE id = ".$uid),0);
        $neues_recht = escape($_GET['newr'], 'integer');
        if (($neues_recht > $_SESSION['authright'] AND $altes_recht > $_SESSION['authright']) OR ($_SESSION['authid'] == 1 AND $uid <> 1)) {
          $q = "UPDATE prefix_user SET recht = ".$neues_recht." WHERE id = ".$uid;
          db_query($q);
       
      # Ab hier meine Änderungen 
    	$membercreatetime = time();
    	$hispic		=  '../include/images/history/newmember.png';  # Hier bitte den festen Pfad für dein "Neues Team" Bild eingeben
    	$txt		=	'Wir begrüssen ein neues Mitglied. Herzlich Willkommen  [color=#00FF00]'.$name. '[/color]'; 
       
        if ( $_SESSION['authright'] <= -4 ) {  # Wenn Recht geändert, dann Eintrag in History
        $title		= 'Neues Mitglied beigetreten';
      } else {$title='';
    	
    	db_query("INSERT INTO prefix_history  (date, title, hispic, txt ) VALUES (FROM_UNIXTIME(".$membercreatetime."),'".$title."','".$hispic."','".$txt."')");
    	}
       # Änderungen Ende
    Streß ist Lebensdiebstahl
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.638
    Beitragswertungen
    1193 Beitragspunkte
    Warum arbeitest Du mit $_SESSION['authright'], dass ist ja das Recht der Person, welche die Änderung getätigt hat!

    if ($altes_recht != $neues_recht AND $neues_recht <= -4)
    ...wäre für mich wenn das Recht geändert wurde und <= -4 ist.

    und deine Texte und Title usw. müssten auch noch angepasst werden!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  25. #25
    User Pic
    MagistYata Mitglied
    Registriert seit
    22.12.2007
    Beiträge
    861
    Beitragswertungen
    6 Beitragspunkte
    Habe ich jetzt eingefügt und es geht immer noch nicht. Wo liegt mein Denkfehler?

    case 'changeRecht' :
        $uid  = $menu->get(2);
    	$membercreatetime = time();
    	$hispic		=  '../include/images/history/newmember.png';  # Hier bitte den festen Pfad für dein "Neues Team" Bild eingeben
    	
        $altes_recht = db_result(db_query("SELECT name, recht FROM prefix_user WHERE id = ".$uid),0);
    	
       if ($altes_recht != $neues_recht AND $neues_recht <= -4)  {  # Wenn Recht geändert, dann Eintrag in History
           $title		= 'Neues Mitglied beigetreten';
      }
    	$txt		=	'Wir begrüssen ein neues Mitglied. Herzlich Willkommen  [color=#00FF00]'.$name. '[/color]'; 
    	$neues_recht = escape($_GET['newr'], 'integer');
        if (($neues_recht > $_SESSION['authright'] AND $altes_recht > $_SESSION['authright']) OR ($_SESSION['authid'] == 1 AND $uid <> 1)) {
          $q = "UPDATE prefix_user SET recht = ".$neues_recht." WHERE id = ".$uid;
          db_query($q);
      
       db_query("INSERT INTO prefix_history  (date, title, hispic, txt ) VALUES (FROM_UNIXTIME(".$membercreatetime."),'".$title."','".$hispic."','".$txt."')");
    	}
    Streß ist Lebensdiebstahl
    0 Mitglieder finden den Beitrag gut.
  26. #26
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    $altes_recht = db_result(db_query("SELECT name, recht FROM prefix_user WHERE id = ".$uid),0);


    In altes_recht wird der name geschrieben und nicht das Recht, wenn du den Namen auch brauchst, dann mach

    list($alter_name, $altes_recht) = db_fetch_row(db_query("SELECT name, recht FROM prefix_user WHERE id = ".$uid),0);


    Ansonsten name, wieder aus der Abfrage entfernen.

    Weiter wird bei dir $neues_recht erst nach dem Vergleich definiert, oder wird es überschrieben? Auf jeden Fall muss es für die Bedingungsabfrage schon existieren!

    In Zeile 166 ists dann z.B. definiert. Weiter könntest du in der INSERT für deine History einfach NOW() für date verwenden, und überhaupt alles was für die Abfrage erst erstellt wird auch in die If-Block schieben, weil es erst dort benötigt wird, dann hast du auch das Problem mit der Existenz von $altes_recht nicht.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  27. #27
    User Pic
    MagistYata Mitglied
    Registriert seit
    22.12.2007
    Beiträge
    861
    Beitragswertungen
    6 Beitragspunkte
    Danke euch beiden. Konnte es realisieren.
    Streß ist Lebensdiebstahl
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten