Salut,
Ce que tu peux faire, c'est faire ton CSS principal avec tes variables [[VARIABLE]], et lorsque tu vérifies si le CSS a changé, avant de le copier vers tes 5 sites, avec la fonction PHP str_replace(), tu remplaces tes [[VARIABLE]] par la valeur de chaque site.
Ca fait quelque chose comme (je me suis servi d'une class que j'utilise pour mes templates, que j'ai épuré au max pour ton besoin) :
<?php
final class template{
private $template;
private $vars;
public function start($tpl, array $vars){
$this->setTemplate($tpl);
$this->vars = $vars;
$this->template = $this->replaceVars($this->template);
return $this->template;
}
private function replaceVars(&$str){
$patterns = array();
$replacements = array();
foreach($this->vars as $key => $val){
$patterns[] = '[['.$key.']]';
$replacements[] = $val;
}
return str_replace($patterns, $replacements, $str);
}
private function setTemplate($tpl){
$this->template = file_get_contents($tpl);
}
}
$template = new template();
$tplVars = array(
'site1' => array(
'COULEUR1' => 'black',
'COULEUR2' => 'white',
'FONT_SIZE' => '1.1em'
),
'site2' => array(
'COULEUR1' => 'green',
'COULEUR2' => 'white',
'FONT_SIZE' => '1.2em'
),
'site3' => array(
'COULEUR1' => '#ffffff',
'COULEUR2' => 'yellow',
'FONT_SIZE' => '1.3em'
),
'site4' => array(
'COULEUR1' => '#ffffff',
'COULEUR2' => '#000000',
'FONT_SIZE' => '1.4em'
),
'site5' => array(
'COULEUR1' => '#ffffff',
'COULEUR2' => '#000000',
'FONT_SIZE' => '1.4em'
)
);
$sites = array(
'site1' => array(
'local' => 'lien_vers_css_site1.css',
'ftp' => 'ftp.url_site1',
'login' => 'username',
'pwd' => 'password'
'distant' => 'lien_vers_css_site1.css',
),
'site2' => array(
'local' => 'lien_vers_css_site2.css',
'ftp' => 'ftp.url_site2',
'login' => 'username',
'pwd' => 'password'
'distant' => 'lien_vers_css_site2.css',
),
'site3' => array(
'local' => 'lien_vers_css_site3.css',
'ftp' => 'ftp.url_site3',
'login' => 'username',
'pwd' => 'password'
'distant' => 'lien_vers_css_site3.css',
),
'site4' => array(
'local' => 'lien_vers_css_site4.css',
'ftp' => 'ftp.url_site4',
'login' => 'username',
'pwd' => 'password'
'distant' => 'lien_vers_css_site4.css',
),
'site5' => array(
'local' => 'lien_vers_css_site5.css',
'ftp' => 'ftp.url_site5',
'login' => 'username',
'pwd' => 'password'
'distant' => 'lien_vers_css_site5.css',
)
);
foreach($tplVars as $site => $vars){
$css = $template->start('lien_vers_tpl_css.css', $vars);
$fh = fopen($sites[$site]['local'], 'w');
fwrite($fh, $css);
fclose($fh);
$ftp = ftp_connect($sites[$site]['ftp']);
$login = ftp_login($ftp, $sites[$site]['login'], $sites[$site]['pwd']);
ftp_put($ftp, $sites[$site]['distant'], $sites[$site]['local'], FTP_ASCII);
ftp_close($ftp);
}
?>
A noter que j'ai pas testé le code concernant la partie FTP ^^
Je te laisse le plaisir d'essuyer les platres
A noter également qu'il te faut une copie des 5 fichiers CSS en local (là où s'exécute le script php)
Puis je ne sais pas pourquoi, je sens que j'ai fait tout ce code pour rien parce que tu ne t'en serviras probablement pas
Mais c'est pas grave je me suis amusé quand meme!
Modifié par taspeur (10 Dec 2017 - 11:16)