General Community > Scripting Help

World Clock

(1/7) > >>

Old Fossil:
My latest forum is www.broadstarradio.com

Currently the world clock is situated in a portal block.

I would prefer it to be below the user details on the right side of the forum.


--- Code: ---<table width="100%">
    <tr>
        <td width="100%" align="center">
            <select name="city" size="1" onchange="updateclock(this);">
                <option value="" selected>Local time</option>
                <option value="0">London</option>
                <option value="10">Sydney</option>
                <option value="-10">Hawaii</option>
                <option value="-8">Los Angeles</option>
                <option value="-5">New York</option>
                </select>
        </td>
    </tr>
    <tr>
        <td width="100%" align="center">
<script language="JavaScript">
if (document.all||document.getElementById)
document.write('<IMG height=16 src="Themes/default/images/timer.gif" width=16>    <span id="worldclock" style="font:bold 12px verdana;"></span><br>') 
zone=0;
isitlocal=true;
ampm='';
function updateclock(z){
zone=z.options[z.selectedIndex].value;
isitlocal=(z.options[0].selected)?true:false;
}
function WorldClock(){
now=new Date();
ofst=now.getTimezoneOffset()/60;
secs=now.getSeconds();
sec=-1.57+Math.PI*secs/30;
mins=now.getMinutes();
min=-1.57+Math.PI*mins/30;
hr=(isitlocal)?now.getHours():(now.getHours() + parseInt(ofst)) + parseInt(zone);
hrs=-1.575+Math.PI*hr/6+Math.PI*parseInt(now.getMinutes())/360;
if (hr < 0) hr+=24;
if (hr > 23) hr-=24;
ampm = (hr > 11)?"PM":"AM";
statusampm = ampm.toLowerCase();
hr2 = hr;
if (hr2 == 0) hr2=12;
(hr2 < 13)?hr2:hr2 %= 12;
if (hr2<10) hr2="0"+hr2
var finaltime=hr2+':'+((mins < 10)?"0"+mins:mins)+':'+((secs < 10)?"0"+secs:secs)+' '+statusampm;
if (document.all)
worldclock.innerHTML=finaltime
else if (document.getElementById)
document.getElementById("worldclock").innerHTML=finaltime
else if (document.layers){
document.worldclockns.document.worldclockns2.document.write(finaltime)
document.worldclockns.document.worldclockns2.document.close()
}
setTimeout('WorldClock()',1000);
}
window.onload=WorldClock
//-->
</script>
<ilayer id="worldclockns" width=100% height=35><layer id="worldclockns2" width=100% height=35 left=0 top=0 style="font:bold 12px verdana;"></layer></ilayer>
        </td>
    </tr>
</table>
--- End code ---

K@:

--- Quote from: Old Fossil on March 09, 2012, 07:56:57 PM ---I would prefer it to be below the user details on the right side of the forum.
--- End quote ---

Eh? ;)

Old Fossil:
So it isn't seen on the portal only ya ninny.

:P

K@:
If it helps, I have mine where you can see it, here:

http://www.tlakoc.org.uk

I did it by adding this:


--- Code: ---include 'banner.php';
--- End code ---

right after:


--- Code: ---</head>
<body>';
if($context['browser']['is_ie6'])
echo ' <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100%">
<div id="infobar"><a href="http://www.microsoft.com/windows/internet-explorer/worldwide-sites.aspx"><p>' , (empty($modSettings['ie6_warning_bar_message'])) ? $txt['ie6_warning_bar_message_default'] : $modSettings['ie6_warning_bar_message'] , '</p></a>
</div>
</td>
</tr>
</table>';
--- End code ---

and saved the world clock code as a separate file (banner.php), which the include calls. (As you saw, though, my forum's on SMF v1.1.16). So, yours'll be a bit different. I assume it has body tags, though. So, perhaps, just after the opening one would be a good place to start.

That way, if I wanted to change the script, I only had to change the one file, instead of having to do it with all themes.

I buggered about with the script, a bit.


--- Code: ---<div style = "text-align: center;">
<form name="where">
<select name="city" size="1" onchange="updateclock(this);">
<option value="" selected>Local time</option>
<option value="0">London GMT</option>
<option value="+2">Amsterdam</option>
<option value="7">Bangkok</option>
<option value="-3">Buenos Aires</option>
<option value="-5">Chicago</option>
<option value="+2">Dordrecht</option>
<option value="12">Fiji</option>
<option value="-10">Hawaii</option>
<option value="8">Hong Kong</option>
<option value="-4">New York</option>
<option value="+8">Perth</option>
<option value="2">Rome</option>
<option value="-7">San Francisco</option>
<option value="11">Sydney</option>
<option value="9">Tokyo</option>
</select>

<script language="JavaScript">

/*
Drop Down World Clock- By JavaScript Kit (http://www.javascriptkit.com)
Portions of code by Kurt @ http://www.btinternet.com/~kurt.grigg/javascript
This credit notice must stay intact
*/

if (document.all||document.getElementById)
document.write('<span id="worldclock" style="font:bold 16px Arial;"></span><br>')

zone=0;
isitlocal=true;
ampm='';

function updateclock(z){
zone=z.options[z.selectedIndex].value;
isitlocal=(z.options[0].selected)?true:false;
}

function WorldClock(){
now=new Date();
ofst=now.getTimezoneOffset()/60;
secs=now.getSeconds();
sec=-1.57+Math.PI*secs/30;
mins=now.getMinutes();
min=-1.57+Math.PI*mins/30;
hr=(isitlocal)?now.getHours():(now.getHours() + parseInt(ofst)) + parseInt(zone);
hrs=-1.575+Math.PI*hr/6+Math.PI*parseInt(now.getMinutes())/360;
if (hr < 0) hr+=24;
if (hr > 23) hr-=24;
ampm = (hr > 11)?"PM":"AM";
statusampm = ampm.toLowerCase();

hr2 = hr;
if (hr2 == 0) hr2=12;
(hr2 < 13)?hr2:hr2 %= 12;
if (hr2<10) hr2="0"+hr2

var finaltime=hr2+':'+((mins < 10)?"0"+mins:mins)+':'+((secs < 10)?"0"+secs:secs)+' '+statusampm;

if (document.all)
worldclock.innerHTML=finaltime
else if (document.getElementById)
document.getElementById("worldclock").innerHTML=finaltime
else if (document.layers){
document.worldclockns.document.worldclockns2.document.write(finaltime)
document.worldclockns.document.worldclockns2.document.close()
}


setTimeout('WorldClock()',1000);
}

window.onload=WorldClock
//-->
</script>

<!--Place holder for NS4 only-->
<ilayer id="worldclockns" width=100% height=35><layer id="worldclockns2" width=100% height=35 left=0 top=0 style="font:bold 16px Arial;"></layer></ilayer>
</form>
</div>
--- End code ---

Thinking about it, though, can't you make SP have blocks showing all over the forum, not just on the portal?

Old Fossil:

--- Quote ---Thinking about it, though, can't you make SP have blocks showing all over the forum, not just on the portal?

--- End quote ---
Yes but I am planning a few more blocks which I will be adding once I have paid for the streaming company (which pays the licensing).

The various players such as winamp etc.

Navigation

[0] Message Index

[#] Next page

Go to full version