danspringer / be_branding

Mit diesem Addon lässt sich das Backend von REDAXO 5 branden.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Generierung von farbigen Backend-Favicons nicht mehr bei jedem Seitenaufruf

danspringer opened this issue · comments

Zur Zeit (1.8.0-beta3) werden bei jedem Seitenaufruf im Backend die Backend-Favicons neu generiert.

Hier ist es ausreichend, dass - ähnlich wie bei den Frontend-Favicons - die Icons lediglich beim Speichern der Branding-Config-Seite generiert werden und dann nur noch beim Seitenaufruf eingebunden werden.

if(class_exists('Imagick') === true) {
if(rex_addon::get('be_branding')->getConfig('coloricon') == 1) {
$addon = rex_addon::get('be_branding');
// Initiale Farbe für R setzen und als neues png abspeichern
be_branding::makeFavIcon(be_branding::rgba2hex($addon->getConfig('color1'. be_branding::getCurrentBeDomainId(true))), rex_path::addon('be_branding') . 'vendor/favicon/');
// aus dem png dann die Favicons generieren
//https://github.com/dmamontov/favicon reinholen
require rex_path::addon('be_branding') . 'vendor/favicon/src/BE_FaviconGenerator.php';
$fav = new BE_FaviconGenerator(rex_path::addonAssets('be_branding') . 'favicon/favicon-original-' . str_replace('#', '', be_branding::rgba2hex($addon->getConfig('color1'. be_branding::getCurrentBeDomainId(true)))) . '.png');
$fav->setCompression(BE_FaviconGenerator::COMPRESSION_VERYHIGH);
$fav->setConfig(array(
'apple-background' => substr($addon->getConfig('color1'. be_branding::getCurrentBeDomainId(true)), 1, 6),
'apple-margin' => 0,
'android-background' => substr($addon->getConfig('color1'. be_branding::getCurrentBeDomainId(true)), 1, 6),
'android-margin' => 0,
'android-name' => rex::getServerName(),
'android-url' => rex::getServer(),
'android-orientation' => BE_FaviconGenerator::ANDROID_PORTRAIT,
'ms-background' => substr($addon->getConfig('color1'), 1, 6)
));
// Erst die BE-Branding Favicons ausgeben
echo $fav->createAllAndGetHtml(be_branding::rgba2hex($addon->getConfig('color1'. be_branding::getCurrentBeDomainId(true))));
// Jetzt die Redaxo-Favicons löschen, aber die Scripts im pageHeader beibehalten
echo be_favicon::removeRexCoreFavicons($this->pageHeader,"link","rel","icon");
} else {
echo $this->pageHeader;
}
}