ilch Forum » Ilch Clan 1.1 » Allgemein » JoinUs ändern PN total durcheinander!

Geschlossen
  1. #1
    User Pic
    Baujahr73 gelöschter User
    Hallo liebe Ilchler,

    ich versuche gerade das JoinUs zu ändern, bin auch soweit gut voran gekommen, habe da aber nun ein Problem mit der Privaten Nachricht die man bekommt, Siehe Text..

    ---------------------------------------------------------------------------
    Hallo,
    Azrahel möchte test beitreten.

    Folgende Angaben hat er gemacht:
    Skill: abc
    eMail:
    Wohnort: schlecht
    Alter: ironman905
    Waffe: AK-47
    Fav.Map: Broadcast
    Grund:12345@6789.de
    Erwartung:

    Er hat die Regeln akzeptiert: Bremen

    Wurde direkt als User registriert: 120
    Wenn dort nein steht dann war er zum Zeitpunkt der Anfrage schon User.

    Im Adminmenu unter Teams kannst du ihn freischalten, oder die Anfrage löschen. Wenn er als User registriert wurde, muss er die Registrierung jenach Einstellung erst bestätigen.

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

    Wie ihr sehen könnt ist die PN sehr durcheinander und ich bekomme das mit der Reihenfolge nicht hin!

    Hier die php´s und html die ich bearbeitet habe..


    <?php
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    defined ('main') or die ( 'no direct access' );
    //-----------------------------------------------------------|
    
    $title = $allgAr['title'].' :: Joinus';
    $hmenu = 'Joinus';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    if ( 0 == db_count_query("SELECT COUNT(*) FROM prefix_groups WHERE show_joinus = 1") ) {
    	echo $lang['noteamthere'];
    	$design->footer();
    	exit ();
    }
    
    $skill_ar = array (
      1 => $lang['verybad'],
      2 => $lang['bad'],
    	3 => $lang['middle'],
    	4 => $lang['good'],
    	5 => $lang['verygood'],
    );
    
    $far = array (
    		'name',
    		'ingamename',
    		'skill',
    		'steamid',
    		'favweapon',
    		'favmap',
    		'mail',
    		'age',
    		'hometown',
    		'squad',
    		'ground',
    		'expectation',
        'rules'
    	);
    $x = 0;
    foreach ($far as $v) {
    	if (!empty($_POST[$v])) {
    		$$v = escape($_POST[$v], 'string');
    		$x++;
    	} else {
    		$$v = '';
    	}
    }
    
    $xname = escape_nickname($name);
    $ch_name = false;
    if (loggedin()) {
      $ch_name = true;
    } elseif (isset($_POST['sub']) AND $name == $xname AND !empty($name)
       AND 0 == db_result(db_query("SELECT COUNT(*) FROM prefix_user WHERE name = BINARY '".$name."'"),0)) {
      $ch_name = true;
    }
    
    if (count($far) <> $x OR $ch_name == false OR !chk_antispam('joinus')) {
    	$tpl = new tpl ( 'joinus.htm' );
    	$skill  = arlistee ($skill, $skill_ar);
    	$squad  = '<option value="0">choose</option>';
      $squad .= dblistee ($squad, "SELECT id,name FROM prefix_groups WHERE show_joinus = 1 ORDER BY pos");
      if (loggedin()) { $name = $_SESSION['authname']; }
      foreach($far as $v) {
    		if ($x > 0 AND empty($_POST[$v])) {
    			echo 'missing: '.$lang[$v].'<br />';
    		}
    		$tpl->set ($v, $$v);
    	}
      if ($x > 0 AND $name != $xname) {
        echo $lang['wrongnickname'].'<br />';
      } elseif ($x > 0 AND $ch_name == false) {
        echo $lang['namealreadyinuse'].'<br />';
      }
      $name = $xname;
      $tpl->set('readonly', (loggedin()?' readonly': ''));
    	$tpl->out(0);
    	if ($allgAr['joinus_rules'] != 1) {
        $tpl->out(1);
      } else { 
        $rules = '<h2>'.$lang['rules'].'</h2>';
        $rerg = db_query('SELECT zahl,titel,text FROM `prefix_rules` ORDER BY zahl');
        while ($rrow = db_fetch_row($rerg)) {
                $rules .= '<table width="100%" border="0" cellpadding="5" cellspacing="1" class="border">';
                $rules .= '<tr class="Cmite"><td><b>&sect;'.$rrow[0].'. &nbsp; '.$rrow[1].'</b></td></tr>';
                $rules .= '<tr class="Cnorm"><td>'.bbcode($rrow[2]).'</td></tr>';
                $rules .= '</table><br />';
        }
        $rules .= '<input type="checkbox" name="rules" value="'.$lang['yes'].'" />'.str_replace(array('<a target="_blank" href="index.php?rules">','</a>'),'',$lang['rulzreaded']).'<br />';     
        $tpl->set_out('RULES',$rules,2);
      }
      $tpl->set('ANTISPAM', get_antispam('joinus', 100));
      $tpl->out(3);
    } else { # eintragen
      
      $name = $xname;
    	$userreg = $lang['no'];
      if (!loggedin() AND $allgAr['forum_regist'] <> 0) {
        $x = user_regist ($name,$mail,genkey(8));
        $userreg = $lang['yes'];
      }
    
      db_query("INSERT INTO prefix_usercheck (`check`,name,datime,ak,groupid) VALUES ('".genkey(8)."','".$name."',NOW(),4,$squad)");
    
      $squad = escape($squad, 'integer');
    	$abf   = "SELECT `mod1`, `mod2`, `mod4`, name FROM prefix_groups WHERE id = ".$squad;
    	$erg   = db_query($abf);
    	$row   = db_fetch_assoc($erg);
      $rulz  = (isset($_POST['rules'])?$_POST['rules']:$lang['no']);
      $skill = $skill_ar[$skill];
      
      # bitte in der richtigen reihenfolge angeben, sonst das nicht gehen tun, kann.
      $mailtxt = sprintf ($lang['joinusprivmsg'],
        $name,
        $row['name'],
    	$ingamename,
    	$row ['ingamename'],
        $skill,
    	$steamid,
    	$favweapon,
    	$favmap,
        $mail,
        $hometown,
        $age,
        $ground,
    	$expectation,
        $rulz,
        $userreg
      );
      
      # pm an den leader  
    	sendpm ($_SESSION['authid'], $row['mod1'], 'Joinus Anfrage',$mailtxt, -1);
      # Wenn Co Leader != Leader
    	if ($row['mod2'] != $row['mod1']){
    		sendpm ($_SESSION['authid'], $row['mod2'], 'Joinus Anfrage',$mailtxt, -1);
    	}
    	if ($row['mod4'] != $row['mod1'] AND $row['mod2'] != $row['mod4']){
    		sendpm ($_SESSION['authid'], $row['mod4'], 'Joinus Anfrage',$mailtxt, -1);
    	}
      
    	if (!loggedin() AND $allgAr['forum_regist'] <> 0) {
    		echo $lang['amailhasbeensenttoyouwithmailandpass'].'<br /><br />';
      }
      echo sprintf($lang['leaderofxalert'], $row['name']);
    }
    $design->footer();
    ?>


    <form action="index.php?joinus" method="POST">
    <fieldset>
    	<legend><b>{_lang_yourdata}:</b></legend>
    	<label style="float:left; width:100px; ">{_lang_joininfo}</label>{_lang_plsfilloutallfields}<br />
      <label style="float:left; width:100px; ">{_lang_name}</label><input name="name"{readonly} maxlength="15" value="{name}" /><br />
      <label style="float:left; width:100px; ">{_lang_ingamename}</label><input name="ingamename"{readonly} maxlength="15" value="{ingamename}" /><br />
    	<label style="float:left; width:100px; ">{_lang_skill}?</label><select name="skill">{skill}</select><br />
    	<label style="float:left; width:100px; ">{_lang_steamid}</label><input type="text" name="steamid" value="{steamid}" /><br />
    	<label style="float:left; width:100px; ">{_lang_favweapon}</label><input type="text" name="favweapon" value="{favweapon}" /><br />
    	<label style="float:left; width:100px; ">{_lang_favmap}</label><input type="text" name="favmap" value="{favmap}" /><br />
    	<label style="float:left; width:100px; ">{_lang_mail}</label><input type="text" name="mail" value="{mail}" /><br />
    	<label style="float:left; width:100px; ">{_lang_age}</label><input type="text" name="age" value="{age}" /><br />
    	<label style="float:left; width:100px; ">{_lang_hometown}</label><input type="text" name="hometown" value="{hometown}" /><br />
    	<label style="float:left; width:100px; ">{_lang_squad}</label><select name="squad">{squad}</select /><br />
    	<label style="float:left; width:100px; ">{_lang_ground}</label><textarea name="ground" cols="40" rows="5">{ground}</textarea><br />
    	<label style="float:left; width:100px; ">{_lang_expectation}</label><textarea name="expectation" cols="40" rows="5">{expectation}</textarea><br />
    	{EXPLODE}<label style="float:left; width:100px; ">{_lang_rules}</label><input type="checkbox" name="rules" value="{_lang_yes}" />{_lang_rulzreaded}<br />
      {EXPLODE}{RULES}{EXPLODE}<br />
    	{ANTISPAM}
    	<label style="float:left; width:100px; ">&nbsp;</label><input type="submit" name="sub" value="{_lang_formsub}" /><br />
    </fieldset>
    </form>


    'joinusprivmsg' => "Hallo,\n%s möchte %s beitreten.\n\nFolgende Angaben hat er gemacht:\nSkill: %s\neMail: %s\nWohnort: %s\nAlter: %s\nICQ: %s\nFav.Map: %s\nGrund: %s\n\nEr hat die Regeln akzeptiert: %s\n\nWurde direkt als User registriert: %s\nWenn dort nein steht dann war er zum Zeitpunkt der Anfrage schon User.\n\nIm Adminmenu unter Teams kannst du ihn freischalten, oder die Anfrage löschen. Wenn er als User registriert wurde, muss er die Registrierung jenach Einstellung erst bestätigen.",



    *Edit by Rock@wulf*
    Codetags richtig gesetzt, Lang Datei gekürzt und nur den wichtigen teil da gelassen.


    Zuletzt modifiziert von Rock@wulf am 25.01.2014 - 11:28:17
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Saarlonz Hall Of Fame
    Registriert seit
    07.08.2008
    Beiträge
    3.003
    Beitragswertungen
    235 Beitragspunkte
    schau mal zeile 116 in der joinus.php:

    ZitatZitat
    # bitte in der richtigen reihenfolge angeben, sonst das nicht gehen tun, kann.
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Uff dieses Join us xD

    Wie Sarlonz schon sagte musst du die hinzugefügten Felder noch in der Lang Datei ergänzen, und zwar in der Reihenfolge wie sie hier definiert sind:

      $mailtxt = sprintf ($lang['joinusprivmsg'],
        $name,
        $row['name'],
        $ingamename,
        $row ['ingamename'],
        $skill,
        $steamid,
        $favweapon,
        $favmap,
        $mail,
        $hometown,
        $age,
        $ground,
        $expectation,
        $rulz,
        $userreg
      );


    Diese Reihenfolge wird mit dem vorgehenden Befehl sprintf in diesen Satz geschrieben

    'joinusprivmsg' => "Hallo,\n%s möchte %s beitreten.\n\nFolgende Angaben hat er gemacht:\nSkill: %s\neMail: %s\nWohnort: %s\nAlter: %s\nICQ: %s\nFav.Map: %s\nGrund: %s\n\nEr hat die Regeln akzeptiert: %s\n\nWurde direkt als User registriert: %s\nWenn dort nein steht dann war er zum Zeitpunkt der Anfrage schon User.\n\nIm Adminmenu unter Teams kannst du ihn freischalten, oder die Anfrage löschen. Wenn er als User registriert wurde, muss er die Registrierung jenach Einstellung erst bestätigen.",


    Beachte:
    \n Ist ein Zeilenumbruch
    %s Ist eine Variable

    Also wird aus
    $name
    und
    Hallo,\n%s
    das
    ZitatZitat
    Hallo,
    Name



    Zuletzt modifiziert von Rock@wulf am 25.01.2014 - 11:39:50
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Baujahr73 gelöschter User
    Vielen dank für eure Hilfe!

    @Rock@Wulf,

    ja, das mit dem Joinus ist schon ein leidiges Thema! lachen

    Ich hatte das schon mal mit dem ändern des Joinus gemacht, aber stand da diesmal irgendwie total auf dem Schlauch lächeln

    Eine frage hätte ich aber noch zum

    'ingamename', (Spielername)

    muss hierfür eine neue Tabelle in die Datenbank hinzugefügt werden?
    Da dieser in der Privaten Nachricht nicht erscheint!

    Gruß Baujahr
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Hm nein das hat mit der Datenbank nix zu tun da hier keine Felder gespeichert werden


    Du musst eben nur die reihenfolge einhalten und dementsprechend den Text ergänzen
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Baujahr73 gelöschter User
    Hm, dann habe ich da noch einen Fehler drin...

    'joinusprivmsg' => "Hallo,\n%s möchte %s beitreten.\n\nFolgende Angaben hat er gemacht:\nName: %s\nSpielername: %s\nSkill: %s\nSteam-ID: %s\nWaffe: %s\nFav.Map: %s\neMail: %s\nWohnort: %s\nAlter: %s\nGrund: %s\nErwartung: %s\n\nEr hat die Regeln akzeptiert: %s\n\nWurde direkt als User registriert: %s\


    So ist die Reihenfolge in der joinus.php
    $mailtxt = sprintf ($lang['joinusprivmsg'],
        $name,
        $row['name'],
    	$ingamename,
    	$row['ingamename'],
        $skill,
    	$steamid,
    	$favweapon,
    	$favmap,
        $mail,
        $hometown,
        $age,
        $ground,
    	$expectation,
        $rulz,
        $userreg
      );


    Und das habe ich jetzt in der htm drin...
    <fieldset>
    	<legend><b>{_lang_yourdata}:</b></legend>
    	<label style="float:left; width:100px; ">{_lang_joininfo}</label>{_lang_plsfilloutallfields}<br />
      <label style="float:left; width:100px; ">{_lang_name}</label><input name="name"{readonly} maxlength="15" value="{name}" /><br />
      <label style="float:left; width:100px; ">{_lang_ingamename}</label><input name="ingamename" {readonly}  maxlength="15" value="{ingamename}" /><br />
    	<label style="float:left; width:100px; ">{_lang_skill}?</label><select name="skill">{skill}</select><br />
    	<label style="float:left; width:100px; ">{_lang_steamid}</label><input type="text" name="steamid" value="{steamid}" /><br />
    	<label style="float:left; width:100px; ">{_lang_favweapon}</label><input type="text" name="favweapon" value="{favweapon}" /><br />
    	<label style="float:left; width:100px; ">{_lang_favmap}</label><input type="text" name="favmap" value="{favmap}" /><br />
    	<label style="float:left; width:100px; ">{_lang_mail}</label><input type="text" name="mail" value="{mail}" /><br />
    	<label style="float:left; width:100px; ">{_lang_age}</label><input type="text" name="age" value="{age}" /><br />
    	<label style="float:left; width:100px; ">{_lang_hometown}</label><input type="text" name="hometown" value="{hometown}" /><br />
    	<label style="float:left; width:100px; ">{_lang_squad}</label><select name="squad">{squad}</select /><br />
    	<label style="float:left; width:100px; ">{_lang_ground}</label><textarea name="ground" cols="40" rows="5">{ground}</textarea><br />
    	<label style="float:left; width:100px; ">{_lang_expectation}</label><textarea name="expectation" cols="40" rows="5">{expectation}</textarea><br />


    Sorry, aber ich finde den Fehler nicht :-(

    EDIT

    Habe den Fehler gefunden, ich habe hier versehentlich \nName %s\ eingetragen!

    'joinusprivmsg' => "Hallo,\n%s möchte %s beitreten.\n\nFolgende Angaben hat er gemacht:\nName %s\nSpielername: %s\nSkill: %s\nSteam-ID: %s\nWaffe: %s\nFav.Map: %s\neMail: %s\nWohnort: %s\nAlter: %s\nGrund: %s\nErwartung an den Clan: %s\



    Zuletzt modifiziert von Baujahr73 am 25.01.2014 - 16:57:28
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Baujahr73 gelöschter User
    Hallo zusammen,

    Entschuldigung das ich dieses Thema noch mal ausgrabe, aber ich hätte da noch eine Frage zu den Benachrichtigungen die man bekommt wenn jemand das JoinUs ausfüllt!

    Ich bin der Meinung das ich hier schon mal ein Thema durch Zufall zu meiner Frage gefunden habe, finde diesen Beitrag aber Leider nicht wieder!

    Ich möchte JoinUs Anfragen nicht als PM bekommen, sondern möchte das ausgefüllte JoinUs Formulare Automatisch ins Forum gepostet werden, kann man das irgendwie Umsetzen das dies funktioniert?

    Gruß Baujahr
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten