header-xh-01 header-xh-02 header-xh-03 header-xh-04 header-xh-05 header-xh-06 header-xh-07 header-xh-08 header-xh-09 header-xh-10 header-xh-11 header-xh-12 header-xh-13 header-xh-14
Templates für CMSimple_XH von
KRL Software-Development
private, nicht kommerzielle Website
by Karl Richard Lembach
Sie sind hier: Startseite > Template krl-3col-flex > Dateien des Templates > Ordner config > favicon_def.php

favicon_def.php

Die Datei favicon_def.php dient dazu, die gewünschten Favicons auszuwählen und Datei favicon.php zu schreiben.

Abfrage des Ersatz-Ordners für die Icons

Zusammenstellen der Auswahl der gewünschten Icons

 

Vorschau auf favicon.php

Dateiname: templates/krl-3col-flex/config/favicon_def.php

<?php
/*
* @category Template for CMSimple_XH Version 1.7+
* @package krl-3col-flex
* @version 3.2.2
* @file favicon_def.php | gererieren der favicon.php mit den Definitionen des Favicons
* @last_modified 10.03.2024
* @author Karl Richard Lembach | https://lembach-cmsimple.de/?Home
* @copyright 2021 - 2024 Karl Richard Lembach <https://lembach-cmsimple.de>
* @license https://www.gnu.org/licenses/gpl-3.0 GNU GPLv3
* @link https://template.lembach-cmsimple.de/?Template-krl-3col-flex
* @contact https://lembach-cmsimple.de/?Home/Kontakt-Formular | webmaster@lembach-cmsimple.de

Dieses Programm ist freie Software.
Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht,
weitergeben und/oder modifizieren, entweder gemäß Version 3 der Lizenz oder (nach Ihrer Option) jeder späteren Version.

Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE,
sogar ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License.

Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem Programm erhalten haben. Falls nicht, siehe <https://www.gnu.org/licenses/gpl-3.0>.
Deutsche Übersetzung (kein rechtskräftiger Ersatz des Originals): http://www.gnu.de/documents/gpl.de.html
*/
/*
Das soll erzeugt werden:
<link rel="apple-touch-icon" sizes="57x57" href="<?=$pth['folder']['templateimages']?>favicon/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="<?=$pth['folder']['templateimages']?>favicon/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="<?=$pth['folder']['templateimages']?>favicon/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="<?=$pth['folder']['templateimages']?>favicon/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="<?=$pth['folder']['templateimages']?>favicon/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="<?=$pth['folder']['templateimages']?>favicon/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="<?=$pth['folder']['templateimages']?>favicon/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="<?=$pth['folder']['templateimages']?>favicon/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="<?=$pth['folder']['templateimages']?>favicon/apple-touch-icon-180x180.png">
<link rel="apple-touch-icon" sizes="180x180" href="<?=$pth['folder']['templateimages']?>favicon/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="16x16" href="<?=$pth['folder']['templateimages']?>favicon/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="<?=$pth['folder']['templateimages']?>favicon/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="192x192" href="<?=$pth['folder']['templateimages']?>favicon/android-chrome-192x192.png">
<link rel="manifest" href="<?=$pth['folder']['templateimages']?>favicon/site.webmanifest">
<link rel="mask-icon" href="<?=$pth['folder']['templateimages']?>favicon/safari-pinned-tab.svg" color="#d09b3f">
<link rel="shortcut icon" href="<?=$pth['folder']['templateimages']?>favicon/favicon.ico">
<meta name="msapplication-TileColor" content="#d09b3f">
<meta name="msapplication-TileImage" content="<?=$pth['folder']['templateimages']?>favicon/mstile-144x144.png">
<meta name="msapplication-config" content="<?=$pth['folder']['templateimages']?>favicon/browserconfig.xml">
<meta name="theme-color" content="#d09b3f">
----------------------------------------------------------------------------------------------------------------------------------
Alle Icons mit Vorschau und sizes= - Angaben auflisten und Übernahme-Button, der bei Übernahme von rot auf grün springt (X nach Haken √ Wurzel &radic;)
Den Wert für color= / content= Abfragen mit Defaultvorgabe aus den vorhandenen Zeilen
der msapplication-Kram ist windows-spezifisch und betrifft den IE - kann daher vernachlässigt werden.
*/

// $folder_name mit Default-Wert besetzen, wenn kein Wert vorhanden ist

if ($folder_name == "") {
$folder_name = $pth['folder']['templateimages'] . 'favicon/';
}

// Header der Seite ausgeben

$htmltext .= '<fieldset class="conf">' . InfoPunkt("favicon_info") . '
<fieldset class="conf2">
' . $text['favicon_introtext'] . '<br>' . substr($pth['folder']['templateimages'], 1) . 'favicon/<br>&nbsp;
</fieldset>
<fieldset class="conf2">
' . $text['favicon_generator'] . '<br>
<a href="https://realfavicongenerator.net/" target="_blank" rel="noopener titel="Online Real Favicon Generator">https://realfavicongenerator.net/</a><br>
<a title="Eine Kurzanleiteung" href="https://lembach-cmsimple.de/?Tools-Werkzeuge/Online-Tools/Favicon-Generator.-For-Real" target="_blank" rel="noopener">Hinweise zur Bedienung</a>
</fieldset>
';

// Wenn der Favicon-Ordner nicht existiert, nach alternativem Ordner fragen

if (!is_readable($folder_name)) {
// Abfrage des Ordnernamens vom root des Server aus beginnend
$htmltext .= '
<form method="post">
<fieldset class="conf1">
<legend class="shadow">' . $text["favicon_foldername"] . '</legend>
<div class="shadow">
<label>' . $text["favicon_foldername_request"] . '</label>
</div>
<input id="alphanumeric" type="text" name="folder_name" value="' . $folder_name . '" onchange="submit();" placeholder="' . $folder_name . '" length="100"/><br>
<input name="aktionswahl" type="hidden" value="' . $aktionswahl . '" />
</fieldset>
</form>
';
}

// Ende des ersten Formulars

// Öffnen des Favicons Verzeichnisses und danach seinen Inhalt einlesen und die Dateien in einem Array speichern

$i = 0;
if (is_dir($folder_name)) {
if ($dh = opendir($folder_name)) {
while (($file = readdir($dh)) !== false) {
if (is_file($folder_name . $file)) {
$dateiliste[$i] = $file; // Dateinamen
if ($deselectall) {
$checkliste[$i] = false;
} // Flag für checked in der Check-Box
if ($selectall) {
$checkliste[$i] = true;
} // Flag für checked in der Check-Box
$i = $i + 1;
}
}
closedir($dh);
}
}

$anzahl_dateien = $i; // wird weiter unten damit gespeichert: <input name="anzahl_dateien" type="hidden" value="' . $anzahl_dateien . '" />
if ($anzahl_dateien > 0) {
sort($dateiliste);
}

if ($write_favicon <> "") {
$htmltext .= '
<legend class="shadow" style="color: red; background-color: yellow;" > <b>' . $text['favicon_file_write'] . '</b> </legend><br>
';
}
// Formularbeginn
// Alle Dateien aus- oder Abwählen

$htmltext .= '
<form method="post" id="mainform">
<fieldset class="conf1">' . InfoPunkt("favicon_info_allekeine") . '
<legend class="shadow">' . $text["favicon_selection"] . '</legend>
<fieldset class="conf3">
<legend class="shadow">' . $text["favicon_select_request"] . '</legend>
<span class="glow">
<input id="alle" type="checkbox" name="selectall" value="' . $selectall . '" onchange="submit();">
<label for="alle" >' . $text['favicon_select_all'] . '</label>
</span>
&nbsp; &nbsp;
<span class="glow">
<input id="keine" type="checkbox" name="deselectall" value="'.$deselectall. '" onchange="submit();">
<label for="keine">' . $text['favicon_deselect_all'] . '</label>
</span>
</fieldset>
<fieldset class="conf2" style="width: calc((100% - 9.375ex) / 10 * 5.5);">
<legend class="shadow">' . $text["favicon_file_request"] . '</legend>
<table class="favicon_auswahl">
';

// Multi-Select-Liste der Dateien ausgeben

$i = 0;
foreach ($dateiliste as $datei_name) {
$file_extension = strtolower(pathinfo($datei_name, PATHINFO_EXTENSION));
if (($file_extension == 'xml') or ($file_extension == 'webmanifest') or ($file_extension == 'svg')) {
$htmltext .= '
<tr>
<td class="glow" colspan="2">
<input id="select' . $i . '" type="checkbox" name="checkliste'.$i.'" value="' . $checkliste[$i] . '" ';
if ($checkliste[$i]) {
$htmltext .= 'checked';
}
$htmltext .= '>
<label for="select'.$i.'">&nbsp;<span style="margin-left: 30px;">&nbsp;</span>' . $datei_name . '</label>
</td>
</tr>';
// Schleifenindex hochzählen
$i = $i + 1;
} else {
$htmltext .= '
<tr>
<td class="glow">
<input id="select' . $i . '" type="checkbox" name="checkliste'.$i.'" value="' . $checkliste[$i] . '" ';
if ($checkliste[$i]) {
$htmltext .= 'checked';
}
$htmltext .= '>
<label for="select'.$i.'">';
$size = getimagesize($folder_name.$datei_name);
$htmltext .= '&nbsp;
<img style="border: 0px solid white;" src="' . $folder_name . $datei_name .'" width="30" height="30" loading="lazy"> ' . $datei_name . '
</label>
</td>
<td style="text-align: right">
<span class="smaller"> Img-size=' . $size[0] . '*' . $size[1] . '</span>
</td>
</tr> ';
// Schleifenindex hochzählen
$i = $i + 1;
}
}

// Formularwerte Dateiauswahl speichern

$htmltext .= '</table>
<input name="anzahl_dateien" type="hidden" value="' . $anzahl_dateien . '" />
<input name="folder_name" type="hidden" value="' . $folder_name . '" />
<input name="write_favicon" type="hidden" value="" />
<input name="aktionswahl" type="hidden" value="' . $aktionswahl . '" />
<button type="submit" id="rechts">' . $text["submit"] . '</button>
</fieldset>' . InfoPunkt("favicon_info_color");

// Formular Farbauswahl

/*
$j = 0;
while ($j < $anzahl_dateien) {
if ($checkliste[$j] and ($icon_color == "")) {
$icon_color = "#f0f0f0";
}
$j = $j + 1;
}
*/

$icon_color = strtoupper($icon_color);
$htmltext .= '
<fieldset class="conf2" style="width: calc((100% - 9.375ex) / 10 * 4.5);">
<legend class="shadow">' . $text["favicon_color_request"] . '</legend>
<div id="colortransp">
<label class="shadow" for="color">' . $text["favicon_color"] . ' = ' . $icon_color . '</label><br>';
if (!function_exists('getPageDataFields')) {
$htmltext .= ' <input name="icon_color" id="color" type="color" value="' . $icon_color . '>';
} else {
$htmltext .= ' <input id="color_js" class="color" type="text" name="icon_color" value="' . $icon_color . '" maxlength="7">';
}
$htmltext .= '<button type="submit" id="rechts">' . $text["submit"] . '</button>
</div>
</fieldset>

</fieldset>';


// Vorschau-Formular mit "Daten speichern" Button oder Datei schreiben
$mstile = 0;
$i = 0;
while ($i < $anzahl_dateien) {
$dateiliste[$i] = strtolower($dateiliste[$i]);
if ($checkliste[$i]) {
$sizes = '';
$size = getimagesize($folder_name . $dateiliste[$i]);
if (strlen($size[0]) > 0) {
$sizes = 'sizes="' . $size[0] . 'x' . $size[1] . '"';
$verarbeitet = 0;
if (strpos($dateiliste[$i], "ndroid-chrome") > 0) {
$favicon_liste[$i] = '<link rel="icon" type="image/png" ' . $sizes . ' href="' . substr($folder_name, 1) . $dateiliste[$i] . '">';
$verarbeitet = 1;
}
if (strpos($dateiliste[$i], "pple-touch-icon") > 0) {
$favicon_liste[$i] = '<link rel="apple-touch-icon" ' . $sizes . ' href="' . substr($folder_name, 1) . $dateiliste[$i] . '">';
$verarbeitet = 1;
}
if (strpos($dateiliste[$i], "stile") > 0) {
$favicon_liste[$i] = '<meta name="msapplication-TileImage" content="' . substr($folder_name, 1) . $dateiliste[$i] . '">';
$mstile = 1;
$verarbeitet = 1;
}
if (strpos($dateiliste[$i], "avicon") > 0) {
$favicon_liste[$i] = '<link rel="icon" type="image/png" ' . $sizes . ' href="' . substr($folder_name, 1) . $dateiliste[$i] . '">';
$verarbeitet = 1;
}
if ($verarbeitet == 0) {
$favicon_liste[$i] = '<link rel="icon" type="image/png" ' . $sizes . ' href="' . substr($folder_name, 1) . $dateiliste[$i] . '">';
}
} else {
if (pathinfo($dateiliste[$i], PATHINFO_EXTENSION) == 'webmanifest') {
$favicon_liste[$i] = '<link rel="manifest" href="' . substr($folder_name, 1) . $dateiliste[$i] . '">';
}
if (pathinfo($dateiliste[$i], PATHINFO_EXTENSION) == 'ico') {
$favicon_liste[$i] = '<link rel="shortcut icon" href="' . substr($folder_name, 1) . $dateiliste[$i] . '">';
}
if (pathinfo($dateiliste[$i], PATHINFO_EXTENSION) == 'xml') {
$favicon_liste[$i] = '<link rel="msapplication-config" content="' . substr($folder_name, 1) . $dateiliste[$i] . '">';
}
if (strpos($dateiliste[$i], "afari-pinned-tab") > 0) {
$favicon_liste[$i] = '<link rel="mask-icon" href="' . substr($folder_name, 1) . $dateiliste[$i] . '" color="' . $icon_color . '">';
}
if (strpos($dateiliste[$i], "rowserconfig") > 0) {
$favicon_liste[$i] = '<meta name="msapplication-config" content="' . substr($folder_name, 1) . $dateiliste[$i] . '">';
}
}
}
$i = $i + 1;
}
if (($mstile == 1) and ($icon_color <> "")) {
$favicon_liste[$i] = '<meta name="msapplication-TileColor" content="' . $icon_color . '">';
$i = $i + 1;
}
if (($anzahl_dateien > 0) and ($icon_color <> "")) {
$favicon_liste[$i] = '<meta name="theme-color" content="' . $icon_color . '">';
}

if ($write_favicon <> "") {
$fp = fopen($pth['folder']['template'].'favicon.php', 'w');
foreach ($favicon_liste as $zeile) {
if (strlen($zeile) > 1) {
fputs($fp,$zeile."\n");
}
}
fclose($fp);
// $checkliste = array();
$htmltext .= '<legend class="shadow" style="float: right; margin-right: 3.3ex;"> <b>' . $text['favicon_file_write'] . '</b> </legend><br>
<p style="text-align: center;">' . $text['favicon_write_again'] . '</p><p class="hr-gradient"> </p>
<input name="deselectall" type="hidden" value="true" />
<input name="icon_color" type="hidden" value="" />
<input name="write_favicon" type="hidden" value="" />
<input name="aktionswahl" type="hidden" value="' . $aktionswahl . '" />
<script type="text/javascript">

function formAutoSubmit () {

var frm = document.getElementById("mainform");

frm.submit();

}

window.onload = formAutoSubmit;

</script>
';
} else {
$htmltext .= '
<fieldset class="conf">
<legend class="shadow">' . $text["favicon_file_content"] . '</legend>';
foreach ($favicon_liste as $zeile) {
if (strlen($zeile) > 1) {
$htmltext .= htmlspecialchars($zeile). '<br>';
}
}

$htmltext .= '
<input name="anzahl_dateien" type="hidden" value="' . $anzahl_dateien . '" />
<input name="checkliste" type="hidden" value="' . $checkliste . '" />
<input name="favicon_liste" type="hidden" value="' . $favicon_liste . '" />
<input name="aktionswahl" type="hidden" value="' . $aktionswahl . '" />
<input name="write_favicon" type="submit" value="' . $text["save"] . '" id="rechts">
</fieldset>
</fieldset>
</form>';
}
echo $htmltext;
$htmltext = '';
?>

| Seitenanfang |