guild/common/helpers/AnswerHelper.php

61 lines
1.6 KiB
PHP
Raw Normal View History

2021-10-29 17:06:09 +03:00
<?php
namespace common\helpers;
use yii\helpers\ArrayHelper;
use Exception;
use yii\helpers\Html;
class AnswerHelper
{
const FLAG_TRUE = 1;
const FLAG_FALSE = 0;
const FLAG_NOT_VERIFIED = null;
2021-10-29 17:06:09 +03:00
public static function answerFlagsList(): array
{
return [
self::FLAG_TRUE => 'Верен',
self::FLAG_FALSE => 'Ошибочный',
self::FLAG_NOT_VERIFIED => 'Не проверен',
2021-10-29 17:06:09 +03:00
];
}
/**
* @throws Exception
*/
public static function answerFlagLabel($status): string
2021-10-29 17:06:09 +03:00
{
switch (true) {
case ($status === self::FLAG_FALSE):
2021-10-29 17:06:09 +03:00
$class = 'label label-danger';
break;
case ($status === self::FLAG_TRUE):
2021-10-29 17:06:09 +03:00
$class = 'label label-success';
break;
default:
$class = 'label label-warning';
2021-10-29 17:06:09 +03:00
}
return Html::tag('span', ArrayHelper::getValue(self::answerFlagsList(), $status), [
'class' => $class,
]);
}
public static function answerStatusLabel($answer_flag): string
{
$class = 'label label-warning';
$content = 'Не проверен';
if ($answer_flag > 0) {
$class = 'label label-success';
$answer_flag < 1 ? $content = $answer_flag *100 . '%' : $content = 'Верен';
}
else if ($answer_flag === 0.0) {
$class = 'label label-danger';
$content = 'Не верен';
}
return Html::tag('span', $content, ['class' => $class,]);
}
2021-10-29 17:06:09 +03:00
}