» Forum » Clanscript » Module und Modifikationen » Fightus/Joinus Benachrichtigung inaktiv
  Mitglieder   |   Gallery   |   FAQ's   |   Regeln

[ Anmelden zum schreiben ]

Fightus/Joinus Benachrichtigung inaktiv
---Doc---
Mitglied
4 Beitragspunkte
Posts: 204

0 Mitglieder finden den Beitrag gut.

Merkliste 23.10.2011 - 11:00:24     Zitieren
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 Smilie

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
---Doc---
Mitglied
4 Beitragspunkte
Posts: 204

0 Mitglieder finden den Beitrag gut.

Merkliste 24.10.2011 - 12:48:00     Zitieren
Hat keiner eine Idee woran es liegen könnte?
---Doc---
Mitglied
4 Beitragspunkte
Posts: 204

0 Mitglieder finden den Beitrag gut.

Merkliste 26.10.2011 - 11:31:07     Zitieren
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
---Doc---
Mitglied
4 Beitragspunkte
Posts: 204

0 Mitglieder finden den Beitrag gut.

Merkliste 26.10.2011 - 11:59:48     Zitieren
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();
?>
---Doc---
Mitglied
4 Beitragspunkte
Posts: 204

0 Mitglieder finden den Beitrag gut.

Merkliste 26.10.2011 - 14:05:36     Zitieren
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

[ Anmelden zum schreiben ]