-->

PHP

How to install JSON on Linux server

by on Nov.04, 2011, under PHP

If you would use JSON to get data from your Linux Server, but you encounter this error:

Error: PHP Fatal error:
Call to undefined function json_encode()

The problem is that when PHP 5.2 version supports natively json functions ( json_encode() and json_decode() ), the previous version PHP 5.0 doesn’t support JSON.

Solution 1: Install JSON on PHP 5.0

# yum install php-pear gcc
# pecl install json
# cd /etc/php.d
# echo "extension=json.so" >> json.ini
# /etc/init.d/httpd restart

Solution 2: Upgrade your PHP version to 5.2

Leave a Comment :, more...

Come caricare file RAR su WordPress

by on Jan.03, 2010, under PHP, Wordpress

Da quando sto utilizzando WordPress in modo self-hosted, quindi su un mio dominio , ho riscontrato una limitazione relativa all’ impossibilità di effettuare l’ upload sul mio blog di alcuni tipi di file . Dopo un pò di ricerche sono arrivato alla soluzione cercata.

Il modo per riuscire ad avere l’autorizzazione ad effettuare l’upload di un certo tipo di file sul blog , dipende dalla funzione get_allowed_mime_types() che si trova nella cartella in wp-includes del file functions.php. La funzione presenta un array in cui sono pesenti tutti i tipi di file che è possibile caricare sul blog con la relativa tipologia MIME.

Di default WordPress non permette ad esempio, l’upload di archivi RAR, presentando l’errore: “  Il tipo di file non rientra nei limiti imposti dai criteri di sicurezza. Provane un altro. ” . Per poter effettuare questa operazione basta modificare tale funzione aggiungendo questa entry all’ array, circa alla riga numero 2319 :

'rar' => 'application/octet-stream',

Dopo avere effettuato il salvataggio del file e l’ upload sul server ecco il risultato:

Infine per i meno smaliziati ecco il file modificato functions.php che permette anche l’ upload di file .php sul blog.

3 Comments :, more...

Inserire il proprio stato Twitter in WordPress

by on Sep.28, 2009, under PHP, Wordpress

Una funzionalità che va molto di moda nei siti attuali, è la visualzzazione dello stato del proprio account Twitter. Esistono molti modi per realizzarlo, molti dei quali fanno uso di un numero non indifferente di funzioni in php, lo script che vi pesento invece, si basa su un idea molto semplice e di altrettanto semplice realizzazione: estrare l’informazione del proprio stato da un feed rss pubblicato direttamente di Twitter.
Twitter infatti permette l’ estrazione della stato di un certo utente tramite l’ url:

http://search.twitter.com/search.atom?q=from:" . $username . "&rpp=1

dove la variabile $username chiaramente contiene il nome dell’ utente twitter di cui si vuole visualizzare l’ ultimo tweet pubblicato.
Di seguito vi presento il codice che serve al nostro scopo:

include_once(ABSPATH.WPINC.'/rss.php');
$username = "superbre"; // Your twitter username.
$tweet = fetch_rss("http://search.twitter.com/search.atom?q=from:" . $username . "&rpp=1");
$res2 =  $tweet->items[0]['atom_content'];

Osservando il codice, si osserva la chiamata alla funzione fetch_rss(). Si tratta del parser RSS utilizzato da WordPress per default. Unica pecca di questo metodo è che tale parser effettua il controllo dell’ rss ogni ora, quindi se avete necessità che l’aggiornamento avvenga più di recente, oppure se siete soliti aggiornarlo molte volte in un ‘ ora, purtoppo questo semplicissimo metodo non fa per voi.
E’ comunque un difetto irrilevante se paragonato all’ estrema semplicità della soluzione. Inutile dire che è anche il metodo che ho utilizzato io per visualizzare il mio stato di twitter nel footer di questo tema.

1 Comment :, more...

Inviare email all’ interno di una pagina WordPress

by on Sep.26, 2009, under PHP, Wordpress

Una delle pagine che non può mancare in un qualunque sito che si rispetti è sicuramente la pagina dei contatti. Si tratta di una pagina in cui è presente un form di inoltro di una mail all’ amministratore del sito con l’intento di mandargli un messaggio o una segnalazione di qualunque genere.

A differenza di altri linguaggi di programmazione in cui l’ invio di mail comporta il dover scrivere diverse righe di codice , in PHP esiste una funzione ad hoc per per raggiungere lo scopo con il minimo sforzo : mail() .

Lo scenario di riferimento si compone di due pagine php: la prima per la raccolta dei dati tramite il form di invio e la seconda che riceva tali dati ed effettui il vero e proprio inoltro .

Lo scopo di questo post è quello di integrare una funzionalità del genere all’ interno di un sito basato su piattaforma WordPress, anche se di fatto la soluzione è valida anche per un normale sito in PHP.

Passiamo quindi a creare la pagina contact_page.php , per la raccolta dei dati. Al suo interno inseriamo :

<?php

/*
Template Name: Template Contact
*/
?>

<form  method="post" id="mail_form" action="<?php bloginfo('template_url'); ?>/mailSender.php" >
<div>Nome:</div><div><input style="margin:3px;" type="text" name="name" size="80"/> </div>
<div>Email:</div><div><input style="margin:3px;" type="text" name="email" size="80"/> </div>
<div>Argomento:</div><div><input style="margin:3px;" type="text" name="regarding" size="80" /> </div>
<div>Messaggio</div><div style="font-family:'Lucida Sans Unicode', 'Lucida Grande', sans-serif">
<textarea cols="60" rows="10" style="margin:3px;" type="text" name="message" ></textarea>
</div>
<div><input type="submit" value="Invia" /></div>
</form>

La parte iniziale in cui appare Template Name , è necessaria per comunicare a WordPress che si tratta di una pagina di tipo Template, che viene poi applicato alla pagina WordPress che creeremo succcessivamente. Come si può notare l’attributo “action” del tag FORM ha come valore l’ indirizzo della pagina mailSender.php che è proprio la seconda pagina che serve al nostro scopo.
mailSender.php appare in questo modo:

<?

$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$regarding=$_REQUEST['regarding'];
$message=$_REQUEST['message'];
echo $name . $email . $regarding . $message ;
$oggetto= "Segnalazione dal tuo sito";
$messaggio="L'utente ".$name."(".$email.") ti ha inoltrato questo messaggio:\n ".$message . "\n\n Riferendosi a:\n ".$regarding;
if ( mail("IL TUO INDIRIZZO MAIL", $oggetto, $messaggio))
header( 'Location: http://www.gurucoder.org' );
else echo 'Errore in fase di inoltro della mail... :(';

?>

Ipotiziamo di voler creare una nuova pagina “contact” sul sito WordPress applicando il template appena creato. Quindi basta entrare in amministrazione e scegliere Pagine. A  questo punto cliccando su “Aggiungi nuova” , si aprirà un form in cui inserire il nome della pagina ( contact per l’appunto). Sulla destra poi si può notare un menù a tendina relativo a “Template di Pagina”, basterà selezionare il template: Template Contact precedentemente creato!

Bene, a questo punto accedendo alla pagina wordpress “contact” vi apparirà il form con funzionalità di inoltro mail desiderato! Eccovi il link ai due sorgenti impacchettati in un archivio.

Scompattate il file ed inserite i sorgenti nella cartella del vostro tema wordpress.

2 Comments :, more...

Creare il primo Widget per WordPress (Parte 2)

by on Aug.28, 2009, under PHP, Wordpress

wordpressWidgetCome continuazione del precedente post passiamo ad analizzare le restanti parti del nostro widget:

Passando alla funzione di aggiornamento, si tratta di una funziona richiamata dal framework proprio per aggiornare i valori dei parametri relativi al widget ogni volta che vengono modificati all’interno del form lato dashboard.

function update($new_instance,$old_instance){
   $instance = $old_instance ;
   $instance['title'] = strip_tags($new_instance['title']);
   $instance['nome'] =  strip_tags($new_instance['nome']);
   $instance['cognome'] = strip_tags($new_instance['cognome']);
   return $instance ;
}

Infine c’ è la funzione form(), utilizzata dalla dashboard per dare la possibilità all’utente di modificre le caratteristiche del widget:

function form($instance){            

      $instance = wp_parse_args( (array)$instance ,
                              array( 'title' => 'Primo Widget' ,
                                     'nome' => 'nome di default' ,
                                     'cognome' => 'cognome di default' ,
                              )
                           );
      ?>
     <p>
     <label for="<? echo $this->get_field_id('title'); ?>">
                                       <? _e('Title'); ?> </label>
     <input id= "<? echo $this->get_field_id('title'); ?>"
                 name="<? echo $this->get_field_name('title'); ?>"
                 value="<? echo $instance['title']; ?>"/></p>
     <p>
     <p>
     <label for="<? echo $this->get_field_id('nome'); ?>" >
                                       <? _e('Nome:'); ?> </label>
     <input id= "<? echo $this->get_field_id('nome'); ?>"
                 name="<? echo $this->get_field_name('nome'); ?>"
                 value="<? echo $instance['nome']; ?>"/></p>
     <p>
     <p>
     <label for="<? echo $this->get_field_id('cognome'); ?>" >
                                       <? _e('Cognome:'); ?> </label>
     <input id= "<? echo $this->get_field_id('cognome'); ?>"
                 name="<? echo $this->get_field_name('cognome'); ?>"
                 value="<? echo $instance['cognome']; ?>"/></p>

<? } }// end form

Come si può notare dal codice, inizialmente  la variabile $instance viene caricata con i valori di dafault per poi essere eventualmente aggiornata tamite il form sottostante.

L’ultimo passo per terminare il nostro Widget, è l’ inserimento della funzione di caricamento ed il successivo lancio del widget:

function primo_widget_load(){
  register_widget('PrimoWidget');
  }
add_action('widgets_init','primo_widget_load');

In particolare il lancio del Widget avviene tramite la chiamata della funzione add_action().

Installazione del Widget

Prima di tutti inserite tutti i pezzi di codice in unico file e chiamatelo primo-widget.php. Per installare ed attivare il widget è necessario prima di tutto caricarlo sul vostro spazio web all’interno della cartella plugin di wordpress . A questo punto, accedete all dashboard e andate alla voce Plugin->Installati e trovate il vostro widget che sarà denominato “Primo Widget”. A questo punto cliccate si “attiva” ed il gioco è fatto. Per inserire tale widget in una sidebar per poterlo visualizzare , basta cliccare sulla voce Widget della barra laterale, selezionare il nostro nuovo widget e trascinarlo all’interno della barra laterale desiderata.

Spero che sia tutto chiaro, per qualsiasi tipo di informazione o dubbio non esitate a lasciare Commenti!

1 Comment :, more...

Cerchi qualcosa?

Usa questo form per cercare argomenti in questo blog:

Non riesci a trovare quello che cerchi? Lascia un commento in un post oppure contattami per risolvere il problema!

Puoi trovarmi su Twitter come @superbre