Files
MYSOPHAL/front/newsletter.list.php
2025-11-09 10:02:18 +01:00

93 lines
2.4 KiB
PHP

<?php
ob_start();
use Glpi\Event;
include ('../inc/includes.php');
Session::checkLoginUser();
if (Session::getCurrentInterface() == "helpdesk") {
Html::helpHeader("Newsletters", '', $_SESSION["glpiname"]);
} else {
Html::header("Newsletters", '', "", "");
}
function fetch_newsletters() {
global $DB;
$query = "SELECT id, title, path, created_at
FROM glpi_newsletters
WHERE archived = 0
ORDER BY created_at DESC";
$result = $DB->query($query);
$rows = [];
while ($row = $DB->fetchAssoc($result)) {
$rows[] = $row;
}
return $rows;
}
$res = fetch_newsletters();
echo '
<div class="center" style="margin-top:20px;">
<table border="0" class="tab_cadrehov" style="font-size: 14px; width:70%; border-radius:8px; overflow:hidden; box-shadow:0 2px 6px rgba(0,0,0,0.1);">
<thead>
<tr style="background:#27548A; color:white; text-align:center; font-weight:bold;">
<th style="padding:10px;">📄 Newsletter</th>
<th style="padding:10px;">🔗 Link</th>
</tr>
</thead>
<tbody id="data"></tbody>
</table>
</div>';
if (Session::getCurrentInterface() == "helpdesk") {
Html::helpFooter();
} else {
Html::footer();
}
$root = $CFG_GLPI["root_doc"];
$user = Session::getCurrentInterface();
?>
<script>
var root = <?php echo json_encode($root); ?>;
var res = <?php echo json_encode($res); ?>;
var user = <?php echo json_encode($user); ?>;
function loadTable(data) {
if (data != null && data.length > 0) {
for (var i = 0; i < data.length; i++) {
var row = data[i];
var link = '<a href="' + root + '/front/newsletter.php?id=' + row['id'] + '" ' +
'style="background:#27548A; color:white; padding:6px 12px; border-radius:4px; text-decoration:none; font-weight:bold;" ' +
'target="_blank">Open</a>';
$('#data').append(
'<tr style="text-align: center; vertical-align: middle;">' +
'<td style="padding:8px; font-weight:600; color:#333;">' + row['title'] + '</td>' +
'<td style="padding:8px;">' + link + '</td>' +
'</tr>'
);
}
} else {
$('#data').append(
'<tr><td colspan="2" style="text-align:center; padding:15px; color:#888;">No newsletters available</td></tr>'
);
}
}
$(document).ready(function(){
loadTable(res);
});
</script>