| Current Path : /proc/thread-self/root/var/www/surf/TYPO3/src/surf/Classes/ViewHelpers/ |
| Current File : //proc/thread-self/root/var/www/surf/TYPO3/src/surf/Classes/ViewHelpers/StatusViewHelper.php |
<?php
namespace Torresani\Surf\ViewHelpers;
use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
final class StatusViewHelper extends AbstractViewHelper
{
protected $escapeOutput = false;
public function initializeArguments()
{
// registerArgument($name, $type, $description, $required, $defaultValue, $escape)
$this->registerArgument('code', 'int', 'The code of status', true);
$this->registerArgument('level', 'string', 'The level of status', true);
$this->registerArgument('type', 'string', 'Returned type (description, class)', true, 'description');
}
public static function renderStatic(
array $arguments,
\Closure $renderChildrenClosure,
RenderingContextInterface $renderingContext
) {
$descriptionMap = [
'order' => [
0 => [
'description' => 'Da preparare',
'class' => 'warning',
],
1 => [
'description' => 'Pronto presso Vendor',
'class' => 'success',
],
2 => [
'description' => 'Consegna chiusa presso Vendor',
'class' => 'success',
],
3 => [
'description' => 'Consegna in attesa di viaggio',
'class' => 'warning',
],
4 => [
'description' => 'Consegna in viaggio',
'class' => 'warning',
],
5 => [
'description' => 'Consegna in magazzino',
'class' => 'success',
],
6 => [
'description' => 'Consegna aperta',
'class' => 'warning',
],
7 => [
'description' => 'Busta in pacco ordine',
'class' => 'success',
],
8 => [
'description' => 'Pacco ordine chiuso',
'class' => 'success',
],
20 => [
'description' => 'Ordine presso stand',
'class' => 'success',
],
21 => [
'description' => 'Ordine consegnato al cliente',
'class' => 'success',
],
100 => [
'description' => 'Ordine senza prodotti del vendor',
'class' => 'secondary',
],
],
'orderItem' => [
0 => [
'description' => 'Da preparare',
'class' => 'warning',
],
1 => [
'description' => 'Pronto presso Vendor',
'class' => 'success',
],
2 => [
'description' => 'Consegna chiusa presso Vendor',
'class' => 'success',
],
3 => [
'description' => 'Consegna in attesa di viaggio',
'class' => 'warning',
],
4 => [
'description' => 'Consegna in viaggio',
'class' => 'warning',
],
5 => [
'description' => 'Consegna in magazzino',
'class' => 'success',
],
6 => [
'description' => 'Consegna aperta',
'class' => 'warning',
],
7 => [
'description' => 'Busta in pacco ordine',
'class' => 'success',
],
8 => [
'description' => 'Pacco ordine chiuso',
'class' => 'success',
],
20 => [
'description' => 'Ordine presso stand',
'class' => 'success',
],
21 => [
'description' => 'Ordine consegnato al cliente',
'class' => 'success',
],
],
'delivery' => [
0 => [
'description' => 'Prodotti da preparare',
'class' => 'warning',
],
1 => [
'description' => 'Tutti gli ordini preparati',
'class' => 'success',
],
2 => [
'description' => 'Consegna chiusa presso Vendor',
'class' => 'success',
],
3 => [
'description' => 'Consegna in attesa di viaggio',
'class' => 'warning',
],
4 => [
'description' => 'Consegna in viaggio',
'class' => 'warning',
],
5 => [
'description' => 'Consegna in magazzino',
'class' => 'success',
],
6 => [
'description' => 'Consegna aperta',
'class' => 'warning',
],
7 => [
'description' => 'Busta in pacco ordine',
'class' => 'success',
],
8 => [
'description' => 'Pacco ordine chiuso',
'class' => 'success',
],
20 => [
'description' => 'Ordine presso stand',
'class' => 'success',
],
21 => [
'description' => 'Ordine consegnato al cliente',
'class' => 'success',
],
],
];
$result = [
'description' => "UNDEFINED " . $arguments['level'] . ":" . $arguments['code'],
'class' => 'danger',
];
if (isset($descriptionMap[$arguments['level']][$arguments['code']])) {
$result = $descriptionMap[$arguments['level']][$arguments['code']];
}
/* TODO */
$result['description'] .= ' [' . $arguments['code'] . ']';
return $result[$arguments['type']];
}
}