ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Nextwar Box mit Zusagen

Geschlossen
  1. #1
    User Pic
    wor Mitglied
    Registriert seit
    05.03.2008
    Beiträge
    49
    Beitragswertungen
    0 Beitragspunkte
    Hallo Leute,

    Ich versuche schon seit zwei Tagen die NextWars Box so zu verändern das die Anzahl der Zusagen für das War schon in der Box angezeigt wird neben dem War.

    in der /include/templates/wars_next.htm sorgt ja dieser Code dafür das es Angezeigt wird.

    <tr class="Cdark">
    	<td>{_lang_present} / {_lang_away} &nbsp; - &nbsp; ( {_lang_promise}: {available} {_lang_from} {_lang_needed}: {needed} )</td>
    </tr>


    Und den PHP teil dazu fand ich in der /include/contents/wars.php

            if ($_SESSION['authright'] <= - 2) {
                // get benoetige member
                $bm = substr($row['mod'], 0, 3);
                $needed = '';
                for($i = 0;$i < strlen($bm);$i++) {
                    if (is_numeric($bm {
                                $i}
                            )) {
                        $needed .= $bm {
                            $i};
                    }
                }
    
                $uid = $_SESSION['authid'];
                if ($menu->get(3) == 'delete') {
                    $uid = $menu->get(4);
                }
                $ck = db_count_query("SELECT COUNT(wid) FROM prefix_warmember WHERE wid = " . $_GET['mehr'] . " AND uid = " . $uid);
                // eine zu bzw. absage loeschen
                if ($menu->get(3) == 'delete' AND ((has_right(array($row['tid'])) === true AND $uid == $_SESSION['authid']) OR is_siteadmin('wars')) AND $ck == 1) {
                    db_query("DELETE FROM prefix_warmember WHERE wid = " . $_GET['mehr'] . " AND uid = " . $uid);
                    $ck = 0;
                }
    
                $available = db_count_query("SELECT COUNT(uid) FROM prefix_warmember WHERE wid = " . $_GET['mehr'] . " AND aktion = 1");
                $aout1 = array (
                    'needed' => $needed,
                    'available' => $available,
                    'id' => $_GET['mehr']
                    );
                $tpl->set_ar_out($aout1, 1);
                if ($ck == 0 AND has_right(array($row['tid'])) === true) {
                    if (isset ($_POST['sub'])) {
                        $aktion = ($_POST['sub'] == 'zusagen' ? 1 : 0);
                        $kom = escape($_POST['kom'], 'string');
                        db_query("INSERT INTO prefix_warmember (uid,wid,aktion,kom) VALUES (" . $_SESSION['authid'] . "," . $_GET['mehr'] . "," . $aktion . ",'" . $kom . "')");
                    } else {
                        $tpl->out(2);
                    }
                }
                $class = '';
                $aktionar = array ('<font style="color:#FF0000; font-weight:bold;">abgesagt</font>', '<font style="font-weight:bold; color:#00B200;">zugesagt</font>');
                $erg1 = db_query("SELECT b.id as uid, b.name, a.aktion, a.kom FROM prefix_warmember a left join prefix_user b ON b.id = a.uid WHERE a.wid = " . $_GET['mehr']);
                while ($row1 = db_fetch_assoc($erg1)) {
                    if ($class == 'Cmite') {
                        $class = 'Cnorm';
                    } else {
                        $class = 'Cmite';
                    }
                    $row1['class'] = $class;
                    $row1['aktion'] = $aktionar[$row1['aktion']];
                    if ($row1['uid'] == $_SESSION['authid'] OR is_siteadmin('wars')) {
                        $row1['name'] = '<a href="index.php?wars-more-' . $_GET['mehr'] . '-delete-' . $row1['uid'] . '"><img src="include/images/icons/del.gif" border="0" title="l&ouml;schen" /></a> &nbsp; ' . $row1['name'];
                    }
                    $tpl->set_ar_out($row1, 3);
                }
            }


    Ich habe schon viel Sachen ausprobiert aber da ich nicht wirklich Ahnung von PHP habe klappt es gar nicht. Wenn ich nur den HTML Teil in die Box einfüge dann passiert nichts die Platzhalter werden nur als Text dargestellt. Und wenn ich den PHP Teil dazu mache kommt es zu Fehlermeldungen was ja verständlich ist bei meinem wissen zwinker

    hier noch der Code von /include/boxes/nextwars.php

    <?php
    #   Copyright by Manuel
    #   Support www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    echo '<table width="100%" border="0" cellpadding="2" cellspacing="0">';
    $akttime = date('Y-m-d');
    $erg = @db_query("SELECT DATE_FORMAT(datime,'%d.%m.%y - %H:%i') as time,tag,gegner, id, game FROM prefix_wars WHERE status = 2 AND datime > '".$akttime."' ORDER BY datime");
    if ( @db_num_rows($erg) == 0 ) {
    	echo '<tr><td>kein War geplant</td></tr>';
    } else {
    	while ($row = @db_fetch_object($erg) ) {
    		$row->tag = ( empty($row->tag) ? $row->gegner : $row->tag );
    		echo '<tr><td>'.get_wargameimg($row->game).'</td>';
    		echo '<td><a class="box" href="index.php?wars-more-'.$row->id.'">';
    		echo $row->time.' - '.$row->tag.'</a></td></tr>';
    	}
    }
    echo '</table>';
    ?>


    Leider fand ich auch nichts dazu in dem Forum aber ich meine ich habe es schon mal gesehen wenn ich mich nicht irre auf der Seite von Lord|Schirmer dobund.de Aber die Seite sieht jetzt anders aus als früher und im Moment ist kein NextWar drin so das man es nicht genau sagen kann ob es immer noch so ist und ich bin mir auch nicht mehr so sicher das es mal so war traurig.

    Ich hoffe aber trotzdem das es machbar ist und das es nicht so aufwendig ist.

    Danke wor

    betroffene Homepage: vetus-clan.de
    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
    versuchs mal so:

    backup der /include/boxes/nextwars.php

    dann den inhalt durch das ersetzten

    <?php
    #   Copyright by Manuel
    #   Support www.ilch.de
    defined ('main') or die ( 'no direct access' );
    echo '<table width="100%" border="0" cellpadding="2" cellspacing="0">';
    $akttime = date('Y-m-d');
    $erg = @db_query("SELECT DATE_FORMAT(datime,'%d.%m.%y - %H:%i') as time,tag,gegner, id, game, mod FROM prefix_wars WHERE status = 2 AND datime > '".$akttime."' ORDER BY datime");
    if ( @db_num_rows($erg) == 0 )
    { 
    	echo '<tr><td>kein War geplant</td></tr>';
    }
    else
    {  
    	while ($row = @db_fetch_object($erg) )
    	{ 
    		// get benoetige member
    		$bm = substr($row->mod, 0, 3);
    		$needed = '';
    		for($i = 0;$i < strlen($bm);$i++) {
    			if (is_numeric($bm {
    						$i}
    					)) {
    				$needed .= $bm {
    					$i};
    			}
    		}
    		$available = db_count_query("SELECT COUNT(uid) FROM prefix_warmember WHERE wid = " . $row->id . ");
    		$row->tag = ( empty($row->tag) ? $row->gegner : $row->tag );
    		echo '<tr>';		
    		echo '<td>'.get_wargameimg($row->game).'</td>';     
    		echo '<td>'.$lang['present'].' / '.$lang['away'].' &nbsp; - &nbsp; ( '.$lang['promise'].' : '.$available.' &nbsp; '.$lang['from'].' &nbsp; '.$lang['needed'].': '.$needed.' )</td>';
    		echo '<td><a class="box" href="index.php?wars-more-'.$row->id.'">'.$row->time.' - '.$row->tag.'</a></td>';
    		echo '</tr>';
    	}
    }
    echo '</table>';
    ?>



    Zuletzt modifiziert von Rock@wulf am 09.07.2012 - 12:32:10
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    wor Mitglied
    Registriert seit
    05.03.2008
    Beiträge
    49
    Beitragswertungen
    0 Beitragspunkte
    Habe es mal ausprobiert leider funktioniert es nicht.

    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /include/boxes/nextwars.php on line 31
    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
    code nochmal angepasst bitte ändern
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    wor Mitglied
    Registriert seit
    05.03.2008
    Beiträge
    49
    Beitragswertungen
    0 Beitragspunkte
    Immer noch traurig

    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /include/boxes/nextwars.php on line 31
    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
    <?php
    #   Copyright by Manuel
    #   Support www.ilch.de
    defined ('main') or die ( 'no direct access' );
    echo '<table width="100%" border="0" cellpadding="1" cellspacing="0">';
    $akttime = date('Y-m-d');
    $erg = @db_query("SELECT DATE_FORMAT(datime,'%d.%m.%y - %H:%i') as time,tag,gegner, id, game, `mod` FROM prefix_wars WHERE status = 2 AND datime > '".$akttime."' ORDER BY datime");
    if ( @db_num_rows($erg) == 0 )
    { 
    	echo '<tr><td>kein War geplant</td></tr>';
    }
    else
    {  
    	while ($row = @db_fetch_object($erg) )
    	{ 
    		// get benoetige member
    		$bm = substr($row->mod, 0, 3);
    		$needed = '';
    		for($i = 0;$i < strlen($bm);$i++) {
    			if (is_numeric($bm {
    						$i}
    					)) {
    				$needed .= $bm {
    					$i};
    			}
    		}
    		$available = db_count_query("SELECT COUNT(uid) FROM prefix_warmember WHERE wid = " . $row->id );
    		$row->tag = ( empty($row->tag) ? $row->gegner : $row->tag );
    		echo '<tr>';		
    		echo '<td rowspan="2">'.get_wargameimg($row->game).'</td>';
    		echo '<td class="smalfont">( '.$available.' / '.$needed.' )</td>';
    		echo '</tr><tr>';
    		echo '<td><a class="box" href="index.php?wars-more-'.$row->id.'">'.$row->time.' - '.$row->tag.'</a></td>';
    		echo '</tr>';
    	}
    }
    echo '</table>';
    ?>
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    1 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    wor Mitglied
    Registriert seit
    05.03.2008
    Beiträge
    49
    Beitragswertungen
    0 Beitragspunkte
    Ok habe es jetzt eingefügt und es funktioniert soweit alles Fehlerfrei. Was jetzt noch nicht ganz richtig ist ist das die Box auch die Absagen zählt. Aber ich versuche es mal selbst so bald ich wieder daheim bin.

    Ich denke mal man muss die Zeile:

    $available = db_count_query("SELECT COUNT(uid) FROM prefix_warmember WHERE wid = " . $row->id . ");


    in die Abändern damit beim Zählen die Absagen nicht berücksichtigt werden.

    $available = db_count_query("SELECT COUNT(uid) FROM prefix_warmember WHERE wid = " . $row->id . " AND aktion = 1" );


    EDIT: so funktioniert es jetzt richtig

    vielen dank das Thema ist dann soweit erledigt.


    Zuletzt modifiziert von wor am 09.07.2012 - 23:08:59
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten