From 2ea85fd67e4fe61b56658eb7c3c13495438c60ba Mon Sep 17 00:00:00 2001 From: fabrixxm Date: Fri, 7 Jan 2011 16:36:09 +0100 Subject: [PATCH 1/6] show 'login' tab selected on login page --- include/nav.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/include/nav.php b/include/nav.php index 96acf826d..94a71d227 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"; From 28ebbe38d6f987c91b508d384e24ba15c2dad06b Mon Sep 17 00:00:00 2001 From: fabrixxm Date: Thu, 20 Jan 2011 20:19:20 +0100 Subject: [PATCH 2/6] Netwok page redirect to login page if not local_user --- mod/network.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mod/network.php b/mod/network.php index aa42e2f52..10683aeda 100644 --- a/mod/network.php +++ b/mod/network.php @@ -2,6 +2,10 @@ function network_init(&$a) { + if(! local_user()) + goaway( $a->get_baseurl() . "/login" ); + + require_once('include/group.php'); if(! x($a->page,'aside')) $a->page['aside'] = ''; @@ -22,8 +26,7 @@ function network_init(&$a) { function network_content(&$a, $update = 0) { if(! local_user()) - return ''; - + return ""; $o = ''; require_once("include/bbcode.php"); From 707b4eed6f6ca2bd548c88d9ab49639e02d51e92 Mon Sep 17 00:00:00 2001 From: fabrixxm Date: Thu, 20 Jan 2011 20:19:56 +0100 Subject: [PATCH 3/6] Fixs to IT languages --- view/it/strings.php | 64 +++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/view/it/strings.php b/view/it/strings.php index 183b9da9f..eb76a8fde 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'; ?> From 623ae24109677859c787e4bb66a9dedd6ba58c38 Mon Sep 17 00:00:00 2001 From: Friendika Date: Thu, 20 Jan 2011 14:25:44 -0800 Subject: [PATCH 4/6] per fabrix, except do the login "on page" --- mod/network.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mod/network.php b/mod/network.php index 10683aeda..11d1c5291 100644 --- a/mod/network.php +++ b/mod/network.php @@ -2,8 +2,9 @@ function network_init(&$a) { - if(! local_user()) - goaway( $a->get_baseurl() . "/login" ); + if(! local_user()) { + return; + } require_once('include/group.php'); @@ -26,7 +27,8 @@ function network_init(&$a) { function network_content(&$a, $update = 0) { if(! local_user()) - return ""; + return login(false); + $o = ''; require_once("include/bbcode.php"); From aeb585fee1c634f75128a60cdb10ef8c8451e69a Mon Sep 17 00:00:00 2001 From: Friendika Date: Thu, 20 Jan 2011 15:30:45 -0800 Subject: [PATCH 5/6] profile edit hooks --- addon/README | 8 ++++++++ mod/network.php | 1 + mod/profiles.php | 5 +++++ 3 files changed, 14 insertions(+) diff --git a/addon/README b/addon/README index 33b84e10d..2e4ed6029 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/mod/network.php b/mod/network.php index 11d1c5291..096c8a79f 100644 --- a/mod/network.php +++ b/mod/network.php @@ -3,6 +3,7 @@ function network_init(&$a) { if(! local_user()) { + notice( t('Permission denied.') . EOL); return; } diff --git a/mod/profiles.php b/mod/profiles.php index 54c57f73e..0bb476549 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 { From c574e4c5879312f57db43436044285de56026f0b Mon Sep 17 00:00:00 2001 From: Friendika Date: Thu, 20 Jan 2011 21:02:02 -0800 Subject: [PATCH 6/6] repair double-encoded double quotes --- include/items.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/items.php b/include/items.php index 1fdbc6fc2..f1169aeb4 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('&amp;','&gt;','&lt;'), - array('&' ,'>' ,'<'), + array('&amp;', '&gt;', '&lt;', '&quot;'), + array('&' , '>' , '<', '"'), $arr['body'] );