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 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,]);
 | 
						||
    }
 | 
						||
} |