Accueil > > > MANGOTEMPLATE V.1 ( NOUVEAU SYSTEME DE TEMPLATE -> SIMPLE ET FACILE D'UTITLISATION )
MANGOTEMPLATE V.1 ( NOUVEAU SYSTEME DE TEMPLATE -> SIMPLE ET FACILE D'UTITLISATION )
Information sur la source
Description
MangoTemplate ( v.1 ) est un systeme de template performant et simple d'utilisation ( enfin ça c'est à vous de me le confirmer ;] ) fonctionnalités : - Permet de vérifier les fonctions nécessaire pour le bon déroulement de la class 'MangoTemplate' : ¤ Message d'erreur configurable ¤ Possibilité d'intégrer des codes qui sont interprétés par la suite comme du code html ( possibilité de rajout ) - Possibilité de changer le signe de la variable de la template à volonté Exemple : le_sign{ var_name } - Possibilité d'interpréter le contenu de la variable pour du code PHP - Possibilité de ne pas respecter les minuscules, majuscules - la rapidité d'éxécution est plutôt bonne ( rapide ) ( selon aussi votre template mais sinon elle est plutot rapide ) Voila ;)
Source
- <?Php
-
- /* *********************************** */
- /* ******* [ MangoTemplate ] ** v.1 ** */
- /* *********************************** */
- /* ** --> Write By DOTWIZARD512 <-- ** */
- /* ******** ( 18/04/2006 ) *********** */
- /* *********************************** */
- /* ****** || For the World || ******** */
- /* *********************************** */
- /* ********* ^^ Enjoy ******** */
- /* *********************************** */
- /* *********************************** */
- /* ******* mega5120000@yahoo.fr ***** */
- /* ****** dotwizard512@gmail.com ***** */
- /* *********************************** */
-
- /* *********************************** */
- /* /!\ dont erase the comments /!\ */
- /* ********** [ PLEASE ] ************* */
- /* *********************************** */
-
-
- /* La classe Template */
- class MangoTemplate
- {
- /* Signe de la variable de la template; exemple: sign{ var } */
- var $DefaultOpSign = '$';
-
- /* Tableau pour les opérations temporaire */
- var $tmp = Array();
-
- /* Tableau contenant le style du message d'erreur */
- var $DefaultErrStyle = Array(
- '<fieldset style="background:#000000;border: 2 #990000 solid;text-align:center;font-family:monospace;color:red;"><br><b><li></b> [ ',
- ' ] ; ',
- ' <br><br></fieldset>'
- );
-
- /* Message d'erreur par defaut : Erreur interne [ ATTENTION LES CARACTERES SPECIAUX ( voir plus bas ) NE SERONT PAS TRADUIT ]*/
- var $DefaultErr = 'ERREUR INTERNE';
-
- /* Le tableaux des erreur */
- var $ErrorLib = Array(
- "[RLN][RLN]Une ou plusieurs des fonctions obligatoires pour le bon déroulement de [f=#000033['] style='#009999/] MangoTemplate (c) [/en.sp] sont inéxistantes !!!!!",
- "[RLN][RLN]La Template spécifier n'existe pas !!!!!",
- "[RLN][RLN]Les Paramètres pour l'utilisation de la template sont érronés !!!!",
- "[RLN][RLN]Il est impossible d'ouvrir ou de lire la template spécifier !!!!"
- );
-
-
- /* Caractère de substitution des messages d'erreur */
- var $SpeChar = Array(
- Array( '[RLN]' , '<br>' ),
- Array( '/]' , '\' >' ),
- Array( '[c=' , '<span style=\'color:' ),
- Array( '[f=' , '<span style=\'background-color:' ),
- Array( '[/en.sp]' , '</span>' ),
- Array( '[b]' , '<b>' ),
- Array( '[/b]' , '</b>' ),
- Array( '[u]' , '<u>' ),
- Array( '[/u]' , '</u>' ),
- Array( '[i]' , '<i>' ),
- Array( '[/i]' , '</i>' ),
- Array( '[li]' , '<li>' ),
- Array( '[hrw1=' , '<hr width=\'' ),
- Array( '[barrer]' , '<strike>' ),
- Array( '[/barrer]' , '</strike>' ),
- Array( '[citation]' , '<blockquote>' ),
- Array( '[/citation]' , '</blockquote>' ),
- Array( '[img=' , '<img border=\'0\' src=\'' ), // ATTENTION POUR INSERER UNE IMAGE C'EST [img=votreimage.jpg/] et non [img=votreimage.jpg]
- Array( '[p]' , '[/p]' ),
- Array( '[small]' , '<small>' ),
- Array( '[/small]' , '</small>' ),
- Array( '[big]' , '<big>' ),
- Array( '[/big]' , '</big>' ),
- Array( '[label]' , '<label>' ),
- Array( '[/label]' , '</label>' ),
- Array( '[style=' , 'style=\'' ),
- Array( '[\']' , '\'' ),
- Array( '(c)' , '©' ),
- Array( '' , '' ),
- Array( '' , '' )
-
- );
-
- /* Tableau des Fonctions obligatoire pour le bon déroulement du script */
- var $UseFonction = Array(
- 'file_exists',
- 'is_array',
- 'explode',
- 'preg_replace',
- 'str_replace',
- 'fopen',
- 'fgets',
- 'fclose',
- 'feof'
- );
-
- /* Fonction qui revoie l'erreur correspondant a l'id */
- function ERR_LIB( $ID )
- {
- if( isset( $this->ErrorLib[ $ID ] ) && !empty( $this->ErrorLib[ $ID ] ) )
- {
- $this->tmp[ 0 ] = $this->DefaultErrStyle[ 0 ] . 'Error ID = ' . $ID . $this->DefaultErrStyle[ 1 ] . htmlentities( $this->ErrorLib[ $ID ] ) . "[RLN][RLN][RLN][label][f=#000033['] style='#009999/] MangoTemplate (c) [RLN] By DotWizard512 [/en.sp][label]" . $this->DefaultErrStyle[ 2 ];
-
- for( $this->index = 0; $this->index < count( $this->SpeChar ); $this->index++ )
- {
- $this->tmp[ 0 ] = str_replace( $this->SpeChar[ $this->index ][ 0 ] , $this->SpeChar[ $this->index ][ 1 ] , $this->tmp[ 0 ] );
- }
-
- return $this->tmp[ 0 ];
- }
- else
- {
- return $this->DefaultErrStyle[ 0 ] . $this->DefaultErr . $this->DefaultErrStyle[ 1 ] . $this->DefaultErrStyle[ 2 ];
- }
- }
-
- /* Fonctions qui verifie toutes les fonctions obligatoire pour le bon déroulement du script */
- function StartVerifOk()
- {
- for( $this->index = 0; $this->index < count( $this->UseFonction ); $this->index++ )
- {
- if( !empty( $this->UseFonction[ $this->index ] ) && !function_exists( $this->UseFonction[ $this->index ] ) )
- {
- return $this->ERR_LIB( 0 ) ;
- }
- }
- }
-
- /* Fonction d'utilisation d'une template */
- function UseTemplate( $TPL , $DATA , $OPSIGN, $RESPECT_C , $CODE )
- {
-
- if( empty( $TPL ) or $TPL == " " )
- {
- return $this->ERR_LIB( 2 );
- }
- elseif( !file_exists( $TPL ) )
- {
- return $this->ERR_LIB( 1 );
- }
- elseif( !empty( $DATA ) && !is_array( $DATA ) )
- {
- $DATA = explode( ';' , $DATA );
-
- $this->tmp[ 1 ] = Array();
- $this->tmp[ 2 ] = count( $DATA );
-
- for( $this->index = 0; $this->index < $this->tmp[ 2 ]; $this->index++ )
- {
- $this->tmp[ 1 ][ $this->index ] = explode( ':' , $DATA[ $this->index ] );
- }
-
- $DATA = $this->tmp[ 1 ];
-
- }
- elseif( empty( $DATA ) )
- {
- $DATA = Array( Array( '' , '' ) );
- }
-
- $this->tmp[ 3 ] = @fopen( $TPL , 'r' );
-
- if( $this->tmp[ 3 ] == false )
- {
- return $this->ERR_LIB( 3 );
- }
- else
- {
- if( @fgets( $this->tmp[ 3 ] , filesize( $this->tmp[ 3 ] ) ) )
- {
- return $this->ERR_LIB( 3 );
- }
-
- $this->tmp[ 4 ] = "";
-
- while( !feof( $this->tmp[ 3 ] ) )
- {
- $this->tmp[ 4 ] .= fgets( $this->tmp[ 3 ] , 255 );
- }
-
- }
-
- @fclose( $this->tmp[ 3 ] );
- $this->tmp[ 5 ] = $this->tmp[ 4 ];
-
- if( empty( $OPSIGN ) )
- {
- $OPSIGN = $this->DefaultOpSign;
- }
-
- for( $this->index = 0; $this->index < count( $DATA ); $this->index++ )
- {
- $this->tmp[ 6 ] = "#(\\" . $OPSIGN . "\{ " . $DATA[ $this->index ][ 0 ] . " \})#";
-
- if( !empty( $RESPECT_C ) && $RESPECT_C == true )
- {
- $this->tmp[ 6 ] .= "i";
- }
-
- if( !empty( $CODE ) && $CODE == true )
- {
- $this->tmp[ 6 ] .= "e";
- }
-
- $this->tmp[ 5 ] = preg_replace(
- $this->tmp[ 6 ],
- $DATA[ $this->index ][ 1 ],
- $this->tmp[ 5 ]
- );
-
- }
-
- return $this->tmp[ 5 ];
-
- }
-
- }
-
- ?>
<?Php
/* *********************************** */
/* ******* [ MangoTemplate ] ** v.1 ** */
/* *********************************** */
/* ** --> Write By DOTWIZARD512 <-- ** */
/* ******** ( 18/04/2006 ) *********** */
/* *********************************** */
/* ****** || For the World || ******** */
/* *********************************** */
/* ********* ^^ Enjoy ******** */
/* *********************************** */
/* *********************************** */
/* ******* mega5120000@yahoo.fr ***** */
/* ****** dotwizard512@gmail.com ***** */
/* *********************************** */
/* *********************************** */
/* /!\ dont erase the comments /!\ */
/* ********** [ PLEASE ] ************* */
/* *********************************** */
/* La classe Template */
class MangoTemplate
{
/* Signe de la variable de la template; exemple: sign{ var } */
var $DefaultOpSign = '$';
/* Tableau pour les opérations temporaire */
var $tmp = Array();
/* Tableau contenant le style du message d'erreur */
var $DefaultErrStyle = Array(
'<fieldset style="background:#000000;border: 2 #990000 solid;text-align:center;font-family:monospace;color:red;"><br><b><li></b> [ ',
' ] ; ',
' <br><br></fieldset>'
);
/* Message d'erreur par defaut : Erreur interne [ ATTENTION LES CARACTERES SPECIAUX ( voir plus bas ) NE SERONT PAS TRADUIT ]*/
var $DefaultErr = 'ERREUR INTERNE';
/* Le tableaux des erreur */
var $ErrorLib = Array(
"[RLN][RLN]Une ou plusieurs des fonctions obligatoires pour le bon déroulement de [f=#000033['] style='#009999/] MangoTemplate (c) [/en.sp] sont inéxistantes !!!!!",
"[RLN][RLN]La Template spécifier n'existe pas !!!!!",
"[RLN][RLN]Les Paramètres pour l'utilisation de la template sont érronés !!!!",
"[RLN][RLN]Il est impossible d'ouvrir ou de lire la template spécifier !!!!"
);
/* Caractère de substitution des messages d'erreur */
var $SpeChar = Array(
Array( '[RLN]' , '<br>' ),
Array( '/]' , '\' >' ),
Array( '[c=' , '<span style=\'color:' ),
Array( '[f=' , '<span style=\'background-color:' ),
Array( '[/en.sp]' , '</span>' ),
Array( '[b]' , '<b>' ),
Array( '[/b]' , '</b>' ),
Array( '[u]' , '<u>' ),
Array( '[/u]' , '</u>' ),
Array( '[i]' , '<i>' ),
Array( '[/i]' , '</i>' ),
Array( '[li]' , '<li>' ),
Array( '[hrw1=' , '<hr width=\'' ),
Array( '[barrer]' , '<strike>' ),
Array( '[/barrer]' , '</strike>' ),
Array( '[citation]' , '<blockquote>' ),
Array( '[/citation]' , '</blockquote>' ),
Array( '[img=' , '<img border=\'0\' src=\'' ), // ATTENTION POUR INSERER UNE IMAGE C'EST [img=votreimage.jpg/] et non [img=votreimage.jpg]
Array( '[p]' , '[/p]' ),
Array( '[small]' , '<small>' ),
Array( '[/small]' , '</small>' ),
Array( '[big]' , '<big>' ),
Array( '[/big]' , '</big>' ),
Array( '[label]' , '<label>' ),
Array( '[/label]' , '</label>' ),
Array( '[style=' , 'style=\'' ),
Array( '[\']' , '\'' ),
Array( '(c)' , '©' ),
Array( '' , '' ),
Array( '' , '' )
);
/* Tableau des Fonctions obligatoire pour le bon déroulement du script */
var $UseFonction = Array(
'file_exists',
'is_array',
'explode',
'preg_replace',
'str_replace',
'fopen',
'fgets',
'fclose',
'feof'
);
/* Fonction qui revoie l'erreur correspondant a l'id */
function ERR_LIB( $ID )
{
if( isset( $this->ErrorLib[ $ID ] ) && !empty( $this->ErrorLib[ $ID ] ) )
{
$this->tmp[ 0 ] = $this->DefaultErrStyle[ 0 ] . 'Error ID = ' . $ID . $this->DefaultErrStyle[ 1 ] . htmlentities( $this->ErrorLib[ $ID ] ) . "[RLN][RLN][RLN][label][f=#000033['] style='#009999/] MangoTemplate (c) [RLN] By DotWizard512 [/en.sp][label]" . $this->DefaultErrStyle[ 2 ];
for( $this->index = 0; $this->index < count( $this->SpeChar ); $this->index++ )
{
$this->tmp[ 0 ] = str_replace( $this->SpeChar[ $this->index ][ 0 ] , $this->SpeChar[ $this->index ][ 1 ] , $this->tmp[ 0 ] );
}
return $this->tmp[ 0 ];
}
else
{
return $this->DefaultErrStyle[ 0 ] . $this->DefaultErr . $this->DefaultErrStyle[ 1 ] . $this->DefaultErrStyle[ 2 ];
}
}
/* Fonctions qui verifie toutes les fonctions obligatoire pour le bon déroulement du script */
function StartVerifOk()
{
for( $this->index = 0; $this->index < count( $this->UseFonction ); $this->index++ )
{
if( !empty( $this->UseFonction[ $this->index ] ) && !function_exists( $this->UseFonction[ $this->index ] ) )
{
return $this->ERR_LIB( 0 ) ;
}
}
}
/* Fonction d'utilisation d'une template */
function UseTemplate( $TPL , $DATA , $OPSIGN, $RESPECT_C , $CODE )
{
if( empty( $TPL ) or $TPL == " " )
{
return $this->ERR_LIB( 2 );
}
elseif( !file_exists( $TPL ) )
{
return $this->ERR_LIB( 1 );
}
elseif( !empty( $DATA ) && !is_array( $DATA ) )
{
$DATA = explode( ';' , $DATA );
$this->tmp[ 1 ] = Array();
$this->tmp[ 2 ] = count( $DATA );
for( $this->index = 0; $this->index < $this->tmp[ 2 ]; $this->index++ )
{
$this->tmp[ 1 ][ $this->index ] = explode( ':' , $DATA[ $this->index ] );
}
$DATA = $this->tmp[ 1 ];
}
elseif( empty( $DATA ) )
{
$DATA = Array( Array( '' , '' ) );
}
$this->tmp[ 3 ] = @fopen( $TPL , 'r' );
if( $this->tmp[ 3 ] == false )
{
return $this->ERR_LIB( 3 );
}
else
{
if( @fgets( $this->tmp[ 3 ] , filesize( $this->tmp[ 3 ] ) ) )
{
return $this->ERR_LIB( 3 );
}
$this->tmp[ 4 ] = "";
while( !feof( $this->tmp[ 3 ] ) )
{
$this->tmp[ 4 ] .= fgets( $this->tmp[ 3 ] , 255 );
}
}
@fclose( $this->tmp[ 3 ] );
$this->tmp[ 5 ] = $this->tmp[ 4 ];
if( empty( $OPSIGN ) )
{
$OPSIGN = $this->DefaultOpSign;
}
for( $this->index = 0; $this->index < count( $DATA ); $this->index++ )
{
$this->tmp[ 6 ] = "#(\\" . $OPSIGN . "\{ " . $DATA[ $this->index ][ 0 ] . " \})#";
if( !empty( $RESPECT_C ) && $RESPECT_C == true )
{
$this->tmp[ 6 ] .= "i";
}
if( !empty( $CODE ) && $CODE == true )
{
$this->tmp[ 6 ] .= "e";
}
$this->tmp[ 5 ] = preg_replace(
$this->tmp[ 6 ],
$DATA[ $this->index ][ 1 ],
$this->tmp[ 5 ]
);
}
return $this->tmp[ 5 ];
}
}
?>
Conclusion
Vous avez quelques exemples à l'interieur du zip regarder et dit moi votre avis ;)
P.S.: Pour la catégorie à vrai dire je ne sais pas dans laquelle il faut la mettre ( donc je l'ai mis dans 'Class et Objet' ) si vous avez une autre idée merci de me la proposer
Historique
- 23 avril 2006 13:29:50 :
- Changement de l'icone d'explication
- 23 avril 2006 18:44:31 :
- Pour le magniac de l'orthographe !!!!
- 23 avril 2006 22:33:47 :
- Rajout de la class MangoTemplate pour plus d'intérer a la source qu'à l'orthograthe
- 13 mai 2006 18:52:41 :
- Orthographe et grammaire ^^'
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Systeme de vote pour radio ! [ par radyonne ]
Bonjour,je voudrais savoir si quelqu'un saurait faire un system de vote pour le site web de ma radio, un system de vote comme celui de radiowave "top
LOGIN/INSCRIPTION AIDEZ MOI [ par Wars007 ]
Salut je voudrais savoir si qqun pouaris maidez pour faire un systeme de login/inscription en se connectant a la base de donner ou sans..Exemple:-->
facile a resoudre, jetez un oeil [ par Goodfellas_42 ]
Je veux faire une page php qui supprime les news ki sont cochéegrace au code suivant j'affiche la liste des news ds une table avec des checkboxes :$sq
system de dedicaces ! [ par radyonne ]
Bonjour,j'aimerais mettre un system de dedicaces sur le site web de notre radio mais avec une page reponse (merci d'avoir dedicacer "titre" etc ....)
systeme de news en xml et php [ par ares666 ]
Bonour,Je voudrais faire un systeme de news en php et xml mais je bloque completement.Je me suis documenté un peu mais je ne comprend rien au RSS-XML
question facile!!! [ par Waldo2188 ]
C encore le newBSalut à toute et à tous!je suis entrai de dev un site en php (et je souffre!)bon ma question:Es-qu'il xiste une fincion "sur clique" e
Brute force [ par devilink ]
Salut je cherche un system pour faire une brute force (je ve juste le code ki créer les mot de passe et non le system pour trouvé le mot de passe)
Commentaires [ par GreggBazin ]
Bonjour à tous, une tite question qui peut paraitre facile pour vous j'en suis sûr, est-ce qu'il est facile de mettre en place des ajouts de commentai
help - base de donnée => php ? la + facile ? [ par Michette ]
Bonjour,Je dois créer une base de donnée afin de faciliter la gestion de mon site qui est composé de photos de bijoux.J?ai auparavant appris l?ASP (ba
System d'inscription membres en 3 etapes [ par apz ]
:) Salut,J'aimerias bien avir un script d'inscription membres qui se base sur les sessions, avec trois etapes :1 - Saisie et validation du pseudo + mo
|
Derniers Blogs
SQL SERVER : QUERY NOTIFICATION OU COMMENT êTRE NOTIFIé DE MODIFICATIONS DE DONNéES CôTé APPLICATIONSQL SERVER : QUERY NOTIFICATION OU COMMENT êTRE NOTIFIé DE MODIFICATIONS DE DONNéES CôTé APPLICATION par christian
Cette fonctionnalité à vue le jour dans Ado.Net 2.0 et s'appuie sur SQL Server 2005 (et plus) même si elle fonctionne avec SQL Server 2000. Le principe de fonctionnement côté applicatif est assez simple, on fournit une requête et lorsque le résultat d...
Cliquez pour lire la suite de l'article par christian [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg [MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|