Preview: http://4.ii.gl/4VnAws.png Added changelog ticker system in front page.

Optional enable/disable it in config.php
Only refreshes the cache when any changes are being done to it.
This looks way more practical than a stupid news ticker. Inspiration from: http://nelvara.com/
This commit is contained in:
Stefan Brannfjell 2014-05-05 23:12:37 +02:00
parent f3efa41baf
commit 05a1509358
5 changed files with 45 additions and 2 deletions

View File

@ -66,15 +66,24 @@ if (!empty($_POST)) {
// Check if changelog exist (`id`, `text`, `time`, `report_id`, `status`)
$changelog = mysql_select_single("SELECT * FROM `znote_changelog` WHERE `report_id`='$changelogReportId' LIMIT 1;");
// If changelog exist
$updatechangelog = false;
if ($changelog !== false) {
// Update it
mysql_update("UPDATE `znote_changelog` SET `text`='$changelogText', `time`='$time' WHERE `id`='".$changelog['id']."' LIMIT 1;");
echo "<h2>Changelog message updated!</h2>";
$updatechangelog = true;
} else {
// Create it
mysql_insert("INSERT INTO `znote_changelog` (`text`, `time`, `report_id`, `status`)
VALUES ('$changelogText', '$time', '$changelogReportId', '$status');");
echo "<h2>Changelog message created!</h2>";
$updatechangelog = true;
}
if ($updatechangelog) {
// Cache changelog
$cache = new Cache('engine/cache/changelog');
$cache->setContent(mysql_select_multi("SELECT `id`, `text`, `time`, `report_id`, `status` FROM `znote_changelog` ORDER BY `id` DESC;"));
$cache->save();
}
}

View File

@ -54,7 +54,7 @@ if (user_logged_in()) {
<h1>Changelog</h1>
<?php
$cache = new Cache('engine/cache/changelog');
if ($cache->hasExpired() || $updateCache === true) {
if ($updateCache === true) {
$changelogs = mysql_select_multi("SELECT `id`, `text`, `time`, `report_id`, `status` FROM `znote_changelog` ORDER BY `id` DESC;");
$cache->setContent($changelogs);
@ -64,7 +64,7 @@ if ($cache->hasExpired() || $updateCache === true) {
}
if (isset($changelogs) && !empty($changelogs) && $changelogs !== false) {
?>
<table>
<table id="changelogTable">
<tr class="yellow">
<td>Changelogs</td>
<?php

View File

@ -196,6 +196,8 @@
// -------------- \\
// WEBSITE STUFF \\
// -------------- \\
// Enable or disable changelog ticker in news page.
$config['UseChangelogTicker'] = true;
// Highscore configuration
$config['highscore'] = array(
'rows' => 100,

View File

@ -1,6 +1,34 @@
<?php require_once 'engine/init.php'; include 'layout/overall/header.php';
if ($config['allowSubPages'] && file_exists("layout/sub/index.php")) include 'layout/sub/index.php';
else {
if ($config['UseChangelogTicker']) {
//////////////////////
// Changelog ticker //
// Load from cache
$changelogCache = new Cache('engine/cache/changelog');
$changelogs = $changelogCache->load();
if (isset($changelogs) && !empty($changelogs) && $changelogs !== false) {
?>
<table id="changelogTable">
<tr class="yellow">
<td colspan="2">Latest Changelog Updates (<a href="changelog.php">Click here to see full changelog</a>)</td>
</tr>
<?php
for ($i = 0; $i < count($changelogs) && $i < 5; $i++) {
?>
<tr>
<td><?php echo getClock($changelogs[$i]['time'], true, true); ?></td>
<td><?php echo $changelogs[$i]['text']; ?></td>
</tr>
<?php
}
?>
</table>
<?php
} else echo "No changelogs submitted.";
}
$cache = new Cache('engine/cache/news');
if ($cache->hasExpired()) {
$news = fetchAllNews();

View File

@ -606,4 +606,8 @@ hr {
}
.updateTable tr td input {
width: 500px;
}
#changelogTable {
width: 735px;
}