59 lines
1.4 KiB
PHP
59 lines
1.4 KiB
PHP
<?php
|
||
|
||
namespace common\helpers;
|
||
|
||
use yii\helpers\ArrayHelper;
|
||
use Exception;
|
||
use yii\helpers\Html;
|
||
|
||
class AnswerHelper
|
||
{
|
||
const FLAG_TRUE = 1;
|
||
const FLAG_FALSE = 0;
|
||
|
||
public static function answerFlagsList(): array
|
||
{
|
||
return [
|
||
self::FLAG_TRUE => 'Верен',
|
||
self::FLAG_FALSE => 'Ошибочный',
|
||
];
|
||
}
|
||
|
||
/**
|
||
* @throws Exception
|
||
*/
|
||
public static function answerFlagLabel($status): string
|
||
{
|
||
switch ($status) {
|
||
case self::FLAG_FALSE:
|
||
$class = 'label label-danger';
|
||
break;
|
||
case self::FLAG_TRUE:
|
||
$class = 'label label-success';
|
||
break;
|
||
default:
|
||
$class = 'label label-default';
|
||
}
|
||
|
||
return Html::tag('span', ArrayHelper::getValue(self::answerFlagsList(), $status), [
|
||
'class' => $class,
|
||
]);
|
||
}
|
||
|
||
public static function userResponseLabel($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,]);
|
||
}
|
||
} |