<?php
// Disallow direct access to this file for security reasons
if(!defined("IN_MYBB"))
{
die("Direct initialization of this file is not allowed.");
}
$plugins->add_hook('global_start','countdown_run');
function countdown_info()
{
return array(
"name" => "CountDown for MyBB",
"description" => "CountDown for MYBB",
"website" => "",
"author" => "",
"authorsite" => "",
"version" => "1.0",
"guid" => "",
"compatibility" => "1*"
);
}
function countdown_activate()
{
global $db, $mybb;
$settingsgroup = array(
"name" => "countdown",
"title" => "Countdown Events",
"description" => "Countdown for oncoming events",
"disporder" => 1,
"isdefault" => 0);
$db->insert_query("settinggroups", $settingsgroup);
$gid = $db->insert_id();
$settings[] = array(
"name" => "countdown_active",
"title" => "Countdown Active?",
"description" => "Enable the Countdown",
"optionscode" => "onoff",
"value" => "off",
"disporder" => 1,
"gid" => $gid);
$settings[] = array(
"name" => "countdown_date",
"title" => "Countdown Date",
"description" => "Please enter the date for your countdown like (dd-mm-yyyy) e.g. 06-16-2022",
"optionscode" => "text",
"value" => "",
"disporder" => 2,
"gid" => $gid);
$settings[] = array(
"name" => "countdown_text",
"title" => "Countdown Text",
"description" => "What kind of text do you want to print on the page (XXX is placeholder for countdown) like -Just XXX days-",
"optionscode" => "text",
"value" => "",
"disporder" => 3,
"gid" => $gid);
$settings[] = array(
"name" => "countdown_link",
"title" => "Countdown Link",
"description" => "Any link for the Text?",
"optionscode" => "text",
"value" => "",
"disporder" => 4,
"gid" => $gid);
$settings[] = array(
"name" => "countdown_ende",
"title" => "Countdown End",
"description" => "Text if countdown ends?",
"optionscode" => "text",
"value" => "",
"disporder" => 5,
"gid" => $gid);
foreach($settings as $setting) {
$db->insert_query("settings", $setting);
}
rebuild_settings();
}
function countdown_deactivate()
{
global $db;
$db->query("DELETE FROM " . TABLE_PREFIX . "settinggroups WHERE name='countdown'");
$db->query("DELETE FROM " . TABLE_PREFIX . "settings WHERE name IN ('countdown_date', 'countdown_text', 'countdown_link', 'countdown_active', 'countdown_ende')");
rebuild_settings();
}
//RUN
function countdown_run() {
global $db;
global $countdown;
//A: RECORDS TODAY'S Date And Time
$today = time();
// erst mal schauen ob Event aktiv ist
$query= $db->simple_select("settings","*", "name='countdown_active'", array(
"order_by" => 'name',
"order_dir" => 'DESC',
"limit" => 1));
$countdown_active=$db->fetch_array($query)[value];
//wenn aktiv dann...
if ($countdown_active==1)
{
// Datum aufschlüsseln
$query= $db->simple_select("settings","*", "name='countdown_date'", array(
"order_by" => 'name',
"order_dir" => 'DESC',
"limit" => 1));
$countdown_date=$db->fetch_array($query)[value];
//$date=$countdown_date[value];
$day=substr($countdown_date,0,2);
$month=substr($countdown_date,3,2);
$year=substr($countdown_date,6,4);
$event = mktime(0,0,0,$day,$month,$year);
//Errechnen wann das Event ist
$countdown = round(($event - $today)/86400);
if ($countdown>0)
{
// Text des Events abholen
$query= $db->simple_select("settings","*", "name='countdown_text'", array(
"order_by" => 'name',
"order_dir" => 'DESC',
"limit" => 1));
$countdown_text=$db->fetch_array($query)[value];
//LInk des Events abholen
$query= $db->simple_select("settings","*", "name='countdown_link'", array(
"order_by" => 'name',
"order_dir" => 'DESC',
"limit" => 1));
$countdown_link=$db->fetch_array($query)[value];
//Daten in Variable auslagern zur Darstellung im Template
$countdown="<li><a href=\"".$countdown_link."\" class=\"merlintreffen\">".str_replace("XXX",$countdown, $countdown_text)."</a></li>";
}
// Wenn Countdown erreicht, dann nichts darstellen!
else
{
//LInk des Events abholen
$query= $db->simple_select("settings","*", "name='countdown_ende'", array(
"order_by" => 'name',
"order_dir" => 'DESC',
"limit" => 1));
$countdown_link=$db->fetch_array($query)[value];
$countdown="<li><a href=\"".$countdown_link."\" class=\"merlintreffen\">". $countdown_ende ."</a></li>";
}
}
//Wenn nicht aktiv dann nichts darstellen
else $countdown="";
}