ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Eintragung bei Nextwars + Datum/Urzeit

Geschlossen
  1. #1
    User Pic
    olos Mitglied
    Registriert seit
    30.10.2007
    Beiträge
    148
    Beitragswertungen
    1 Beitragspunkte
    Hi,

    erstmal großes Lob an Ilch. Ist mit abstand das beste was es an Clan CMS gibt.

    Aber nun folgendes.

    Wäre es möglich, daß wenn sich jemand bei Nextwars einträgt bei der Eintragung davor das Datum und die Uhrzeit mit steht. Eben wann sich derjenige mit ja eingetragen hat.

    Ja ich weis. Jetzt kommen wieder die ganzen Kritiker. "Wofür soll das gut sein?"

    Grund:
    Wir spielen ESL und machen das bei uns so. daß wir die ESL Wars bei Nextwars eintragen, wo sich jeder der im ESL Team eingetragen ist mit ja anmelden kann. Wir haben aber die Regelung, daß 48 Stunden vor Spielbeginn sozusagen eintragungsschluss ist, damit man die Sache auch ordentlich planen kann. Eben wollen wir nicht, daß sich welche kurz vor knapp eintragen und dann unbedingt spielen wollen und deswegen die 48 Stunden.

    Und da wäre eben Datum/Uhrzeit, welche zeigt wann sich derjenige eingetragen hat top, damit es keine unklarheiten gibt.

    Ja ich weis, daß die oberen sich zuerst eingetragen haben aber ich kann eben nicht sehen wann, bzw wer sich innerhalb der 48 Stunden angemeldet hat.

    Da ich nicht so der coder bin weis ich auch nicht so direckt, wie gross der Aufwand wäre. Wäre aber top, wenn jemand der sich damit auskennt sich damit mal beschäftigen würde.

    Danke im Vorraus

    Greeeeeez
    Olos

    betroffene Homepage: externer Link
    =====================================
    Wenn man nur das macht, was man schon kann wird man immer nur das sein, was man schon ist.
    >>>> externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Panicsheep Hall Of Fame
    Registriert seit
    24.08.2004
    Beiträge
    10.192
    Beitragswertungen
    16 Beitragspunkte
    Also ich hab da mal was zusammen gebastelt, allerdings müßte da noch mal jemand mit mehr Erfahrung drüber gucken

    In der wars.php folgenden Code suchen

    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);
    				}
    			}


    Und durch diesen ersetzen sobald ihn jemand komplettiert hat


    #Zählen ob der War mehr als 48h in der Zukunft liegt
    			$erg = @db_query("SELECT datime,  FROM prefix_wars WHERE id =???? " );
    $row = db_fetch_assoc($erg);
    $row['datime']=$row['datime'];
    $date = $row['datime'];
    $datime =strtotime(".$date.");
    $jetzt = strtotime("now");
    $in48h = $jetzt+172800;
    #Wenn Dann
    if ($in48h >= $datime){
    echo "Der War findet in weniger als 48h statt daher kannst du dich nicht mehr an/abmelden";
    }else {
    			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);
    				}
    			}
    			}



    Die ??? müssen irgendwie mit der aktuellen WarID ersetzt werden, das hab ich leider nicht hinbekommen, also wenn das noch jemand machen könnte würde es funktionieren.
    Omnia bona erunt
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    olos Mitglied
    Registriert seit
    30.10.2007
    Beiträge
    148
    Beitragswertungen
    1 Beitragspunkte
    na das is ja schonmal was thx

    und wen den rest auch noch jemand hinbekommt seit ihr die besten.:)
    =====================================
    Wenn man nur das macht, was man schon kann wird man immer nur das sein, was man schon ist.
    >>>> externer Link
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    OloX Hall Of Fame
    Registriert seit
    25.02.2006
    Beiträge
    990
    Beitragswertungen
    23 Beitragspunkte
    Hex olos,
    Ich habe es mir mal angeschaut zwinker
    <?php
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
      
    function get_erg_liste($wid) {
    	$list = ''; $enar = array ( 'jpg', 'gif', 'png', 'jpeg');
    	$erg = db_query("SELECT * FROM prefix_warmaps WHERE wid = ".$wid);
    	while($row = db_fetch_assoc($erg) ) {
    		if ( $row['opp'] == $row['owp'] ) {
    			$farbe = 'FDFBB7'; #pat
    		} elseif ( $row['opp'] < $row['owp'] ) {
    			$farbe = 'C8E1B8'; #win
    		} elseif ( $row['opp'] > $row['owp'] ) {
    			$farbe = 'D8B9B9'; #los
    		}
    		foreach($enar as $v) {
    			if ( file_exists ( 'include/images/wars/'.$wid.'_'.$row['mnr'].'.'.$v ) ) {
    				$size=getimagesize('include/images/wars/'.$wid.'_'.$row['mnr'].'.'.$v);
    				$breite=$size[0];
    				$hoehe=$size[1];
    				$row['map'] = '<a href="#" onClick="javascript:window.open(\'include/images/wars/'.$wid.'_'.$row['mnr'].'.'.$v.'\',\'bild\',\'height='.$hoehe.',width='.$breite.'\')">'.$row['map'].'</a>';
    				break;
    			}
    		}
    		$list .= '<tr bgcolor="#'.$farbe.'">';
    		$list .= '<td><font color="#000000">'.$row['map'].'</font></td>';
    		$list .= '<td><font color="#000000">'.$row['opp'].'</font></td>';
    		$list .= '<td><font color="#000000">'.$row['owp'].'</font></td>';
    		$list .= '</tr>';
    	}
    return ($list);
    }
    function lastwars_get_memberlist ( $id ) {
    	$l = '';
    	$erg = db_query("SELECT prefix_user.id,prefix_user.name FROM prefix_user LEFT JOIN prefix_warmember ON prefix_warmember.uid = prefix_user.id AND prefix_warmember.wid = ".$id." WHERE wid = ".$id." ORDER BY prefix_user.name ASC");
    	while($r = db_fetch_assoc($erg)) {
    		$l .= '<a href="index.php?user-details-'.$r['id'].'">'.$r['name'].'</a>, ';
    	}
    return (substr($l,0,-2));
    }
    if ( $menu->get(2) == '' OR $menu->getA(2) == 'p' ) {
    	$title = $allgAr['title'].' :: Wars';
    	$hmenu = 'Wars';
    	$design = new design ( $title , $hmenu );
    	$design->header();
    
    	$ergWin = db_query('SELECT COUNT(id) FROM `prefix_wars` WHERE wlp = "1"');
    	$anzWin = db_result($ergWin,0);
    	$ergLos = db_query('SELECT COUNT(id) FROM `prefix_wars` WHERE wlp = "2"');
    	$anzLos = db_result($ergLos,0);
    	$ergPat = db_query('SELECT COUNT(id) FROM `prefix_wars` WHERE wlp = "3"');
    	$anzPat = db_result($ergPat,0);
    	$ergGes = db_query('SELECT COUNT(id) FROM `prefix_wars` WHERE status= "3"');
    	$anzGes = db_result($ergGes,0);
    	$tpl = new tpl ( 'wars.htm' );
    	$tpl->set_ar_out ( array('PAT' => $anzPat, 'WIN' => $anzWin, 'LOS' => $anzLos, 'GES' => $anzGes, 'TITLE'=> $allgAr['title'] ) , 0 );
    	$akttime = date('Y-m-d');
    	$class = '';
    	$erg = db_query("SELECT a.id,a.gegner,a.page,a.game,b.name as team,DATE_FORMAT(datime,'%d.%m.%Y - %H:%i:%s') as time FROM prefix_wars a left join prefix_groups b ON a.tid = b.id WHERE status = 2 AND a.datime >= '".$akttime."' ORDER BY a.datime");
    	if ( db_num_rows ( $erg ) == 0 ) {
    		echo '<tr class="Cmite"><td colspan="4"><strong>kein Next War vorhanden</strong></td></tr>';
    	} else {
    		while ($row = db_fetch_assoc($erg) ) {
    			if ( $class == 'Cmite' ) { $class = 'Cnorm'; } else { $class = 'Cmite'; }
    			$row['page'] = get_homepage($row['page']);
          $row['team'] = get_wargameimg($row['game']).'&nbsp;'.$row['team'];
    			$row['class'] = $class;
    			$tpl->set_ar_out($row,1);
    		}
    	}
    	$tpl->out(2);
    	$class = '';
    	if ( $menu->get(1) == '' ) {
    		$teams = dblistee ( '', "SELECT id,name FROM prefix_groups ORDER BY name");
    		$game= dblistee ('', "SELECT DISTINCT `game`,`game` FROM prefix_wars ORDER BY `game`" );
    		$mtype= dblistee ( '', "SELECT DISTINCT `mtyp`,`mtyp` FROM prefix_wars ORDER BY `mtyp`" );
    		$tpl->set_ar_out ( array('tid' => $teams, 'game' => $game, 'typ' => $mtype ) , 3 );
    	} elseif ($menu->get(1) == 'last') {
    		$tpl->out(4);
    		$sqla='WHERE status = 3 ';
    		if(!empty($_POST['tid'])){
    			$sqla.= 'AND tid="'.$_POST['tid'].'" ';
    		}
    		if(!empty($_POST['wpl'])){
    			$sqla.= 'AND wlp="'.$_POST['wpl'].'" ';
    		}
    		if(!empty($_POST['spiel'])){
    			$sqla.= 'AND game="'.$_POST['spiel'].'" ';
    		}
    		if(!empty($_POST['typ'])){
    			$sqla.= 'AND mtyp="'.$_POST['typ'].'" ';
    		}
    		# seiten funktion
    		$limit = $allgAr['wars_last_limit'];  // Limit
    		$page = ( $menu->getA(2) == 'p' ? $menu->getE(2) : 1 );
    		$MPL = db_make_sites ($page , "WHERE status = 3" , $limit , "?wars-last" , 'wars' );
    		$anfang = ($page - 1) * $limit;
    		# seiten funktion
    		$farbe1wlpar = array(1=>'C8E1B8',2=>'D8B9B9',3=>'FDFBB7');
    		$farbe2wlpar = array(1=>'00FF00',2=>'FF0000',3=>'FFFF00');
    		$erg = db_query("SELECT a.owp,a.opp,a.wlp,a.land,a.mtyp,a.game,a.id,a.gegner,a.page,b.name as team,DATE_FORMAT(datime,'%d.%m.%Y') as time FROM prefix_wars a left join prefix_groups b ON a.tid = b.id ".$sqla." ORDER BY a.datime DESC, id DESC LIMIT ".$anfang.",".$limit);
    		while ($row = db_fetch_assoc($erg) ) {
    			$row['erg'] = $row['opp'].':'.$row['owp'];
    			$row['farbe'] = $farbe1wlpar[$row['wlp']];
    			$row['farbe2'] = $farbe2wlpar[$row['wlp']];
    			if ( $class == 'Cmite' ) { $class = 'Cnorm'; } else { $class = 'Cmite'; }
    			$row['page'] = get_homepage($row['page']);
          $row['team'] = get_wargameimg($row['game']).'&nbsp;'.$row['team'];
    			$row['class'] = $class;
    			$tpl->set_ar_out($row,5);
    		}
    		$tpl->out(6);
    		echo $MPL;
    	}
      $design->footer();
    } elseif ( is_numeric($menu->get(2)) ) {
    	$_GET['mehr'] = escape($menu->get(2),'integer');
      
    	$erg = @db_query("SELECT
    	DATE_FORMAT(datime,'%d.%m.%Y') as datum,
    	tid, status, owp, opp, wlp,
    	DATE_FORMAT(datime,'%H:%i:%s') as zeit,
    	gegner, tag, page, mail, icq, wo, prefix_wars.`mod`, mtyp,
    	game, land, txt, prefix_wars.id,
    	name as team
    	FROM prefix_wars
    	left join prefix_groups ON prefix_wars.tid = prefix_groups.id
    	WHERE prefix_wars.id = ".$_GET['mehr']);
    	
      db_check_erg ($erg);
      
      $row = db_fetch_assoc($erg);
      $row['page'] = get_homepage($row['page']);
    	$row['txt'] = bbcode($row['txt']);
    	if ( $row['status'] == 2 ) {
    	# nextwars
    		$title = $allgAr['title'].' :: Wars :: Nextwars';
    		$hmenu = '<a href="?wars" class="smalfont">Wars</a><b> &raquo; </b>Nextwars';
    		$design = new design ( $title , $hmenu );
    		$design->header();
    		$tpl = new tpl ('wars_next');
    		$row['tag'] = ( empty($row['tag']) ? $row['gegner'] : $row['tag'] );
    		if ( $_SESSION['authright'] <= -3 ) {
    			$row['mail']=$row['mail'];
    			$row['icq']=$row['icq'];
    			$row['wo']=$row['wo'];
    			$row['txt']=$row['txt'];
    		} else{
    			$row['icq']='locked';
    			$row['mail']='locked';
    			$row['wo']='locked';
    			$row['txt']='locked';
    		}
    		$tpl->set_ar_out($row,0);
    
    		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);
    			
    			$wabf = db_fetch_row(db_query("SELECT DISTINCT `datime` FROM `prefix_wars` WHERE id = '".$_GET['mehr']."'"));
                $aktime = strtotime("now");
    			$aktimenext = $aktime+172800;
    			$wartime = strtotime($wabf[0]); 
    			if ($aktimenext > $wartime ) {
    			echo 'Der War findet in weniger als 48h statt daher kannst du dich nicht mehr an/abmelden';
    			} else {
    			  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; background:#666666; font-weight:bold;">abgesagt</font>','<font style="font-weight:bold; color:#00FF00; background:#666666;">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);
    			}
    		}
      	$tpl->out(4);
        
    	} elseif ($row['status'] == 3) {
    		# lastwars
    		$row['memberliste'] = lastwars_get_memberlist($_GET['mehr']);
    		$wlpar = array(1=>'gewonnen',2=>'verloren',3=>'unentschieden');
    		$row['erg'] = $row['owp'].' zu '.$row['opp'];
    		$row['ergliste'] = get_erg_liste($_GET['mehr']);
    		$row['wlp'] = $wlpar[$row['wlp']];
    		$title = $allgAr['title'].' :: Wars :: Lastwars';
    		$hmenu = '<a href="?wars" class="smalfont">Wars</a><b> &raquo; </b>Lastwars';
    		$design = new design ( $title , $hmenu );
    		$design->header();
    		$tpl = new tpl ('wars_last');
    		$row['tag'] = ( empty($row['tag']) ? $row['gegner'] : $row['tag'] );
    		$tpl->set_ar_out($row,0);
    		# kommentare fuer lastwars
    		if ($allgAr['wars_last_komms'] < 0 AND has_right ($allgAr['wars_last_komms'])) {
    			# aktion
    			if (isset ($_POST['kommentar_fuer_last_wars'])) {
    				$name = $_SESSION['authname'];
    				$text = escape($_POST['text'],'textarea');
    				db_query("INSERT INTO prefix_koms (name,cat,text,uid) VALUES ('".$name."','WARSLAST', '".$text."', ".$_GET['mehr']." )");
    			}
    			if (isset ($_GET['kommentar_fuer_last_wars_loeschen']) AND is_siteadmin('wars')) {
    				db_query("DELETE FROM prefix_koms WHERE cat = 'WARSLAST' AND uid = ".$_GET['mehr']." AND id = ".$_GET['kommentar_fuer_last_wars_loeschen']);
    			}
    			# anzeigen
    			$tpl->out(1);
    			$class = '';
    			$erg = db_query("SELECT name,text,id FROM prefix_koms WHERE cat = 'WARSLAST' AND uid = ".$_GET['mehr']." ORDER BY id DESC");
    			while($r = db_fetch_assoc($erg)) {
    				$class = ( $class == 'Cmite' ? 'Cnorm' : 'Cmite' );
    				$r['text']  = bbcode($r['text']);
    				if (is_siteadmin('wars')) { $r['text'] .= '<a href="index.php?wars-more-'.$_GET['mehr'].'=0&amp;kommentar_fuer_last_wars_loeschen='.$r['id'].'"><img src="include/images/icons/del.gif" title="l&ouml;schen" alt="l&ouml;schen" border="0"></a>'; }
    				$r['class'] = $class;
    				$tpl->set_ar_out($r,2);
    			}
    			$tpl->out(3);
    		}
    	}
      $design->footer();
    }
    ?>


    MfG OloX
    PHP, JavaScript, CSS
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten