This commit is contained in:
pezcurrel 2020-05-07 07:24:56 +02:00
parent 94f6b543fb
commit 85876775c4
84 changed files with 55 additions and 128 deletions

25
.gitignore vendored
View file

@ -1,14 +1,19 @@
web/admin/crawler/crawler.log
web/admin/crawler/currinst.job
web/admin/crawler/instances.job
web/admin/crawler/instances.json
vendor
composer.lock
appunti.txt
web/admin/crawler/peers
web/admin/crawler/zzz-materiali/
web/admin/zzz-estemp/
web/admin/zzz-materiali/mastostart_struttura_e_dati_pro_altervista.sql.gz
web/admin/zzz-oldcrawler/
web/blocks/
web/zzz-materiali/
web/mustard/crawler/crawler.log
web/mustard/crawler/currinst.job
web/mustard/crawler/instances.job
web/mustard/crawler/instances.json
web/mustard/crawler/peers
web/mustard/crawler/zzz-materiali/
web/mustard/zzz-estemp/
web/mustard/zzz-materiali/mastostart_struttura_e_dati_pro_altervista.sql.gz
web/mustard/zzz-materiali/.htaccess
web/mustard/zzz-materiali/geonames/
web/mustard/zzz-materiali/icona.svg
web/mustard/zzz-materiali/locales.json
web/mustard/zzz-materiali/simplemaps_worldcities_basicv1.6.zip
web/mustard/zzz-materiali/snippettoni.php
web/mustard/zzz-materiali/worldcities/

View file

@ -1,5 +1,5 @@
RewriteEngine On
RewriteBase /mastostart
#RewriteBase "/mastostart"
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ index.php [L,QSA]

7
web/INSTALL Normal file
View file

@ -0,0 +1,7 @@
- Se hai installato mastostart nella DocumentRoot di apache passa al punto
successivo; se invece l'hai installato in una sottodirectory della
DocumentRoot (per esempio «[DocumentRoot]/mastostart») imposta al percorso
della sottodirectory la variabile «instpath» in «mastostart.ini»
(per esempio «instpath="/mastostart"») e la direttiva «RewriteBase»
in «.htaccess» (per esempio «RewriteBase "/mastostart")
- ...

View file

@ -1,26 +0,0 @@
<!DOCTYPE HTML>
<html lang="it">
<head>
<title>Mastodon Startpage - Sviluppo del “suggeritore di istanze”</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="Mustard Login">
<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=2">
</head>
<body>
<div id="fullscreen">
<div id="middlerow">
<div id="intro">
<p>Ciao,<br>
<a href="index.php">qui</a>, con nome utente “bida” e password uguale, puoi provare quel che cè della sezione di admin per il “suggeritore distanze mastodon” della <a href="https://rame.altervista.org/mastostart">Mastodon Startpage</a>.<br>
Quel che cè, al momento, è il “browser di istanze lato admin”, uno strumento che permette di “sfogliare” e cercare-ordinare secondo tanti criteri un database di metadati relativi a tante istanze mastodon (per visualizzare il pannello di ricerca e ordinamento, una volta entrat@ nella sezione di admin clicca sullicona con la lente in alto a destra).<br>
Se vuoi segnalare bachi o collaborare in altro modo sullaspetto tecnico (non contenutistico) del progetto della Mastodon Startpage, <a href="https://git.lattuga.net/pongrebio/MastodonStartpage">qui cè il repo git del progetto</a>; nel wiki trovi una spiegazione abbastanza dettagliata di come si pensa di svilupparlo, quel che cè e quel che manca.</p>
</div>
</div>
</div>
</body>
</html>

View file

@ -1,2 +0,0 @@
Order deny,allow
Deny from all

View file

@ -1,71 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="512"
height="512"
viewBox="0 0 135.46666 135.46667"
version="1.1"
id="svg8"
inkscape:version="0.92.4 5da689c313, 2019-01-14"
sodipodi:docname="icona.svg">
<defs
id="defs2" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="217.83103"
inkscape:cy="232.46478"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:snap-page="true"
inkscape:snap-bbox="true"
inkscape:bbox-nodes="true"
inkscape:window-width="3840"
inkscape:window-height="2037"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Livello 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-161.53331)">
<path
style="fill:#000000;stroke-width:0.60455555"
inkscape:connector-curvature="0"
d="m 132.58283,242.7442 c -1.99133,9.55598 -17.83516,20.01408 -36.031803,22.04088 -9.488764,1.0561 -18.831211,2.02679 -28.793355,1.60056 -16.292162,-0.69628 -29.147806,-3.62736 -29.147806,-3.62736 0,1.47941 0.09781,2.88803 0.293419,4.20541 2.11809,14.99778 15.943189,15.89623 29.039044,16.31517 13.217918,0.42185 24.987523,-3.03984 24.987523,-3.03984 l 0.543019,11.14633 c 0,0 -9.245422,4.63092 -25.715199,5.48265 -9.081891,0.46567 -20.358551,-0.21311 -33.492748,-3.45585 C 5.7790714,286.37929 0.88015717,258.05582 0.13057087,229.31707 -0.09790411,220.78436 0.042939,212.73843 0.042939,206.00917 c 0,-29.38685 20.641795,-38.0006 20.641795,-38.0006 10.408143,-4.45868 28.267551,-6.33367 46.834294,-6.47526 h 0.456167 c 18.566742,0.14151 36.437885,2.01658 46.845245,6.47526 0,0 20.64103,8.61375 20.64103,38.0006 0,0 0.25899,21.68178 -2.87864,36.73503"
id="path1428" />
<path
style="fill:#ffd42a;stroke-width:0.60455555"
inkscape:connector-curvature="0"
d="m 111.11398,208.28895 v 35.58258 H 96.000965 v -34.5367 c 0,-7.2803 -3.28394,-10.97554 -9.852602,-10.97554 -7.262697,0 -10.902651,4.38349 -10.902651,13.05125 V 230.3145 H 60.221901 v -18.90396 c 0,-8.66776 -3.640737,-13.05125 -10.903432,-13.05125 -6.568664,0 -9.852603,3.69524 -9.852603,10.97554 v 34.5367 H 24.352855 v -35.58258 c 0,-7.27227 1.985076,-13.05125 5.972437,-17.32675 4.111771,-4.27549 9.496588,-6.46724 16.181053,-6.46724 7.733731,0 13.590365,2.77272 17.462707,8.31888 l 3.764364,5.88627 3.765145,-5.88627 c 3.871561,-5.54616 9.728194,-8.31888 17.462708,-8.31888 6.683683,0 12.068501,2.19175 16.181051,6.46724 3.98658,4.2755 5.97166,10.05448 5.97166,17.32675"
id="path1430" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.5 KiB

View file

@ -2,8 +2,18 @@
define('N',"\n");
$instpath='/mastostart';
$path=preg_replace('/^'.preg_quote($instpath,'/').'/','',$_SERVER['REQUEST_URI']);
function muoribene($msg,$ec) {
echo($msg);
exit($ec);
}
$inifp='mastostart.ini';
$conf=@parse_ini_file($inifp)
or muoribene('Non ho potuto aprire «'.$inifp.'».'.N,1);
if (!array_key_exists('instpath',$conf))
muoribene('«'.$inifp.'»: “instpath” non è definito.'.N,1);
$path=preg_replace('/^'.preg_quote($conf['instpath'],'/').'/','',$_SERVER['REQUEST_URI']);
$ndir=preg_match_all('/\//',$path)-1;
$prepath='';
for ($i=0; $i<$ndir; $i++)
@ -25,9 +35,9 @@ if (preg_match('#/('.implode('|',$supplangs).')$#',$path,$lang)===1) {
}
$menu=array(
'guide'=>array('liadd'=>null, 'href'=>$instpath.'/'.$dlang, 'title'=>'Guide', 'selected'=>false, 'submenu'=>null),
'instances'=>array('liadd'=>null, 'href'=>$instpath.'/instances/'.$dlang, 'title'=>'Instances', 'selected'=>false, 'submenu'=>null),
'about'=>array('liadd'=>null, 'href'=>$instpath.'/about/'.$dlang, 'title'=>'About', 'selected'=>false, 'submenu'=>null),
'guide'=>array('liadd'=>null, 'href'=>$conf['instpath'].'/'.$dlang, 'title'=>'Guide', 'selected'=>false, 'submenu'=>null),
'instances'=>array('liadd'=>null, 'href'=>$conf['instpath'].'/instances/'.$dlang, 'title'=>'Instances', 'selected'=>false, 'submenu'=>null),
'about'=>array('liadd'=>null, 'href'=>$conf['instpath'].'/about/'.$dlang, 'title'=>'About', 'selected'=>false, 'submenu'=>null),
'language'=>array('liadd'=>null, 'href'=>null, 'title'=>'Language', 'selected'=>false, 'submenu'=>array(
'ca'=>array('liadd'=>'onmouseover="this.style.cursor=\'pointer\'"', 'href'=>null, 'title'=>'Català', 'selected'=>false, 'submenu'=>null),
'en'=>array('liadd'=>'onmouseover="this.style.cursor=\'pointer\'"', 'href'=>null, 'title'=>'English', 'selected'=>false, 'submenu'=>null),
@ -39,7 +49,7 @@ $menu=array(
);
foreach ($supplangs as $lang)
$menu['language']['submenu'][$lang]['href']=$instpath.$path.'/'.$lang;
$menu['language']['submenu'][$lang]['href']=$conf['instpath'].$path.'/'.$lang;
$menu['language']['submenu'][$dlang]['href']=null;
$menu['language']['submenu'][$dlang]['liadd']=null;
@ -168,7 +178,7 @@ switch($path) {
}
/*
<li><a href="<?php echo($instpath); ?>">Guide</a></li>
<li><a href="<?php echo($conf['instpath']); ?>">Guide</a></li>
<li><a href="instances">Instances</a></li>
<li><a href="about">About us</a></li>
<li onmouseover="chulsh(this,true)" onmouseout="chulsh(this,false)">Language

1
web/mastostart.ini Normal file
View file

@ -0,0 +1 @@
instpath=""

View file

@ -9,8 +9,9 @@
- pagina gestione proprio account
- pagina gestione blacklist
- pagina reset password
- una pagina che rilevi eventuali inconsistenze nel db, tra le quali: mail account admin diversa da mail admin d'istanza
# implementare la faccenda dell'invio di mail preformattate agli admin con invito a editare i propri dati (quindi implementare "livelli di admin" e relative restrizioni: admin invitat* può vedere solo la pagina relativa alla propria istanza, solo aggiungere valori - non in tutti i casi, editare ed eliminare solo valori che ha aggiunto e solo se non sono già stati linkati da altr*)
- una pagina che rilevi eventuali inconsistenze nel db, tra le quali: mail account guest diversa da mail di contatto istanza ()
# implementare la faccenda dell'invio di mail preformattate agli admin con invito a editare i propri dati (quindi implementare "livelli di admin" e relative restrizioni: admin invitat* può vedere solo la pagina relativa alla propria istanza, solo aggiungere valori (non in tutti i casi), editare ed eliminare solo valori che ha aggiunto e solo se non sono già stati linkati da altr*)
- dispinst.php, invite.php: possibilità di reinvitare admin già invitat*
? edinstres.php deve mostrare messaggio di successo
* edinst.php: un'icona per deselezionare Locality
* nei vari helper, sarebbe meglio morisse in json, alla bisogna
@ -22,8 +23,8 @@
* crawler.php: le notifiche, invece di edinst.php, devono linkare un viewinst.php che mostri l'istanza
* crawler.php: sarebbe tanto bello fare a meno di tutta la faccenda "tronconi" ecc.
! crawler.php: deve controllare se nella tabella Instances GuestID è definito; se è definito e la mail del corrispettivo account "guest" è cambiata, deve aggiornare l'account "guest" corrispettivo in Admins con la mail e il nome utente attuali e creare nuova password; se i dati dell'istanza sono già stati editati, mandare mail di "aggiornamento"; se non lo sono, mandare invito --- alla fine lasciam perdere, si organizzano gli admin se vogliono.
* instances.php: possibilità di filtraggio per GuestID, LastGuestEdit, OurLangsLock
- include/dispinst.php: deve essere disponibile anche in inglese, per i guest
* instances.php: possibilità di filtraggio per GuestID, LastGuestEdit, OurLangsLock
- instances.php: possibilità di *scegliere* la lingua da usare tra quelle supportate per il filtraggio su Localities e Languages
? instances.php: bottoni per pagina precedente-successiva
- instances.php: alerta su cambio pagina quando è stato modificato filtro/ordinamento

View file

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

View file

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

View file

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View file

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View file

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View file

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View file

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View file

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View file

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View file

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View file

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View file

Before

Width:  |  Height:  |  Size: 4 KiB

After

Width:  |  Height:  |  Size: 4 KiB

View file

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

Before

Width:  |  Height:  |  Size: 5 KiB

After

Width:  |  Height:  |  Size: 5 KiB

View file

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

View file

Before

Width:  |  Height:  |  Size: 6 KiB

After

Width:  |  Height:  |  Size: 6 KiB

View file

Before

Width:  |  Height:  |  Size: 5 KiB

After

Width:  |  Height:  |  Size: 5 KiB

View file

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

View file

Before

Width:  |  Height:  |  Size: 4 KiB

After

Width:  |  Height:  |  Size: 4 KiB

View file

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View file

Before

Width:  |  Height:  |  Size: 962 B

After

Width:  |  Height:  |  Size: 962 B

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

View file

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

View file

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

Before

Width:  |  Height:  |  Size: 142 B

After

Width:  |  Height:  |  Size: 142 B

View file

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View file

@ -4,11 +4,11 @@ if ($account['Level']!='guest') {
$menu=array(
'menu'=>array('liadd'=>null, 'href'=>null, 'title'=>'Menu', 'selected'=>false, 'submenu'=>
array(
'instances'=>array('liadd'=>null, 'href'=>'instances.php', 'title'=>'Instances', 'selected'=>false, 'submenu'=>null),
'instances'=>array('liadd'=>null, 'href'=>'instances.php', 'title'=>'Istanze', 'selected'=>false, 'submenu'=>null),
'blacklist'=>array('liadd'=>null, 'href'=>'#', 'title'=>'Blacklist', 'selected'=>false, 'submenu'=>null),
'accounts'=>array('liadd'=>null, 'href'=>'#', 'title'=>'Accounts', 'selected'=>false, 'submenu'=>null),
'notifs'=>array('liadd'=>null, 'href'=>'#', 'title'=>'Notifications', 'selected'=>false, 'submenu'=>null),
'signout'=>array('liadd'=>null, 'href'=>'logout.php', 'title'=>'Logout', 'selected'=>false, 'submenu'=>null)
'notifs'=>array('liadd'=>null, 'href'=>'#', 'title'=>'Notifiche', 'selected'=>false, 'submenu'=>null),
'logout'=>array('liadd'=>null, 'href'=>'logout.php', 'title'=>'Logout', 'selected'=>false, 'submenu'=>null)
)
)
);
@ -18,7 +18,7 @@ if ($account['Level']!='guest') {
array(
'instances'=>array('liadd'=>null, 'href'=>'guestinsts.php', 'title'=>'Instances', 'selected'=>false, 'submenu'=>null),
'account'=>array('liadd'=>null, 'href'=>'#', 'title'=>'Account', 'selected'=>false, 'submenu'=>null),
'signout'=>array('liadd'=>null, 'href'=>'logout.php', 'title'=>'Logout', 'selected'=>false, 'submenu'=>null),
'logout'=>array('liadd'=>null, 'href'=>'logout.php', 'title'=>'Logout', 'selected'=>false, 'submenu'=>null),
)
)
);

View file

@ -22,10 +22,12 @@ function ckfl() {
var emsgs='';
if (document.l.email.value=='') emsgs+='<li>You didnt specify your email</li>';
if (document.l.password.value=='') emsgs+='<li>You didnt specify your password</li>';
if (emsgs!='')
if (emsgs!='') {
alerta('Error(s)','<ul>'+emsgs+'</ul>');
else
return false;
} else {
document.l.submit();
}
}
//-->
</script>
@ -37,11 +39,11 @@ function ckfl() {
Mustard Login
</div>
<div id="centerbox">
<form action="login.php" name="l" method="post">
<form action="login.php" name="l" method="post" onsubmit="return ckfl();">
<table id="logintable">
<tr><td>Email:</td><td class="rtd"><input type="text" name="email" maxlength="64" autofocus></td></tr>
<tr><td>Password:</td><td class="rtd"><input type="password" name="password" maxlength="64"></td></tr>
<tr><td></td><td class="rtd"><input type="button" value="Login" class="button" onClick="ckfl();"></td></tr>
<tr><td></td><td class="rtd"><input type="submit" value="Login" class="button" onclick="ckfl();"></td></tr>
<!-- <tr><td colspan="2" class="tiptd"><a href="passreset.php">Password dimenticata?</a></td></tr> -->
</table>
</form>