mirror of
https://github.com/Shadowss/TravianZ.git
synced 2026-08-21 02:30:58 +00:00
Incremental Refactor Templates
Incremental Refactor Templates
This commit is contained in:
+215
-100
@@ -1,108 +1,223 @@
|
||||
<div id="content" class="messages">
|
||||
<?php
|
||||
#################################################################################
|
||||
## SAFE INCREMENTAL REFATOR - Messages Module ##
|
||||
## Credits: optimized structure, same logic preserved ##
|
||||
## Compatibility: PHP 5.6+ / PHP 7+ ##
|
||||
#################################################################################
|
||||
|
||||
?>
|
||||
|
||||
<div id="content" class="messages">
|
||||
<h1>Messages</h1>
|
||||
<?php
|
||||
include("menu.tpl");
|
||||
?>
|
||||
<form method="post" action="nachrichten.php" name="msg" ><table cellpadding="1" cellspacing="1" id="overview">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2">Subject</th>
|
||||
<th>Sender</th>
|
||||
<th class="sent"><a href="nachrichten.php?o=1">Sent</a></th>
|
||||
</tr></thead><tfoot><tr><th>
|
||||
<?php
|
||||
$MyGold = mysqli_query($database->dblink,"SELECT plus FROM ".TB_PREFIX."users WHERE `id`='".(int) $session->uid."'") or die(mysqli_error($database->dblink));
|
||||
$golds = mysqli_fetch_array($MyGold);
|
||||
$date2=strtotime("NOW");
|
||||
if ($golds['plus'] <= $date2) { ?>
|
||||
<?php } else { ?>
|
||||
<input class="check" type="checkbox" id="s10" name="s10" onclick="Allmsg(this.form);" />
|
||||
<?php } ?>
|
||||
</th>
|
||||
<th colspan="2" class="buttons">
|
||||
<button name="delmsg" value="delete" id="btn_delete" class="trav_buttons"> Delete </button>
|
||||
<?php if($session->plus) { echo "<button name=\"archive\" value=\"Archive\" id=\"btn_archiv\" class=\"trav_buttons\" alt=\"Archive\" /> Archive </button>"; } ?>
|
||||
<input name="ft" value="m3" type="hidden" />
|
||||
</th><th class="navi"><?php
|
||||
if(!isset($_GET['s']) && count($message->inbox1) < 10) {
|
||||
echo "«»";
|
||||
}
|
||||
else if (!isset($_GET['s']) && count($message->inbox1) > 10) {
|
||||
echo "«<a href=\"?".(!empty($_GET['t']) ? 't='.$_GET['t'].'&' : '')."s=10&o=".(!empty($_GET['o']) )."\">»</a>";
|
||||
}
|
||||
else if(isset($_GET['s']) && count($message->inbox1) > $_GET['s']) {
|
||||
if(count($message->inbox1) > ($_GET['s']+10) && $_GET['s']-10 < count($message->inbox1) && $_GET['s'] != 0) {
|
||||
echo "<a href=\"?".(!empty($_GET['t']) ? 't='.$_GET['t'].'&' : '')."s=".($_GET['s']-10)."&o=0\">«</a><a href=\"?".(!empty($_GET['t']) ? 't='.$_GET['t'].'&' : '')."s=".($_GET['s']+10)."&o=0\">»</a>";
|
||||
}
|
||||
else if(count($message->inbox1) > $_GET['s']+10) {
|
||||
echo "«<a href=\"?".(!empty($_GET['t']) ? 't='.$_GET['t'].'&' : '')."s=".($_GET['s']+10)."&o=0\">»</a>";
|
||||
}
|
||||
else if(count($message->inbox1) > 10) {
|
||||
echo "<a href=\"?".(!empty($_GET['t']) ? 't='.$_GET['t'].'&' : '')."s=".($_GET['s']-10)."&o=0\">«</a>»";
|
||||
}
|
||||
}
|
||||
?></th></tr></tfoot><tbody>
|
||||
<style>
|
||||
tr.multihunterMsg td.sel{
|
||||
background-color:orange;
|
||||
}
|
||||
</style>
|
||||
<?php
|
||||
if(isset($_GET['s'])) {
|
||||
$s = $_GET['s'];
|
||||
}
|
||||
else {
|
||||
$s = 0;
|
||||
}
|
||||
$name = 1;
|
||||
$support_messages = ($session->access == ADMIN && ADMIN_RECEIVE_SUPPORT_MESSAGES);
|
||||
$multihunter_messages = ($session->access == MULTIHUNTER);
|
||||
|
||||
for($i=(1+$s);$i<=(10+$s);$i++) {
|
||||
if(count($message->inbox1) >= $i) {
|
||||
if($message->inbox1[$i-1]['owner'] <= 1) {
|
||||
echo "<tr class=\"sup\">";
|
||||
}elseif($message->inbox1[$i-1]['owner'] == 5){
|
||||
echo "<tr class=\"multihunterMsg\">";
|
||||
}
|
||||
else {
|
||||
echo "<tr>";
|
||||
}
|
||||
<?php include("menu.tpl"); ?>
|
||||
|
||||
$message_for_text = '';
|
||||
<form method="post" action="nachrichten.php" name="msg">
|
||||
<table cellpadding="1" cellspacing="1" id="overview">
|
||||
|
||||
if (!$support_messages || ($support_messages && $message->inbox1[$i-1]['target'] != 1) || ($multihunter_messages && $message->inbox1[$i-1]['target'] != 5)) {
|
||||
$message_for_text = "<input class=\"check\" type=\"checkbox\" name=\"n".$name."\" value=\"".$message->inbox1[$i-1]['id']."\" />";
|
||||
} else if ($support_messages) {
|
||||
$message_for_text = '<u><b title="Message for Support"><i>S</i></b></u>';
|
||||
} else if ($multihunter_messages) {
|
||||
$message_for_text = '<u><b title="Message for Multihunter"><i>M</i></b></u>';
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="2">Subject</th>
|
||||
<th>Sender</th>
|
||||
<th class="sent">
|
||||
<a href="nachrichten.php?o=1">Sent</a>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>
|
||||
|
||||
<?php
|
||||
// ======================================================
|
||||
// GET USER PLUS STATUS (same logic, single query)
|
||||
// ======================================================
|
||||
$userId = (int)$session->uid;
|
||||
|
||||
$MyGold = mysqli_query(
|
||||
$database->dblink,
|
||||
"SELECT plus FROM " . TB_PREFIX . "users WHERE id = '$userId' LIMIT 1"
|
||||
) or die(mysqli_error($database->dblink));
|
||||
|
||||
$golds = mysqli_fetch_array($MyGold);
|
||||
$date2 = strtotime("NOW");
|
||||
|
||||
// Show checkbox only if plus active
|
||||
if ($golds['plus'] > $date2) {
|
||||
?>
|
||||
<input class="check" type="checkbox" id="s10" name="s10" onclick="Allmsg(this.form);" />
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
</th>
|
||||
|
||||
<th colspan="2" class="buttons">
|
||||
<button name="delmsg" value="delete" id="btn_delete" class="trav_buttons">Delete</button>
|
||||
|
||||
<?php
|
||||
// Archive only for PLUS users
|
||||
if ($session->plus) {
|
||||
echo '<button name="archive" value="Archive" id="btn_archiv" class="trav_buttons">Archive</button>';
|
||||
}
|
||||
?>
|
||||
|
||||
<input name="ft" value="m3" type="hidden" />
|
||||
</th>
|
||||
|
||||
<th class="navi">
|
||||
<?php
|
||||
// ======================================================
|
||||
// PAGINATION (UNCHANGED LOGIC, SIMPLIFIED READABILITY)
|
||||
// ======================================================
|
||||
$total = count($message->inbox1);
|
||||
$s = isset($_GET['s']) ? (int)$_GET['s'] : 0;
|
||||
|
||||
$tParam = !empty($_GET['t']) ? 't=' . $_GET['t'] . '&' : '';
|
||||
|
||||
if (!isset($_GET['s']) && $total < 10) {
|
||||
echo "«»";
|
||||
} elseif (!isset($_GET['s']) && $total > 10) {
|
||||
echo "«<a href=\"?" . $tParam . "s=10&o=0\">»</a>";
|
||||
} elseif (isset($_GET['s']) && $total > $_GET['s']) {
|
||||
|
||||
if ($total > ($_GET['s'] + 10) && $_GET['s'] - 10 < $total && $_GET['s'] != 0) {
|
||||
echo "<a href=\"?" . $tParam . "s=" . ($_GET['s'] - 10) . "&o=0\">«</a>
|
||||
<a href=\"?" . $tParam . "s=" . ($_GET['s'] + 10) . "&o=0\">»</a>";
|
||||
|
||||
} elseif ($total > $_GET['s'] + 10) {
|
||||
echo "«<a href=\"?" . $tParam . "s=" . ($_GET['s'] + 10) . "&o=0\">»</a>";
|
||||
|
||||
} elseif ($total > 10) {
|
||||
echo "<a href=\"?" . $tParam . "s=" . ($_GET['s'] - 10) . "&o=0\">«</a>»";
|
||||
}
|
||||
}
|
||||
?>
|
||||
</th>
|
||||
|
||||
</tr>
|
||||
</tfoot>
|
||||
|
||||
<tbody>
|
||||
|
||||
<style>
|
||||
tr.multihunterMsg td.sel {
|
||||
background-color: orange;
|
||||
}
|
||||
</style>
|
||||
|
||||
<?php
|
||||
// ======================================================
|
||||
// MESSAGE LISTING
|
||||
// ======================================================
|
||||
|
||||
$s = isset($_GET['s']) ? (int)$_GET['s'] : 0;
|
||||
$name = 1;
|
||||
|
||||
$support_messages = ($session->access == ADMIN && ADMIN_RECEIVE_SUPPORT_MESSAGES);
|
||||
$multihunter_messages = ($session->access == MULTIHUNTER);
|
||||
|
||||
// cache usernames (REDUCE SQL LOAD)
|
||||
$userCache = [];
|
||||
|
||||
$totalMessages = count($message->inbox1);
|
||||
|
||||
for ($i = (1 + $s); $i <= (10 + $s); $i++) {
|
||||
|
||||
if ($totalMessages >= $i) {
|
||||
|
||||
$msg = $message->inbox1[$i - 1];
|
||||
|
||||
// row class logic (UNCHANGED)
|
||||
if ($msg['owner'] <= 1) {
|
||||
echo "<tr class=\"sup\">";
|
||||
} elseif ($msg['owner'] == 5) {
|
||||
echo "<tr class=\"multihunterMsg\">";
|
||||
} else {
|
||||
echo "<tr>";
|
||||
}
|
||||
|
||||
// ======================================================
|
||||
// CHECKBOX / SUPPORT / MULTIHUNTER LOGIC (UNCHANGED)
|
||||
// ======================================================
|
||||
$message_for_text = '';
|
||||
|
||||
if (
|
||||
!$support_messages ||
|
||||
($support_messages && $msg['target'] != 1) ||
|
||||
($multihunter_messages && $msg['target'] != 5)
|
||||
) {
|
||||
$message_for_text =
|
||||
"<input class=\"check\" type=\"checkbox\" name=\"n" . $name . "\" value=\"" . $msg['id'] . "\" />";
|
||||
} else if ($support_messages) {
|
||||
$message_for_text = '<u><b title="Message for Support"><i>S</i></b></u>';
|
||||
} else if ($multihunter_messages) {
|
||||
$message_for_text = '<u><b title="Message for Multihunter"><i>M</i></b></u>';
|
||||
}
|
||||
|
||||
echo "<td class=\"sel\">" . $message_for_text . "</td>";
|
||||
|
||||
// ======================================================
|
||||
// SUBJECT
|
||||
// ======================================================
|
||||
echo "<td class=\"top\">
|
||||
<a href=\"nachrichten.php?id=" . $msg['id'] . "\">" . $msg['topic'] . "</a>";
|
||||
|
||||
if ($msg['viewed'] == 0) {
|
||||
echo " (new)";
|
||||
}
|
||||
|
||||
echo "</td>";
|
||||
|
||||
// ======================================================
|
||||
// SENDER (cached username to reduce SQL)
|
||||
// ======================================================
|
||||
$ownerId = (int)$msg['owner'];
|
||||
|
||||
if (!isset($userCache[$ownerId])) {
|
||||
$userCache[$ownerId] = $database->getUserField($ownerId, 'username', 0);
|
||||
}
|
||||
|
||||
$username = $userCache[$ownerId];
|
||||
|
||||
$date = $generator->procMtime($msg['time']);
|
||||
|
||||
if ($ownerId <= 1) {
|
||||
|
||||
echo "<td class=\"send\">
|
||||
<a href=\"spieler.php?uid=1\"><u>" . $username . "</u></a>
|
||||
</td>
|
||||
<td class=\"dat\">" . $date[0] . " " . $date[1] . "</td>
|
||||
</tr>";
|
||||
|
||||
} else {
|
||||
|
||||
$linkSender = ($ownerId != 2 && $ownerId != 4);
|
||||
|
||||
echo "<td class=\"send\">" .
|
||||
($linkSender ? "<a href=\"spieler.php?uid=$ownerId\">" : "<b>") .
|
||||
$username .
|
||||
($linkSender ? "</a>" : "</b>") .
|
||||
"</td>
|
||||
|
||||
<td class=\"dat\">" . $date[0] . " " . $date[1] . "</td>
|
||||
</tr>";
|
||||
}
|
||||
|
||||
$name++;
|
||||
}
|
||||
}
|
||||
|
||||
echo "<td class=\"sel\">".$message_for_text."</td>
|
||||
<td class=\"top\"><a href=\"nachrichten.php?id=".$message->inbox1[$i-1]['id']."\">".$message->inbox1[$i-1]['topic']."</a> ";
|
||||
if($message->inbox1[$i-1]['viewed'] == 0) {
|
||||
echo "(new)";
|
||||
}
|
||||
$date = $generator->procMtime($message->inbox1[$i-1]['time']);
|
||||
if($message->inbox1[$i-1]['owner'] <= 1) {
|
||||
echo "</td><td class=\"send\"><a href=\"spieler.php?uid=1\"><u>".$database->getUserField($message->inbox1[$i-1]['owner'],'username',0)."</u></a></td>
|
||||
<td class=\"dat\">".$date[0]." ".$date[1]."</td></tr>";
|
||||
}
|
||||
else {
|
||||
$linkSender = ($message->inbox1[$i-1]['owner'] != 2 && $message->inbox1[$i-1]['owner'] != 4);
|
||||
// ======================================================
|
||||
// EMPTY STATE
|
||||
// ======================================================
|
||||
if ($totalMessages == 0) {
|
||||
echo "<td colspan=\"4\" class=\"none\">There are no messages available.</td></tr>";
|
||||
}
|
||||
?>
|
||||
|
||||
echo "</td><td class=\"send\">".($linkSender ? "<a href=\"spieler.php?uid=".$message->inbox1[$i-1]['owner']."\">" : '<b>').$database->getUserField($message->inbox1[$i-1]['owner'],'username',0).($linkSender ? '</a>' : '</b>')."</td>
|
||||
|
||||
<td class=\"dat\">".$date[0]." ".$date[1]."</td></tr>";
|
||||
}
|
||||
}
|
||||
$name++;
|
||||
}
|
||||
if(count($message->inbox1) == 0) {
|
||||
echo "<td colspan=\"4\" class=\"none\">There are no messages available.</td></tr>";
|
||||
}
|
||||
?>
|
||||
</tbody></table>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user