Wiki source for AutoRefreshFromBody


Show raw source

=====Auto-Refresh From Body=====

I use the wiki to display lots of data that is updated constantly. I use actions to generate pages that retrieve data from various places, almost like monitoring software. I needed to be able to find a way to cause specific pages to refresh once a minute. I was inspired by JasonHuebel MetaRefresh hack, but his didn't allow for the flexibility I needed. I updated my themes to include this php code, and I place a specific tag in the body of my pages when I want them to refresh, which follows after the code.


~-Placed the following code in any of the themes header.php files in the <HEAD> block near the other meta tags, for neatness:

~%%(php)
<?php
if ( $this->GetHandler() != 'edit' || $this->GetHandler() != 'clone'|| $this->GetHandler() != 'addcomment' || $this->GetHandler() != 'acls')
{
$mrtablepref = $this->config['table_prefix'];
$mrtable="${mrtablepref}pages";
$mrtag = $this->page["tag"];

$mrsearch="<!--- REFRESH --->";
$mrsql = "SELECT body from $mrtable where tag='$mrtag' ORDER BY id DESC LIMIT 1";

if ($mrresult = mysql_query($mrsql)) {
$BOB=1;
while ($mrlist = mysql_fetch_array($mrresult)) {
if ( preg_match("/".$mrsearch."/","$mrlist[body]")) {
$BOB=2;
}
}

if ($BOB=="2") {
echo " <meta http-equiv='Refresh' content='60'/>\n";
echo " <meta http-equiv='Expires' content='0'/>\n";

}

}
}

?>
%%

~- Now in any page you create that you wish to have refreshed, place the following tag:
%%
""<!--- REFRESH --->""
%%

You can of course adjust the timing by changing the value in the Refresh tag. Although if I have more time to work on this, I may also make it so that it is adjustable via the tag placed in the body of the page.

Please feel free to comment, and help me make this better, I'm willing to learn better ways of doing things if someone sees it. This was the first time I've ever contributed to an Open Source Project.
----
CategoryUserContributions
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki