Auteur/ author : CyberAlien
Site Web/Website : easytutorials.org
tutoriel d'origine (et beaucoup d'autres!)/Original tutorial (and many others!) : Clone phpBB 3 Style
But du tutoriel :
Dupliquer et renommer un style automatiquement afin de créer son propre template.
Comment procéder :
- Télécharger le zip suivant:
clone.php
- Decompressez l'archive sur votre disque dur
- Ouvrez le fichier clone.php à l'aide d'un éditeur de texte
(wordpad, bloc-note, etc)
- trouvez : (ligne 1, 2 et 3)
<?php
$src = 'prosilver';
$dst = 'votre_nom_de_thème';
remplacez prosilver par le nom du thème que vous voulez copier.
*note : en théorie, seuls prosilver et subSilver2 sont utilisables comme base de travail.
remplacez votre_nom_de_thème par le nom que vous avez choisi pour votre thème.
*note : certains caractères spéciaux, ponctuations et autres espaces empêchent un clonage en bon et due forme.
- Avec votre ftp, uploadez le fichier clone.php dans le dossier "/phpBB3/styles/" de votre forum
- Executez le fichier avec votre navigateur
( http://www.votre_domaine/phpBB3/styles/clone.php )
Voilà c'est fait, votre nouveau template se trouve dans le dossier "styles" il ne vous reste plus qu'à l'installer par le panneau d'administration.
source : http://xsatagogo.hostarea.org/topic21.html
fichier clone.php
<?php
$src = 'prosilver';
$dst = 'votre_nom_de_thème';
$ln = isset($_SERVER['HTTP_HOST']) ? '<br />' : "\n";
echo 'Copying ', $src, ' to ', $dst, '...', $ln;
$files = array();
get_files($src, '/');
function get_files($base, $dir)
{
global $files;
$res = opendir($base . $dir);
while(($file = readdir($res)) !== false)
{
if($file !== '.' && $file !== '..')
{
if(is_dir($base . $dir . $file))
{
get_files($base, $dir . $file . '/');
}
else
{
$files[] = $dir . $file;
}
}
}
closedir($res);
}
for($i=0; $i<count($files); $i++)
{
clone_file($src, $dst, $files[$i]);
}
function clone_file($src, $dst, $file)
{
$new = $dst . str_replace($src, $dst, $file);
$data = @file_get_contents($src . $file);
$list = explode('.', strtolower($file));
$ext = $list[count($list) - 1];
if($ext === 'html' || $ext === 'cfg' || $ext === 'css' || $ext === 'php' || $ext === 'txt' || $ext === 'js' || $ext === 'htm')
{
$data = str_replace($src, $dst, $data);
}
$dirname = dirname($new);
if(strlen($dirname) && !@file_exists($dirname))
{
$list = explode('/', $dirname);
$str = '';
for($i=0; $i<count($list); $i++)
{
$str .= (strlen($str) ? '/' : '') . $list[$i];
if(!@file_exists($str))
{
if(!@mkdir($str, 0777))
{
echo 'Cannot write cache file "' . $new . '".', $ln;
return;
}
}
}
}
$f = @fopen($new, 'w');
if(!$f)
{
echo 'Cannot write cache file "' . $new . '".', $ln;
return;
}
fputs($f, $data);
fclose($f);
chmod($new, 0777);
touch($new, filemtime($src . $file));
}
echo 'done!';
?>

