theme, plugins und config für die Webseite der Baptisten Hohenacker https://baptisten-hohenacker.de
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

149 lines
4.7 KiB

<?php
namespace Grav\Plugin;
//mb_internal_encoding("iso-8859-15");
//echo mb_internal_encoding();
class LosungTwigExtension extends \Twig_Extension
{
public function getName()
{
return 'LosungTwigExtension';
}
public function getFunctions()
{
return [
new \Twig_SimpleFunction('losung', [$this, 'losungFunction'])
];
}
public function losungFunction()
{
// =================================
// Script zum Einfügen der Losungen:
// =================================
// Einstellungen:
// ==============
// Bibeltext fett ausgeben: (1 = fett 0 = nicht fett)
$LphpBibeltextFett = 1;
// Stellenangabe als Link zur Internetbibel: (1 = Link 0 = kein Link)
$LphpBibelLink = 1;
// Überschrift einfügen: ("" = keine Überschrift)
$LphpTitelText = mb_convert_encoding("Losung und Lehrtext für","iso-8859-15","UTF-8");
// Datumsangabe allein oder hinter Überschrift:
$LphpTitelDatum = 2;
// mögliche Werte: (Beispiel 04.02.2008)
// 0 = (keine Datumsangabe)
// 1 = "04.02.2008"
// 2 = "Montag, 4. Februar 2008"
// 3 = "4. Februar 2008"
// Doppelpunkt hinter Überschrift / Datum (1 = Doppelpunkt 0 = keiner)
$LphpTitelDoppelpunkt = 1;
// =================================================================
// Den nachfolgenden Code bitte nur ändern, wenn Sie sich auskennen!
// =================================================================
// Datendatei zum aktuellen Jahr ermitteln:
//$LphpDatei = $_SERVER['DOCUMENT_ROOT'].'/user/losungphp'. date("Y") .'.dat';
//$LphpDatei = $_SERVER['DOCUMENT_ROOT'].'/grav/user/losungphp'. date("Y") .'.dat';
//$LphpDatei = '/mnt/web103/c1/41/53451241/htdocs/grav/user/losungphp'. date("Y") .'.dat';
$LphpDatei = dirname(__FILE__) . '/losungphp'. date("Y") .'.dat';
if (!file_exists($LphpDatei)){
return "file not found: " . $LphpDatei;
}
// Die Daten aus der Datendatei einlesen:
$LphpFp = @fopen($LphpDatei,"rb");
if ($LphpFp){
$LphpTagID = date("z") +1;
fseek ($LphpFp, ($LphpTagID * 12) - 12);
$LphpPoLa = fread($LphpFp, 12);
$LphpPo = intval(substr($LphpPoLa, 0, 6)) -1;
$LphpLa = intval(substr($LphpPoLa, 6, 6));
fseek ($LphpFp, $LphpPo);
$LphpText = fread($LphpFp, $LphpLa);
//$LphpText = utf8_encode(fread($LphpFp, $LphpLa));
$Lphp = explode("§", $LphpText);
//$Lphp = explode("§", $LphpText);
fclose($LphpFp);
}
//var_dump($LphpDatei);
//var_dump($LphpFp);
// Variablen für die Datumsangabe in der Überschrift
// Wochentagsname: (z.B.: "Montag")
$LphpWT = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
$LphpWochentagName = $LphpWT[date("w")];
// Monatsname: (z.B.: "Februar")
$LphpM = array("", "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
$LphpMonatName = htmlentities($LphpM[date("n")]);
// Tag als Zahl: (z.B.: kurz = "4" / lang = "04")
$LphpTagKurz = date("j");
$LphpTagLang = date("d");
// Monat als Zahl: (z.B.: kurz = "2" / lang = "02")
$LphpMonatKurz = date("n");
$LphpMonatLang = date("m");
// Jahr als Zahl: (z.B.: kurz = "08" / lang = "2008")
$LphpJahrKurz = date("y");
$LphpJahrLang = date("Y");
// Bibeltext ggf. Fett:
if($LphpBibeltextFett==1){
$Lphp[1] = "<b>" . $Lphp[1] . "</b>";
$Lphp[5] = "<b>" . $Lphp[5] . "</b>";
}
// Stellenangabe ggf. als Link zur Internetbibel
if($LphpBibelLink==1){
$Lphp[2] = "<a title='Zum Bibeltext' href='" . $Lphp[3] . "' target='_blank' rel='noopener'>" . $Lphp[2] . "</a>";
$Lphp[6] = "<a title='Zum Bibeltext' href='" . $Lphp[7] . "' target='_blank' rel='noopener'>" . $Lphp[6] . "</a>";
}
// Überschrift zusammenstellen:
$LphpTitel = "";
if($LphpTitelText != ""){$LphpTitel = htmlentities(trim($LphpTitelText));}
// Datum zusammenstellen:
$LphpDatum = "";
if($LphpTitelDatum <1 or $LphpTitelDatum >3){
$LphpDatum = "";
}elseif($LphpTitelDatum==1){
$LphpDatum = $LphpTagLang . "." . $LphpMonatLang . "." . $LphpJahrLang;
}elseif($LphpTitelDatum==2){
$LphpDatum = $LphpWochentagName . ", " . $LphpTagKurz . ". " . $LphpMonatName . " " . $LphpJahrLang;
}elseif($LphpTitelDatum==3){
$LphpDatum = $LphpTagKurz . ". " . $LphpMonatName . " " . $LphpJahrLang;
}
if($LphpTitel != "" and $LphpDatum != ""){$LphpTitel = $LphpTitel . " ";}
$LphpTitel = $LphpTitel . $LphpDatum;
if($LphpTitel != "" and $LphpTitelDoppelpunkt==1){$LphpTitel=$LphpTitel . ":";}
$retstring = "";
if($LphpTitel != ""){$retstring .= $LphpTitel . "<br><br>\n";}
$retstring .= $Lphp[0] . $Lphp[1] . "<br>\n";
$retstring .= $Lphp[2] . "<br><br>\n";
$retstring .= $Lphp[4] . $Lphp[5] . "<br>\n";
$retstring .= $Lphp[6];
//$retstring .= $LphpDatei;
//$retstring .= $LphpText;
return $retstring;
//return 'losung teerst';
//return $Lphp[0];
//return mb_internal_encoding();
//return $LphpText;
}
}