Dobrý den, vytvářím extend pro funkci _formatTime($timestamp). Inspiroval jsem se zde na foru od pana Landsmana a upravil si kód pro svou potřebu. Pokud to nevadí. Když úpravu vložím přímo do souboru functions.php a původní funkci změním na upravenou, tak vše funguje výborně. Jenže, rád bych to vytvořil jako plugin (extend), abych při další aktualizaci SunLight nemusel upravovat originální soubory. Otázka, lze extendem tuto funkci nahradit? A pokud ano, jak ji zaregistruji? To se mi totiž moc nedaří, i když si pročítám Dokumentaci. Za případnou radu děkuji.
Ukázka skriptu:
<?php
/* ---- kontrola jadra ---- */
if (!defined('_core'))
{
die;
}
/* ---- funkce pluginu ---- */
/**
* Zformatovat timestamp na zaklade nastaveni systemu a převedení na slova
* @param number $timestamp UNIX timestamp
* @return string
*/
function _plugin_formatTime($timestamp)
{
// Dny a měsíce
$days = array("","V pondělí","V úterý","Ve středu","Ve čtvrtek","V pátek","V sobotu","V neděli");
$months = array("","ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince");
// Datum a dnes
$date = date('Y-m-d', $timestamp);
$today = date('Y-m-d');
// Hodiny a minuty
$hourminute=date('H:i',$timestamp);
$minute=date('j',$timestamp);
// Včera
$startTime = mktime(0, 0, 0, date('m'), date('d')-1, date('Y'));
$endTime = mktime(23, 59, 59, date('m'), date('d')-1, date('Y'));
// Předevčírem a starší
$beforeyesterday=($days[date('N',$timestamp)].' '.date('j',$timestamp).'. '.$months[date('n',$timestamp)].' '.date('Y',$timestamp));
// Výstup
if($timestamp > $startTime and $timestamp < $endTime){
// Včera
$output="<span class='yesterday'>Včera v {$hourminute} hod.</span>";
}
else if ($date == $today) {
// Dnes
$output="<span class='today'>Dnes v {$hourminute} hod.</span>";
}else {
// Předevčírem a starší
$output="<span class='beforeyesterday'>{$beforeyesterday}</span>";
}
return $output;
}
/* ---- registrace pluginu ---- */
_extend('reg', 'ZDE nevím jak registrovat', '_plugin_formatTime');
PS: Zapoměl jsem říct, chci tím nahradit zobrazování datumu v celém systému, ne jen v článcích, nebo foru atd. Prostě globálně.
Ukázka skriptu:
<?php
/* ---- kontrola jadra ---- */
if (!defined('_core'))
{
die;
}
/* ---- funkce pluginu ---- */
/**
* Zformatovat timestamp na zaklade nastaveni systemu a převedení na slova
* @param number $timestamp UNIX timestamp
* @return string
*/
function _plugin_formatTime($timestamp)
{
// Dny a měsíce
$days = array("","V pondělí","V úterý","Ve středu","Ve čtvrtek","V pátek","V sobotu","V neděli");
$months = array("","ledna","února","března","dubna","května","června","července","srpna","září","října","listopadu","prosince");
// Datum a dnes
$date = date('Y-m-d', $timestamp);
$today = date('Y-m-d');
// Hodiny a minuty
$hourminute=date('H:i',$timestamp);
$minute=date('j',$timestamp);
// Včera
$startTime = mktime(0, 0, 0, date('m'), date('d')-1, date('Y'));
$endTime = mktime(23, 59, 59, date('m'), date('d')-1, date('Y'));
// Předevčírem a starší
$beforeyesterday=($days[date('N',$timestamp)].' '.date('j',$timestamp).'. '.$months[date('n',$timestamp)].' '.date('Y',$timestamp));
// Výstup
if($timestamp > $startTime and $timestamp < $endTime){
// Včera
$output="<span class='yesterday'>Včera v {$hourminute} hod.</span>";
}
else if ($date == $today) {
// Dnes
$output="<span class='today'>Dnes v {$hourminute} hod.</span>";
}else {
// Předevčírem a starší
$output="<span class='beforeyesterday'>{$beforeyesterday}</span>";
}
return $output;
}
/* ---- registrace pluginu ---- */
_extend('reg', 'ZDE nevím jak registrovat', '_plugin_formatTime');
PS: Zapoměl jsem říct, chci tím nahradit zobrazování datumu v celém systému, ne jen v článcích, nebo foru atd. Prostě globálně.