Server IP : 192.158.238.246 / Your IP : 18.116.65.119 Web Server : LiteSpeed System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64 User : jenniferflocom ( 1321) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/7779/task/7779/cwd/plugins/give/src/DonationForms/V2/ListTable/Columns/ |
Upload File : |
<?php declare(strict_types=1); namespace Give\DonationForms\V2\ListTable\Columns; use Give\DonationForms\V2\Models\DonationForm; use Give\Framework\ListTable\ModelColumn; /** * @since 2.24.0 * * @extends ModelColumn<DonationForm> */ class LevelsColumn extends ModelColumn { /** * @since 2.24.0 * * @inheritDoc */ public static function getId(): string { return 'levels'; } /** * @since 2.24.0 * * @inheritDoc */ public function getLabel(): string { return __('Donation Levels', 'give'); } /** * @since 2.24.0 * * @inheritDoc * * @param DonationForm $model */ public function getCellValue($model, $locale = ''): string { if (empty($model->levels)) { return __('No Levels', 'give'); } return sprintf( '<div class="amount"><span>%s</span></div>', $this->getLevels($model->levels, $locale) ); } /** * @since 2.24.0 * * @param array $levels * @param string $locale * * @return string */ private function getLevels(array $levels, string $locale): string { if (count($levels) === 1) { return $levels[0]->amount->formatToLocale($locale); } $levelsAmount = array_map(function ($level) use ($locale) { return $level->amount->formatToDecimal(); }, $levels); $min = $levels[array_search(min($levelsAmount), $levelsAmount)]; $max = $levels[array_search(max($levelsAmount), $levelsAmount)]; if ($min === $max) { return $min->amount->formatToLocale($locale); } return sprintf( '%s - %s', $min->amount->formatToLocale($locale), $max->amount->formatToLocale($locale) ); } }