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;
|
|
|
|
|
|
|
|
|
|
public static function answerFlagsList(): array
|
|
|
|
|
{
|
|
|
|
|
return [
|
|
|
|
|
self::FLAG_TRUE => 'Верен',
|
|
|
|
|
self::FLAG_FALSE => 'Ошибочный',
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @throws Exception
|
|
|
|
|
*/
|
2021-11-09 17:41:44 +03:00
|
|
|
|
public static function answerFlagLabel($status): string
|
2021-10-29 17:06:09 +03:00
|
|
|
|
{
|
|
|
|
|
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,
|
|
|
|
|
]);
|
|
|
|
|
}
|
2021-11-02 17:29:15 +03:00
|
|
|
|
|
2021-11-09 17:41:44 +03:00
|
|
|
|
public static function answerStatusLabel($answer_flag): string
|
2021-11-02 17:29:15 +03:00
|
|
|
|
{
|
|
|
|
|
$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
|
|
|
|
}
|