1
0
Fork 0
MastodonStartpage/web/admin/instances.php

169 lines
5.5 KiB
PHP
Raw Normal View History

2019-12-26 21:57:36 +01:00
<?php
require('include/glob.php');
require('include/muoribene.php');
require('include/sessionstart.php');
require('include/menu.php');
buildmenu($menu);
require('include/myconn.php');
2020-01-02 13:19:25 +01:00
function nully($val,$filter='') {
if (!is_null($val)) {
if ($filter=='strip') {
return(strip_tags($val,'<a><br><ol><ul><li>'));
} elseif ($filter=='htmlent') {
return(htmlentities($val));
} else {
return($val);
}
} else {
return('<span class="nully">Non definito</span>');
}
}
function booly($pre,$val,$nottoobad=false,$invcol=false) {
if ($val) {
if (!$invcol) {
$p='<p class="good">';
} else {
if (!$nottoobad) {
$p='<p class="bad">';
} else {
$p='<p class="neut">';
}
}
return($p.$pre.'SI</p>');
} else {
if (!$invcol) {
if (!$nottoobad) {
$p='<p class="bad">';
} else {
$p='<p class="neut">';
}
} else {
$p='<p class="good">';
}
return($p.$pre.'NO</p>');
}
}
$cols=array(
'New'=>array('name'=>'Nuova','type'=>'bool'),
'Good'=>array('name'=>'Papabile','type'=>'bool'),
'Chosen'=>array('name'=>'Scelta','type'=>'bool'),
'Visible'=>array('name'=>'Visibile','type'=>'bool'),
'Blacklisted'=>array('name'=>'Blacklistata','type'=>'bool'),
'URI'=>array('name'=>'URI','type'=>'text'),
'Title'=>array('name'=>'Titolo','type'=>'text'),
'ShortDesc'=>array('name'=>'Descrizione breve','type'=>'text'),
'LongDesc'=>array('name'=>'Descrizione lunga','type'=>'text'),
'OurDesc'=>array('name'=>'Descrizione nostra','type'=>'text'),
'PlaceID'=>array('name'=>'Località','type'=>'select'),
'Email'=>array('name'=>'Email di contatto','type'=>'text'),
'Software'=>array('name'=>'Software','type'=>'text'),
'Version'=>array('name'=>'Versione','type'=>'text'),
'UserCount'=>array('name'=>'Utenti','type'=>'number'),
'StatusCount'=>array('name'=>'Stati','type'=>'number'),
'DomainCount'=>array('name'=>'Istanze note','type'=>'number'),
'ActiveUsersMonth'=>array('name'=>'Utenti attivi (mese)','type'=>'number'),
'ActiveUsersHalfYear'=>array('name'=>'Utenti attivi (6 mesi)','type'=>'number'),
'Thumb'=>array('name'=>'Logo','type'=>'image'),
'RegOpen'=>array('name'=>'Registrazioni aperte','type'=>'bool'),
'RegReqApproval'=>array('name'=>'Approvazione registrazioni','type'=>'bool'),
'MaxTootChars'=>array('Name'=>'Limite caratteri','type'=>'number'),
);
$res=mysqli_query($link,'SELECT * FROM Instances LEFT JOIN Places ON Places.ID=PlaceID ORDER BY URI ASC')
or muoribene(mysqli_error($link),false);
2019-12-26 21:57:36 +01:00
mysqli_close($link);
if (mysqli_num_rows($res)<1) {
$out='<p>Nessuna istanza da mostrare.</p>'.N;
} else {
2020-01-02 13:19:25 +01:00
$out='<table id="bigtab">'.N;
$out.='<thead><tr><th class="tdattr">Attributi</th><th>'.$cols['URI']['name'].'</th><th>'.$cols['Title']['name'].'</th><th>'.$cols['OurDesc']['name'].'</th><th>'.$cols['ShortDesc']['name'].'</th><th>'.$cols['LongDesc']['name'].'</th></tr></thead>'.N;
$out.='<tbody>'.N;
2019-12-26 21:57:36 +01:00
while ($row=mysqli_fetch_assoc($res)) {
2020-01-02 13:19:25 +01:00
$attr=booly($cols['Blacklisted']['name'].': ',$row['Blacklisted'],false,true).N;
$attr.=booly($cols['New']['name'].': ',$row['New'],true).N;
$attr.=booly($cols['Good']['name'].': ',$row['Good']).N;
$attr.=booly($cols['Chosen']['name'].': ',$row['Chosen']).N;
$attr.=booly($cols['Visible']['name'].': ',$row['Visible']).N;
$attr.=booly($cols['RegOpen']['name'].': ',$row['RegOpen']).N;
$attr.=booly($cols['RegReqApproval']['name'].': ',$row['RegReqApproval'],true,true).N;
$out.='<tr><td class="tdattr">'.$attr.'</td><td><a href="https://'.$row['URI'].'" target="_blank">'.$row['URI'].'</a></td><td>'.nully($row['Title'],'strip').'</td><td>'.nully($row['OurDesc'],'htmlent').'</td><td>'.nully($row['ShortDesc'],'strip').'</td><td>'.nully($row['LongDesc'],'strip').'</td></tr>'.N;
2019-12-26 21:57:36 +01:00
}
2020-01-02 13:19:25 +01:00
$out.='</tbody>'.N;
2019-12-26 21:57:36 +01:00
$out.='</table>'.N;
}
?>
<!DOCTYPE HTML>
<html lang="it">
<head>
<title>Mastodon Startpage Admin - Main Menu</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="Admin pages for Mastodon Startpage">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<link rel="icon" type="image/png" href="imgs/icona-32.png" sizes="32x32">
<link rel="icon" type="image/png" href="imgs/icona-192.png" sizes="192x192">
<link rel="icon" type="image/png" href="imgs/icona-512.png" sizes="512x512">
<link rel="apple-touch-icon-precomposed" href="imgs/icona-180.png">
<link rel="stylesheet" type="text/css" href="theme.css?v=<?php echo($cjrand); ?>">
<script language="JavaScript">
<!--
function chulsh(el,sh) {
if (sh)
el.querySelector('ul').style='display:block';
else
el.querySelector('ul').style='display:none';
}
function ulsh(el,sh) {
if (sh)
el.style='display:block';
else
el.style='display:none';
}
function golang(lang) {
var loc=document.location.href;
loc=loc.replace(/#.*$/,'');
loc=loc.replace(/\/$/,'');
if (document.documentElement.lang=='en') {
if (lang!='en')
document.location.href=loc+'/'+lang;
} else {
if (lang!='en')
document.location.href=loc.substr(0,loc.length-3)+'/'+lang;
else
document.location.href=loc.substr(0,loc.length-3);
}
}
//-->
</script>
</head>
<body>
<nav>
<div id="hmenu">
<ul>
<?php echo($menuout); ?>
</ul>
</div>
</nav>
<div id="fullscreenm">
<div id="middlerow">
<?php echo($out); ?>
</div>
</div>
<div id="footer">
<form action="edinst.php" name="addinst" method="post">
<table><tr><td>Aggiungi unistanza:</td><td><input type="text" name="URI" maxlength="512"></td><td><input type="button" value="Vai" onClick="ckaif();"></td></tr></table>
</form>
</div>
</body>
</html>