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
67 lines
1.9 KiB
PHP
67 lines
1.9 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 TfArray
|
|
{
|
|
// $data - array; $result - array
|
|
public static function process($function, $data = array(), $params = array())
|
|
{
|
|
switch ($function)
|
|
{
|
|
// One argument; Array is modified without returning
|
|
case 'array_pop' :
|
|
case 'array_shift' :
|
|
case 'sort' :
|
|
case 'rsort' :
|
|
case 'ksort' :
|
|
case 'krsort' :
|
|
case 'natsort' :
|
|
case 'shuffle' :
|
|
$function($data);
|
|
$result = $data;
|
|
break;
|
|
|
|
// One argument; Returns modified array
|
|
case 'array_change_key_case' :
|
|
case 'array_count_values' :
|
|
case 'array_flip' :
|
|
case 'array_keys' :
|
|
case 'array_reverse' :
|
|
case 'array_unique' :
|
|
case 'array_values' :
|
|
$result = $function($data);
|
|
break;
|
|
|
|
// Two arguments - data, 1 parameter
|
|
case 'array_chunk' :
|
|
case 'array_column' :
|
|
case 'array_unshift' :
|
|
$result = $function($data, $params[0]);
|
|
break;
|
|
|
|
// Three arguments - data, 2 parameters
|
|
case 'array_pad' :
|
|
case 'array_slice' :
|
|
$result = $function($data, $params[0], $params[1]);
|
|
break;
|
|
|
|
// Special case - Modifies array without returning; 1 parameter
|
|
case 'array_push' :
|
|
case 'array_unshift' :
|
|
$function($data, $params[0]);
|
|
$result = $data;
|
|
break;
|
|
}
|
|
|
|
return $result;
|
|
}
|
|
} |