anpera.net
https://anpera.dyndns.org/phpbb3/

Index.php - Zeit automatisch ablaufen
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=4016
Seite 1 von 1

Autor:  sasa [ Sa 22 Sep, 2007 13:06 ]
Betreff des Beitrags:  Index.php - Zeit automatisch ablaufen

Hallo. Ich will, dass die Zeit in der Index.php automatisch abläuft. Wie mache ich das?

Autor:  MySql [ Sa 22 Sep, 2007 13:52 ]
Betreff des Beitrags: 

JS

[php]//Next New Day in ... is by JT from logd.dragoncat.net
$time = gametime();
// $tomorrow = strtotime(date("Y-m-d H:i:s",$time)." + 1 day");
$tomorrow = mktime(0,0,0,date('m',$time),date('d',$time)+1,date('Y',$time));
// $tomorrow = strtotime(date("Y-m-d 00:00:00",$tomorrow));
$secstotomorrow = $tomorrow-$time;
$realsecstotomorrow = round($secstotomorrow / (int)getsetting("daysperday",4));
$nextdattime = date("`@ \\S\\t\\u\\n\\d\\e\\n, i \\M\\i\\n\\u\\t\\e\\n, s \\S\\e\\k\\u\\n\\d\\e\\n\\ \\(\\E\\c\\h\\t\\z\\e\\i\\t\\)",strtotime("1980-01-01 00:00:00 + $realsecstotomorrow seconds"));
output('<div id="index_time">'.$nextdattime.'</div>
<script language="javascript">
/*Kleines Schmankerl by Alucard
http://www.atrahor.de
*/
var index_time_div = document.getElementById("index_time");
var index_time_day = Math.ceil(24/'.(int)getsetting("daysperday",4).');
var index_dest_time = 0;
function index_act_time()
{
var jetzt = new Date();
var tm = jetzt.getTime();
if( tm > index_dest_time ){
index_dest_time += index_time_day*3600000+ (tm-index_dest_time);
}
var diff = index_dest_time - tm;
var edit = "`@Nächster neuer Tag in: `%";
var s = Math.floor(diff / 3600000);
diff %= 3600000;
var m = Math.floor(diff / 60000);
diff %= 60000;
var sek = Math.floor(diff / 1000);
index_time_div.innerHTML = edit+s+" `@Stunde"+(s!=1 ? "n":"")+",`% "+(m<10 ? "0"+m : (m==71 || m==72 ? "<font color=\"#FFFFFF\"><b>"+m+"</b></font>" : m))+" `@Minute"+(m!=1 ? "n" : "")+",`% "+(sek<10 ? "0"+sek : sek)+" `@Sekunde"+(sek!=1 ? "n" : "")+" `@(Echtzeit)";
window.setTimeout("index_act_time()", 1000);
}
function index_set_time(s,m,sek)
{
if( !index_dest_time ){
var jetzt = new Date();
index_dest_time = jetzt.getTime() + 1000*sek + 60000*m + 3600000*s;
}
window.setTimeout("index_act_time()", 1);
}
if( index_time_div ){
index_set_time('.date('G, i, s',strtotime('1980-01-01 00:00:00 + '.$realsecstotomorrow.' seconds')).');
}
</script>
',true);[/php]

Autor:  sasa [ Sa 22 Sep, 2007 23:54 ]
Betreff des Beitrags: 

Danke, hoffe, es klappt, ich wusste, dass es JS sein musste, aber ich kenn mich zu 50% mit PHP aus, und JS ist in den anderen 50%^^

:D

Autor:  Octavius [ So 28 Okt, 2007 19:44 ]
Betreff des Beitrags: 

Super gemacht und geht 100% .. Tolle Leistung
Echt zu Empfehlen

Autor:  Liath [ Mi 24 Dez, 2008 01:33 ]
Betreff des Beitrags:  Re: Index.php - Zeit automatisch ablaufen

hmm... irgendwie läuft die zeit bei mir nicht automatisch ab :(
hat jemand ne ahnung woran das liegen könnte?

Autor:  Rikkarda [ Mi 24 Dez, 2008 11:02 ]
Betreff des Beitrags:  Re: Index.php - Zeit automatisch ablaufen

Liath hat geschrieben:
hmm... irgendwie läuft die zeit bei mir nicht automatisch ab :(
hat jemand ne ahnung woran das liegen könnte?



index.php

Gesperrt:
eigens modifiziert, darum gesperrt

Autor:  Liath [ Mi 24 Dez, 2008 12:30 ]
Betreff des Beitrags:  Re: Index.php - Zeit automatisch ablaufen

hups... is offen
hab ichs doch vergessen :/

edit: kann es sein, das es daran liegt das ich gar nicht die stuff.js im templates ordner hab oO
fällt mir grad mal so auf

Autor:  Rikkarda [ Mi 24 Dez, 2008 13:41 ]
Betreff des Beitrags:  Re: Index.php - Zeit automatisch ablaufen

Liath hat geschrieben:
hups... is offen
hab ichs doch vergessen :/

edit: kann es sein, das es daran liegt das ich gar nicht die stuff.js im templates ordner hab oO
fällt mir grad mal so auf



Tjo die sollte man dann schon mit einbinden ;)

Autor:  Liath [ Mi 24 Dez, 2008 14:38 ]
Betreff des Beitrags:  Re: Index.php - Zeit automatisch ablaufen

hab ich nun... hat sich somit erledigt :)

edit:
hab noch ne frage dazu... ich würd mir das jetzt ganz gern noch in der vitalinfo unter nächster tag anzeigen lassen, nur komischerweise zählt er da die zeit nicht runter...

ich hab mir mal testweise ein normales output gemacht... dort zählt er die zeit ganz normal runter, nur im menü nicht, die beiden entsprechenden zeilen wären die hier:

$this->bbcode_second_pass_code('', ' $charstat.=appoencode(templatereplace('statrow',array('title'=>'Nächster Tag','value'=>$ico_day.$ntime)),true);
output('`qNächster neuer Tag in: '.$ntime.'`0`n`n');')

und hier die ganze funktion so wie ich sie mir angepasst hab

$this->bbcode_second_pass_code('', ' /*
Kleines Schmankerl by Alucard
www.atrahor.de

Code enthält Teile von JT from logd.dragoncat.net
*/
$time = gametime();
$ico_day = '<img src="./icons/day.gif" alt="Neuer Tag">';
$tomorrow = mktime(0,0,0,date('m',$time),date('d',$time)+1,date('Y',$time));
$secstotomorrow = $tomorrow-$time;
$realsecstotomorrow = round($secstotomorrow / (int)getsetting("daysperday",4));

$calctime = strtotime('1980-01-01 00:00:00 + '.$realsecstotomorrow.' seconds');

$nextdattime = date('G\\:i\\:s\\',$calctime);
$ntime = '<div id="index_time">'.$nextdattime.'</div>';
$charstat.=appoencode(templatereplace('statrow',array('title'=>'Nächster Tag','value'=>$ico_day.$ntime)),true);
output('`qNächster neuer Tag in: '.$ntime.'`0`n`n');
output('<script language="javascript">
/*
Kleines Schmankerl by Alucard
www.atrahor.de
*/
var index_time_div = document.getElementById("index_time");
var index_time_day = Math.ceil(24/'.(int)getsetting("daysperday",4).');
var index_dest_time = 0;
</script>
<script language="javascript" src="./templates/stuff.js"></script>
<script language="javascript">
if( index_time_div ){
index_set_time('.date('G, i, s',$calctime).');
}
</script>');')

in dem menüeintrag zählt er es nicht runter im output ja... Oo

Autor:  Rikkarda [ Mi 24 Dez, 2008 15:27 ]
Betreff des Beitrags:  Re: Index.php - Zeit automatisch ablaufen

siehe pn

Autor:  halfen [ Do 16 Apr, 2009 08:16 ]
Betreff des Beitrags:  Re: Index.php - Zeit automatisch ablaufen

woran lag es denn?
man muss doch i-wie den output in eine funktion packen, oder?

Autor:  Andarrius [ So 26 Apr, 2009 09:42 ]
Betreff des Beitrags:  Re: Index.php - Zeit automatisch ablaufen

gibt es dafür schon eine Lösung? aslo das die Zeit in der Vitalinfo runter läuft?

MfG

Andarrius

Autor:  Variantus [ Fr 15 Mai, 2009 03:26 ]
Betreff des Beitrags:  Re: Index.php - Zeit automatisch ablaufen

Andarrius hat geschrieben:
gibt es dafür schon eine Lösung? aslo das die Zeit in der Vitalinfo runter läuft?

MfG

Andarrius


Ich hab es in meiner output.lib.php (DS 2.5 Version) so gelöst.

Steht bei mir hinter dem Zeug mit dem "Haustier". Wie es in der Anpera-Version ist, kann ich leider nicht sagen.

$this->bbcode_second_pass_code('', 'if (getsetting('dispnextday',0)){

//Next New Day in ... is by JT from logd.dragoncat.net
$time = gametime();
// $tomorrow = strtotime(date("Y-m-d H:i:s",$time)." + 1 day");
$tomorrow = mktime(0,0,0,date('m',$time),date('d',$time)+1,date('Y',$time));
// $tomorrow = strtotime(date("Y-m-d 00:00:00",$tomorrow));
$secstotomorrow = $tomorrow-$time;
$realsecstotomorrow = round($secstotomorrow / (int)getsetting("daysperday",4));
$nextdattime = date('G, i, s ',strtotime('1980-01-01 00:00:00 + '.$realsecstotomorrow.' seconds'));

$charstat.=appoencode(templatereplace('statrow',array('title'=>'<font size="1">Neuer Tag in</font>','value'=>'<font size="1"><div id="index_time">'.$nextdattime.'</div></font>
<script language="javascript">
/*Kleines Schmankerl by Alucard
www.atrahor.de
*/

var index_time_div = document.getElementById("index_time");
var index_time_day = Math.ceil(24/'.(int)getsetting("daysperday",4).');
var index_dest_time = 0;


function index_act_time()
{
var jetzt = new Date();
var tm = jetzt.getTime();
if( tm > index_dest_time ){
index_dest_time += index_time_day*3600000+ (tm-index_dest_time);
}
var diff = index_dest_time - tm;
var s = Math.floor(diff / 3600000);
diff %= 3600000;
var m = Math.floor(diff / 60000);
diff %= 60000;
var sek = Math.floor(diff / 1000);



index_time_div.innerHTML = s+"h"+(s!=1 ? "":"")+", "+(m<10 ? "0"+m : (m==00 || m==45 || m==30 || m==15 || m==03 || m==02 || m==02 || m==00 ? "<font color=\"#FF0000\"><b>"+m+"</b></font>" : m))+"m"+(m!=1 ? "" : "")+", "+(sek<10 ? "0"+sek : sek)+"s"+(sek!=1 ? "" : "")+"";
window.setTimeout("index_act_time()", 1000);
}

function index_set_time(s,m,sek)
{
if( !index_dest_time ){
var jetzt = new Date();
index_dest_time = jetzt.getTime() + 1000*sek + 60000*m + 3600000*s;
}
window.setTimeout("index_act_time()", 1);
}

if( index_time_div ){
index_set_time('.date('G, i, s',strtotime('1980-01-01 00:00:00 + '.$realsecstotomorrow.' seconds')).');
}

</script>
')),true);
}')

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/