Rain PHP

E’ una raccolta di script PHP utili per migliorare i tuoi
software web. Gli script sono rilasciati sotto licenza GNU GPL.

Fanno parte del pacchetto:

RainTPL, template engine semplice e veloce.

MySql, gestisce le query mysql, e ne permette il profiling.

RainCP, crea e valida i form personalizzabili grazie a temi e plugins.

Error, semplifica il debug e segnala gli errori al webmaster per email.

PhpCompressor, comprime il contenuto di una directory in un file install.php.

Documentazione

Se la documentazione del RainCP non risponde alle vostra domande non esitate a scrivermi a info@rainelemental.net

Documentazione per creare i form

Conoscenze di base
Il RainCP è uno script php ideato per creare form con validazione. E' multilingua, personalizzabile graficamente e grazie ai plugins è possibile creare i propri campi input. Nella versione base sono gia installati i plugins TinyMCE, un editor di testo wysiwyg, e il calendario di jquery (è necessario procurarsi jquery per utilizzarlo).

Requisiti
E' compatibile sia con PHP 4 che con PHP 5.

Installazione
Scarica il raincp dalla sezione di download, ed estrailo nella directory include del tuo progetto come segue:

  • index.php
  • includes
    • rain.cp.class.php
    • raincp
      • langs
      • plugins
      • themes

Includi il file rain.cp.class.php nel tuo progetto e setta la costante INCLUDES_DIR che si trova in rain.cp.class.php con la directory includes in cui andrai ad installare lo script.

Creare un form
Segue un esempio molto semplice di codice php per creare un form:

    include "includes/rain.cp.class.php";
    $cp = new RainCP( "nome form", "news.php", "POST" );
    $cp->setTable( "News" );
    $cp->additem"text", "titolo", "Titolo""Inserisci il titolo della news"null"req" );
    
$cp->additem"textarea""news""News""Inserisci il testo della news"null );
    $cp->addSubmit();
    $cp->draw( );
?>



RainCP
null RainCP( string form_name, string action, string $method = "GET", string $target = null )

Inizializza il form.


setTable
null setTable( string form_name, string action, string method = "GET", string target = null )

Setta la tabella del form.


addItem

null addItem( string input, string name, string fieldName = null, string fieldDescription = null, string value = null, string validation = null, mixed parameters = null, mixed layout = 'layout' )

Aggiunge un campo input al form o un plugin. Segue la lista degli input:
  • text, password, campo di testo e campo password (nascosto con gli asterischi)
  • textarea, campo di area di testo.
  • checkbox, campo box crocetta
  • select, campo di selezione a tendina
    • options=array(name=>value,...) questo parametro è necessario perchè definisce i valori del campo select, es: array( 0=>'pippo',1=>topolino,...)
  • radio, campo di selezione
    • options=array(name=>value,...) questo parametro è necessario perchè definisce i valori del campo radio, es: array( 0=>'pippo',1=>topolino,...)
  • yes_no, campo radio con scelta si o no
  • file, campo per l'upload dei file
    • max_file_size=byte definisce la dimensione massima del file che può essere uploadato

Plugins, i plugins sono funzioni esterne che vengono richiamate dalla funzione addItem come se fossero metodi interni. Seguono i plugins installati di default:

  • word (textarea wysiwyg), è un campo textarea con degli strumenti tipo word per semplificare la scrittura. ( TinyMCE )
  • date, campo per inserimento della data da popup calendario ( jquery )

 

addHidden
null addHidden( mixed $hidden, string $value )

Aggiunge uno o più campi hidden.


Draw
null draw( boolean $toString = false )

Stampa il form.


Validation
Il RainCP permette di validare i dati inseriti dall'utente nel momento in cui questo preme sul tasto Invia. Per aggiungere la validazione ad un campo basta settare il parametro $validation del metodo addInput, come segue:


    $cp 
= new RainCP"test", "test.php" );
    $cp->setTable"nome tabella);
    //il parametro validation in questo caso verifica che il campo è obbligatorio, lungo almeno 10 caratteri ed alfanumerico
    $cp->additem"text""nome""Nome""Inserisci il tuo nome", $validation = "req,minlen=10,alphanum" );
    
$cp->draw();
    
?>

Le opzioni di validazione di un campo sono le seguenti:
  • req campo necessario
  • email il campo deve essere una email valida
  • maxlen=n deve avere al massimo n caratteri
  • minlen=n deve avere minimo n caratteri
  • greater=n deve essere numero maggiore di n
  • less=n deve essere un numero minori di n
  • alphanum sono ammessi solo numeri e lettere
  • numeric sono ammessi solo numeri
  • char sono ammesse solo lettere
  • regexp=espressione il campo deve rispettare l'espressione regolare espressione
  • nregexp=espressione il campo non deve rispettare l'espressione regolare espressione
  • allow_ext=jpg|jpeg|gif  da usare nel campo file, non sono ammessi file con estensione diversa dalle estensioni elencate (es. allow_ext=avi|mov)
  • deny_ext=php|php4 da usare nel campo file, non sono ammessi file con una delle estensione elencate ( es. deny_ext=doc)

Documentazione per sviluppatori

Creare plugins
I plugins sono script php esterni che permettono di estendere i campi input del Rain CP. Segue un esempio:
creo un file text_confirm.php che vado ad inserire nella directory raincp/plugins/. Scrivo il seguente codice nel file:



    //la funzione plugin si chiama come il file con in testa la particella "_cp"

    function cp_text_confirm( $name, $value, $parameters, $cp ){
        return $cp->text( $name ) . " Testo di conferma" . $cp->text"conferma_" . $name );
    }
?>



La funzione restituisce un html che sarà aggiunto al form. I parametri obbligatori dei plugins sono $name, $value, $parameters e $cp, quest'ultimo è l'oggetto raincp, $parameters serve a passare tutti i parametri per configurare questo plugin. Se creiamo un campo input che necessita la validazione possiamo creare una funzione di validazione, ed inserirla in addOnValidate( "codice_javascript" ), che esegue il codice_javascript quando clicchiamo su Invia form.