ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Fightus/Joinus Benachrichtigung inaktiv

Geschlossen
  1. #1
    User Pic
    ---Doc--- Mitglied
    Registriert seit
    05.08.2011
    Beiträge
    218
    Beitragswertungen
    4 Beitragspunkte
    Gelöst

    Hallo zusammen,

    meine fightus/joinus Benachrichtigung schlägt fehl. Oder aber ein fightus wird nicht übernommen (edit: next wars, fightus Anfragen bleibt leer).

    Ich verwende zusätzlich dieses Modul:
    mairu.ilch.de/index.php?downloads-show-19
    und zu benachrichtigende Personen sind mit eMail eingetragen.

    Nach absenden einer Fightusanfrage erfolgt die Anzeige, daß dies weitergeleitet wird. Bislang sollte eine PM kommen (eMail wäre schöner, aber das ist sekundär). Ich erhalte auch per eMail die Nachricht, daß eine neue PM eingetroffen ist. Aber diese ist nicht da.

    Ich hoffe man kann mir helfen lächeln

    Hier die Quellcodes:
    fightus.php
    <?php
    #   Copyright by: Manuel Staechele
    #   Support: www.ilch.de
    
    defined ('main') or die ( 'no direct access' );
    
    $title = $allgAr['title'].' :: Fightus';
    $hmenu = 'Fightus';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    if ( 0 == db_count_query("SELECT COUNT(*) FROM prefix_groups WHERE show_fightus = 1") ) {
    	echo $lang['noteamthere'];
    	$design->footer();
    	exit ();
    }
    
    $far = array (
    		'clanname',
    		'clanpage',
    		'clantag',
    		'clancountry',
    		'mailaddy',
    		'icqnumber',
    		'squad',
    		'meetingplace',
    		'message',
    		'xonx',
    		'matchtype',
    		'game',
    		'meetingtime',
    	);
    $x = 0;
    foreach ($far as $v) {
    	if (!empty($_POST[$v])) {
    		$$v = escape($_POST[$v], 'string');
    		$x++;
    	} else {
    		$$v = '';
    	}
    }
    if (count($far) == $x AND chk_antispam('fightus')) {
    	$squad = escape($squad, 'integer');
      $abf = "SELECT `mod1`,`mod2`, `mod3`,name, send_fightus FROM prefix_groups WHERE id = ".$squad;
    	$erg = db_query($abf);
    	$row = db_fetch_assoc($erg);
    	$txt = $lang['fightusrequest'];
    	list ($datum, $zeit) = explode (' - ', $meetingtime);
    	$datum = get_datum ($datum);
    	$datum = $datum." ".$zeit;
    	$clanpage = get_homepage ($clanpage);
      # als upcoming war vormerken (kategorie 1)
    	db_query("INSERT INTO prefix_wars (datime,`status`,gegner,tag,page,mail,icq,wo,tid,`mod`,game,mtyp,land,txt) VALUES ('".$datum."','1','".$clanname."','".$clantag."','".$clanpage."','".$mailaddy."','".$icqnumber."','".$meetingplace."','".$squad."','".$xonx."','".$game."','".$matchtype."','".$clancountry."','".$message."')");
        # Nachrichten versenden
    	$is_leader = strrpos($row['send_fightus'],'l');
        $is_coleader = strrpos($row['send_fightus'],'c');
        $is_orga = strrpos($row['send_fightus'],'o');
        #pm an leader 
        if (!is_bool($is_leader)) sendpm($_SESSION['authid'], $row['mod1'],'Fightus Anfrage', $txt, -1);
        # Wenn Co Leader != Leader
    	if ((!is_bool($is_coleader)) AND ($row['mod1'] != $row['mod2'])){
    		sendpm($_SESSION['authid'], $row['mod2'],'Fightus Anfrage', $txt, -1);
    	}
    	# pm an warorga 
    	if ((!is_bool($is_orga)) AND ($row['mod3'] != $row['mod2'] AND $row['mod1'] != $row['mod3'])){
    		sendpm($_SESSION['authid'], $row['mod3'],'Fightus Anfrage', $txt, -1);
    	}
        # informieren
    	echo sprintf($lang['leaderofxalert'], $row['name']);
    } else {
    	$clancountry  = arlistee ($clancountry, get_nationality_array() );
    	$squad  = '<option value="0">choose</option>';
      $squad .= dblistee ($squad, "SELECT id,name FROM prefix_groups WHERE show_fightus = 1 ORDER BY pos");
    	if (empty($meetingtime)) {
    		$meetingtime = date ('d.m.Y - H:i:s');
    	 }
    	$tpl = new tpl ( 'fightus.htm' );
    	foreach($far as $v) {
    		if ($x > 0 AND empty($_POST[$v])) {
    			echo 'missing: '.$lang[$v].'<br />';
    		}
    		$tpl->set ($v, $$v);
    	}
    	$tpl->set ('ANTISPAM', get_antispam ('fightus', 120));
    	$tpl->out(0);
    }
    $design->footer();
    ?>


    fightus.htm
    <form action="index.php?fightus" method="POST">
    <fieldset>
    	<legend>{_lang_basicinfo}</legend>
    	<label style="float:left; width:120px;">{_lang_joininfo}</label>{_lang_plsfilloutallfields}<br />
    	<label style="float:left; width:120px;">{_lang_clanname}</label><input type="text" name="clanname" value="{clanname}"><br />
    	<label style="float:left; width:120px;">{_lang_clantag}</label><input type="text" name="clantag" value="{clantag}"><br />
    	<label style="float:left; width:120px;">{_lang_clanpage}</label><input type="text" name="clanpage" value="{clanpage}"><br />
    	<label style="float:left; width:120px;">{_lang_clancountry}</label><select name="clancountry">{clancountry}</select><br />
    	<label style="float:left; width:120px;">{_lang_contact}</label><input type="text" name="kname" value="{cname}"><br />
    	<label style="float:left; width:120px;">{_lang_mailaddy}</label><input type="text" name="mailaddy" value="{mailaddy}"><br />
    	<label style="float:left; width:120px;">{_lang_icqnumber}</label><input type="text" name="icqnumber" value="{icqnumber}"><br />
    
      
      <br />
      
      {_lang_matchinfo}
      
      <br />
      
    	<label style="float:left; width:120px;">{_lang_meetingplace}</label><input type="text" name="meetingplace" value="{meetingplace}"><br />
    	<label style="float:left; width:120px;">{_lang_meetingtime}</label><input type="text" name="meetingtime" value="{meetingtime}"><br />
    	<label style="float:left; width:120px;">{_lang_squad}</label><select name="squad">{squad}</select><br />
    	<label style="float:left; width:120px;">{_lang_xonx}</label><input type="text" name="xonx" value="{xonx}"><br />
    	<label style="float:left; width:120px;">{_lang_game}</label><input type="text" name="game" value="{game}"><br />
    	<label style="float:left; width:120px;">{_lang_matchtype}</label><input type="text" name="matchtype" value="{matchtype}"><br />
      <br />
      
      {_lang_otherinfo}
      
      <br />
    	<label style="float:left; width:120px;">{_lang_message}</label><textarea cols="40" rows="5" name="message">{message}</textarea><br />
    
      {ANTISPAM}
    	<label style="float:left; width:120px;">&nbsp;</label><input type="submit" value="{_lang_send2}"><br />
    </fieldset>
    </form>


    Edit 2:
    Nebenbei werden die Flaggen als Pulldownmenu nur als Datei mit gif Endung angezeigt. Wie kann man die Endung entfernen?
    Zuletzt modifiziert von ---Doc--- am 26.10.2011 - 17:44:17
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    ---Doc--- Mitglied
    Registriert seit
    05.08.2011
    Beiträge
    218
    Beitragswertungen
    4 Beitragspunkte
    Hat keiner eine Idee woran es liegen könnte?
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    ---Doc--- Mitglied
    Registriert seit
    05.08.2011
    Beiträge
    218
    Beitragswertungen
    4 Beitragspunkte
    Ein paar Schritte bin ich weiter, aber noch nicht ganz erfolgreich und ich hoffe jemand kann helfen.
    Geschafft ist, daß der War wieder als Fightus Anfrage in der Datenbank eingetragen wird.
    Mittels icmail wird auch eine eMail verschickt.
    Angeblich wird auch eine pm verschickt.

    Problem 1:
    damit icmail funktioniert habe ich bislang eine feste Mailadresse in den Code eingegeben, was natürlich nicht Sinn der Sache ist. Wie kann ich es anpassen, daß Mails nur an Leader, Warorga und Memberorga gehen?

    Problem 2:
    Weiterhin erhalte ich eine eMail über eine eingegangene pm, finde diese aber nicht im Postfach. PMs ansonsten funktionieren.

    Hier der Code:
    <?php
    #   Copyright by: Manuel Staechele
    #   Support: www.ilch.de
    
    defined ('main') or die ( 'no direct access' );
    
    $title = $allgAr['title'].' :: Fightus';
    $hmenu = 'Fightus';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    if ( 0 == db_count_query("SELECT COUNT(*) FROM prefix_groups WHERE show_fightus = 1") ) {
    	echo $lang['noteamthere'];
    	$design->footer();
    	exit ();
    }
    
    $far = array (
    		'clanname',
    		'clanpage',
    		'clantag',
    		'clancountry',
                    'kname',
    		'mailaddy',
    		'icqnumber',
    		'squad',
    		'meetingplace',
    		'message',
    		'xonx',
    		'matchtype',
    		'game',
    		'meetingtime',
    	);
    $x = 0;
    foreach ($far as $v) {
    	if (!empty($_POST[$v])) {
    		$$v = escape($_POST[$v], 'string');
    		$x++;
    	} else {
    		$$v = '';
    	}
    }
    if (count($far) == $x AND chk_antispam('fightus')) {
    	$squad = escape($squad, 'integer');
      $abf = "SELECT `mod1`,`mod2`, `mod3`,name, send_fightus FROM prefix_groups WHERE id = ".$squad;
    	$erg = db_query($abf);
    	$row = db_fetch_assoc($erg);
    	$txt = $lang['fightusrequest'];
    	list ($datum, $zeit) = explode (' - ', $meetingtime);
    	$datum = get_datum ($datum);
    	$datum = $datum." ".$zeit;
    	$clanpage = get_homepage ($clanpage);
      # als upcoming war vormerken (kategorie 1)
        db_query("INSERT INTO prefix_fightus (oname, otag, opage, oland, okontaktperson, oemail, oicq, server, datum, tid, xonx, spiel, matchtyp, nachricht) VALUES ('".$clanname."','".$clantag."','".$clanpage."','".$clancountry."','".$kname."','".$mailaddy."','".$icqnumber."','".$meetingplace."','".$datum."','".$squad."','".$xonx."','".$game."','".$matchtype."','".$message."')");
    
        # Nachrichten versenden
    	$is_leader = strrpos($row['send_fightus'],'l');
        $is_coleader = strrpos($row['send_fightus'],'c');
        $is_orga = strrpos($row['send_fightus'],'o');
        #pm an leader 
        if (!is_bool($is_leader)) sendpm($_SESSION['authid'], $row['mod1'],'Fightus Anfrage', $txt, -1);
    	icmail('funktioniert@wenn-ich-Adresse-hier-angebe.de','Fightus Anfrage',$txt);
    	# Wenn Co Leader != Leader
    	if ((!is_bool($is_coleader)) AND ($row['mod1'] != $row['mod2'])){
    		sendpm($_SESSION['authid'], $row['mod2'],'Fightus Anfrage', $txt, -1);
    	}
    	# pm an warorga 
    	if ((!is_bool($is_orga)) AND ($row['mod3'] != $row['mod2'] AND $row['mod1'] != $row['mod3'])){
    		sendpm($_SESSION['authid'], $row['mod3'],'Fightus Anfrage', $txt, -1);
    	}
        # informieren
    	echo sprintf($lang['leaderofxalert'], $row['name']);
    } else {
    	$clancountry  = arlistee ($clancountry, get_nationality_array() );
    	$squad  = '<option value="0">choose</option>';
      $squad .= dblistee ($squad, "SELECT id,name FROM prefix_groups WHERE show_fightus = 1 ORDER BY pos");
    	if (empty($meetingtime)) {
    		$meetingtime = date ('d.m.Y - H:i:s');
    	 }
    	$tpl = new tpl ( 'fightus.htm' );
    	foreach($far as $v) {
    		if ($x > 0 AND empty($_POST[$v])) {
    			echo 'missing: '.$lang[$v].'<br />';
    		}
    		$tpl->set ($v, $$v);
    	}
    	$tpl->set ('ANTISPAM', get_antispam ('fightus', 120));
    	$tpl->out(0);
    }
    $design->footer();
    ?>



    Zuletzt modifiziert von ---Doc--- am 26.10.2011 - 11:33:54
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    ---Doc--- Mitglied
    Registriert seit
    05.08.2011
    Beiträge
    218
    Beitragswertungen
    4 Beitragspunkte
    Bezüglich joinus:
    Der, der joinen will, erhält auch eine eMail mit seinen Daten.
    Aber auch hier, erhält der Leader nur scheinbar eine PM.

    PMs an sich gehen.

    Code joinus:
    <?php
    #   Copyright by: Manuel Staechele
    #   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',
    		'skill',
    		'icqnumber',
    		'favmap',
    		'mail',
    		'age',
    		'hometown',
    		'squad',
    		'ground',
        '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, send_joinus 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'],
        $skill,
        $mail,
        $hometown,
        $age,
        $icqnumber,
        $favmap,
        $ground,
        $rulz,
        $userreg
      );
    
      # Nachrichten versenden
      $is_leader = strrpos($row['send_joinus'],'l');
      $is_coleader = strrpos($row['send_joinus'],'c');
      $is_orga = strrpos($row['send_joinus'],'o');
      # pm an den leader  
    	if (!is_bool($is_leader)) sendpm ($_SESSION['authid'], $row['mod1'], 'Joinus Anfrage',$mailtxt, -1);
      # Wenn Co Leader != Leader
    	if ((!is_bool($is_coleader)) AND ($row['mod2'] != $row['mod1'])){
    		sendpm ($_SESSION['authid'], $row['mod2'], 'Joinus Anfrage',$mailtxt, -1);
    	}
    	if ((!is_bool($is_orga)) AND  ($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();
    ?>
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    ---Doc--- Mitglied
    Registriert seit
    05.08.2011
    Beiträge
    218
    Beitragswertungen
    4 Beitragspunkte
    Ok, Problem gelöst.
    Es fehlte due $txt Definition. Dadurch war die PM leer und wurde nicht dargestellt.

    Nun habe ich aber eine Frage. Wie bekomme ich in die PM die angegebenen Daten? Also daß Clanname etc in der PM angezeigt werden? Bislang wird nur das angezeigt, was unter fighusprivmsg in der en.php im lang Ordner angegeben is.

      $txt = sprintf ($lang['fightusprivmsg'],
    		$clanname,
    		$clanpage,
    		$clantag,
    		$clancountry,
                    $kname,
    		$mailaddy,
    		$icqnumber,
    		$squad,
    		$meetingplace,
    		$message,
    		$xonx,
    		$matchtype,
    		$game,
    		$meetingtime
      );
            # Nachrichten versenden
    	$is_leader = strrpos($row['send_fightus'],'l');
        $is_coleader = strrpos($row['send_fightus'],'c');
        $is_orga = strrpos($row['send_fightus'],'o');
        #pm an leader 
        if (!is_bool($is_leader)) sendpm($_SESSION['authid'], $row['mod1'],'fight us request', $txt, -1);
    	icmail('doc@clandak.de','fight us request',$txt);
    	# Wenn Co Leader != Leader
    	if ((!is_bool($is_coleader)) AND ($row['mod1'] != $row['mod2'])){
    		sendpm($_SESSION['authid'], $row['mod2'],'fight us request', $txt, -1);
    	}
    	# pm an warorga 
    	if ((!is_bool($is_orga)) AND ($row['mod3'] != $row['mod2'] AND $row['mod1'] != $row['mod3'])){
    		sendpm($_SESSION['authid'], $row['mod3'],'fight us request', $txt, -1);
    	}
        # informieren


    Vielen Dank für Tipps
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten