summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rwxr-xr-xincludes/header.php7
-rwxr-xr-xpages/splash.php28
-rwxr-xr-xtheme/css/thickbox.css164
-rwxr-xr-xtheme/header.tpl8
-rwxr-xr-xtheme/js/thickbox.js328
-rwxr-xr-xtheme/welcome.tpl5
6 files changed, 0 insertions, 540 deletions
diff --git a/includes/header.php b/includes/header.php index 994a291..c2cbbc2 100755 --- a/includes/header.php +++ b/includes/header.php
@@ -24,13 +24,6 @@ require('headerproc.php');
24 24
25$headerTemp = new FITemplate('header'); 25$headerTemp = new FITemplate('header');
26 26
27if (!isset($_COOKIE['splashOnce']))
28{
29 setcookie('splashOnce', '1');
30
31 $headerTemp->adds_block('SPLASH', array('exi'=>1));
32}
33
34if ((date('G') >= 20) || (date('G') <= 6)) 27if ((date('G') >= 20) || (date('G') <= 6))
35{ 28{
36 $bodyID = 'night'; 29 $bodyID = 'night';
diff --git a/pages/splash.php b/pages/splash.php deleted file mode 100755 index 0a9ca89..0000000 --- a/pages/splash.php +++ /dev/null
@@ -1,28 +0,0 @@
1<?php
2/*
3 444444444
4 4::::::::4
5 4:::::::::4
6 4::::44::::4
7 4::::4 4::::4 Four Island
8 4::::4 4::::4
9 4::::4 4::::4 Written and maintained by Starla Insigna
104::::444444::::444
114::::::::::::::::4 pages/splash.php
124444444444:::::444
13 4::::4 Please do not use, reproduce or steal the
14 4::::4 contents of this file without explicit
15 4::::4 permission from Hatkirby.
16 44::::::44
17 4::::::::4
18 4444444444
19*/
20
21if (!defined('S_INCLUDE_FILE')) {define('S_INCLUDE_FILE',1);}
22
23require('headerproc.php');
24
25$template = new FITemplate('welcome');
26$template->display();
27
28?>
diff --git a/theme/css/thickbox.css b/theme/css/thickbox.css deleted file mode 100755 index 0de29b2..0000000 --- a/theme/css/thickbox.css +++ /dev/null
@@ -1,164 +0,0 @@
1/* ----------------------------------------------------------------------------------------------------------------*/
2/* ---------->>> global settings needed for thickbox <<<-----------------------------------------------------------*/
3/* ----------------------------------------------------------------------------------------------------------------*/
4*{padding: 0; margin: 0;}
5
6/* ----------------------------------------------------------------------------------------------------------------*/
7/* ---------->>> thickbox specific link and font settings <<<------------------------------------------------------*/
8/* ----------------------------------------------------------------------------------------------------------------*/
9#TB_window {
10 font: 12px Arial, Helvetica, sans-serif;
11 color: #333333;
12}
13
14#TB_secondLine {
15 font: 10px Arial, Helvetica, sans-serif;
16 color:#666666;
17}
18
19#TB_window a:link {color: #666666;}
20#TB_window a:visited {color: #666666;}
21#TB_window a:hover {color: #000;}
22#TB_window a:active {color: #666666;}
23#TB_window a:focus{color: #666666;}
24
25/* ----------------------------------------------------------------------------------------------------------------*/
26/* ---------->>> thickbox settings <<<-----------------------------------------------------------------------------*/
27/* ----------------------------------------------------------------------------------------------------------------*/
28#TB_overlay {
29 position: fixed;
30 z-index:100;
31 top: 0px;
32 left: 0px;
33 height:100%;
34 width:100%;
35}
36
37.TB_overlayMacFFBGHack {background: url(macFFBgHack.png) repeat;}
38.TB_overlayBG {
39 background-color:#000;
40 filter:alpha(opacity=75);
41 -moz-opacity: 0.75;
42 opacity: 0.75;
43}
44
45* html #TB_overlay { /* ie6 hack */
46 position: absolute;
47 height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
48}
49
50#TB_window {
51 position: fixed;
52 background: #ffffff;
53 z-index: 102;
54 color:#000000;
55 display:none;
56 border: 4px solid #525252;
57 text-align:left;
58 top:50%;
59 left:50%;
60}
61
62* html #TB_window { /* ie6 hack */
63position: absolute;
64margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');
65}
66
67#TB_window img#TB_Image {
68 display:block;
69 margin: 15px 0 0 15px;
70 border-right: 1px solid #ccc;
71 border-bottom: 1px solid #ccc;
72 border-top: 1px solid #666;
73 border-left: 1px solid #666;
74}
75
76#TB_caption{
77 height:25px;
78 padding:7px 30px 10px 25px;
79 float:left;
80}
81
82#TB_closeWindow{
83 height:25px;
84 padding:11px 25px 10px 0;
85 float:right;
86}
87
88#TB_closeAjaxWindow{
89 padding:7px 10px 5px 0;
90 margin-bottom:1px;
91 text-align:right;
92 float:right;
93}
94
95#TB_ajaxWindowTitle{
96 float:left;
97 padding:7px 0 5px 10px;
98 margin-bottom:1px;
99}
100
101#TB_title{
102 background-color:#e8e8e8;
103 height:27px;
104}
105
106#TB_ajaxContent{
107 clear:both;
108 padding:2px 15px 15px 15px;
109 overflow:auto;
110 text-align:center;
111 line-height:1.4em;
112 background: url(/theme/images/backgrounds/island6.PNG) bottom;
113}
114
115#TB_ajaxContent.TB_modal{
116 padding:15px;
117}
118
119#TB_ajaxContent p{
120 padding:5px 0px 5px 0px;
121}
122
123#TB_load{
124 position: fixed;
125 display:none;
126 height:13px;
127 width:208px;
128 z-index:103;
129 top: 50%;
130 left: 50%;
131 margin: -6px 0 0 -104px; /* -height/2 0 0 -width/2 */
132}
133
134* html #TB_load { /* ie6 hack */
135position: absolute;
136margin-top: expression(0 - parseInt(this.offsetHeight / 2) + (TBWindowMargin = document.documentElement && document.documentElement.scrollTop || document.body.scrollTop) + 'px');
137}
138
139#TB_HideSelect{
140 z-index:99;
141 position:fixed;
142 top: 0;
143 left: 0;
144 background-color:#fff;
145 border:none;
146 filter:alpha(opacity=0);
147 -moz-opacity: 0;
148 opacity: 0;
149 height:100%;
150 width:100%;
151}
152
153* html #TB_HideSelect { /* ie6 hack */
154 position: absolute;
155 height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
156}
157
158#TB_iframeContent{
159 clear:both;
160 border:none;
161 margin-bottom:-1px;
162 margin-top:1px;
163 _margin-bottom:1px;
164}
diff --git a/theme/header.tpl b/theme/header.tpl index 335c975..b636cef 100755 --- a/theme/header.tpl +++ b/theme/header.tpl
@@ -3,7 +3,6 @@
3 <TITLE><!--EXTRATITLE-->Four Island</TITLE> 3 <TITLE><!--EXTRATITLE-->Four Island</TITLE>
4 4
5 <LINK REL="stylesheet" TYPE="text/css" HREF="http://fourisland.com/theme/css.php?id=<!--BODYID-->&amp;cat=<!--CATEGORY-->" /> 5 <LINK REL="stylesheet" TYPE="text/css" HREF="http://fourisland.com/theme/css.php?id=<!--BODYID-->&amp;cat=<!--CATEGORY-->" />
6 <LINK REL="stylesheet" TYPE="text/css" HREF="http://fourisland.com/theme/css/thickbox.css" />
7 <LINK REL="stylesheet" TYPE="text/css" HREF="http://fourisland.com/theme/css/print.css" MEDIA="print" /> 6 <LINK REL="stylesheet" TYPE="text/css" HREF="http://fourisland.com/theme/css/print.css" MEDIA="print" />
8 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8" /> 7 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8" />
9 <META HTTP-EQUIV="Content-Language" CONTENT="en" /> 8 <META HTTP-EQUIV="Content-Language" CONTENT="en" />
@@ -13,13 +12,6 @@
13 <LINK REL="pingback" HREF="http://fourisland.com/xmlrpc.php" /> 12 <LINK REL="pingback" HREF="http://fourisland.com/xmlrpc.php" />
14 <SCRIPT SRC="/theme/js/jquery-1.2.6.min.js" TYPE="text/javascript"></SCRIPT> 13 <SCRIPT SRC="/theme/js/jquery-1.2.6.min.js" TYPE="text/javascript"></SCRIPT>
15 <SCRIPT SRC="/theme/js/jquery.ie6blocker.js" TYPE="text/javascript"></SCRIPT> 14 <SCRIPT SRC="/theme/js/jquery.ie6blocker.js" TYPE="text/javascript"></SCRIPT>
16 <SCRIPT SRC="/theme/js/thickbox.js" TYPE="text/javascript"></SCRIPT>
17
18 <!--BEGIN SPLASH-->
19 <SCRIPT TYPE="text/javascript">
20 tb_splash();
21 </SCRIPT>
22 <!--END SPLASH-->
23 15
24 <!--HEADTAGS--> 16 <!--HEADTAGS-->
25 </HEAD> 17 </HEAD>
diff --git a/theme/js/thickbox.js b/theme/js/thickbox.js deleted file mode 100755 index 2ac1a21..0000000 --- a/theme/js/thickbox.js +++ /dev/null
@@ -1,328 +0,0 @@
1/*
2 * Thickbox 3.1 - One Box To Rule Them All.
3 * By Cody Lindley (http://www.codylindley.com)
4 * Copyright (c) 2007 cody lindley
5 * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
6*/
7
8var tb_pathToImage = "/theme/images/loadingAnimation.gif";
9
10/*!!!!!!!!!!!!!!!!! edit below this line at your own risk !!!!!!!!!!!!!!!!!!!!!!!*/
11
12//on page load call tb_init
13$(document).ready(function(){
14 tb_startup();
15});
16
17function tb_startup() {
18 tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
19 imgLoader = new Image();// preload image
20 imgLoader.src = tb_pathToImage;
21}
22
23function tb_splash() {
24 tb_startup();
25 tb_show("Welcome to Four Island!", "theme/welcome.tpl?no=", false);
26}
27
28//add thickbox to href & area elements that have a class of .thickbox
29function tb_init(domChunk){
30 $(domChunk).click(function(){
31 var t = this.title || this.name || null;
32 var a = this.href || this.alt;
33 var g = this.rel || false;
34 tb_show(t,a,g);
35 this.blur();
36 return false;
37 });
38}
39
40function tb_show(caption, url, imageGroup) {//function called when the user clicks on a thickbox link
41
42 try {
43/* if (typeof document.body.style.maxHeight === "undefined") {//if IE 6
44 $("body","html").css({height: "100%", width: "100%"});
45 $("html").css("overflow","hidden");
46 if (document.getElementById("TB_HideSelect") === null) {//iframe to hide select elements in ie6
47 $("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");
48 $("#TB_overlay").click(tb_remove);
49 }
50 }else*/{//all others
51 if(document.getElementById("TB_overlay") === null){
52 $("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");
53 $("#TB_overlay").click(tb_remove);
54 }
55 }
56
57 if(tb_detectMacXFF()){
58 $("#TB_overlay").addClass("TB_overlayMacFFBGHack");//use png overlay so hide flash
59 }else{
60 $("#TB_overlay").addClass("TB_overlayBG");//use background and opacity
61 }
62
63 if(caption===null){caption="";}
64 $("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /></div>");//add loader to the page
65 $('#TB_load').show();//show loader
66
67 var baseURL;
68 if(url.indexOf("?")!==-1){ //ff there is a query string involved
69 baseURL = url.substr(0, url.indexOf("?"));
70 }else{
71 baseURL = url;
72 }
73
74 var urlString = /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;
75 var urlType = baseURL.toLowerCase().match(urlString);
76
77 if(urlType == '.jpg' || urlType == '.jpeg' || urlType == '.png' || urlType == '.gif' || urlType == '.bmp'){//code to show images
78
79 TB_PrevCaption = "";
80 TB_PrevURL = "";
81 TB_PrevHTML = "";
82 TB_NextCaption = "";
83 TB_NextURL = "";
84 TB_NextHTML = "";
85 TB_imageCount = "";
86 TB_FoundURL = false;
87 if(imageGroup){
88 TB_TempArray = $("a[@rel="+imageGroup+"]").get();
89 for (TB_Counter = 0; ((TB_Counter < TB_TempArray.length) && (TB_NextHTML === "")); TB_Counter++) {
90 var urlTypeTemp = TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);
91 if (!(TB_TempArray[TB_Counter].href == url)) {
92 if (TB_FoundURL) {
93 TB_NextCaption = TB_TempArray[TB_Counter].title;
94 TB_NextURL = TB_TempArray[TB_Counter].href;
95 TB_NextHTML = "<span id='TB_next'>&nbsp;&nbsp;<a href='#'>Next &gt;</a></span>";
96 } else {
97 TB_PrevCaption = TB_TempArray[TB_Counter].title;
98 TB_PrevURL = TB_TempArray[TB_Counter].href;
99 TB_PrevHTML = "<span id='TB_prev'>&nbsp;&nbsp;<a href='#'>&lt; Prev</a></span>";
100 }
101 } else {
102 TB_FoundURL = true;
103 TB_imageCount = "Image " + (TB_Counter + 1) +" of "+ (TB_TempArray.length);
104 }
105 }
106 }
107
108 imgPreloader = new Image();
109 imgPreloader.onload = function(){
110 imgPreloader.onload = null;
111
112 // Resizing large images - orginal by Christian Montoya edited by me.
113 var pagesize = tb_getPageSize();
114 var x = pagesize[0] - 150;
115 var y = pagesize[1] - 150;
116 var imageWidth = imgPreloader.width;
117 var imageHeight = imgPreloader.height;
118 if (imageWidth > x) {
119 imageHeight = imageHeight * (x / imageWidth);
120 imageWidth = x;
121 if (imageHeight > y) {
122 imageWidth = imageWidth * (y / imageHeight);
123 imageHeight = y;
124 }
125 } else if (imageHeight > y) {
126 imageWidth = imageWidth * (y / imageHeight);
127 imageHeight = y;
128 if (imageWidth > x) {
129 imageHeight = imageHeight * (x / imageWidth);
130 imageWidth = x;
131 }
132 }
133 // End Resizing
134
135 TB_WIDTH = imageWidth + 30;
136 TB_HEIGHT = imageHeight + 60;
137 $("#TB_window").append("<a href='' id='TB_ImageOff' title='Close'><img id='TB_Image' src='"+url+"' width='"+imageWidth+"' height='"+imageHeight+"' alt='"+caption+"'/></a>" + "<div id='TB_caption'>"+caption+"<div id='TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + "</div></div><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div>");
138
139 $("#TB_closeWindowButton").click(tb_remove);
140
141 if (!(TB_PrevHTML === "")) {
142 function goPrev(){
143 if($(document).unbind("click",goPrev)){$(document).unbind("click",goPrev);}
144 $("#TB_window").remove();
145 $("body").append("<div id='TB_window'></div>");
146 tb_show(TB_PrevCaption, TB_PrevURL, imageGroup);
147 return false;
148 }
149 $("#TB_prev").click(goPrev);
150 }
151
152 if (!(TB_NextHTML === "")) {
153 function goNext(){
154 $("#TB_window").remove();
155 $("body").append("<div id='TB_window'></div>");
156 tb_show(TB_NextCaption, TB_NextURL, imageGroup);
157 return false;
158 }
159 $("#TB_next").click(goNext);
160
161 }
162
163 document.onkeydown = function(e){
164 if (e == null) { // ie
165 keycode = event.keyCode;
166 } else { // mozilla
167 keycode = e.which;
168 }
169 if(keycode == 27){ // close
170 tb_remove();
171 } else if(keycode == 190){ // display previous image
172 if(!(TB_NextHTML == "")){
173 document.onkeydown = "";
174 goNext();
175 }
176 } else if(keycode == 188){ // display next image
177 if(!(TB_PrevHTML == "")){
178 document.onkeydown = "";
179 goPrev();
180 }
181 }
182 };
183
184 tb_position();
185 $("#TB_load").remove();
186 $("#TB_ImageOff").click(tb_remove);
187 $("#TB_window").css({display:"block"}); //for safari using css instead of show
188 };
189
190 imgPreloader.src = url;
191 }else{//code to show html
192
193 var queryString = url.replace(/^[^\?]+\??/,'');
194 var params = tb_parseQuery( queryString );
195
196 TB_WIDTH = (params['width']*1) + 30 || 630; //defaults to 630 if no paramaters were added to URL
197 TB_HEIGHT = (params['height']*1) + 40 || 440; //defaults to 440 if no paramaters were added to URL
198 ajaxContentW = TB_WIDTH - 30;
199 ajaxContentH = TB_HEIGHT - 45;
200
201 if(url.indexOf('TB_iframe') != -1){// either iframe or ajax window
202 urlNoQuery = url.split('TB_');
203 $("#TB_iframeContent").remove();
204 if(params['modal'] != "true"){//iframe no modal
205 $("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton' title='Close'>close</a> or Esc Key</div></div><iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;' > </iframe>");
206 }else{//iframe modal
207 $("#TB_overlay").unbind();
208 $("#TB_window").append("<iframe frameborder='0' hspace='0' src='"+urlNoQuery[0]+"' id='TB_iframeContent' name='TB_iframeContent"+Math.round(Math.random()*1000)+"' onload='tb_showIframe()' style='width:"+(ajaxContentW + 29)+"px;height:"+(ajaxContentH + 17)+"px;'> </iframe>");
209 }
210 }else{// not an iframe, ajax
211 if($("#TB_window").css("display") != "block"){
212 if(params['modal'] != "true"){//ajax no modal
213 $("#TB_window").append("<div id='TB_title'><div id='TB_ajaxWindowTitle'>"+caption+"</div><div id='TB_closeAjaxWindow'><a href='#' id='TB_closeWindowButton'>close</a> or Esc Key</div></div><div id='TB_ajaxContent' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>");
214 }else{//ajax modal
215 $("#TB_overlay").unbind();
216 $("#TB_window").append("<div id='TB_ajaxContent' class='TB_modal' style='width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>");
217 }
218 }else{//this means the window is already up, we are just loading new content via ajax
219 $("#TB_ajaxContent")[0].style.width = ajaxContentW +"px";
220 $("#TB_ajaxContent")[0].style.height = ajaxContentH +"px";
221 $("#TB_ajaxContent")[0].scrollTop = 0;
222 $("#TB_ajaxWindowTitle").html(caption);
223 }
224 }
225
226 $("#TB_closeWindowButton").click(tb_remove);
227
228 if(url.indexOf('TB_inline') != -1){
229 $("#TB_ajaxContent").append($('#' + params['inlineId']).children());
230 $("#TB_window").unload(function () {
231 $('#' + params['inlineId']).append( $("#TB_ajaxContent").children() ); // move elements back when you're finished
232 });
233 tb_position();
234 $("#TB_load").remove();
235 $("#TB_window").css({display:"block"});
236 }else if(url.indexOf('TB_iframe') != -1){
237 tb_position();
238 if($.browser.safari){//safari needs help because it will not fire iframe onload
239 $("#TB_load").remove();
240 $("#TB_window").css({display:"block"});
241 }
242 }else{
243 $("#TB_ajaxContent").load(url += "&random=" + (new Date().getTime()),function(){//to do a post change this load method
244 tb_position();
245 $("#TB_load").remove();
246 tb_init("#TB_ajaxContent a.thickbox");
247 $("#TB_window").css({display:"block"});
248 });
249 }
250
251 }
252
253 if(!params['modal']){
254 document.onkeyup = function(e){
255 if (e == null) { // ie
256 keycode = event.keyCode;
257 } else { // mozilla
258 keycode = e.which;
259 }
260 if(keycode == 27){ // close
261 tb_remove();
262 }
263 };
264 }
265
266 } catch(e) {
267 //nothing here
268 }
269}
270
271//helper functions below
272function tb_showIframe(){
273 $("#TB_load").remove();
274 $("#TB_window").css({display:"block"});
275}
276
277function tb_remove() {
278 $("#TB_imageOff").unbind("click");
279 $("#TB_closeWindowButton").unbind("click");
280 $("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();});
281 $("#TB_load").remove();
282 if (typeof document.body.style.maxHeight == "undefined") {//if IE 6
283 $("body","html").css({height: "auto", width: "auto"});
284 $("html").css("overflow","");
285 }
286 document.onkeydown = "";
287 document.onkeyup = "";
288 return false;
289}
290
291function tb_position() {
292$("#TB_window").css({marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + 'px', width: TB_WIDTH + 'px'});
293 if ( !(jQuery.browser.msie && jQuery.browser.version < 7)) { // take away IE6
294 $("#TB_window").css({marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + 'px'});
295 }
296}
297
298function tb_parseQuery ( query ) {
299 var Params = {};
300 if ( ! query ) {return Params;}// return empty object
301 var Pairs = query.split(/[;&]/);
302 for ( var i = 0; i < Pairs.length; i++ ) {
303 var KeyVal = Pairs[i].split('=');
304 if ( ! KeyVal || KeyVal.length != 2 ) {continue;}
305 var key = unescape( KeyVal[0] );
306 var val = unescape( KeyVal[1] );
307 val = val.replace(/\+/g, ' ');
308 Params[key] = val;
309 }
310 return Params;
311}
312
313function tb_getPageSize(){
314 var de = document.documentElement;
315 var w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
316 var h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight;
317 arrayPageSize = [w,h];
318 return arrayPageSize;
319}
320
321function tb_detectMacXFF() {
322 var userAgent = navigator.userAgent.toLowerCase();
323 if (userAgent.indexOf('mac') != -1 && userAgent.indexOf('firefox')!=-1) {
324 return true;
325 }
326}
327
328
diff --git a/theme/welcome.tpl b/theme/welcome.tpl deleted file mode 100755 index 7872c6f..0000000 --- a/theme/welcome.tpl +++ /dev/null
@@ -1,5 +0,0 @@
1<P><H1>Welcome to Four Island</H1></P>
2<DIV STYLE="font-size: 16px">You've reached Four Island, a fun place with:<UL>
3<LI>a blog</LI><LI>a fourm</LI><LI>a wiki</LI><LI>many projects<LI>and a quotes database!</LI></UL>
4I hope you enjoy your time on Four Island!<P>
5<P>....Don't worry, I'll eventually think of something to actually put here :)