diff --git a/.gitignore b/.gitignore
index fc7f5dd..96b1258 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,9 +10,9 @@ 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/mastostart_struttura_e_dati_test.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
diff --git a/web/INSTALL b/web/INSTALL
index 81ec198..3aa7a3c 100644
--- a/web/INSTALL
+++ b/web/INSTALL
@@ -1,7 +1,22 @@
-- 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")
-- ...
+- Le istruzioni in questo paragrafo riguardano un'installazione sotto
+ apache; sotto nginx o altri webserver dovrebbe trattarsi di adeguarle.
+ Se hai installato mastostart nella DocumentRoot di apache o di un
+ virtualhost definito in apache bona lè, sei già a posto; 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").
+
+- Per quanto riguarda l'installazione di Mustard, importa in mariadb o mysql
+ il dump sql «mastostart_struttura_e_dati_pro_installazione.sql.gz»
+ che trovi nella directory «mustard/zzz-materiali/».
+ Edita il file di configurazione commentato «mustard/sec/mustard.ini».
+ Crea un “superadmin” per poter entrare in mustard lanciando
+ «php addsuperadmin.php» dalla directory «mustard/tools/».
+
+- Per quanto riguarda il crawler che crea/aggiorna i dati relativi alle
+ istanze nel database, si tratta di farne girare i due componenti
+ uno dopo l'altro, la prima volta magari da shell, poi con un cron job
+ (quotidiano? settimanale?). Per farlo è sufficiente lanciare lo script
+ «crawl.sh» che si trova nella directory «mustard/crawler».
diff --git a/web/mustard/crawler/crawl.sh b/web/mustard/crawler/crawl.sh
new file mode 100755
index 0000000..2d43867
--- /dev/null
+++ b/web/mustard/crawler/crawl.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+BASEDIR=$(dirname $0)
+cd "$BASEDIR"
+php peerscrawl.php && php crawler.php
diff --git a/web/mustard/crawler/crawler.php b/web/mustard/crawler/crawler.php
index 824fd03..06e97e3 100755
--- a/web/mustard/crawler/crawler.php
+++ b/web/mustard/crawler/crawler.php
@@ -138,7 +138,7 @@ if ($opts['log']) {
}
}
-$inifp=__DIR__.'/../sec/mastostartadmin.ini';
+$inifp=__DIR__.'/../sec/mustard.ini';
$iniarr=@parse_ini_file($inifp)
or mexit('Impossibile aprire il file di configurazione «'.$inifp.'»'.N,1);
$link=@mysqli_connect($iniarr['db_host'],$iniarr['db_admin_name'],$iniarr['db_admin_password'],$iniarr['db_name'],$iniarr['db_port'],$iniarr['db_socket'])
diff --git a/web/mustard/dafa.txt b/web/mustard/dafa.txt
index 5ee68a8..ed7f3ca 100644
--- a/web/mustard/dafa.txt
+++ b/web/mustard/dafa.txt
@@ -4,14 +4,15 @@
* fatto
# in corso
+- crawler.php: possibilità di passargli le opzioni da riga di comando
* viewinst.php
- pagina gestione accounts
- pagina gestione proprio account
- pagina gestione blacklist
- pagina reset password
-- 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*
+- una pagina che rilevi eventuali inconsistenze nel db, tra le quali: mail account guest diversa da mail di contatto istanza (mail contatto d'istanza può cambiare nel tempo)
+* 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 "sollecitare" 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
diff --git a/web/mustard/include/dispinst.php b/web/mustard/include/dispinst.php
index 8b07ec9..fcb6ab1 100644
--- a/web/mustard/include/dispinst.php
+++ b/web/mustard/include/dispinst.php
@@ -87,11 +87,11 @@ function dispinst(&$row,&$cols,&$link,&$dlang,&$account,$showcount,$finst,$cinst
$out.='
'.N;
if ($account['Level']!='guest') {
if (!is_null($row['GuestID'])) {
- $out.='
'.N;
if (trim($inst['AdmDisplayName'])!='')
$admname=$inst['AdmDisplayName'];
elseif (trim($inst['AdmAccount'])!='')
@@ -50,69 +72,67 @@ if (array_key_exists('id',$_GET) && preg_match('/^[0-9]+$/',$_GET['id'])===1) {
$admname='';
$haddress=$inst['Email'];
if ($admname!='') $haddress=$admname.' <'.$haddress.'>';
- $out.='
Destinatario: '.hspech($haddress).'
'.N;
- $out.='
Oggetto:
'.N;
$madmname='';
if ($admname!='') $madmname=' '.$admname;
+ if ($admname=='') $admname='Unknown';
$password=randstr(16);
define('RN',"\r\n");
- if ($mode=='create')
- $message='Hello'.hspech($madmname).','.RN.'we are a little group of italian people who are trying to create a search engine for Mastodon instances.'.RN.'We’d like you to ....'.RN.RN.'Your login data:'.RN.RN.'Username: '.$inst['Email'].RN.'Password: '.hspech($password).RN.RN.'Kind regards'.RN;
- else
- $message='Hello'.hspech($madmname).','.RN.'we already contacted you ...';
- $out.=''.N;
- $out.=''.N;
+ //('/%guestinsturi/','/%guestname/','/%guestemail/','/%guestpassword/','/%ourdomain/')
+ $subj=parsetempline($templ[0],array($inst['URI'],$madmname,$inst['Email'],$password,$iniarr['site_domain']));
+ $message='';
+ for ($i=2; $iMittente: '.hspech($iniarr['ref_name']).' '.hspech('<'.$iniarr['ref_email'].'>').''.N;
+ $out.='