Skip to content
Extraits de code Groupes Projets
Valider e71fabf4 rédigé par real3t@gmail.com's avatar real3t@gmail.com
Parcourir les fichiers

Un peu de PHP pour décharger MySQL : la liste des images de fond de page,...

Un peu de PHP pour décharger MySQL : la liste des images de fond de page, bannière et pied de page sont mises en cache, et tirées au hasard en PHP.
Évite de faire des tas de requêtes MySQL à presque chaque hit (le cache n'était que de 1 seconde).
parent 967bf75e
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
#CACHE{1} <?php
$fonds= array();
?>
<BOUCLE_FondPageRubrique(HIERARCHIE){tout}{id_rubrique}{type_mot=_FondPage}{inverse}{0,1}> <BOUCLE_FondPageRubrique(HIERARCHIE){tout}{id_rubrique}{type_mot=_FondPage}{inverse}{0,1}>
<BOUCLE_LogoPage(MOTS){id_rubrique}{type=_FondPage}{par hasard}{0,1}> <BOUCLE_LogoPage(MOTS){id_rubrique}{type=_FondPage}>
#SET{lefond,#LOGO_MOT_NORMAL} <?php
#SET{lefondhachures,#LOGO_MOT_SURVOL} $fonds[] = array(
'fond' => '[(#LOGO_MOT_NORMAL|image_reduire{1920,0}|extraire_attribut{src}|timestamp|url_absolue)]',
'couleur' => '[#(#LOGO_MOT_NORMAL|image_reduire{30,0}|couleur_extraire{15,5})]',
'hachures' => '[(#LOGO_MOT_SURVOL|extraire_attribut{src}|timestamp|url_absolue)]'
);
?>
</BOUCLE_LogoPage> </BOUCLE_LogoPage>
</BOUCLE_FondPageRubrique> </BOUCLE_FondPageRubrique>
<BOUCLE_FondPageTemplate(MOTS){type=_FondPage}{descriptif!=''}{descriptif=#ENV{template}}{par hasard}{0,1}> <BOUCLE_FondPageTemplate(MOTS){type=_FondPage}{descriptif!=''}{descriptif=#ENV{template}}>
#SET{lefond,#LOGO_MOT_NORMAL} <?php
#SET{lefondhachures,#LOGO_MOT_SURVOL} $fonds[] = array(
'fond' => '[(#LOGO_MOT_NORMAL|image_reduire{1920,0}|extraire_attribut{src}|timestamp|url_absolue)]',
'couleur' => '[#(#LOGO_MOT_NORMAL|image_reduire{30,0}|couleur_extraire{15,5})]',
'hachures' => '[(#LOGO_MOT_SURVOL|extraire_attribut{src}|timestamp|url_absolue)]'
);
?>
</BOUCLE_FondPageTemplate> </BOUCLE_FondPageTemplate>
#SET{ExclureBannieresRubriques,#ARRAY}<BOUCLE_ExclureBannieresRubriques(RUBRIQUES){type_mot=_FondPage}{fusion id_mot}>[(#ID_MOT|unique|oui)[(#SET{ExclureBannieresRubriques,#GET{ExclureBannieresRubriques}|push{#ID_MOT}})]]</BOUCLE_ExclureBannieresRubriques> #SET{ExclureBannieresRubriques,#ARRAY}<BOUCLE_ExclureBannieresRubriques(RUBRIQUES){type_mot=_FondPage}{fusion id_mot}>[(#ID_MOT|unique|oui)[(#SET{ExclureBannieresRubriques,#GET{ExclureBannieresRubriques}|push{#ID_MOT}})]]</BOUCLE_ExclureBannieresRubriques>
<BOUCLE_FondPage(MOTS){type=_FondPage}{descriptif=''}{id_mot !IN #GET{ExclureBannieresRubriques}}{par hasard}{0,1}> <BOUCLE_FondPage(MOTS){type=_FondPage}{descriptif=''}{id_mot !IN #GET{ExclureBannieresRubriques}}>
#SET{lefond,#LOGO_MOT_NORMAL} <?php
#SET{lefondhachures,#LOGO_MOT_SURVOL} $fonds[] = array(
'fond' => '[(#LOGO_MOT_NORMAL|image_reduire{1920,0}|extraire_attribut{src}|timestamp|url_absolue)]',
'couleur' => '[#(#LOGO_MOT_NORMAL|image_reduire{30,0}|couleur_extraire{15,5})]',
'hachures' => '[(#LOGO_MOT_SURVOL|extraire_attribut{src}|timestamp|url_absolue)]'
);
?>
</BOUCLE_FondPage><//B_FondPageTemplate><//B_FondPageRubrique> </BOUCLE_FondPage><//B_FondPageTemplate><//B_FondPageRubrique>
[<style type="text/css"> <?php
$fond = $fonds[mt_rand(0, count($fonds) - 1)];;
if ($fond['fond']!='') {
?><style type="text/css">
/*<!\[CDATA\[*/ /*<!\[CDATA\[*/
@media only screen and (min-width: #CONFIG{soyezcreateurs_layout/largeurconteneur,960}px) { @media only screen and (min-width: #CONFIG{soyezcreateurs_layout/largeurconteneur,960}px) {
html { html {
background-color:[#(#GET{lefond}|image_reduire{30,0}|couleur_extraire{15,5})]; background-color:<?php echo($fond['couleur']); ?>;
background-image:url("(#GET{lefond}|image_reduire{1920,0}|extraire_attribut{src}|timestamp|url_absolue)"); background-image:url("<?php echo($fond['fond']); ?>");
background-repeat: no-repeat; background-repeat: no-repeat;
background-attachment: fixed; background-attachment: fixed;
background-position: center; background-position: center;
...@@ -28,8 +48,9 @@ html { ...@@ -28,8 +48,9 @@ html {
-o-background-size: cover; /* pour Opera */ -o-background-size: cover; /* pour Opera */
background-size: cover; /* version standardise */ background-size: cover; /* version standardise */
} }
[/* Combinaison de http://www.dreevoo.com/content.php?id=2270 et https://gist.github.com/omurphy27/5243251 avec http://www.patternify.com/ */ <?php
html:after { background: url("(#GET{lefondhachures}|extraire_attribut{src}|timestamp|url_absolue)") center repeat; if ($fond['hachures']!='') { ?>/* Combinaison de http://www.dreevoo.com/content.php?id=2270 et https://gist.github.com/omurphy27/5243251 avec http://www.patternify.com/ */
html:after { background: url("<?php echo($fond['hachures']); ?>") center repeat;
content: ""; content: "";
position: fixed; position: fixed;
bottom: 0; bottom: 0;
...@@ -38,8 +59,8 @@ html:after { background: url("(#GET{lefondhachures}|extraire_attribut{src}|times ...@@ -38,8 +59,8 @@ html:after { background: url("(#GET{lefondhachures}|extraire_attribut{src}|times
top: 0; top: 0;
opacity: 0.5; opacity: 0.5;
z-index: -2; z-index: -2;
}] }<?php } ?>
} }
/*\]\]>*/ /*\]\]>*/
</style>] </style><?php } ?>
#FILTRE{mini_html} #FILTRE{mini_html}
\ No newline at end of file
#CACHE{1} <?php
$bannieres= array();
?>
<BOUCLE_FooterBannerRubrique(HIERARCHIE){tout}{id_rubrique}{type_mot=_FooterBanner}{inverse}{0,1}> <BOUCLE_FooterBannerRubrique(HIERARCHIE){tout}{id_rubrique}{type_mot=_FooterBanner}{inverse}{0,1}>
<BOUCLE_LogoHeader(MOTS){id_rubrique}{type=_FooterBanner}{par hasard}{0,1}> <BOUCLE_LogoHeader(MOTS){id_rubrique}{type=_FooterBanner}>
#SET{labanniere,#LOGO_MOT_NORMAL} <?php
#SET{labannierehachures,#LOGO_MOT_SURVOL} $bannieres[] = array(
'banniere' => '[(#LOGO_MOT_NORMAL|image_reduire{1920,0}|extraire_attribut{src}|timestamp|url_absolue)]',
'hauteur' => '[#(#LOGO_MOT_NORMAL|hauteur)]',
'hachures' => '[(#LOGO_MOT_SURVOL|extraire_attribut{src}|timestamp|url_absolue)]'
);
?>
</BOUCLE_LogoHeader> </BOUCLE_LogoHeader>
</BOUCLE_FooterBannerRubrique> </BOUCLE_FooterBannerRubrique>
<BOUCLE_FooterBannerTemplate(MOTS){type=_FooterBanner}{descriptif!=''}{descriptif=#ENV{template}}{par hasard}{0,1}> <BOUCLE_FooterBannerTemplate(MOTS){type=_FooterBanner}{descriptif!=''}{descriptif=#ENV{template}}>
#SET{labanniere,#LOGO_MOT_NORMAL} <?php
#SET{labannierehachures,#LOGO_MOT_SURVOL} $bannieres[] = array(
'banniere' => '[(#LOGO_MOT_NORMAL|image_reduire{1920,0}|extraire_attribut{src}|timestamp|url_absolue)]',
'hauteur' => '[#(#LOGO_MOT_NORMAL|hauteur)]',
'hachures' => '[(#LOGO_MOT_SURVOL|extraire_attribut{src}|timestamp|url_absolue)]'
);
?>
</BOUCLE_FooterBannerTemplate> </BOUCLE_FooterBannerTemplate>
#SET{ExclureBannieresRubriques,#ARRAY}<BOUCLE_ExclureBannieresRubriques(RUBRIQUES){type_mot=_FooterBanner}{fusion id_mot}>[(#ID_MOT|unique|oui)[(#SET{ExclureBannieresRubriques,#GET{ExclureBannieresRubriques}|push{#ID_MOT}})]]</BOUCLE_ExclureBannieresRubriques> #SET{ExclureBannieresRubriques,#ARRAY}<BOUCLE_ExclureBannieresRubriques(RUBRIQUES){type_mot=_FooterBanner}{fusion id_mot}>[(#ID_MOT|unique|oui)[(#SET{ExclureBannieresRubriques,#GET{ExclureBannieresRubriques}|push{#ID_MOT}})]]</BOUCLE_ExclureBannieresRubriques>
<BOUCLE_FooterBanner(MOTS){type=_FooterBanner}{descriptif=''}{id_mot !IN #GET{ExclureBannieresRubriques}}{par hasard}{0,1}> <BOUCLE_FooterBanner(MOTS){type=_FooterBanner}{descriptif=''}{id_mot !IN #GET{ExclureBannieresRubriques}}>
#SET{labanniere,#LOGO_MOT_NORMAL} <?php
#SET{labannierehachures,#LOGO_MOT_SURVOL} $bannieres[] = array(
'banniere' => '[(#LOGO_MOT_NORMAL|image_reduire{1920,0}|extraire_attribut{src}|timestamp|url_absolue)]',
'hauteur' => '[#(#LOGO_MOT_NORMAL|hauteur)]',
'hachures' => '[(#LOGO_MOT_SURVOL|extraire_attribut{src}|timestamp|url_absolue)]'
);
?>
</BOUCLE_FooterBanner><//B_FooterBannerTemplate><//B_FooterBannerRubrique> </BOUCLE_FooterBanner><//B_FooterBannerTemplate><//B_FooterBannerRubrique>
[<style type="text/css"> <?php
$banniere = $bannieres[mt_rand(0, count($bannieres) - 1)];;
if ($banniere['banniere']!='') {
?><style type="text/css">
/*<!\[CDATA\[*/ /*<!\[CDATA\[*/
#footer { #footer {
background-image: [url("(#GET{labannierehachures}|extraire_attribut{src}|timestamp|url_absolue)"), #SET{hachures,1}]url("(#GET{labanniere}|extraire_attribut{src}|timestamp|url_absolue)"); background-image: <?php if ($banniere['hachures']!='') { ?>url("<?php echo($banniere['hachures']); ?>"), <?php } ?>url("<?php echo($banniere['banniere']); ?>");
background-repeat: [(#GET{hachures}|?{repeat, })]no-repeat; background-repeat: <?php if ($banniere['hachures']!='') { ?>repeat, <?php } ?>no-repeat;
background-position: [(#GET{hachures}|?{top, })]bottom; background-position: <?php if ($banniere['hachures']!='') { ?>top, <?php } ?>bottom;
min-height: [(#GET{labanniere}|hauteur)]px; min-height: <?php echo($banniere['hauteur']); ?>px;
height: [(#GET{labanniere}|hauteur)]px; height: <?php echo($banniere['hauteur']); ?>px;
display: table; display: table;
} }
#footer_inner { #footer_inner {
...@@ -29,5 +49,5 @@ ...@@ -29,5 +49,5 @@
vertical-align: bottom; vertical-align: bottom;
} }
/*\]\]>*/ /*\]\]>*/
</style>] </style><?php } ?>
#FILTRE{mini_html} #FILTRE{mini_html}
\ No newline at end of file
#CACHE{1} <?php
$bannieres= array();
?>
<BOUCLE_HeaderBannerRubrique(HIERARCHIE){tout}{id_rubrique}{type_mot=_HeaderBanner}{inverse}{0,1}> <BOUCLE_HeaderBannerRubrique(HIERARCHIE){tout}{id_rubrique}{type_mot=_HeaderBanner}{inverse}{0,1}>
<BOUCLE_LogoHeader(MOTS){id_rubrique}{type=_HeaderBanner}{par hasard}{0,1}> <BOUCLE_LogoHeader(MOTS){id_rubrique}{type=_HeaderBanner}>
#SET{labanniere,#LOGO_MOT_NORMAL} <?php
#SET{labannierehachures,#LOGO_MOT_SURVOL} $bannieres[] = array(
'banniere' => '[(#LOGO_MOT_NORMAL|image_reduire{1920,0}|extraire_attribut{src}|timestamp|url_absolue)]',
'hauteur' => '[#(#LOGO_MOT_NORMAL|hauteur)]',
'hauteurrelative' => '[#(#LOGO_MOT_NORMAL|hauteur|div{#CONFIG{soyezcreateurs_layout/largeurconteneur,960}}|mult{100})]',
'hachures' => '[(#LOGO_MOT_SURVOL|extraire_attribut{src}|timestamp|url_absolue)]'
);
?>
</BOUCLE_LogoHeader> </BOUCLE_LogoHeader>
</BOUCLE_HeaderBannerRubrique> </BOUCLE_HeaderBannerRubrique>
<BOUCLE_HeaderBannerTemplate(MOTS){type=_HeaderBanner}{descriptif!=''}{descriptif=#ENV{template}}{par hasard}{0,1}> <BOUCLE_HeaderBannerTemplate(MOTS){type=_HeaderBanner}{descriptif!=''}{descriptif=#ENV{template}}>
#SET{labanniere,#LOGO_MOT_NORMAL} <?php
#SET{labannierehachures,#LOGO_MOT_SURVOL} $bannieres[] = array(
'banniere' => '[(#LOGO_MOT_NORMAL|image_reduire{1920,0}|extraire_attribut{src}|timestamp|url_absolue)]',
'hauteur' => '[#(#LOGO_MOT_NORMAL|hauteur)]',
'hauteurrelative' => '[#(#LOGO_MOT_NORMAL|hauteur|div{#CONFIG{soyezcreateurs_layout/largeurconteneur,960}}|mult{100})]',
'hachures' => '[(#LOGO_MOT_SURVOL|extraire_attribut{src}|timestamp|url_absolue)]'
);
?>
</BOUCLE_HeaderBannerTemplate> </BOUCLE_HeaderBannerTemplate>
#SET{ExclureBannieresRubriques,#ARRAY}<BOUCLE_ExclureBannieresRubriques(RUBRIQUES){type_mot=_HeaderBanner}{fusion id_mot}>[(#ID_MOT|unique|oui)[(#SET{ExclureBannieresRubriques,#GET{ExclureBannieresRubriques}|push{#ID_MOT}})]]</BOUCLE_ExclureBannieresRubriques> #SET{ExclureBannieresRubriques,#ARRAY}<BOUCLE_ExclureBannieresRubriques(RUBRIQUES){type_mot=_HeaderBanner}{fusion id_mot}>[(#ID_MOT|unique|oui)[(#SET{ExclureBannieresRubriques,#GET{ExclureBannieresRubriques}|push{#ID_MOT}})]]</BOUCLE_ExclureBannieresRubriques>
<BOUCLE_HeaderBanner(MOTS){type=_HeaderBanner}{descriptif=''}{id_mot !IN #GET{ExclureBannieresRubriques}}{par hasard}{0,1}> <BOUCLE_HeaderBanner(MOTS){type=_HeaderBanner}{descriptif=''}{id_mot !IN #GET{ExclureBannieresRubriques}}>
#SET{labanniere,#LOGO_MOT_NORMAL} <?php
#SET{labannierehachures,#LOGO_MOT_SURVOL} $bannieres[] = array(
'banniere' => '[(#LOGO_MOT_NORMAL|image_reduire{1920,0}|extraire_attribut{src}|timestamp|url_absolue)]',
'hauteur' => '[(#LOGO_MOT_NORMAL|hauteur)]',
'hauteurrelative' => '[(#LOGO_MOT_NORMAL|hauteur|div{#CONFIG{soyezcreateurs_layout/largeurconteneur,960}}|mult{100})]',
'hachures' => '[(#LOGO_MOT_SURVOL|extraire_attribut{src}|timestamp|url_absolue)]'
);
?>
</BOUCLE_HeaderBanner><//B_HeaderBannerTemplate><//B_HeaderBannerRubrique> </BOUCLE_HeaderBanner><//B_HeaderBannerTemplate><//B_HeaderBannerRubrique>
[<style type="text/css"> <?php
$banniere = $bannieres[mt_rand(0, count($bannieres) - 1)];;
if ($banniere['banniere']!='') {
?><style type="text/css">
/*<!\[CDATA\[*/ /*<!\[CDATA\[*/
#header { position: relative; } #header { position: relative; }
#header:before { #header:before {
background-image: [url("(#GET{labannierehachures}|extraire_attribut{src}|timestamp|url_absolue)"), #SET{hachures,1}]url("(#GET{labanniere}|extraire_attribut{src}|timestamp|url_absolue)"); background-image: <?php if ($banniere['hachures']!='') { ?>url("<?php echo($banniere['hachures']); ?>"), <?php } ?>url("<?php echo($banniere['banniere']); ?>");
background-repeat: [(#GET{hachures}|?{repeat, })]no-repeat; background-repeat: <?php if ($banniere['hachures']!='') { ?>repeat, <?php } ?>no-repeat;
background-size: [(#GET{hachures}|?{initial, })]cover; background-size: <?php if ($banniere['hachures']!='') { ?>initial, <?php } ?>cover;
display: block; display: block;
content: ""; content: "";
width: 100%; width: 100%;
padding-top: [(#GET{labanniere}|hauteur|div{#CONFIG{soyezcreateurs_layout/largeurconteneur,960}}|mult{100})]%; padding-top: <?php echo($banniere['hauteurrelative']); ?>%;
} }
#headerbackground { #headerbackground {
position: absolute; position: absolute;
...@@ -35,12 +58,12 @@ ...@@ -35,12 +58,12 @@
} }
#header_inner { #header_inner {
position: relative; position: relative;
margin-top: [-(#GET{labanniere}|hauteur|div{#CONFIG{soyezcreateurs_layout/largeurconteneur,960}}|mult{100})]%; margin-top: -<?php echo($banniere['hauteurrelative']); ?>%;
min-height: [(#GET{labanniere}|hauteur)]px; min-height: <?php echo($banniere['hauteur']); ?>px;
} }
[(#CONFIG{soyezcreateurs/afficher_titre,visible}|=={invisible}|oui) [(#CONFIG{soyezcreateurs/afficher_titre,visible}|=={invisible}|oui)
#header h1 { position:absolute !important; overflow:hidden !important; top:-2000px !important; left:-2000px !important; height:0 !important; width:0 !important; } #header h1 { position:absolute !important; overflow:hidden !important; top:-2000px !important; left:-2000px !important; height:0 !important; width:0 !important; }
] ]
/*\]\]>*/ /*\]\]>*/
</style>] </style><?php } ?>
#FILTRE{mini_html} #FILTRE{mini_html}
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter