Подборка цветов в phpBB не на мой вкус - prosilver в голубеньких тонах лично меня раздражает. Так и тянет его перекрасить, но пока нечем - В.Трушкин до этой версии ещё не добрался.
Однако, для создания зелёненьких-красненьких и прочих стилей из prosilver никто не мешает нам применить простой дедовский метод: замену цветовой модели. Вот примитивный скрипт преобразования rgb->rbg в файлике colours.css (на тему "как работает и что делает" прошу вопросов не задавать), скриптик я обозвал ccm.php:
Код: Выделить всё
<?php
// ccm: Change Color Model
// v.0.0.1 (c) 2015 c61 http://c61.su
echo "ccm: processing...<br />\n";
// ch model r r g g b b
$ccm = array(1=>1,2=>2,3=>5,4=>6,5=>3,6=>4); // to rrbbgg
$fs = 'colours.css';
$fd = 'colours-ccm.css';
if ( ($css = file_get_contents($fs)) === false ) {
echo "Can't get file ".$fs;
exit;
}
if ( !preg_match_all("/#[a-f|0-9][a-f|0-9][a-f|0-9][a-f|0-9][a-f|0-9][a-f|0-9]/isu",$css,$matches,PREG_OFFSET_CAPTURE) ) {
echo "Can't find color matches at file ".$fs;
exit;
}
foreach ( $matches[0] as $match ) {
$newcolor = "#".$match[0][$ccm[1]].$match[0][$ccm[2]].$match[0][$ccm[3]].$match[0][$ccm[4]].$match[0][$ccm[5]].$match[0][$ccm[5]];
echo "offset=".$match[1].", color=".$match[0].", new color=".$newcolor."<br />";
for ( $i=0; $i<6; $i++ ) {
$css[$match[1]+1+$i] = $newcolor[1+$i];
}
}
if ( file_put_contents($fd,$css) === false ) {
echo "Can't put ".$fs;
exit;
}
echo "done.<br />";
?>Скриншот: Аналогичным способом можно получить иные раскраски, а при желании можно модифицировать скриптик и сотворить палитру в серых тонах и соответственно изменить картинки...
С subsilver2 можно проделать примерно то же самое. Вот файлы: Скриншот: Поправив приложенный выше скрипт (назвал его ccm2g.php):
Код: Выделить всё
<?php
// ccm2g: Change Color Model to Gray
// v.0.0.1 (c) 2015 c61 http://c61.su
echo "ccm2g: processing...<br />\n";
// ch model r r g g b b
$ccm = array(1=>1,2=>2,3=>5,4=>6,5=>3,6=>4); // to rrbbgg
$fs = 'colours.css';
$fd = 'colours-ccm2g.css';
if ( ($css = file_get_contents($fs)) === false ) {
echo "Can't get file ".$fs;
exit;
}
if ( !preg_match_all("/#[a-f|0-9][a-f|0-9][a-f|0-9][a-f|0-9][a-f|0-9][a-f|0-9]/isu",$css,$matches,PREG_OFFSET_CAPTURE) ) {
echo "Can't find color matches at file ".$fs;
exit;
}
foreach ( $matches[0] as $match ) {
$r = base_convert($match[0][1].$match[0][2],16,10);
$g = base_convert($match[0][3].$match[0][4],16,10);
$b = base_convert($match[0][5].$match[0][6],16,10);
if ( ($r != $g) || ($g != $b) ) {
$a = round(($r+$g+$b)/3.0,0);
$s = base_convert($a,10,16);
$newcolor = "#".$s.$s.$s;
echo "offset=".$match[1].", color=".$match[0].", new color=".$newcolor."<br />";
for ( $i=0; $i<6; $i++ ) {
$css[$match[1]+1+$i] = $newcolor[1+$i];
}
}
}
if ( file_put_contents($fd,$css) === false ) {
echo "Can't put ".$fs;
exit;
}
echo "done.<br />";
?>P.S. "По просьбам трудящихся" - зелёненькие и серо-зелёненькие стили целиком (скрипты преобразования в .../theme): P.P.S. Тема на моей тестовой площадке тынц.


