ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Verwarnungen in Loginbox einfügen

Geschlossen
  1. #1
    User Pic
    tcrack Mitglied
    Registriert seit
    31.07.2011
    Beiträge
    46
    Beitragswertungen
    0 Beitragspunkte
    Hallo an das Forum, mit dem auch Neulinge mit Respekt behandelt werden (habe kein anderes gefunden, in dem das so ist wie hier ;-) )

    Zur Frage:

    Bin gerade dabei, mir eine Webseite mit eurem Clan-Script zu erstellen, jetzt würde ich gerne die Loginbox erweitern um dort die Verwarnstufe aus dem Punktesystem einfügen.

    Ist das möglich und wenn ja, wie macht man das ?

    Danke für euer Antworten :-)
    Thomas


    verwendete ilchClan Version: 1.1 O
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Ui da nutzt wer mein Modul zunge

    du musst sie aus der Datenbank abfragen und ausgeben. hab zur zeit das modul nicht zur hand ich meine ich hatte auch ne funktion dafür geschrieben. schau mal im Forum da wird sie ausgegeben.
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    tcrack Mitglied
    Registriert seit
    31.07.2011
    Beiträge
    46
    Beitragswertungen
    0 Beitragspunkte
    Danke für den Tipp, falls ich es nicht hinbekomme, darf ich mich sicherlich noch einmal melden ;-)

    Gruß Thomas
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Nein die freien fragen sind jetzt aufgebrauch du hast schon zwei gestellt ^^
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    1 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    tcrack Mitglied
    Registriert seit
    31.07.2011
    Beiträge
    46
    Beitragswertungen
    0 Beitragspunkte
    Grins

    Also ich habe in die boxen_login.htm {verw} eingetragen und was trage ich in die /include/boxes/login.php ein ?

    
    <?php 
    #   Copyright by Manuel Staechele
    #   Support www.ilch.de
    #   Mod by: BöhserDavid
    #   Support: www.baduncles.de
    
    defined ('main') or die ( 'no direct access' );
    ## IP Mod
    $delt = time()-86400;
    db_query('DELETE FROM `prefix_ipsperre` WHERE date < "'.$delt.'"');
    ## IP Mod
    
    $tpl = new tpl ( 'user/boxen_login.htm' );
    
    if ( loggedin() ) {
      
      if ( user_has_admin_right($menu,false) ) {
        $tpl->set ( 'ADMIN', '<a class="box" href="admin.php?admin">'.$lang['adminarea'].'</a>' );
      } else {
        $tpl->set ( 'ADMIN', '' );
      }
    	  if ( $allgAr['Fpmf'] == 1 ) {
    		  $erg = db_query("SELECT COUNT(id) FROM `prefix_pm` WHERE gelesen = 0 AND status < 1 AND eid = ".$_SESSION['authid']);
    			$check_pm = db_result($erg,0);
    			$nachrichten_link = '<a class="box" href="index.php?forum-privmsg">'.$lang['messages'].'</a>&nbsp;('.$check_pm.')<br>';
    		} else {
    		  $nachrichten_link = '';
    		}
    		
    		$tpl->set ( 'SID' , session_id() );
    		$tpl->set ( 'NACHRICHTEN' , $nachrichten_link );
    		$tpl->set ( 'NAME', $_SESSION['authname'] );
                    $tpl->set ( 'POPUP', check_for_pm_popup() );
    
                    $tpl->set ( 'LASTLOGIN', date('d.m.Y H:i', $_SESSION['lastlogin']) );
    $tpl->set ( 'ugallery', '<a href="index.php?user-gallery-' . $_SESSION['authid'] . '">Mitgliederliste</a>' );
    
    
    
    
        $tpl->out (0);		
    } else {
      if (empty($_POST['login_name'])) { $_POST['login_name'] = 'Mitgliedsnummer'; }
    	if (empty($_POST['login_pw'])) { $_POST['login_pw'] = 'Passwort'; }
    	$regist = '';
    	if ( $allgAr['forum_regist'] == 1 ) {
    	  $regist = ' ';
    	}
    	## IP Mod
    	$ip = db_fetch_assoc(db_query("SELECT * FROM `prefix_ipsperre` WHERE ip = '".getip()."'"));
      if($ip['try'] >= 5){
       $loginbutton = 'Login Closed';
      }else{
       $loginbutton = '<input type="submit" name="user_login_sub" value="Login" style="margin-top:5px; " >';
      }
    	## IP Mod
    	$tpl->set_ar_out ( array ( 'LOGINBUTTON' => $loginbutton, 'regist' => $regist, 'wdlink' => '?'.$allgAr['smodul'], 'PASS' => $_POST['login_pw'], 'NAME' 
    
    => $_POST['login_name'] ) , 1 );
    }
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Ich verweis mal auf

    externer Link

    den passenden php teil solltest du in der show_post.php finden
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    tcrack Mitglied
    Registriert seit
    31.07.2011
    Beiträge
    46
    Beitragswertungen
    0 Beitragspunkte
    Danke für deine schnelle Antwort, aber ich glaube, das hat sich erledigt, das ist wohl doch etwas ZU schwer für mich.

    Gruß Thomas
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Eigentlich musst du nur nach einem Punkt suchen.
    Und zwar, wie man mit dem ilch Template System eine Variable setzt.

    $tpl->set('verw','Ilch ist COOL');

    das würde zum Beispiel "ilch ist COOL" schreiben.

    ...

    Nun fehlt nur noch die Abfrage, sprich du brauchst eine SQL Abfrage.
    Ebenfalls keine Zauberrei lachen

    $verwarnungen = db_result(db_query("SELECT XXXXX FROM prefix_YYYYYY WHERE UUUUU"),0);

    Das einzige Problem ist, ich kenne die Datenbankstruktur von Rock@Wulfs Modul nicht, daher kann ich die XXXX, YYYYY und UUUUU nicht ausfüllen.

    Aber auch das kannst du heraus bekommen, dazu musst du in PHPmyAdmin den Ort suchen, wo die Verwarnungen gespeichert werden.

    yyyy ist der Name der Datenbank z.B. ic1_Verwarnungen (ic1_ wird durch prefix_ ersetzt)

    xxxxx ist das feld, innerhalb dieser Tabelle.

    Und das Where brauchst du um den User zu finden.



    Zuletzt modifiziert von Revolution am 24.05.2013 - 21:36:06
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    $verwarnungen = db_result(db_query("SELECT fwarn FROM prefix_user WHERE id=".escape($_SESSION['authid'],'integer')),0);
    $ort=0; #0 für Bildausgabe; 1 für Plaintext
    $verwarnstufe=verwarnstu($verwarnungen,$ort); 
    $tpl->set('verw',$verwarnstufe);
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    1 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    tcrack Mitglied
    Registriert seit
    31.07.2011
    Beiträge
    46
    Beitragswertungen
    0 Beitragspunkte
    Danke Danke :-)

    habe es den ganzen Abend versucht, ohne Erfolg :-(

    Dann kommt Rock@wulf und verhilft mir doch noch zu einen geruhsamen Schlaf

    zwinker

    Auch einen Herzlichen Dank an Revolution.
    Habe durch die Anleitung viel dazu gelernt :-)

    Eine echt tolle Hilfe

    Gruß
    Thomas
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    tcrack Mitglied
    Registriert seit
    31.07.2011
    Beiträge
    46
    Beitragswertungen
    0 Beitragspunkte
    Hallo in die Runde ==> Hallo Rock@wulf,

    noch ein kleine Frage: ist es möglich, dass wenn der Admin die Punkte (Bonus) eines User erhöht oder verringert, eine Automatische E-Mail an diesen User zu versenden ?

    Habe hier im Forum leider keinen Hinweis darauf gefunden :-(

    Gruß und Danke
    Thomas
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    tcrack Mitglied
    Registriert seit
    31.07.2011
    Beiträge
    46
    Beitragswertungen
    0 Beitragspunkte
    Jubel Jubel, habe es selber hin bekommen :-)

    Eigentlich ganz einfach:

    In der admin/bonus.php

    nach
    $altepoints=@db_result(db_query("SELECT cpoints FROM prefix_user WHERE id = ".$menu->getE(2)),0);


    folgendes einfügen:

    $betreff = 'Betreff.......';
    $text = 'Nachicht.....';
    $erg = db_query('SELECT id FROM prefix_user WHERE recht <= -4');
    while ($row = db_fetch_object($erg)) {
        sendpm ($_SESSION['authid'],$row->id,$betreff,$text,0);
    }


    ;-)
    Gruß Thomas


    ============> Jetzt habe ich aber den Bock geschossen <=========

    Obwohl ich nur bei einem User den Punktestand geändert habe, haben alle Member (Recht -4) eine PM bekommen:S
    Was muss ich ändern , damit nur der eine User, dem die Punkte verändert wurden eine PM bekommt ?

    Thomas


    Zuletzt modifiziert von tcrack am 27.05.2013 - 23:58:54
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Das ist ja ganz klar, deine SQL Abfrage
     >> $erg = db_query('SELECT id FROM prefix_user WHERE recht <= -4');

    besorgt sich alle id bei den das Feld recht den Wert -4 hat, und das sind natürlich mehr als nur der eine User lachen

    Was du brauchst ist die User ID, des Users lachen (also etwas eindeutiges)

    Die hast du evt in der URL etc.
    Um dir da aber Helfen zu können, müsstest du einmal den gesamten Quellcode Posten.


    Zuletzt modifiziert von Revolution am 28.05.2013 - 20:00:51
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    tcrack Mitglied
    Registriert seit
    31.07.2011
    Beiträge
    46
    Beitragswertungen
    0 Beitragspunkte
    Danke, dass du mir Helfen möchtest :-)

    Hier die admin/bonus.php

    <?php
    #   Copyright by: Manuel Staechele
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    defined ('admin') or die ( 'only admin access' );
    $design = new design ( 'Admins Area', 'Admins Area', 2 );
    $design->header();
    
    $tpl = new tpl ( 'bonus.htm', 1 );
    if ( $menu->getA(1) == 'r' ) {
    if ($menu->getA(2) == 's'){
    $altepoints=@db_result(db_query("SELECT cpoints FROM prefix_user WHERE id = ".$menu->getE(2)),0);
    if($_POST['faktor']==1){
    	$neuepoints = $altepoints - $_POST['points'];
    } elseif($_POST['faktor']==2) {
    	$neuepoints = $altepoints + $_POST['points'];
    }
    $sql="UPDATE `prefix_user` SET cpoints=".$neuepoints." WHERE id = ".$menu->getE(2);
    db_query($sql);
    wd('admin.php?bonus','Erfolgreich geändert',3);
    } else {
    $name=@db_result(db_query("SELECT name FROM prefix_user WHERE id = ".$_POST['uid']),0);
    $points=@db_result(db_query("SELECT cpoints FROM prefix_user WHERE id = ".$_POST['uid']),0);
    if(empty($points)){
    $points=0;
    }
    $ar = array (
    	'UID' => $_POST['uid'],
    	'NAME' => $name,
    	'POINTS'  => $points
    	);
    $tpl->set_ar_out($ar,1);
    }
    } else {
    $tpl->set('users', dbliste('',$tpl,'users',"SELECT id, name FROM prefix_user ORDER BY name") );
    $tpl->out(0);
    $tpl->out(2);
    $erg = db_query("SELECT id, name, cpoints FROM prefix_user WHERE cpoints<=-40 AND cpoints>=-51");
    while ($row = db_fetch_object($erg)) {
    $aus['USER']=$row->name ;
    $aus['POINTS']=$row->cpoints ;
    $aus['GAMES']=getteams($row->id);
    $tpl->set_ar_out($aus,3);
    }
    $tpl->out(4);
    $erg = db_query("SELECT name, cpoints FROM prefix_user WHERE cpoints<=-60");
    while ($row = db_fetch_object($erg)) {
    $aus['USER']=$row->name ;
    $aus['POINTS']=$row->cpoints ;
    $tpl->set_ar_out($aus,5);
    }
    $tpl->out(6);
    $erg = db_query("SELECT name, cpoints FROM prefix_user ORDER BY cpoints DESC");
    while ($row = db_fetch_object($erg)) {
    $aus['USER']=$row->name ;
    $aus['POINTS']=$row->cpoints ;
    $tpl->set_ar_out($aus,7);
    }
    $tpl->out(8);
    }
    $design->footer();
    ?>


    Gruß und dank
    Thomas
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Wenn ich helfen kann, dann natürlich gerne lachen

    Hab es jetzt nur kurz überflogen, folgende Änderung sollten dir helfen lachen
    In deinem SQL Query

    $erg = db_query(\'SELECT id FROM prefix_user WHERE recht <= -4\');


    müsstest du das WHERE in folgendes anpassen: Where id = \".$menu->getE(2)

    Das sollte dann folgendes ergeben:

    $erg = db_query(\'SELECT id FROM prefix_user WHERE id = \".$menu->getE(2).\"\');






    >> Erklärung der getE Funktion und weitere Informationen zum Menu-Objekt (der Vollständigkeit halber):D
    externer Link : Abschnitt 3

    ZitatZitat
    es gibt dann noch die Funktionen getA und getE wobei getA das ersetze Zeichen des Parameters der gefordert wurde zurückgibt und getE alles nach dem ersten Zeichen ich habe diese Funktionen verwendet um z.B. folgendes zu machen:

    String:

    index.php?membermap-p2

    if ($menu->getA(1) == \'p\') {
    $page = $menu->getE(1);
    }
    echo $page;
    würde jetzt 2 ausgeben. ;-) zu beachten ist noch das getE ein Intervall auf den Rückgabewert anwendet also den Rückgabewert in eine Zahl umwandelt.
    Vielleicht einfach mal mit der Klasse ein paar Minuten spielen, sollte aber einigermaßen klar sein hoffe ich.



    Zuletzt modifiziert von Revolution am 29.05.2013 - 00:31:59
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    tcrack Mitglied
    Registriert seit
    31.07.2011
    Beiträge
    46
    Beitragswertungen
    0 Beitragspunkte
    Hi, leider keine Funktion, aber auch keine Fehlermeldung.

    $betreff = 'Betreff.......';
    $text = 'Nachicht.....';
    $erg = db_query('SELECT id FROM prefix_user WHERE id = ".$menu->getE(2)."');
    while ($row = db_fetch_object($erg)) {
        sendpm ($_SESSION['authid'],$row->id,$betreff,$text,0);
    }


    noch eine Idee ?

    währe echt Dankbar ;-)

    Gruß Thomas
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Stimmt, es ist ja auch recht Sinnlos.
    lachen

    In der Variable $menu->getE(2) ist ja bereits die User ID (sollte zumindest),
    du kannst dir also die Datenbankabfrage sparen.
    Mit der ID in die DB und die id zurückgeben ..... *nicht so schlau*

    sendpm ($_SESSION['authid'],$menu->getE(2),$betreff,$text,0);
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    tcrack Mitglied
    Registriert seit
    31.07.2011
    Beiträge
    46
    Beitragswertungen
    0 Beitragspunkte
    Danke, das du so spät noch antwortest, aber das ist echt Verhext, lese schon den ganzen Tag im Forum und in den Anleitungen.

    Es klappt weder mit:

    $betreff = 'Betreff.......';
    $text = 'Nachicht.....';
    $erg = db_query('SELECT id FROM prefix_user WHERE id = ".$menu->getE(2)."');
    while ($row = db_fetch_object($erg)) {
        sendpm ($_SESSION['authid'],$menu->getE(2),$betreff,$text,0);
    }


    noch mit :

    noch mit:
    
    $betreff = 'Betreff.......';
    $text = 'Nachicht.....';
    while ($row = db_fetch_object($erg)) {
        sendpm ($_SESSION['authid'],$menu->getE(2),$betreff,$text,0);
    }


    Kopfkratz zunge
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    tcrack Mitglied
    Registriert seit
    31.07.2011
    Beiträge
    46
    Beitragswertungen
    0 Beitragspunkte
    Habe dich Missverstanden, du meintest natürlich die gesamte Abfrage also:

    $betreff = 'Betreff.......';
    $text = 'Nachicht.....';
    sendpm ($_SESSION['authid'],$menu->getE(2),$betreff,$text,0);



    So klappt es natürlich.

    Großen Aufrichtigen DANK :-)
    Wie schon gesagt "echt klasse hier"

    Gruß Thomas
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    ah, kleiner fehler in deinem Code lachen
    $betreff = 'Betreff.......';
    $text = 'Nachicht.....';
    sendpm ($_SESSION['authid'],$menu->getE(2),$betreff,$text,0);
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten