Countdown MOD - bräuchte bitte etwas Hilfe

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
schizo
Mitglied
Beiträge: 10
Registriert: 28.04.2006 13:11

Countdown MOD - bräuchte bitte etwas Hilfe

Beitrag von schizo »

Guten Morgen zusammen!

Habe gestern den "Advanced Countdown MOD" in der Version 1.0.8 installiert, und er läuft auch soweit.

Allerdings würde ich gern die Anzeige ein wenig anpassen. Zur Zeit wird der Countdown so angezeigt (Beispiel):

"Noch verbleibende Tage: 36 - 18 : 26 : 57"

Die Anzeige würde ich gern dahingehend verändern:

"Noch 36 Tage, 18 Stunden, 26 Minnuten und 57 Sekunden bis zum Anpfiff!"

Hinbekommen habe ich schonmal, dass die Std./Min./Sek. in einer neuen Zeile unter den Tagen angezeigt werden, und auch das "X Stunden, X Minuten und X Sekunden bis zum Anpfiff!" funktioniert.

Leider habe ich aber noch 2 Probleme:

1. Der Eintrag "Tage" hinter der Tageszahl steht immer mit einem Leerzeichen zuviel hinter der Zahl. Nirgendwo kann ich ein Leerzeichen bzw. ein   im Code entdecken - es muss also mit der Variablen zu tun haben - da kenne ich mich aber leider nicht genug aus :(

2. Die Schriftgrößen sind unterschiedlich. Auch wenn ich die Zahlen in bsp. "size=2" anpasse, hat das keine Auswirkungen (bzw. kommt immer auf die Stelle an, wo der Text steht).

Hier mal ein Auszug aus dem Code:

page_header.php:

Code: Alles auswählen

// Advanded Countdown Mod START
if ( defined('ON_INDEX') || defined('ON_PORTAL') )
{
	include_once($phpbb_root_path.'includes/bbcode.'.$phpEx);
	$sql = "SELECT * FROM " . COUNTDOWN_TABLE;
	if( !($result = $db->sql_query($sql)) )
	{
	      message_die(GENERAL_ERROR, 'Could not get countdown settings', '', __LINE__, __FILE__, $sql);
	}

	while ( $row = $db->sql_fetchrow($result))
	{
		$img_left = $row['img_left'];
		$img_right = $row['img_right'];
		$title = $row['title'];
		$description = $row['description'];
		$event_text = stripslashes($row['event_text']);
		$event_stop = $row['event_stop'];
		$enable_index = $row['enable_index'];
		$enable_portal = $row['enable_portal'];
		$full_display = $row['full_display'];
	}

	$event_stop -= $userdata['user_timezone'] * 3600;
	$event_stop += (date('I')) ? 3600 : 0;

	$b_day = date('d', $event_stop);
	$b_month = date('n', $event_stop);
	$b_year = date('Y', $event_stop);
	$b_hour = date('H', $event_stop);
	$b_minute = date('i', $event_stop);
	$b_second = date('s', $event_stop);

	switch ($b_month)
	{
		case 1:$b_month = 'January';break;
		case 2:$b_month = 'February';break;
		case 3:$b_month = 'March';break;
		case 4:$b_month = 'April';break;
		case 5:$b_month = 'May';break;
		case 6:$b_month = 'June';break;
		case 7:$b_month = 'July';break;
		case 8:$b_month = 'August';break;
		case 9:$b_month = 'September';break;
		case 10:$b_month = 'October';break;
		case 11:$b_month = 'November';break;
		case 12:$b_month = 'December';break;
	}

	$stop = $b_month.' '.$b_day.', '.$b_year.' '.$b_hour.':'.$b_minute.':'.$b_second;

	$user_lang = ( $userdata['user_lang'] ) ? $userdata['user_lang'] : $board_config['default_lang'];
	include_once($phpbb_root_path . 'language/lang_' . $user_lang . '/lang_countdown.php');

	$template->assign_vars(array(
		'L_DAYS' => $lang['C_days'],
		'IMG_LEFT' => ( $img_left ) ? '<img src="'.$img_left.'" border="0" />' : '',
		'IMG_RIGHT' => ( $img_right ) ? '<img src="'.$img_right.'" border="0" />' : '',
		'TITLE' => make_clickable(stripslashes($title)),
		'DESC' => make_clickable(stripslashes($description)))
	);
}

$countdown_on = 0;

if ( defined('ON_INDEX') && $enable_index == 1 )
{
	$template->assign_block_vars('switch_countdown_on', array());
	$countdown_on = 1;
}

if ( defined('ON_PORTAL') && $enable_portal == 1 )
{
	$template->assign_block_vars('switch_countdown_on', array());
	$countdown_on = 1;
}

if ( $countdown_on == 1 )
{
	$countdown = "<script language='JavaScript' type='text/javascript'>
<!--
var eventdate = new Date('".$stop."');
function toSt(n)
{
	s=''
	if(n<10) s+='0'
	return s+n.toString();
}

function countdown()
{
	d=new Date();
	count=Math.floor((eventdate.getTime()-d.getTime())/1000);

	if(count<=0)
	{
		var time_event = document.getElementById('time_event');
		var event_time = document.getElementById('event_time');
		time_event.style.display = 'none';
		event_time.style.display = '';
		return;
	}

	secs_count = toSt(count%60);
	count=Math.floor(count/60);
	mins_count = toSt(count%60);
	count=Math.floor(count/60);
	hours_count = toSt(count%24);
	count=Math.floor(count/24);
	days_count = count;

	document.countdown.days.value = days_count;
	document.countdown.hours.value = hours_count;
	document.countdown.mins.value = mins_count;
	document.countdown.secs.value = secs_count;

	window.setTimeout('countdown()',500);

}
//-->
</script>";

	$template->assign_vars(array(
		'EVENT_TEXT' => $event_text,
		'COUNTDOWN' => $countdown,
		'COUNTDOWN_ON' => 'onLoad="javascript:countdown();"'));
}

if ( $full_display == 0 )
{
	$template->assign_vars(array(
		'FULL_DISPLAY' => 'none'));
}
else
{
	$template->assign_vars(array(
		'FULL_DISPLAY' => ''));
}
// Advanded Countdown Mod END
overall_header.php

Code: Alles auswählen

<!-- BEGIN switch_countdown_on -->
<form name="countdown">
<table align="center" width="100%" cellspacing="2" cellpadding="5" border="0" class="forumline">
  <tr>
  	<th align="center" colspan="3">{TITLE}</th>
  </tr>
  <tr>
	<td align="left" valign="center" width="20%">{IMG_LEFT}</td>
	<td align="center" width="60%">
		<div class="gen">{DESC}</div><br />
		<div id="time_event" class="genmed" style="display:"><b>
		{L_DAYS}&nbsp;<input name="days" class="post" size=4 style="border: 0px">
		<span style="display: {FULL_DISPLAY};" class="gen" name="time_string">-&nbsp;&nbsp;
		<input name="hours" class="post" size=2 style="border: 0px">&nbsp;:
		<input name="mins" class="post" size=2 style="border: 0px">&nbsp;:
		<input name="secs" class="post" size=2 style="border: 0px">
		</b></span></div>
		<div id="event_time" class="gen" style="display:none">{EVENT_TEXT}</div>
	</td>
	<td align="right" valign="center" width="20%">{IMG_RIGHT}</td>
  </tr>
</table>
</form>

<script language="JavaScript" type="text/javascript">countdown();</script>
<!-- END switch_countdown_on -->
Einen Teil aus dem 2. Code habe ich nun so angepasst:

Code: Alles auswählen

<div class="gen">{DESC}</div><br />
		<div id="time_event" class="genmed" style="display:"><b>
Noch&nbsp;

Code: Alles auswählen

<input name="days" class="post" size=4 style="border: 0px">
		<span style="display: {FULL_DISPLAY};" class="gen" name="time_string">
Tage,&nbsp;<br />

Code: Alles auswählen

		<input name="hours" class="post" size=2 style="border: 0px">
Stunden,&nbsp;

Code: Alles auswählen

		<input name="mins" class="post" size=2 style="border: 0px">
Minuten und&nbsp;

Code: Alles auswählen

		<input name="secs" class="post" size=2 style="border: 0px">
Sekunden bis zum Anpfiff!

Code: Alles auswählen

		</b></span></div>
Ich finde einfach nicht den "Fehler", dass zwischen Tageszahl und dem Wort "Tage" noch mindestens ein Leerzeichen zuviel steht...

Bin für jede Hilfe dankbar!!

Gruß >> Schizo.

P.S. Sorry, die farbigen Stellen sollten eigentlich direkt im Code angezeigt werden, wollte damit deutlich machen, was ich verändert habe - das ging innerhalb des Codes aber nicht.
Die roten Stellen sollten jeweils am Ende des Codes darüber stehen ;)
Antworten

Zurück zu „phpBB 2.0: Mod Support“