In Memoriam: Tai'lahr

OpenUru.org, along with the rest of the Mystonline community, is mourning the loss of Tai'lahr on October 16th, 2019.

Rest in Peace, friend.

Difference between revisions of "Cavern Status Widget"

From OpenUru
Jump to navigation Jump to search
m (→‎Usage: Fix formatting)
Line 40: Line 40:
 
Example:
 
Example:
 
<tt>
 
<tt>
:<iframe <nowiki>src="http://www.openuru.org/tools/cavstat.php?bgcolor=ffdddd&hdsize=0.9em&border=000099"</nowiki> width="550px" height="120px" frameborder="0">
+
:<nowiki><iframe src="http://www.openuru.org/tools/cavstat.php?bgcolor=ffdddd&hdsize=0.9em&border=000099" width="550px" height="120px" frameborder="0"></nowiki>
:: <p>Your browser does not support iframes.</p>
+
:: <nowiki><p>Your browser does not support iframes.</p></nowiki>
:</iframe>
+
:<nowiki></iframe></nowiki>
 
</tt>
 
</tt>
  

Revision as of 03:19, 16 February 2011

This is a simple widget that you can use in webpages to display the current status of the MOULagain servers.


This page contains draft content
The content of this page is a "work-in-progress" and is subject to change. Do not place undue reliance on the completeness or accuracy of the material presented here!


General

Usage

The simplest way to use the Cavern Status Widget is by inserting an iframe in your webpage at the point you'd like the widget to appear:

<iframe src="http://www.openuru.org/tools/cavstat.php" width="550px" height="120px" frameborder="0">
<p>Your browser does not support iframes.</p>
</iframe>

The width and height settings in the iframe determine the size of the space allowed in your page for the status message. If the message box can't be fitted inside that space, then scroll bars may appear. Setting frameborder = "0" hides the rather ugly boundary that would otherwise be shown.

Controlling the appearance

You can control the appearance of the status message so that it blends better with your webpage: Add a '?' after the call to cavstat.php then list the parameter=value pairs, separating each with '&' and making sure to avoid leaving any spaces. The possible parameters are:

  • color= The color of the text as a hex value, omitting the usual leading '#' symbol. Defaults to black if parameter omitted.
  • bgcolor= The background color of the box containing the status message, as a hex value, omitting the usual leading '#' symbol. Defaults to grey (DDDDDD) if parameter omitted.
  • txtsize= The size of the body text of the message, e.g. 12pt, 14px, 1.1em. Defaults to 1.0em if parameter is omitted.
  • hdsize= The size of the heading text of the message, e.g. 12pt, 14px, 1.1em. The headings are bold, so you may want to reduce the size compared to the main text to restore some "balance". Defaults to 0.8em if parameter is omitted.
  • width= The width of the box containing the status message, in px or %. Note that the iframe may also have a width specified and you may need to adjust both get a satisfactory result. Defaults to 500px if parameter is omitted.
  • height= The height of the box containing the status message, in px or %. Note that the iframe may also have a height specified and you may need to adjust both get a satisfactory result. Defaults to 60px if parameter is omitted.
  • border= The color of the border around the box containing the status message, as a hex value, omitting the usual leading '#' symbol. The border is a 1px solid line and is only displayed if a value is specified, otherwise the box will be borderless (default).
  • type= Controls the display and styling type:
    • maxi : The default display - shows the cavern status indication and a link to Cyan's "Play" page on the first line, and the Cyan "Developer's message" on the second line.
    • midi : Single line display, with only the cavern status and the "Play" link.
    • mini : Single line display, with only the cavern status included.
    • raw : Most inline styling is removed and all other parameters are ignored. Used when applying local styling in more advanced uses (see below).

Example:

<iframe src="http://www.openuru.org/tools/cavstat.php?bgcolor=ffdddd&hdsize=0.9em&border=000099" width="550px" height="120px" frameborder="0">
<p>Your browser does not support iframes.</p>
</iframe>

Advanced topics

PHP

If your page is written in PHP, you could use the cURL library to fetch the widget output and build it into your page. This would allow you to use the IDs and classes along with your own page CSS to apply styling. For this, you need to ensure that all unwanted inline styling is removed from the widget by using the ?type=raw control.

This will produce a code fragment that looks similar to:

<div id="cspanel">
<span class="cshead">Cavern Status:</span>
<img src="http://www.openuru.org/sitestyle/img/led-green.gif"> Open for exploration!
<div id="cavstat_link">
- <a href="http://mystonline.com/play/"> Sign up to play at MystOnline.com!</a>
</div>
<div id="cavstat_row2">
<span class="cshead">Developer Message:</span> Welcome to Myst Online: Uru Live!
</div>
<div style="font-size: 8px; text-align: right;"><a href="http://www.openuru.org/">www.openuru.org</a></div>
</div>

Include the following functions in your PHP:

 // Check availability of site
 function isURLOnline($sSiteToCheck)
 {
 	if(phpversion() > "5.2")
   {
     if(function_exists('get_headers')==True && ini_get('allow_url_fopen') == true)
     {
       $sIUOTemp = @get_headers($sSiteToCheck);
       if($sIUOTemp == )
       {
         return True; // Assume it's online even when nothing is returned
       }
       else
       {
         if(strpos($sIUOTemp[0], '200') == true)
         {
           return True;
         }
         else
         {
           return False;
         }
       }
     }
     else
     {
       return True; // Assume true if we can't check it .......
     }
   }
   else
   {
     return True; // get_headers apparently isn't available in PHP4
   }
 }
 // Gets a URL's content
 function getURL($sURL)
 {
   if(isURLOnline($sURL) == false)
   {
     $sURLTemp = 'Unable to connect to server';
     return $sURLTemp;
   }
   else
   {
     if(@function_exists('file_get_contents') && @ini_get('allow_url_fopen') == true)
     {
       // Use file_get_contents
       $sURLTemp = @file_get_contents($sURL);
     }
     else
     {
       // Use cURL (if available)
       $curl = @curl_init();
       curl_setopt($curl, CURLOPT_URL, $sURL);
       curl_setopt($curl, CURLOPT_VERBOSE, 1);
       curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
       curl_setopt($curl, CURLOPT_HEADER, 0);
       curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
       $sURLTemp = @curl_exec($curl);
       @curl_close($curl);
     }
     return $sURLTemp;
   }
 }

Fetch the code fragment using a line similar to this:

$cavernStatus=getURL("http://www.openuru.org/tools/cavstat.php?type=raw");

This will give you the entire fragment in a string, $cavernStatus, that you can then echo to your own page or manipulate as you wish.

JQuery

http://assets.openuru.org/wiki/icons/wip_30x30.PNG

Content to be advised.


I'm not too familiar with using the JQuery library, so I'll leave it for someone else to contribute here, but I don't expect to be much different from using PHP.