diff --git a/addon/README b/addon/README
index 33b84e10d0..2e4ed60290 100644
--- a/addon/README
+++ b/addon/README
@@ -91,6 +91,14 @@ Current hooks:
'plugin_settings_post' - called when the Addon Settings pages are submitted.
$b is the $_POST array
+'profile_post' - called when posting a profile page.
+ $b is the $_POST array
+
+'profile_edit' - called prior to output of profile edit page
+ $b is array
+ 'profile' => profile (array) record from the database
+ 'entry' => the (string) HTML of the generated entry
+
'profile_advanced' - called when the HTML is generated for the 'Advanced profile',
corresponding to the 'Profile' tab within a person's profile page.
$b is the (string) HTML representation of the generated profile
diff --git a/include/items.php b/include/items.php
index 1fdbc6fc20..f1169aeb41 100644
--- a/include/items.php
+++ b/include/items.php
@@ -636,8 +636,8 @@ function item_store($arr) {
// they came through.
$arr['body'] = str_replace(
- array('&','>','<'),
- array('&' ,'>' ,'<'),
+ array('&', '>', '<', '"'),
+ array('&' , '>' , '<', '"'),
$arr['body']
);
diff --git a/include/nav.php b/include/nav.php
index 96acf826df..94a71d227a 100644
--- a/include/nav.php
+++ b/include/nav.php
@@ -34,7 +34,10 @@
$a->page['nav'] .= '' . t('Logout') . "\r\n";
}
else {
- $a->page['nav'] .= '' . t('Login') . "\r\n";
+ $a->page['nav'] .= '' . t('Login') . "\r\n";
}
$a->page['nav'] .= "\r\n";
diff --git a/mod/network.php b/mod/network.php
index aa42e2f529..096c8a79ff 100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -2,6 +2,12 @@
function network_init(&$a) {
+ if(! local_user()) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
+
require_once('include/group.php');
if(! x($a->page,'aside'))
$a->page['aside'] = '';
@@ -22,7 +28,7 @@ function network_init(&$a) {
function network_content(&$a, $update = 0) {
if(! local_user())
- return '';
+ return login(false);
$o = '';
diff --git a/mod/profiles.php b/mod/profiles.php
index 54c57f73e4..0bb476549e 100644
--- a/mod/profiles.php
+++ b/mod/profiles.php
@@ -10,6 +10,8 @@ function profiles_post(&$a) {
$namechanged = false;
+ call_hooks('profile_post', $_POST);
+
if(($a->argc > 1) && ($a->argv[1] !== "new") && intval($a->argv[1])) {
$orig = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval($a->argv[1]),
@@ -389,6 +391,9 @@ function profiles_content(&$a) {
'$contact' => $r[0]['contact']
));
+ $arr = array('profile' => $r[0], 'entry' => $o);
+ call_hooks('profile_edit', $arr);
+
return $o;
}
else {
diff --git a/view/it/strings.php b/view/it/strings.php
index 183b9da9f9..eb76a8fde4 100644
--- a/view/it/strings.php
+++ b/view/it/strings.php
@@ -44,16 +44,16 @@ $a->strings['Could not access contact record.'] = 'Non si puo\' accedere al cont
$a->strings['Could not locate selected profile.'] = 'Non riesco a trovare il profilo selezionato.';
$a->strings['Contact updated.'] = 'Contatto aggiornato.';
$a->strings['Failed to update contact record.'] = 'Errore aggiornando il contatto.';
-$a->strings['Contact has been '] = 'Il contatto è stato ';
+$a->strings['Contact has been '] = 'Il contatto è stato ';
$a->strings['blocked'] = 'bloccato';
$a->strings['unblocked'] = 'sbloccato';
$a->strings['ignored'] = 'aggiunto ai contatti ignorati';
$a->strings['unignored'] = 'rimosso dai contatti ignorati';
$a->strings['stopped following'] = 'tolto dai seguiti';
-$a->strings['Contact has been removed.'] = 'Il contatto è stato rimosso.';
+$a->strings['Contact has been removed.'] = 'Il contatto è stato rimosso.';
$a->strings['Contact not found.'] = 'Contatto non trovato.';
$a->strings['Mutual Friendship'] = 'Reciproca amicizia';
-$a->strings['is a fan of yours'] = 'è un tuo fan';
+$a->strings['is a fan of yours'] = 'è un tuo fan';
$a->strings['you are a fan of'] = 'sei un fan di';
$a->strings['Contact Editor'] = 'Editor dei Contatti';
$a->strings['Visit $name\'s profile'] = 'Visita il profilo di $name';
@@ -77,18 +77,18 @@ $a->strings['Visit '] = 'Visita ';
$a->strings['\'s profile'] = 'profilo';
$a->strings['Edit contact'] = 'Modifca contatto';
$a->strings['Profile not found.'] = 'Profilo non trovato.';
-$a->strings['Response from remote site was not understood.'] = 'La risposta dal sito remota non è stata capita.';
+$a->strings['Response from remote site was not understood.'] = 'La risposta dal sito remota non è stata capita.';
$a->strings['Unexpected response from remote site: '] = 'Risposta dal sito remoto inaspettata: ';
$a->strings['Confirmation completed successfully.'] = 'Conferma completata con successo.';
$a->strings['Remote site reported: '] = 'Il sito remoto riporta: ';
$a->strings['Temporary failure. Please wait and try again.'] = 'Errore temporaneo. Attendi e riprova.';
-$a->strings['Introduction failed or was revoked.'] = 'La presentazione è fallita o è stata revocata.';
+$a->strings['Introduction failed or was revoked.'] = 'La presentazione è fallita o è stata revocata.';
$a->strings['Unable to set contact photo.'] = 'Impossibile impostare la foto del contatto.';
-$a->strings['is now friends with'] = 'ora è amico di';
+$a->strings['is now friends with'] = 'ora è amico di';
$a->strings['No user record found for '] = 'Nessun utente trovato per ';
$a->strings['Our site encryption key is apparently messed up.'] = 'La nostra chiave di criptazione del sito e\' apparentemente incasinata.';
$a->strings['Empty site URL was provided or URL could not be decrypted by us.'] = 'E\' stato fornito un indirizzo vuoto o non possiamo decriptare l\'indirizzo.';
-$a->strings['Contact record was not found for you on our site.'] = 'Il contatto non è stato trovato sul nostro sito.';
+$a->strings['Contact record was not found for you on our site.'] = 'Il contatto non è stato trovato sul nostro sito.';
$a->strings['The ID provided by your system is a duplicate on our system. It should work if you try again.'] = 'L\'ID fornito dal tuo sistema e\' duplicato sul nostro sistema. Dovrebbe funzionare se provi ancora.';
$a->strings['Unable to set your contact credentials on our system.'] = 'Impossibile impostare le credenziali del tuo contatto sul nostro sistema.';
$a->strings['Unable to update your contact profile details on our system'] = 'Impossibile aggiornare i dettagli del tuo contatto sul nostro sistema';
@@ -97,8 +97,8 @@ $a->strings['Administrator'] = 'Amministratore';
$a->strings['New mail received at '] = 'Nuova mail ricevuta su ';
$a->strings[' commented on an item at '] = ' commentato un elemento su ';
$a->strings[' welcomes '] = ' accoglie ';
-$a->strings['This introduction has already been accepted.'] = 'Questa presentazione è già stata accettata.';
-$a->strings['Profile location is not valid or does not contain profile information.'] = 'La posizione del profilo non è valida o non contiene informazioni di profilo.';
+$a->strings['This introduction has already been accepted.'] = 'Questa presentazione è già stata accettata.';
+$a->strings['Profile location is not valid or does not contain profile information.'] = 'La posizione del profilo non è valida o non contiene informazioni di profilo.';
$a->strings['Warning: profile location has no identifiable owner name.'] = 'Attenzione: la posizione del profilo non ha un identificabile proprietario';
$a->strings['Warning: profile location has no profile photo.'] = 'Attenzione: la posizione del profilo non ha una foto.';
$a->strings[' required parameter'] = ' parametro richiesto';
@@ -117,7 +117,7 @@ $a->strings['You have already introduced yourself here.'] = 'Ti sei già present
$a->strings['Apparently you are already friends with .'] = 'Apparentemente sei già amico con .';
$a->strings['Invalid profile URL.'] = 'Indirizzo profilo invalido.';
$a->strings['Disallowed profile URL.'] = 'Indirizzo profilo non permesso.';
-$a->strings['Your introduction has been sent.'] = 'La tua presentazione è stata inviata.';
+$a->strings['Your introduction has been sent.'] = 'La tua presentazione è stata inviata.';
$a->strings['Please login to confirm introduction.'] = 'Accedi per confermare la presentazione.';
$a->strings['Incorrect identity currently logged in. Please login to this profile.'] = 'Accesso con identà incorretta. Accedi a questo profilo.';
$a->strings['[Name Withheld]'] = '[Nome Nascosto]';
@@ -140,7 +140,7 @@ $a->strings['Item not found.'] = 'Elemento non trovato.';
$a->strings['Private Message'] = 'Messaggio privato';
$a->strings['This is you'] = 'Questo sei tu';
$a->strings['View $name\'s profile'] = 'Guarda il profilo di $name';
-$a->strings['Item has been removed.'] = 'L\'elemento è stato rimosso.';
+$a->strings['Item has been removed.'] = 'L\'elemento è stato rimosso.';
$a->strings['The profile address specified does not provide adequate information.'] = 'L\'indirizzo del profilo specificato non fornisce adeguate informazioni';
$a->strings['Limited profile. This person will be unable to receive direct/personal notifications from you.'] = 'Profilo limitato. Questa persona non sara\' in grado di ricevere nofiche dirette/personali da te.';
$a->strings['Unable to retrieve contact information.'] = 'Impossibile recuperare informazioni sul contatto.';
@@ -165,16 +165,16 @@ $a->strings['Submit'] = 'Invia';
$a->strings['Could not find a command line version of PHP in the web server PATH.'] = 'Non riesco a trovare una versione da riga di comando di PHP nel PATH del server web';
$a->strings['This is required. Please adjust the configuration file .htconfig.php accordingly.'] = 'E\' richiesto. Aggiorna il file .htconfig.php di conseguenza.';
$a->strings['The command line version of PHP on your system does not have "register_argc_argv" enabled.'] = 'La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\".';
-$a->strings['This is required for message delivery to work.'] = 'Ció è richiesto per far funzionare la consegna dei messaggi.';
-$a->strings['Error: the "openssl_pkey_new" function on this system is not able to generate encryption keys'] = 'Errore: la funzione \"openssl_pkey_new\" in questo sistema non è in grado di generare le chiavi di criptazione';
+$a->strings['This is required for message delivery to work.'] = 'Ció è richiesto per far funzionare la consegna dei messaggi.';
+$a->strings['Error: the "openssl_pkey_new" function on this system is not able to generate encryption keys'] = 'Errore: la funzione \"openssl_pkey_new\" in questo sistema non è in grado di generare le chiavi di criptazione';
$a->strings['If running under Windows, please see "http://www.php.net/manual/en/openssl.installation.php".'] = 'Se stai eseguendo friendika su windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\".';
$a->strings['Error: Apache webserver mod-rewrite module is required but not installed.'] = 'Errore: il modulo mod-rewrite di Apache &egreve; richiesto ma non installato';
-$a->strings['Error: libCURL PHP module required but not installed.'] = 'Errore: il modulo libCURL di PHP è richiesto ma non installato.';
-$a->strings['Error: GD graphics PHP module with JPEG support required but not installed.'] = 'Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato.';
-$a->strings['Error: openssl PHP module required but not installed.'] = 'Errore: il modulo openssl di PHP è richiesto ma non installato.';
-$a->strings['Error: mysqli PHP module required but not installed.'] = 'Errore: il modulo mysqli di PHP è richiesto ma non installato';
-$a->strings['The web installer needs to be able to create a file called ".htconfig.php" in the top folder of your web server and it is unable to do so.'] = 'L\'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella principale del tuo web server ma non è in grado di farlo.';
-$a->strings['This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can.'] = 'Ció è dovuto spesso a impostazioni di permessi, dato che il web server puo\' scrivere il file nella tua cartella, anche se tu puoi.';
+$a->strings['Error: libCURL PHP module required but not installed.'] = 'Errore: il modulo libCURL di PHP è richiesto ma non installato.';
+$a->strings['Error: GD graphics PHP module with JPEG support required but not installed.'] = 'Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato.';
+$a->strings['Error: openssl PHP module required but not installed.'] = 'Errore: il modulo openssl di PHP è richiesto ma non installato.';
+$a->strings['Error: mysqli PHP module required but not installed.'] = 'Errore: il modulo mysqli di PHP è richiesto ma non installato';
+$a->strings['The web installer needs to be able to create a file called ".htconfig.php" in the top folder of your web server and it is unable to do so.'] = 'L\'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella principale del tuo web server ma non è in grado di farlo.';
+$a->strings['This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can.'] = 'Ció è dovuto spesso a impostazioni di permessi, dato che il web server puo\' scrivere il file nella tua cartella, anche se tu puoi.';
$a->strings['Please check with your site documentation or support people to see if this situation can be corrected.'] = 'Controlla la documentazione del tuo sito o con il personale di suporto se la situazione puo\' essere corretta.';
$a->strings['If not, you may be required to perform a manual installation. Please see the file "INSTALL.txt" for instructions.'] = 'Altrimenti dovrai procedere con l\'installazione manuale. Guarda il file \"INSTALL.txt\" per istuzioni';
$a->strings['The database configuration file ".htconfig.php" could not be written. Please use the enclosed text to create a configuration file in your web server root.'] = 'Il file di configurazione del database \".htconfig.php\" non puo\' essere scritto. Usa il testo qui di seguito per creare un file di configurazione nella cartella principale del tuo sito.';
@@ -227,7 +227,7 @@ $a->strings['Message not available.'] = 'Messaggio non disponibile.';
$a->strings['Delete message'] = 'Cancella messaggio';
$a->strings['Send Reply'] = 'Invia risposta';
$a->strings['No such group'] = 'Nessun gruppo';
-$a->strings['Group is empty'] = 'Il gruppo è vuoto';
+$a->strings['Group is empty'] = 'Il gruppo è vuoto';
$a->strings['Group: '] = 'Gruppo: ';
$a->strings['Invalid request identifier.'] = 'Identificativo richiesta invalido.';
$a->strings['Discard'] = 'Scarta';
@@ -252,7 +252,7 @@ $a->strings['Profile Photos'] = 'Foto del profilo';
$a->strings['Album not found.'] = 'Album non trovato.';
$a->strings['Delete Album'] = 'Elimina album';
$a->strings['Delete Photo'] = 'Elimina foto';
-$a->strings['was tagged in a'] = 'è stato taggato in';
+$a->strings['was tagged in a'] = 'è stato taggato in';
$a->strings['by'] = 'da';
$a->strings['Image exceeds size limit of '] = 'L\'immagine supera il limite di dimensione di ';
$a->strings['Unable to process image.'] = 'Impossibile elaborare l\'immagine.';
@@ -277,41 +277,41 @@ $a->strings['Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #cam
$a->strings['Recent Photos'] = 'Foto recenti';
$a->strings['Upload New Photos'] = 'Carica nuova foto';
$a->strings['View Album'] = 'Vedi album';
-$a->strings['Image uploaded but image cropping failed.'] = 'Immagine caricata ma il ritaglio è fallito.';
+$a->strings['Image uploaded but image cropping failed.'] = 'Immagine caricata ma il ritaglio è fallito.';
$a->strings['Image size reduction [175] failed.'] = 'Riduzione dimensioni immagine [175] fallito.';
$a->strings['Image size reduction [80] failed.'] = 'Riduzione dimensioni immagine [80] fallito.';
$a->strings['Image size reduction [48] failed.'] = 'Riduzione dimensioni immagine [48] fallito.';
$a->strings['Unable to process image'] = 'Impossibile elaborare l\'immagine';
$a->strings['Image uploaded successfully.'] = 'Immagine caricata con successo.';
$a->strings['Image size reduction [640] failed.'] = 'Riduzione dimensioni immagine [640] fallito.';
-$a->strings['Profile Name is required.'] = 'Il Nome Profilo è richiesto .';
+$a->strings['Profile Name is required.'] = 'Il Nome Profilo è richiesto .';
$a->strings['Profile updated.'] = 'Profilo aggiornato.';
$a->strings['Profile deleted.'] = 'Profilo elminato.';
$a->strings['Profile-'] = 'Profilo-';
$a->strings['New profile created.'] = 'Nuovo profilo creato.';
$a->strings['Profile unavailable to clone.'] = 'Impossibile duplicare il plrofilo.';
-$a->strings['This is your public profile.
It may be visible to anybody using the internet.'] = 'Questo è il tuo profilo publico.
Potrebbe essere visto da chiunque attraverso internet.';
+$a->strings['This is your public profile.
It may be visible to anybody using the internet.'] = 'Questo è il tuo profilo publico.
Potrebbe essere visto da chiunque attraverso internet.';
$a->strings['Age: '] = 'Età: ';
$a->strings['Please enter the required information.'] = 'Inserisci le informazioni richieste.';
$a->strings['Please use a shorter name.'] = 'Usa un nome più corto.';
-$a->strings['Name too short.'] = 'Il Nome è troppo corto.';
+$a->strings['Name too short.'] = 'Il Nome è troppo corto.';
$a->strings['That doesn\'t appear to be your full (First Last) name.'] = 'Questo non sembra essere il tuo nome completo (Nome Cognome).';
-$a->strings['Your email domain is not among those allowed on this site.'] = 'Il dominio della tua email non è tra quelli autorizzati su questo sito.';
+$a->strings['Your email domain is not among those allowed on this site.'] = 'Il dominio della tua email non è tra quelli autorizzati su questo sito.';
$a->strings['Your "nickname" can only contain "a-z", "0-9", "-", and "_", and must also begin with a letter.'] = 'Il tuo \"soprannome\" puo\' contenere solo \"a-z\", \"0-9\", \"-\", e \"_\", e deve cominciare con una lettera.';
$a->strings['Nickname is already registered. Please choose another.'] = 'Soprannome già registrato. Scegline un\'altro.';
$a->strings['SERIOUS ERROR: Generation of security keys failed.'] = 'ERRORE GRAVE: Generazione delle chiavi di sicurezza fallito.';
-$a->strings['An error occurred during registration. Please try again.'] = 'Si è verificato un errore durante la registrazione. Prova ancora.';
-$a->strings['An error occurred creating your default profile. Please try again.'] = 'Si è verificato un errore creando il tuo profilo. Prova ancora.';
+$a->strings['An error occurred during registration. Please try again.'] = 'Si è verificato un errore durante la registrazione. Prova ancora.';
+$a->strings['An error occurred creating your default profile. Please try again.'] = 'Si è verificato un errore creando il tuo profilo. Prova ancora.';
$a->strings['Registration details for '] = 'Dettagli registrazione per ';
$a->strings['Registration successful. Please check your email for further instructions.'] = 'Registrazione completata. Controlla la tua mail per ulteriori informazioni.';
-$a->strings['Failed to send email message. Here is the message that failed.'] = 'Errore inviando il messaggio email. Questo è il messaggio non inviato.';
+$a->strings['Failed to send email message. Here is the message that failed.'] = 'Errore inviando il messaggio email. Questo è il messaggio non inviato.';
$a->strings['Your registration can not be processed.'] = 'La tua registrazione non puo\' essere elaborata.';
$a->strings['Registration request at '] = 'Registrazione richiesta il ';
-$a->strings['Your registration is pending approval by the site owner.'] = 'La tua richiesta è in attesa di approvazione da parte del prorietario del sito.';
+$a->strings['Your registration is pending approval by the site owner.'] = 'La tua richiesta è in attesa di approvazione da parte del prorietario del sito.';
$a->strings['You may (optionally) fill in this form via OpenID by supplying your OpenID and clicking \'Register\'.'] = 'Puoi (opzionalmento) riempire questa maschera via OpenID inserendo il tuo OpenID e cliccando \'Registra\'.';
$a->strings['If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items.'] = 'Se non hai familiarità con OpenID, lascia quel campo in bianco e riempi il resto della maschera.';
$a->strings['Your OpenID (optional): '] = 'Il tuo OpenID (opzionale): ';
-$a->strings['Shared content is covered by the Creative Commons Attribution 3.0 license.'] = 'Il contenuto in comune è coperto dalla licenza Creative Commons Attribuzione 3.0.';
+$a->strings['Shared content is covered by the Creative Commons Attribution 3.0 license.'] = 'Il contenuto in comune è coperto dalla licenza Creative Commons Attribuzione 3.0.';
$a->strings['Registration'] = 'Registrazione';
$a->strings['Your Full Name (e.g. Joe Smith): '] = 'Il tuo Nome Completo (p.e. Mario Rossi): ';
$a->strings['Your Email Address: '] = 'Il tuo Indirizzo Email: ';
@@ -1029,4 +1029,6 @@ $a->strings[' has received too many connection requests today.'] = 'ha ricevuto
$a->strings['Profile Image'] = 'Immagine del Profilo';
$a->strings['Invalid OpenID url'] = 'Url OpenID non valido';
$a->strings['Cannot use that email.'] = 'Questa email non si puo\' usare.';
+$a->strings['Normal View'] = 'Vista normale';
+$a->strings['New Item View'] = 'Vista Nuovi Elementi';
?>