cvs: smarty /docs/fr/programmers advanced-features.xml api-functions.xml api-variables.xml caching.xml plugins.xml smarty-constants.xml /docs/fr/programmers/advanced-features advanced-features-objects.xml advanced-features-outputfilters.xml advanced-features-postfilters.xml advanced-features-prefilters.xml section-template-cache-handler-func.xml template-resources.xml
"Yannick Torres" <[email protected]>
| Newsgroups | gmane.comp.php.cvs.smarty |
|---|---|
| Message-ID | <cvsyannick1104073390@cvsserver> |
yannick Sun Dec 26 10:03:10 2004 EDT
Modified files:
/smarty/docs/fr/programmers/advanced-features
advanced-features-objects.xml
advanced-features-outputfilters.xml
advanced-features-postfilters.xml
advanced-features-prefilters.xml
section-template-cache-handler-func.xml
template-resources.xml
/smarty/docs/fr/programmers advanced-features.xml api-functions.xml
api-variables.xml caching.xml
plugins.xml smarty-constants.xml
Log:
sync with EN & typo
--
Smarty CVS Mailing List (http://cvs.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
yannick-20041226100310.txt
(text/plain, 41.1 KB)
http://cvs.php.net/diff.php/smarty/docs/fr/programmers/advanced-features/advanced-features-objects.xml?r1=1.2&r2=1.3&ty=u
Index: smarty/docs/fr/programmers/advanced-features/advanced-features-objects.xml
diff -u smarty/docs/fr/programmers/advanced-features/advanced-features-objects.xml:1.2 smarty/docs/fr/programmers/advanced-features/advanced-features-objects.xml:1.3
--- smarty/docs/fr/programmers/advanced-features/advanced-features-objects.xml:1.2 Sun May 23 11:50:38 2004
+++ smarty/docs/fr/programmers/advanced-features/advanced-features-objects.xml Sun Dec 26 10:03:07 2004
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.2 $ -->
-<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
+<!-- $Revision: 1.3 $ -->
+<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
<sect1 id="advanced.features.objects">
<title>Objets</title>
<para>
- Smarty donne l'accès aux objets PHP a travers les templates. Il y
+ Smarty donne l'accès aux objets PHP à travers les templates. Il y
a 2 moyens d'y avoir accès. Le premier consiste a allouer les objets
au template puis de les utiliser avec une syntaxe similaire a celles
des fonctions personnalisées. Le deuxième moyen consiste a allouer
@@ -28,23 +28,38 @@
d'allocation.
</para>
<para>
- Par défaut, les paramètres passés aux objets depuis le templates le sont de la
- même faton que les fonctions utilisateurs les récupèrent.
- Le premier paramètre correspond a un tableau associatif, le second a l'objet
- Smarty. Si vous souhaitez que les paramètres soient passées un a un, comme
+ Par défaut, les paramètres passés aux objets depuis le template le sont de la
+ même façon que les fonctions utilisateurs les récupèrent.
+ Le premier paramètre correspond à un tableau associatif, le second à l'objet
+ Smarty. Si vous souhaitez que les paramètres soient passés un à un, comme
dans un appel traditionnel, définissez registration, quatrième paramètre optionnel,
- a false.
+ à false.
+ </para>
+ <para>
+ Le cinquième paramètre optionnel n'a d'effet que si le paramètre
+ <parameter>format</parameter> vaut <literal>true</literal> et il contient
+ une liste de méthodes qui doivent être traitées comme des blocks. Celà signifie
+ que ces méthodes ont un tag fermant dans le template
+ (<literal>{foobar->meth2}...{/foobar->meth2}</literal>) et que les paramètres
+ de ces méthodes fonctionnent de la même façon que les paramètres des blocks
+ de fonctions des plugins : Ils contiennent 4 paramètres
+ <parameter>$params</parameter>,
+ <parameter>$content</parameter>,
+ <parameter>&$smarty</parameter> et
+ <parameter>&$repeat</parameter> et ils fonctionnent de la même
+ façon que les blocks de fonctions des plugins.
</para>
<example>
- <title>utilisation d'un objet alloué ou assigné</title>
-<programlisting>
-<?php
+ <title>Utilisation d'un objet alloué ou assigné</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
// la classe
class My_Object() {
- function meth1($params, &$smarty_obj) {
- return "this is my meth1";
- }
+ function meth1($params, &$smarty_obj) {
+ return "this is my meth1";
+ }
}
$myobj = new My_Object;
@@ -59,10 +74,16 @@
$smarty->assign_by_ref("myobj", $myobj);
$smarty->display("index.tpl");
-?>
-
-TEMPLATE:
+?>
+?>
+]]>
+ </programlisting>
+ <para>
+ Et voici comment accéder à vos objets dans index.tpl:
+ </para>
+ <programlisting>
+<![CDATA[
{* accès a notre objet enregistré *}
{foobar->meth1 p1="foo" p2=$bar}
@@ -71,7 +92,9 @@
the output was {$output)
{* access our assigned object *}
-{$myobj->meth1("foo",$bar)}</programlisting>
+{$myobj->meth1("foo",$bar)}
+]]>
+ </programlisting>
</example>
</sect1>
<!-- Keep this comment at the end of the file
http://cvs.php.net/diff.php/smarty/docs/fr/programmers/advanced-features/advanced-features-outputfilters.xml?r1=1.3&r2=1.4&ty=u
Index: smarty/docs/fr/programmers/advanced-features/advanced-features-outputfilters.xml
diff -u smarty/docs/fr/programmers/advanced-features/advanced-features-outputfilters.xml:1.3 smarty/docs/fr/programmers/advanced-features/advanced-features-outputfilters.xml:1.4
--- smarty/docs/fr/programmers/advanced-features/advanced-features-outputfilters.xml:1.3 Sun May 23 12:32:19 2004
+++ smarty/docs/fr/programmers/advanced-features/advanced-features-outputfilters.xml Sun Dec 26 10:03:07 2004
@@ -1,31 +1,33 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.3 $ -->
-<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
+<!-- $Revision: 1.4 $ -->
+<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
<sect1 id="advanced.features.outputfilters">
<title>Filtres de sortie</title>
<para>
Quand le template est appelé via les fonctions display() ou fetch(),
- sa sortie est envoyée a travers un ou plusieurs filtres de sorties.
- Ils diffèrent des filtres de post-compilation dans le sens ou ils agissent
+ sa sortie est envoyée à travers un ou plusieurs filtres de sorties.
+ Ils diffèrent des filtres de post-compilation dans le sens où ils agissent
sur la sortie des templates, une fois exécutés, et non sur les sources
des templates.
</para>
+
<para>
Les filtres de sortie peuvent être soit
<link linkend="api.register.outputfilter">déclarés</link> soit
- chargés depuis les répertoires des plugins en utilisant la fonction
- <link linkend="api.load.filter">load_filter()</link>
- ou en réglant la variable
- <link linkend="variable.autoload.filters">$autoload_filters</link>.
- Smarty passera la sortie du template en premier argument et attendra
- de la fonction qu'elle retourne le résultat de l'exécution.
- </para>
- <example>
- <title>utilisation d'un filtre de sortie</title>
-<programlisting>
-<?php
+ chargés depuis les répertoires des plugins en utilisant la fonction
+ <link linkend="api.load.filter">load_filter()</link>
+ ou en réglant la variable
+ <link linkend="variable.autoload.filters">$autoload_filters</link>.
+ Smarty passera la sortie du template en premier argument et attendra
+ de la fonction qu'elle retourne le résultat de l'exécution.
+ </para>
+ <example>
+ <title>Utilisation d'un filtre de sortie</title>
+ <programlisting>
+<![CDATA[
+<?php
// mettez ceci dans votre application
-function protect_email($tpl_output, &$smarty)
+function protect_email($tpl_output, &$smarty)
{
$tpl_output =
preg_replace('!(\S+)@([a-zA-Z0-9\.\-]+\.([a-zA-Z]{2,3}|[0-9]{1,3}))!',
@@ -39,9 +41,11 @@
// dorénavant toute occurence d'un adresse email dans le résultat du template
// aura un protection simple contre les robots spammers
-?></programlisting>
- </example>
- </sect1>
+?>
+]]>
+ </programlisting>
+ </example>
+</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
http://cvs.php.net/diff.php/smarty/docs/fr/programmers/advanced-features/advanced-features-postfilters.xml?r1=1.3&r2=1.4&ty=u
Index: smarty/docs/fr/programmers/advanced-features/advanced-features-postfilters.xml
diff -u smarty/docs/fr/programmers/advanced-features/advanced-features-postfilters.xml:1.3 smarty/docs/fr/programmers/advanced-features/advanced-features-postfilters.xml:1.4
--- smarty/docs/fr/programmers/advanced-features/advanced-features-postfilters.xml:1.3 Sun May 23 12:32:19 2004
+++ smarty/docs/fr/programmers/advanced-features/advanced-features-postfilters.xml Sun Dec 26 10:03:07 2004
@@ -1,38 +1,46 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.3 $ -->
-<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
+<!-- $Revision: 1.4 $ -->
+<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
<sect1 id="advanced.features.postfilters">
<title>Filtres de post-compilation</title>
<para>
Les filtres de post-compilation sont des fonctions PHP que vos templates
exécutent après avoir été compilés. Les filtres de post-compilation peuvent
- être soit <link linkend="api.register.postfilter">déclarés</link> soit chargés
+ être soit <link linkend="api.register.postfilter">déclarés</link>, soit chargés
depuis les répertoires des plugins en utilisant la fonction
<link linkend="api.load.filter">load_filter()</link> ou en réglant
- la variable <link linkend="variable.autoload.filters">$autoload_filters</link>.
- Smarty passera le template compilé en tant que premier paramètre et attendra
- de la fonction qu'elle retourne le résultat de l'exécution.
- </para>
- <example>
- <title>utilisation d'un filtre de post-compilation de templates</title>
-<programlisting>
-<?php
+ la variable <link linkend="variable.autoload.filters">$autoload_filters</link>.
+ Smarty passera le template compilé en tant que premier paramètre et attendra
+ de la fonction qu'elle retourne le résultat de l'exécution.
+ </para>
+ <example>
+ <title>Utilisation d'un filtre de post-compilation de templates</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
// mettez cela dans votre application
-function add_header_comment($tpl_source, &$smarty)
+function add_header_comment($tpl_source, &$smarty)
{
- return "<?php echo \"<!-- Created by Smarty! -->\n\" ?>\n".$tpl_source;
+ return "<?php echo \"<!-- Créé par Smarty ! -->\n\"; ?>\n".$tpl_source;
}
// enregistre le filtre de post-compilation
$smarty->register_postfilter("add_header_comment");
$smarty->display("index.tpl");
-?>
-
-{* template Smarty compilé index.tpl *}
-<!-- Created by Smarty! -->
-{* reste du contenu du template... *}</programlisting>
- </example>
- </sect1>
+?>
+]]>
+ </programlisting>
+ <para>
+ Votre template Smarty index.tpl ressemblera, après compilation à :
+ </para>
+ <screen>
+<![CDATA[
+<!-- Créé par Smarty ! -->
+{* reste du contenu du template... *}
+]]>
+ </screen>
+ </example>
+</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
http://cvs.php.net/diff.php/smarty/docs/fr/programmers/advanced-features/advanced-features-prefilters.xml?r1=1.3&r2=1.4&ty=u
Index: smarty/docs/fr/programmers/advanced-features/advanced-features-prefilters.xml
diff -u smarty/docs/fr/programmers/advanced-features/advanced-features-prefilters.xml:1.3 smarty/docs/fr/programmers/advanced-features/advanced-features-prefilters.xml:1.4
--- smarty/docs/fr/programmers/advanced-features/advanced-features-prefilters.xml:1.3 Sun May 23 12:32:19 2004
+++ smarty/docs/fr/programmers/advanced-features/advanced-features-prefilters.xml Sun Dec 26 10:03:07 2004
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.3 $ -->
-<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
+<!-- $Revision: 1.4 $ -->
+<!-- EN-Revision: 1.2 Maintainer: yannick Status: ready -->
<sect1 id="advanced.features.prefilters">
<title>Filtres de pré-compilation</title>
<para>
@@ -8,51 +8,58 @@
exécutent avant qu'ils ne soient compilés. Cela peut être utile
pour pré-traiter vos templates afin d'enlever les commentaires
inutiles, garder un oeil sur ce que les gens mettent dans leurs templates, etc.
+ </para>
+ <para>
Les filtre de pré-compilations peuvent être soit
- <link linkend="api.register.prefilter">déclarés</link> soit chargés
- a partir des répertoires de plugins en utilisant la fonction
- <link linkend="api.load.filter">load_filter()</link> ou en réglant
- la variable
- <link linkend="variable.autoload.filters">$autoload_filters</link>.
- Smarty passera a la fonction le code source en tant que premier argument,
- et attendra en retour le code modifié.
- </para>
- <example>
- <title>Utilisation un filtre de pré-compilation de template</title>
-<programlisting>
-<?php
+ <link linkend="api.register.prefilter">déclarés</link>, soit chargés
+ à partir des répertoires de plugins en utilisant la fonction
+ <link linkend="api.load.filter">load_filter()</link> ou en réglant
+ la variable
+ <link linkend="variable.autoload.filters">$autoload_filters</link>.
+ </para>
+ <para>
+ Smarty passera à la fonction le code source en tant que premier argument,
+ et attendra en retour le code modifié.
+ </para>
+ <example>
+ <title>Utilisation un filtre de pré-compilation de template</title>
+ <programlisting>
+<![CDATA[
+<?php
// mettre ceci dans votre application
-function remove_dw_comments($tpl_source, &$smarty)
+function remove_dw_comments($tpl_source, &$smarty)
{
- return preg_replace("/<!--#.*-->/U","",$tpl_source);
+ return preg_replace("/<!--#.*-->/U","",$tpl_source);
}
// enregistrer le filtre de pré-compilation
$smarty->register_prefilter("remove_dw_comments");
$smarty->display("index.tpl");
-?>
-
-{* template Smarty index.tpl *}
-<!--# cette ligne va être supprimée par le filtre de pré-compilation --></programlisting>
- </example>
- </sect1>
- <!-- Keep this comment at the end of the file
- Local variables:
- mode: sgml
- sgml-omittag:t
- sgml-shorttag:t
- sgml-minimize-attributes:nil
- sgml-always-quote-attributes:t
- sgml-indent-step:1
- sgml-indent-data:t
- indent-tabs-mode:nil
- sgml-parent-document:nil
- sgml-default-dtd-file:"../../../../manual.ced"
- sgml-exposed-tags:nil
- sgml-local-catalogs:nil
- sgml-local-ecat-files:nil
- End:
- vim600: syn=xml fen fdm=syntax fdl=2 si
- vim: et tw=78 syn=sgml
- vi: ts=1 sw=1
- -->
+?>
+]]>
+ </programlisting>
+ <para>
+ Ceci effacera tous les commentaires de la source du template.
+ </para>
+ </example>
+</sect1>
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+indent-tabs-mode:nil
+sgml-parent-document:nil
+sgml-default-dtd-file:"../../../../manual.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+vim600: syn=xml fen fdm=syntax fdl=2 si
+vim: et tw=78 syn=sgml
+vi: ts=1 sw=1
+-->
http://cvs.php.net/diff.php/smarty/docs/fr/programmers/advanced-features/section-template-cache-handler-func.xml?r1=1.6&r2=1.7&ty=u
Index: smarty/docs/fr/programmers/advanced-features/section-template-cache-handler-func.xml
diff -u smarty/docs/fr/programmers/advanced-features/section-template-cache-handler-func.xml:1.6 smarty/docs/fr/programmers/advanced-features/section-template-cache-handler-func.xml:1.7
--- smarty/docs/fr/programmers/advanced-features/section-template-cache-handler-func.xml:1.6 Mon Nov 1 13:05:10 2004
+++ smarty/docs/fr/programmers/advanced-features/section-template-cache-handler-func.xml Sun Dec 26 10:03:07 2004
@@ -1,37 +1,37 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.6 $ -->
+<!-- $Revision: 1.7 $ -->
<!-- EN-Revision: 1.3 Maintainer: gerald Status: ready -->
<sect1 id="section.template.cache.handler.func">
<title>Fonction de gestion du cache</title>
<para>
Une alternative au mécanisme de cache par défaut (basé sur des fichiers
- de cache) consiste a spécifier une fonction de gestion de cache utilisateur
+ de cache) consiste à spécifier une fonction de gestion de cache utilisateur
qui sera utilisée pour lire, écrire et effacer les fichiers de cache.
</para>
<para>
Il suffit de créer dans votre application une fonction que Smarty
utilisera pour la gestion du cache et d'assigner le nom de cette
- fonction a la variable de classe
+ fonction à la variable de classe
<link linkend="variable.cache.handler.func">$cache_handler_func</link>.
- Smarty utilisera alors cette fonction pour gérer les données du cache.
- Le premier argument est l'action, qui sera 'read', 'write' ou 'clear'.
- Le second paramètre est l'objet Smarty. Le troisième est le contenu
- du cache. Pour écrire, Smarty passe le contenu du cache dans ces paramètres.
- Pour lire, Smarty s'attend a ce que votre fonction accepte ce paramètre
- par référence et que vous le remplissiez avec les données du cache. Pour effacer,
- il suffit de passer une variable fictive car cette dernière n'est pas utilisée.
- Le quatrième paramètre est le nom du fichier de template (utile pour
- lire/écrire), le cinquième paramètre est l'identifiant de cache (optionnel)
- et le sixième est l'identifiant de compilation.
- </para>
- <para>
- Note: Le dernier paramètre ($exp_time) a été ajouté dans Smarty-2.6.0.
- </para>
- <example>
- <title>exemple d'utilisation de MySQL pour la source du cache</title>
- <programlisting>
- <![CDATA[
- <?php
+ Smarty utilisera alors cette fonction pour gérer les données du cache.
+ Le premier argument est l'action, qui sera 'read', 'write' ou 'clear'.
+ Le second paramètre est l'objet Smarty. Le troisième est le contenu
+ du cache. Pour écrire, Smarty passe le contenu du cache dans ces paramètres.
+ Pour lire, Smarty s'attend à ce que votre fonction accepte ce paramètre
+ par référence et que vous le remplissiez avec les données du cache. Pour effacer,
+ il suffit de passer une variable fictive car cette dernière n'est pas utilisée.
+ Le quatrième paramètre est le nom du fichier de template (utile pour
+ lire/écrire), le cinquième paramètre est l'identifiant de cache (optionnel)
+ et le sixième est l'identifiant de compilation (optionnel).
+ </para>
+ <para>
+ Note: Le dernier paramètre ($exp_time) a été ajouté dans Smarty-2.6.0.
+ </para>
+ <example>
+ <title>Exemple d'utilisation de MySQL pour la source du cache</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
/*
exemple d'usage :
@@ -46,7 +46,7 @@
la base mysql est attendu dans ce format :
-
+
create database SMARTY_CACHE;
create table CACHE_PAGES(
@@ -58,78 +58,78 @@
function mysql_cache_handler($action, &$smarty_obj, &$cache_content, $tpl_file=null, $cache_id=null, $compile_id=null)
{
- // l'h(te de la bd, l'utilisateur, et le mot de passe
- $db_host = 'localhost';
- $db_user = 'myuser';
- $db_pass = 'mypass';
- $db_name = 'SMARTY_CACHE';
- $use_gzip = false;
-
- // crée un identifiant de cache unique
- $CacheID = md5($tpl_file.$cache_id.$compile_id);
-
- if(! $link = mysql_pconnect($db_host, $db_user, $db_pass)) {
+ // l'hôte de la bd, l'utilisateur, et le mot de passe
+ $db_host = 'localhost';
+ $db_user = 'myuser';
+ $db_pass = 'mypass';
+ $db_name = 'SMARTY_CACHE';
+ $use_gzip = false;
+
+ // crée un identifiant de cache unique
+ $CacheID = md5($tpl_file.$cache_id.$compile_id);
+
+ if(! $link = mysql_pconnect($db_host, $db_user, $db_pass)) {
$smarty_obj->_trigger_error_msg("cache_handler: could not connect to database");
- return false;
- }
- mysql_select_db($db_name);
-
- switch ($action) {
- case 'read':
- // récupère le cache dans la base de données
- $results = mysql_query("select CacheContents from CACHE_PAGES where CacheID='$CacheID'");
- if(!$results) {
- $smarty_obj->_trigger_error_msg("cache_handler: query failed.");
- }
- $row = mysql_fetch_array($results,MYSQL_ASSOC);
-
- if($use_gzip && function_exists("gzuncompress")) {
- $cache_content = gzuncompress($row["CacheContents"]);
- } else {
- $cache_content = $row["CacheContents"];
- }
- $return = $results;
- break;
- case 'write':
- // sauvegarde le cache dans la base de données
-
- if($use_gzip && function_exists("gzcompress")) {
- // compresse le contenu pour gagner de la place
- $contents = gzcompress($cache_content);
- } else {
- $contents = $cache_content;
- }
- $results = mysql_query("replace into CACHE_PAGES values(
- '$CacheID',
- '".addslashes($contents)."')
- ");
- if(!$results) {
- $smarty_obj->_trigger_error_msg("cache_handler: query failed.");
- }
- $return = $results;
- break;
- case 'clear':
- // efface les données du cache
- if(empty($cache_id) && empty($compile_id) && empty($tpl_file)) {
- // les efface toutes
- $results = mysql_query("delete from CACHE_PAGES");
- } else {
- $results = mysql_query("delete from CACHE_PAGES where CacheID='$CacheID'");
- }
- if(!$results) {
- $smarty_obj->_trigger_error_msg("cache_handler: query failed.");
- }
- $return = $results;
- break;
- default:
- // erreur, action inconnue
- $smarty_obj->_trigger_error_msg("cache_handler: unknown action \"$action\"");
- $return = false;
- break;
- }
- mysql_close($link);
- return $return;
-
+ return false;
+ }
+ mysql_select_db($db_name);
+
+ switch ($action) {
+ case 'read':
+ // récupère le cache dans la base de données
+ $results = mysql_query("select CacheContents from CACHE_PAGES where CacheID='$CacheID'");
+ if(!$results) {
+ $smarty_obj->_trigger_error_msg("cache_handler: query failed.");
+ }
+ $row = mysql_fetch_array($results,MYSQL_ASSOC);
+
+ if($use_gzip && function_exists("gzuncompress")) {
+ $cache_content = gzuncompress($row["CacheContents"]);
+ } else {
+ $cache_content = $row["CacheContents"];
+ }
+ $return = $results;
+ break;
+ case 'write':
+ // sauvegarde le cache dans la base de données
+
+ if($use_gzip && function_exists("gzcompress")) {
+ // compresse le contenu pour gagner de la place
+ $contents = gzcompress($cache_content);
+ } else {
+ $contents = $cache_content;
+ }
+ $results = mysql_query("replace into CACHE_PAGES values(
+ '$CacheID',
+ '".addslashes($contents)."')
+ ");
+ if(!$results) {
+ $smarty_obj->_trigger_error_msg("cache_handler: query failed.");
+ }
+ $return = $results;
+ break;
+ case 'clear':
+ // efface les données du cache
+ if(empty($cache_id) && empty($compile_id) && empty($tpl_file)) {
+ // les efface toutes
+ $results = mysql_query("delete from CACHE_PAGES");
+ } else {
+ $results = mysql_query("delete from CACHE_PAGES where CacheID='$CacheID'");
+ }
+ if(!$results) {
+ $smarty_obj->_trigger_error_msg("cache_handler: query failed.");
+ }
+ $return = $results;
+ break;
+ default:
+ // erreur, action inconnue
+ $smarty_obj->_trigger_error_msg("cache_handler: unknown action \"$action\"");
+ $return = false;
+ break;
+ }
+ mysql_close($link);
+ return $return;
+
}
?>
http://cvs.php.net/diff.php/smarty/docs/fr/programmers/advanced-features/template-resources.xml?r1=1.2&r2=1.3&ty=u
Index: smarty/docs/fr/programmers/advanced-features/template-resources.xml
diff -u smarty/docs/fr/programmers/advanced-features/template-resources.xml:1.2 smarty/docs/fr/programmers/advanced-features/template-resources.xml:1.3
--- smarty/docs/fr/programmers/advanced-features/template-resources.xml:1.2 Sun May 23 11:50:38 2004
+++ smarty/docs/fr/programmers/advanced-features/template-resources.xml Sun Dec 26 10:03:07 2004
@@ -1,52 +1,68 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.2 $ -->
-<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
+<!-- $Revision: 1.3 $ -->
+<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
<sect1 id="template.resources">
<title>Ressources</title>
<para>
Les templates peuvent provenir d'une grande variété de ressources. Quand vous
affichez ou récupérez un template, ou quand vous incluez un template
dans un autre template, vous fournissez un type de ressource, suivi
- par le chemin approprié et le nom du template.
+ par le chemin approprié et le nom du template. Si une ressource n'est pas
+ explicitement donnée, la valeur de la variable <link
+ linkend="variable.default.resource.type">$default_resource_type</link>
+ sera utilisée.
</para>
<sect2 id="templates.from.template.dir">
<title>Templates depuis $template_dir</title>
<para>
Les templates du répertoire $template_dir n'ont pas
besoin d'une ressource template, bien que vous puissiez utiliser
- la ressource "file" pour être cohérent. Vous n'avez qu'a fournir
+ la ressource "file" pour être cohérent. Vous n'avez qu'à fournir
le chemin vers le template que vous voulez utiliser, relatif
au répertoire racine $template_dir.
</para>
<example>
<title>Utilisation de templates depuis $template_dir</title>
-<programlisting>
-// le script PHP
+ <programlisting role="php">
+<![CDATA[
+<?php
$smarty->display("index.tpl");
$smarty->display("admin/menu.tpl");
-$smarty->display("file:admin/menu.tpl"); // le même que celui ci-dessus
+$smarty->display("file:admin/menu.tpl"); // le même que ci-dessus
+?>
{* le template Smarty *}
{include file="index.tpl"}
-{include file="file:index.tpl"} {* le même que celui ci-dessus *}</programlisting>
+{include file="file:index.tpl"} {* le même que ci-dessus *}
+]]>
+ </programlisting>
</example>
</sect2>
<sect2 id="templates.from.any.dir">
- <title>Templates a partir de n'importe quel répertoire</title>
+ <title>Templates à partir de n'importe quel répertoire</title>
<para>
Les templates en-dehors du répertoire $template_dir nécessitent
le type de ressource template, suivi du chemin absolu et du nom du
template.
</para>
<example>
- <title>utilisation d'un template depuis n'importe quel répertoire</title>
-<programlisting>
-// le script PHP
+ <title>Utilisation d'un template depuis n'importe quel répertoire</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
$smarty->display("file:/export/templates/index.tpl");
$smarty->display("file:/path/to/my/templates/menu.tpl");
-
-{* le template Smarty *}
-{include file="file:/usr/local/share/templates/navigation.tpl"}</programlisting>
+?>
+]]>
+ </programlisting>
+ <para>
+ Le template Smarty :
+ </para>
+ <programlisting>
+<![CDATA[
+{include file="file:/usr/local/share/templates/navigation.tpl"}
+]]>
+ </programlisting>
</example>
<sect3 id="templates.windows.filepath">
@@ -55,17 +71,26 @@
Si vous utilisez Windows, les chemins de fichiers sont la plupart
du temps sur un disque identifié par une lettre (c:) au début du chemin.
Assurez-vous de bien mettre "file:" dans le chemin pour éviter des
- conflits d'espace de nommage et obtenir les résultats escomptés.
+ conflits d'espace de noms et obtenir les résultats escomptés.
</para>
<example>
- <title>utilisation de templates avec des chemins de fichiers Windows</title>
-<programlisting>
-// le script PHP
+ <title>Utilisation de templates avec des chemins de fichiers Windows</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
$smarty->display("file:C:/export/templates/index.tpl");
$smarty->display("file:F:/path/to/my/templates/menu.tpl");
-
-{* le template Smarty *}
-{include file="file:D:/usr/local/share/templates/navigation.tpl"}</programlisting>
+?>
+]]>
+ </programlisting>
+ <para>
+ Le template Smarty :
+ </para>
+ <programlisting>
+<![CDATA[
+{include file="file:D:/usr/local/share/templates/navigation.tpl"}
+]]>
+ </programlisting>
</example>
</sect3>
</sect2>
@@ -73,15 +98,17 @@
<sect2 id="templates.from.elsewhere">
<title>Templates depuis d'autres sources</title>
<para>
- Vous pouvez récupérer les templates a partir n'importe quelle
- source a laquelle vous avez accès avec PHP : base de données,
+ Vous pouvez récupérer les templates à partir de n'importe quelle
+ source à laquelle vous avez accès avec PHP : base de données,
sockets, LDAP et ainsi de suite. Il suffit d'écrire les fonctions
de ressource plugins et de les enregistrer auprès de Smarty.
</para>
+
<para>
- Reportez-vous a la section <link linkend="plugins.resources">ressource plugins</link>
- pour plus d'informations sur les fonctions que vous Otes censé fournir.
+ Reportez-vous à la section <link linkend="plugins.resources">ressource plugins</link>
+ pour plus d'informations sur les fonctions que vous êtes censé fournir.
</para>
+
<note>
<para>
Notez que vous ne pouvez pas écraser la ressource <literal>file</literal> native,
@@ -91,12 +118,12 @@
</para>
</note>
<example>
- <title>utilisation de ressources utilisateurs</title>
-<programlisting>
-// le script PHP
-
+ <title>Utilisation de ressources utilisateurs</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
// mettez ces fonctions quelque part dans votre application
-function db_get_template ($tpl_name, &$tpl_source, &$smarty_obj)
+function db_get_template ($tpl_name, &$tpl_source, &$smarty_obj)
{
// requête BD pour récupérer le template
// et remplir $tpl_source
@@ -112,7 +139,7 @@
}
}
-function db_get_timestamp($tpl_name, &$tpl_timestamp, &$smarty_obj)
+function db_get_timestamp($tpl_name, &$tpl_timestamp, &$smarty_obj)
{
// requête BD pour remplir $tpl_timestamp
$sql = new SQL;
@@ -127,13 +154,13 @@
}
}
-function db_get_secure($tpl_name, &$smarty_obj)
+function db_get_secure($tpl_name, &$smarty_obj)
{
// on suppose que tous les templates sont svrs
return true;
}
-function db_get_trusted($tpl_name, &$smarty_obj)
+function db_get_trusted($tpl_name, &$smarty_obj)
{
// pas utilisée pour les templates dans notre cas
}
@@ -146,9 +173,17 @@
// utilise la ressource depuis le script PHP
$smarty->display("db:index.tpl");
-
-{* utilise la ressource depuis le template Smarty *}
-{include file="db:/extras/navigation.tpl"}</programlisting>
+?>
+]]>
+ </programlisting>
+ <para>
+ Le template Smarty :
+ </para>
+ <programlisting>
+<![CDATA[
+{include file="db:/extras/navigation.tpl"}
+]]>
+ </programlisting>
</example>
</sect2>
@@ -156,35 +191,38 @@
<title>Fonction de gestion de template par défaut</title>
<para>
Vous pouvez spécifier une fonction qui sera utilisée pour
- récupérer le contenu d'un template dans le cas oú le template
+ récupérer le contenu d'un template dans le cas où le template
ne peut pas être récupéré depuis sa ressource. Une utilisation possible est
- la création de templates a la volée.
+ la création de templates à la volée.
</para>
<example>
<title>utilisation de la fonction de gestion de template par défaut</title>
-<programlisting>
-<?php
+ <programlisting role="php">
+<![CDATA[
+<?php
// mettez cette fonction quelque part dans votre application
-function make_template ($resource_type, $resource_name, &$template_source, &$template_timestamp, &$smarty_obj)
+function make_template ($resource_type, $resource_name, &$template_source, &$template_timestamp, &$smarty_obj)
{
- if( $resource_type == 'file' ) {
- if ( ! is_readable ( $resource_name )) {
- // crée le fichier de template et renvoie le contenu
- $template_source = "This is a new template.";
- $template_timestamp = time();
- $smarty_obj->_write_file($resource_name,$template_source);
- return true;
- }
- } else {
- // pas un fichier
- return false;
+ if( $resource_type == 'file' ) {
+ if ( ! is_readable ( $resource_name )) {
+ // crée le fichier de template et renvoie le contenu
+ $template_source = "Ceci est un nouveau template.";
+ $template_timestamp = time();
+ $smarty_obj->_write_file($resource_name,$template_source);
+ return true;
}
+ } else {
+ // pas un fichier
+ return false;
+ }
}
// régle la fonction par défaut
$smarty->default_template_handler_func = 'make_template';
-?></programlisting>
+?>
+]]>
+ </programlisting>
</example>
</sect2>
</sect1>
http://cvs.php.net/diff.php/smarty/docs/fr/programmers/advanced-features.xml?r1=1.7&r2=1.8&ty=u
Index: smarty/docs/fr/programmers/advanced-features.xml
diff -u smarty/docs/fr/programmers/advanced-features.xml:1.7 smarty/docs/fr/programmers/advanced-features.xml:1.8
--- smarty/docs/fr/programmers/advanced-features.xml:1.7 Sun May 23 11:50:38 2004
+++ smarty/docs/fr/programmers/advanced-features.xml Sun Dec 26 10:03:08 2004
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.7 $ -->
-<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
+<!-- $Revision: 1.8 $ -->
+<!-- EN-Revision: 1.4 Maintainer: yannick Status: ready -->
<chapter id="advanced.features">
<title>Fonctionnalités avancées</title>
&programmers.advanced-features.advanced-features-objects;
http://cvs.php.net/diff.php/smarty/docs/fr/programmers/api-functions.xml?r1=1.8&r2=1.9&ty=u
Index: smarty/docs/fr/programmers/api-functions.xml
diff -u smarty/docs/fr/programmers/api-functions.xml:1.8 smarty/docs/fr/programmers/api-functions.xml:1.9
--- smarty/docs/fr/programmers/api-functions.xml:1.8 Sun May 23 11:50:38 2004
+++ smarty/docs/fr/programmers/api-functions.xml Sun Dec 26 10:03:09 2004
@@ -1,8 +1,15 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.8 $ -->
-<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
-<chapter id="api.functions">
+<!-- $Revision: 1.9 $ -->
+<!-- EN-Revision: 1.8 Maintainer: yannick Status: ready -->
+<reference id="api.functions">
<title>Méthodes</title>
+ <titleabbrev></titleabbrev>
+ <partintro>
+ <section>
+ <title />
+ <para></para>
+ </section>
+ </partintro>
&programmers.api-functions.api-append;
&programmers.api-functions.api-append-by-ref;
&programmers.api-functions.api-assign;
@@ -42,7 +49,9 @@
&programmers.api-functions.api-unregister-postfilter;
&programmers.api-functions.api-unregister-prefilter;
&programmers.api-functions.api-unregister-resource;
-</chapter>
+
+</reference>
+
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
http://cvs.php.net/diff.php/smarty/docs/fr/programmers/api-variables.xml?r1=1.5&r2=1.6&ty=u
Index: smarty/docs/fr/programmers/api-variables.xml
diff -u smarty/docs/fr/programmers/api-variables.xml:1.5 smarty/docs/fr/programmers/api-variables.xml:1.6
--- smarty/docs/fr/programmers/api-variables.xml:1.5 Sun May 23 11:50:38 2004
+++ smarty/docs/fr/programmers/api-variables.xml Sun Dec 26 10:03:10 2004
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.5 $ -->
-<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
+<!-- $Revision: 1.6 $ -->
+<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
<chapter id="api.variables">
<title>Variables</title>
@@ -11,8 +11,6 @@
&programmers.api-variables.variable-debugging;
&programmers.api-variables.variable-debug-tpl;
&programmers.api-variables.variable-debugging-ctrl;
- &programmers.api-variables.variable-global-assign;
- &programmers.api-variables.variable-undefined;
&programmers.api-variables.variable-autoload-filters;
&programmers.api-variables.variable-compile-check;
&programmers.api-variables.variable-force-compile;
@@ -35,9 +33,12 @@
&programmers.api-variables.variable-right-delimiter;
&programmers.api-variables.variable-compiler-class;
&programmers.api-variables.variable-request-vars-order;
+ &programmers.api-variables.variable-request-use-auto-globals;
+ &programmers.api-variables.variable-error-reporting;
&programmers.api-variables.variable-compile-id;
&programmers.api-variables.variable-use-sub-dirs;
&programmers.api-variables.variable-default-modifiers;
+ &programmers.api-variables.variable-default-resource-type;
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
http://cvs.php.net/diff.php/smarty/docs/fr/programmers/caching.xml?r1=1.6&r2=1.7&ty=u
Index: smarty/docs/fr/programmers/caching.xml
diff -u smarty/docs/fr/programmers/caching.xml:1.6 smarty/docs/fr/programmers/caching.xml:1.7
--- smarty/docs/fr/programmers/caching.xml:1.6 Sun May 23 11:50:38 2004
+++ smarty/docs/fr/programmers/caching.xml Sun Dec 26 10:03:10 2004
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.6 $ -->
-<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
+<!-- $Revision: 1.7 $ -->
+<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
<chapter id="caching">
<title>Cache</title>
<para>
@@ -9,25 +9,26 @@
linkend="api.fetch">fetch()</link> en sauvegardant leur résultat
dans un fichier. Si un fichier de cache est disponible lors d'un appel,
il sera affiché sans qu'il ne soit nécessaire de regénérer le résultat.
- Le systéme de cache
- peut accélérer les traitements de faton impressionnante, en particulier les
- templates dont la compilation est trés longue. Comme le résultat de
- display() ou de fetch() est dans le cache, un fichier de cache peut
- être composé de plusieurs fichiers de templates, plusieurs fichiers
+ Le systéme de cache peut accélérer les traitements de façon impressionnante,
+ en particulier les templates dont la compilation est très longue. Comme
+ le résultat de display() ou de fetch() est dans le cache, un fichier de cache
+ peut être composé de plusieurs fichiers de templates, plusieurs fichiers
de configuration, etc.
</para>
<para>
Comme les templates sont dynamiques, il est important de faire attention
- a la faton dont les fichiers de cache sont générés, et pour combien de temps.
+ à la façon dont les fichiers de cache sont générés, et pour combien de temps.
Si par exemple vous affichez la page d'accueil de votre site Web dont le
contenu ne change pas souvent, il peut être intéressant de mettre cette page
dans le cache pour une heure ou plus. A l'inverse, si vous affichez une page
- de météo mises a jour toutes les minutes, mettre cette page en cache
+ de météo mise a jour toutes les minutes, mettre cette page en cache
n'a aucun sens.
</para>
&programmers.caching.caching-setting-up;
&programmers.caching.caching-multiple-caches;
&programmers.caching.caching-groups;
+
+ &programmers.caching.caching-cacheable;
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
http://cvs.php.net/diff.php/smarty/docs/fr/programmers/plugins.xml?r1=1.7&r2=1.8&ty=u
Index: smarty/docs/fr/programmers/plugins.xml
diff -u smarty/docs/fr/programmers/plugins.xml:1.7 smarty/docs/fr/programmers/plugins.xml:1.8
--- smarty/docs/fr/programmers/plugins.xml:1.7 Sun May 23 11:50:38 2004
+++ smarty/docs/fr/programmers/plugins.xml Sun Dec 26 10:03:10 2004
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.7 $ -->
-<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
+<!-- $Revision: 1.8 $ -->
+<!-- EN-Revision: 1.5 Maintainer: yannick Status: ready -->
<chapter id="plugins">
<title>Etendre Smarty avec des plugins</title>
<para>
La version 2.0 a introduit l'architecture de plugin qui est
- utilisée pour pratiquement toute les fonctionnalités
+ utilisée pour pratiquement toutes les fonctionnalités
personnalisables de Smarty. Ceci comprend :
<itemizedlist spacing="compact">
<listitem><simpara>les fonctions</simpara></listitem>
@@ -19,9 +19,9 @@
<listitem><simpara>les insertions</simpara></listitem>
</itemizedlist>
A part pour les ressources, la compatibilité avec les anciennes
- fatons d'enregistrer les fonctions de gestion avec l'API register_
+ façons d'enregistrer les fonctions de gestion avec l'API register_
est conservée. Si vous n'avez pas utilisé cette API et que vous avez
- a la place directement modifié les variables de classes
+ à la place directement modifié les variables de classes
<literal>$custom_funcs</literal>, <literal>$custom_mods</literal> et
d'autres, vous devez alors modifier vos scripts pour utiliser
l'API ou convertir vos fonctionnalités personnalisées en plugins.
http://cvs.php.net/diff.php/smarty/docs/fr/programmers/smarty-constants.xml?r1=1.4&r2=1.5&ty=u
Index: smarty/docs/fr/programmers/smarty-constants.xml
diff -u smarty/docs/fr/programmers/smarty-constants.xml:1.4 smarty/docs/fr/programmers/smarty-constants.xml:1.5
--- smarty/docs/fr/programmers/smarty-constants.xml:1.4 Sun May 23 11:50:38 2004
+++ smarty/docs/fr/programmers/smarty-constants.xml Sun Dec 26 10:03:10 2004
@@ -1,20 +1,18 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.4 $ -->
-<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
+<!-- $Revision: 1.5 $ -->
+<!-- EN-Revision: 1.3 Maintainer: yannick Status: ready -->
<chapter id="smarty.constants">
<title>Constantes</title>
- <para></para>
<sect1 id="constant.smarty.dir">
<title>SMARTY_DIR</title>
<para>
- Il doit s'agir du chemin complet du répertoire oú
+ Il doit s'agir du chemin complet du répertoire où
se trouvent les fichiers classes de Smarty.
S'il n'est pas défini, Smarty essaiera alors d'en
déterminer automatiquement la valeur.
S'il est défini, le chemin doit se terminer par un slash.
</para>
-
<example>
<title>SMARTY_DIR</title>
<programlisting role="php">
@@ -30,6 +28,30 @@
</programlisting>
</example>
</sect1>
+ <sect1 id="constant.smarty.core.dir">
+ <title>SMARTY_CORE_DIR</title>
+ <para>
+ Il doit s'agir du chemin complet du répertoire où
+ se trouvent les fichiers internes de Smarty. S'il n'est
+ pas défini, Smarty placera comme valeur par défaut la
+ valeur de la constante précédente SMARTY_DIR. S'il est
+ défini, le chemin doit se terminer par un slash. Utilisez cette
+ constante lorsque vous incluez manuellement n'importe
+ quel fichier core.*.
+ </para>
+ <example>
+ <title>SMARTY_CORE_DIR</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+// chargement de core.get_microtime.php
+
+require_once(SMARTY_CORE_DIR."core.get_microtime.php");
+?>
+]]>
+ </programlisting>
+ </example>
+ </sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables: