کد:
<?php
/* MyBB Norouz CountDown Plugin
Author : Mohammad Reza Zangeneh @ MyBBIran @ Iran
*/
if (!defined("IN_MYBB"))
{
die ("You can directly not access this file ");
}
$plugins->add_hook("global_start", "norouz");
function norouz_info()
{
return array(
"name" => "لحظه شمار نوروز (91)",
"description" => "این پلاگین لحظه شمار نوروز 91 را به بالای تمامی صفحات انجمن شما اضافه میکند.",
"website" => "http://www.MyBBIran.com/",
"author" => "Mohammad Zangeneh",
"authorsite" => "http://www.MyBBIran.com/",
"version" => "1.0",
"compatibility" => "16*",
);
}
function norouz_activate()
{
global $db,$mybb;
$settings_group = array(
'gid' => NULL,
'name' => 'norouz',
'title' => "لحظه شمار نوروز",
'description' => "تنظیمات پلاگین لحظه شمار نوروز",
'disporder' => '1',
);
$db->insert_query('settinggroups', $settings_group);
$gid = $db->insert_id();
$nz1 = array('name' => 'nbox','title' =>"رنگ کادر",'description' =>"رنگ کادر پس زمینه",'optionscode' => 'select\n0=زرد\n1=آبی\n2=سبز','value' =>'0','disporder' => 2,'gid' => intval($gid));
$db->insert_query('settings',$nz1);
$nz2 = array('name' => 'nstime','title' =>"مبنای زمان",'description' =>"مبنای زمان کنونی",'optionscode' => 'select\n0=زمان سرور مای بی بی ایران\n1=زمان سیستم عامل کاربر','value' =>'0','disporder' => 1,'gid' => intval($gid));
$db->insert_query('settings',$nz2);
rebuildsettings();
require MYBB_ROOT.'/inc/adminfunctions_templates.php';
find_replace_templatesets("header", "#".preg_quote("{\$pm_notice}")."#i", "{\$pm_notice}\r\n {\$norouz}");
$norouz_yellow = array(
"title" => "norouz_yellow",
"template" => "<style>#norouz_yellow {
background: #FFF6BF;
border-top: 2px solid #FFD324;
border-bottom: 2px solid #FFD324;
text-align: center;
margin: 10px auto;
padding: 5px 20px;
}
</style>
<div id=\"norouz_yellow\" align=\"center\"><script type=\"text/javascript\">
/*
Author: Robert Hashemian
http://www.hashemian.com/
You can use this code in any manner so long as the author\'s
name, Web address and this disclaimer is kept intact.
*/
function calcage(secs, num1, num2) {
s = ((Math.floor(secs/num1))%num2).toString();
if (LeadingZero && s.length < 2)
s = \"0\" + s;
return \"<b>\" + s + \"</b>\";
}
function CountBack(secs) {
if (secs < 0) {
document.getElementById(\"cntdwn\").innerHTML = FinishMessage;
return;
}
DisplayStr = DisplayFormat.replace(/%%D%%/g, calcage(secs,86400,100000));
DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs,3600,24));
DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs,60,60));
DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs,1,60));
document.getElementById(\"cntdwn\").innerHTML = DisplayStr;
if (CountActive)
setTimeout(\"CountBack(\" + (secs+CountStepper) + \")\", SetTimeOutPeriod);
}
function putspan(backcolor, forecolor) {
document.write(\"<span id=\'cntdwn\' style=\'background-color:\" + backcolor +
\"; color:\" + forecolor + \"\'></span>\");
}
if (typeof(DisplayFormat)==\"undefined\")
DisplayFormat = \"%%D%% روز و %%H%% ساعت و %%M%% دقیقه و %%S%% ثانیه تا آغاز سال 2571 ایرانی، 7034 آریایی، 3750 زرتشتی و 1391 خورشیدی باقیمانده است.\"
if (typeof(CountActive)==\"undefined\")
CountActive = true;
if (typeof(FinishMessage)==\"undefined\")
FinishMessage = \"<div align=\'center\'><img src=\'images/fire.gif\'></br><span style=\'background: transparent url(images/stars.gif) repeat-x scroll 0% 0%;\'><strong>آغاز سال 1391 خورشیدی بر شما مبارک باد.</strong><br><!-- Begin Mp3Player by Parstools.com --><object data="http://parstools.com/mp3player/parstools-mp3player.swf" height="68" name="dewplayer" type="application/x-shockwave-flash" width="161"><param name="wmode" value="transparent" /><param name="movie" value="http://parstools.com/mp3player/parstools-mp3player.swf" /> <param name="flashvars" value="mp3=http://upin.ir/images/r2llar0tqm2quqmnhtp.mp3&autostart=1&autoreplay=1&showtime=1&volume=100&volumecolor=0xBE7FAB&equalizercolor=0xBE7FAB&theme=violet" /></object><!-- End Mp3Player by Parstools.com --></span></div>\";
if (typeof(CountStepper)!=\"number\")
CountStepper = -1;
if (typeof(LeadingZero)==\"undefined\")
LeadingZero = true;
CountStepper = Math.ceil(CountStepper);
if (CountStepper == 0)
CountActive = false;
var SetTimeOutPeriod = (Math.abs(CountStepper)-1)*1000 + 990;
putspan();
if({\$mybb->settings[\'nstime\']}==0)
{
var dnow = new Date(\"\$dnow\");
}
if({\$mybb->settings[\'nstime\']}==1)
{
var dnow = new Date();
}
var dthen = new Date(\"\$dthen\");
if(CountStepper>0)
ddiff = new Date(dnow-dthen);
else
ddiff = new Date(dthen-dnow);
gsecs = Math.floor(ddiff.valueOf()/1000);
CountBack(gsecs);
</script></div>",
"sid" => "-1",
);
$db->insert_query("templates", $norouz_yellow);
$norouz_blue = array(
"title" => "norouz_blue",
"template" => "<style>#norouz_blue {
background: #ADCBE7;
border-top: 2px solid #0F5C8E;
border-bottom: 2px solid #0F5C8E;
text-align: center;
margin: 10px auto;
padding: 5px 20px;
}
</style>
<div id=\"norouz_blue\" align=\"center\"><script type=\"text/javascript\">/*
Author: Robert Hashemian
http://www.hashemian.com/
You can use this code in any manner so long as the author\'s
name, Web address and this disclaimer is kept intact.
*/
function calcage(secs, num1, num2) {
s = ((Math.floor(secs/num1))%num2).toString();
if (LeadingZero && s.length < 2)
s = \"0\" + s;
return \"<b>\" + s + \"</b>\";
}
function CountBack(secs) {
if (secs < 0) {
document.getElementById(\"cntdwn\").innerHTML = FinishMessage;
return;
}
DisplayStr = DisplayFormat.replace(/%%D%%/g, calcage(secs,86400,100000));
DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs,3600,24));
DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs,60,60));
DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs,1,60));
document.getElementById(\"cntdwn\").innerHTML = DisplayStr;
if (CountActive)
setTimeout(\"CountBack(\" + (secs+CountStepper) + \")\", SetTimeOutPeriod);
}
function putspan(backcolor, forecolor) {
document.write(\"<span id=\'cntdwn\' style=\'background-color:\" + backcolor +
\"; color:\" + forecolor + \"\'></span>\");
}
if (typeof(DisplayFormat)==\"undefined\")
DisplayFormat = \"%%D%% روز و %%H%% ساعت و %%M%% دقیقه و %%S%% ثانیه تا آغاز سال 2571 ایرانی، 7034 آریایی، 3750 زرتشتی و 1391 خورشیدی باقیمانده است.\"
if (typeof(CountActive)==\"undefined\")
CountActive = true;
if (typeof(FinishMessage)==\"undefined\")
FinishMessage = \"<div align=\'center\'><img src=\'images/fire.gif\'></br><span style=\'background: transparent url(images/stars.gif) repeat-x scroll 0% 0%;\'><strong>آغاز سال 1391 خورشیدی بر شما مبارک باد.</strong></span></div>\";
if (typeof(CountStepper)!=\"number\")
CountStepper = -1;
if (typeof(LeadingZero)==\"undefined\")
LeadingZero = true;
CountStepper = Math.ceil(CountStepper);
if (CountStepper == 0)
CountActive = false;
var SetTimeOutPeriod = (Math.abs(CountStepper)-1)*1000 + 990;
putspan();
if({\$mybb->settings[\'nstime\']}==0)
{
var dnow = new Date(\"\$dnow\");
}
if({\$mybb->settings[\'nstime\']}==1)
{
var dnow = new Date();
}
var dthen = new Date(\"\$dthen\");
if(CountStepper>0)
ddiff = new Date(dnow-dthen);
else
ddiff = new Date(dthen-dnow);
gsecs = Math.floor(ddiff.valueOf()/1000);
CountBack(gsecs);
</script></div>
",
"sid" => "-1",
);
$db->insert_query("templates", $norouz_blue);
$norouz_green = array(
"title" => "norouz_green",
"template" => "<style>#norouz_green {
background: #D6ECA6;
border-top: 2px solid #8DC93E;
border-bottom: 2px solid #8DC93E;
text-align: center;
margin: 10px auto;
padding: 5px 20px;
}
</style>
<div id=\"norouz_green\" align=\"center\"><script type=\"text/javascript\">/*
Author: Robert Hashemian
http://www.hashemian.com/
You can use this code in any manner so long as the author\'s
name, Web address and this disclaimer is kept intact.
*/
function calcage(secs, num1, num2) {
s = ((Math.floor(secs/num1))%num2).toString();
if (LeadingZero && s.length < 2)
s = \"0\" + s;
return \"<b>\" + s + \"</b>\";
}
function CountBack(secs) {
if (secs < 0) {
document.getElementById(\"cntdwn\").innerHTML = FinishMessage;
return;
}
DisplayStr = DisplayFormat.replace(/%%D%%/g, calcage(secs,86400,100000));
DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs,3600,24));
DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs,60,60));
DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs,1,60));
document.getElementById(\"cntdwn\").innerHTML = DisplayStr;
if (CountActive)
setTimeout(\"CountBack(\" + (secs+CountStepper) + \")\", SetTimeOutPeriod);
}
function putspan(backcolor, forecolor) {
document.write(\"<span id=\'cntdwn\' style=\'background-color:\" + backcolor +
\"; color:\" + forecolor + \"\'></span>\");
}
if (typeof(DisplayFormat)==\"undefined\")
DisplayFormat = \"%%D%% روز و %%H%% ساعت و %%M%% دقیقه و %%S%% ثانیه تا آغاز سال 2571 ایرانی، 7034 آریایی، 3750 زرتشتی و 1391 خورشیدی باقیمانده است.\"
if (typeof(CountActive)==\"undefined\")
CountActive = true;
if (typeof(FinishMessage)==\"undefined\")
FinishMessage = \"<div align=\'center\'><img src=\'images/fire.gif\'></br><span style=\'background: transparent url(images/stars.gif) repeat-x scroll 0% 0%;\'><strong>آغاز سال 1391 خورشیدی بر شما مبارک باد.<br> !-- Begin Mp3Player by Parstools.com --><object data="http://parstools.com/mp3player/parstools-mp3player.swf" height="68" name="dewplayer" type="application/x-shockwave-flash" width="161"><param name="wmode" value="transparent" /><param name="movie" value="http://parstools.com/mp3player/parstools-mp3player.swf" /> <param name="flashvars" value="mp3=http://upin.ir/images/r2llar0tqm2quqmnhtp.mp3&autostart=1&autoreplay=1&showtime=1&volume=100&volumecolor=0xBE7FAB&equalizercolor=0xBE7FAB&theme=violet" /></object><!-- End Mp3Player by Parstools.com --></strong></span></div>\";
if (typeof(CountStepper)!=\"number\")
CountStepper = -1;
if (typeof(LeadingZero)==\"undefined\")
LeadingZero = true;
CountStepper = Math.ceil(CountStepper);
if (CountStepper == 0)
CountActive = false;
var SetTimeOutPeriod = (Math.abs(CountStepper)-1)*1000 + 990;
putspan();
if({\$mybb->settings[\'nstime\']}==0)
{
var dnow = new Date(\"\$dnow\");
}
if({\$mybb->settings[\'nstime\']}==1)
{
var dnow = new Date();
}
var dthen = new Date(\"\$dthen\");
if(CountStepper>0)
ddiff = new Date(dnow-dthen);
else
ddiff = new Date(dthen-dnow);
gsecs = Math.floor(ddiff.valueOf()/1000);
CountBack(gsecs);
</script></div>
",
"sid" => "-1",
);
$db->insert_query("templates", $norouz_green);
}
function norouz()
{
global $db,$mybb,$norouz,$templates,$dnow,$dthen;
if($mybb->settings['nstime']==1)
{
$dthen=strftime("03/20/2012 07:44:27 AM UTC+0330");
}
if($mybb->settings['nstime']==0)
{
$dnow = file_get_contents('http://mybbiran.com/server/norouz_server_time.php');
$dthen=strftime("03/19/2012 22:19:08 UTC+0330");
}
if($mybb->settings['nbox']==0)
{
eval("\$norouz = \"".$templates->get("norouz_yellow")."\";");
}
if($mybb->settings['nbox']==1)
{
eval("\$norouz = \"".$templates->get("norouz_blue")."\";");
}
if($mybb->settings['nbox']==2)
{
eval("\$norouz = \"".$templates->get("norouz_green")."\";");
}
}
function norouz_deactivate()
{
require MYBB_ROOT.'/inc/adminfunctions_templates.php';
global $db;
find_replace_templatesets("header", '#'.preg_quote('{$norouz}').'#', '',0);
$db->query("DELETE FROM ".TABLE_PREFIX."templates WHERE title='norouz_yellow'");
$db->query("DELETE FROM ".TABLE_PREFIX."templates WHERE title='norouz_blue'");
$db->query("DELETE FROM ".TABLE_PREFIX."templates WHERE title='norouz_green'");
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN('nbox', 'norouz')");
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name IN('nstime', 'norouz')");
$db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='norouz'");
}