www_archline_hu/deployed/tflearn/libraries/techfry/src/TfDate.php
LÁZÁR Imre AI Agent bb1c28ae0c feat(deployed): add TF Learn 1.7.5 (no-source, vetted live)
TF Learn (Tech Fry) + techfry library 1.3.4; login-gated, no repo -> deployed files.

Signed-off-by: LÁZÁR Imre <imre@illusion.hu>
Assisted-by: claude-code@claude-opus-4-8
2026-07-16 11:24:46 +02:00

97 lines
2.4 KiB
PHP

<?php
/*
* @package Tech Fry Library
* @license https://www.gnu.org/licenses/gpl-3.0.en.html
*/
namespace TechFry\Library;
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
class TfDate
{
// $data
public static function process($function, $data = null, $param = null)
{
switch ($function)
{
// Create current date in format
case 'date_create' :
$date = Factory::getDate();
$result = $date->format($param);
break;
// No arguments
case 'getdate' :
case 'time' :
case 'timezone_identifiers_list' :
$result = $function();
break;
// One argument - $data
case 'date' :
case 'date_parse' :
case 'strtotime' :
case 'date_interval_create_from_date_string' :
case 'date_offset_get' :
$result = $function($data);
break;
// Two arguments - data, parameter
case 'date_add' :
case 'date_sub' :
case 'date_format' :
case 'date_modify' :
case 'date_diff' :
case 'date_interval_format' :
$result = $function($data, $param);
break;
// Second argument as date
case 'date_create_from_format' :
case 'date_parse_from_format' :
$result = $function($param, $data);
break;
// JOOMLA METHODS
// No parameters
case 'toISO8601' :
case 'toRFC822' :
case 'toUnix' :
case 'toSql' :
$date = Factory::getDate($data);
$result = $date->$function();
break;
// One parameter
case 'format' :
case 'modify' :
$date = Factory::getDate($data);
$result = $date->$function($param);
break;
}
return $result;
}
/*
DATE INTERVALS
P1D / 1 day
P2W / 2 weeks
P3M / 3 months
P4Y / 4 years
P1Y1D / 1 year + 1 day
P1YT12H / 1 year + 12 hours
PT3600S / 3600 seconds
*/
}