Get Smarty

Donate

Donate Bitcoin Bitcoin
Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Largest classified with thousands of ads at Shoppok

Buy cheap eyeglasses from Cheapglasses123.com and save up to 80%.

Buy prescription glasses from www.australiaglasses.com and save.

Cheap Glasses Now On Sale at GlassesPeople.com. Starts At $7.95.

Where to buy discount wedding dresses and cheap smart dresses free shipping - Weddingdresstrend.com

Find Wedding Dresses Online at Canada from Ca-dresses.com

Find your local domestic cleaner

Brautkleider auf Topwedding.de

Find free files to download on allwhatyouwant.net

Looking For Affordable Wedding Dresses 2015 at Best Prices On TDBridal.com

Shop high quality cheap prom dresses on Dresswe.co.uk

Advertisement

Risorse

I plugin risorsa vanno considerati un modo generico di fornire sorgenti di template o script PHP a Smarty. Alcuni esempi di risorse: database, directory LDAP, memorie condivisse, socket, e così via.

Per ogni tipo di risorsa deve essere registrato un totale di 4 funzioni. Ogni funzione riceverà la risorsa richiesta come primo parametro e l'oggetto Smarty come ultimo parametro. Il resto dei parametri dipende dalla funzione.

bool smarty_resource_name_source( $rsrc_name,  
  &$source,  
  &$smarty);  
string $rsrc_name;
string &$source;
object &$smarty;
 
bool smarty_resource_name_timestamp( $rsrc_name,  
  &$timestamp,  
  &$smarty);  
string $rsrc_name;
int &$timestamp;
object &$smarty;
 
bool smarty_resource_name_secure( $rsrc_name,  
  &$smarty);  
string $rsrc_name;
object &$smarty;
 
bool smarty_resource_name_trusted( $rsrc_name,  
  &$smarty);  
string $rsrc_name;
object &$smarty;
 

Lo scopo della prima funzione è di recuperare la risorsa. Il suo secondo parametro è una variabile passata per riferimento nella quale memorizzare il risultato. Ci si aspetta che la funzione restituisca true se è riuscita a recuperare la risorsa e false nel caso opposto.

Lo scopo della seconda funzione è di indicare il momento dell'ultima modifica effettuata sulla risorsa richiesta (nel formato timestamp UNIX). Il secondo parametro è una variabile passata per riferimento nella quale memorizzare il timestamp. Ci si aspetta che la funzione restituisca true se è riuscita a determinare il timestamp, e false nel caso opposto.

La terza funzione deve restituire true o false, a seconda che la risorsa richiesta sia sicura o no. Questa funzione è usata solo per risorse di template ma deve ancora essere definita.

La quarta funzione deve restituire true o false, a seconda che la risorsa richiesta sia considerata affidabile o no. Questa funzione è usata solo per script PHP richiesti con i tag include_php o insert con l'attributo src. Comunque, deve ancora essere definita per le risorse di template.

Vedere anche register_resource(), unregister_resource().

Example 16.10. plugin risorsa


<?php
/*
 * Smarty plugin
 * ------------------------------------------------------------- 
 * File:     resource.db.php
 * Type:     resource
 * Name:     db
 * Purpose:  Fetches templates from a database
 * -------------------------------------------------------------
 */
function smarty_resource_db_source($tpl_name, &$tpl_source, &$smarty)
{
    // fate qui le chiamate al db per ottenere il template
    // e popolare $tpl_source
    $sql = new SQL;
    $sql->query("select tpl_source
                   from my_table
                  where tpl_name='$tpl_name'");
    if ($sql->num_rows) {
        $tpl_source = $sql->record['tpl_source'];
        return true;
    } else {
        return false;
    }
}

function smarty_resource_db_timestamp($tpl_name, &$tpl_timestamp, &$smarty)
{
    // fate qui la chiamata al db per popolare $tpl_timestamp.
    $sql = new SQL;
    $sql->query("select tpl_timestamp
                   from my_table
                  where tpl_name='$tpl_name'");
    if ($sql->num_rows) {
        $tpl_timestamp = $sql->record['tpl_timestamp'];
        return true;
    } else {
        return false;
    }
}

function smarty_resource_db_secure($tpl_name, &$smarty)
{
    // diciamo che tutti i template sono sicuri
    return true;
}

function smarty_resource_db_trusted($tpl_name, &$smarty)
{
    // non si usa per i template
}
?>

     

Comments
No comments for this page.
Post a Comment
All comments are moderated. Support questions are ignored, use the forums instead.
Author:
Email: (not shown)
What is 18 plus 7? (Are you human?)

Advertisement

Sponsors [info]

UK Web Hosting @webhost.uk.net
Best Web Hosting @rshosting.com
Web Hosting UK @webhostinguk.com
Unlimited Web Hosting @infrenion.com
App Entwicklung @morphodo.com
First Click Internet Marketing @fcinternetmarketing.com
Credit Card Processing Company