Fix frontend testings

parent 59f3382b
This diff is collapsed.
<?php
use yii\helpers\Html;
?>
<section class="top_line_testing">
<div class="container">
<div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<strong>Тест:</strong>
<p><?=$model->test->name?></p>
</div>
</div>
</div>
</section>
<section class="testing_block">
<div class="container">
<div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<h1 class="successfully_title">Вы собираетесь сдать экзамен:</h1>
<h6>«<?=$model->test->name?>»</h6>
</div>
</div>
<div class="test_parameters">
<div class="row">
<div class="col-md-6 col-xs-6 col-sm-12">
<img src="/images/icon/test_parameters_icon_1.png" height="83" width="70" alt="">
<h4><?=$model->test->minutes?> минут</h4>
</div>
<div class="col-md-6 col-xs-6 col-sm-12">
<img src="/images/icon/test_parameters_icon_2.png" height="83" width="62" alt="">
<h4><?=$model->test->questions?> вопросов</h4>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12 col-xs-12 col-sm 12">
<ul class="ul_box">
<li>После подтверждения ответа вы не сможете проверить или изменить его.</li>
<li>Если время закончится до того, как вы дадите достаточное количество правильных ответов, тест не будет сдан.</li>
<li>Если вы перезагрузите страницу, закроете вкладку браузера, выключите компьютер и т.д., то сможете продолжить прохождение теста с последнего места.</li>
</ul>
<?=Html::a('Начать тест', ["/testings/test/gen-pass", "id" => $model->id], ['class' => 'start_test_btn'])?>
</div>
</div>
</div>
</section>
<?php echo $this->render('@app/views/layouts/footer-testing'); ?>
<?php
use yii\helpers\Html;
?>
<section class="top_line_testing">
<div class="container">
<div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<strong>Тест:</strong>
<p><?=$model->test->name?></p>
</div>
</div>
</div>
</section>
<section class="testing_block">
<div class="container">
<div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<h1 class="successfully_title">Тестирование не завершено.</h1>
<h6>Для переназначения теста позвоните в службу поддержки по телефону +7 903 961-42-29</h6>
</div>
</div>
<div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<div class="error_fedback clearfix">
<h6>Обратная связь</h6>
<?=Html::beginForm();?>
<h6>Обратная связь</h6>
<?=Html::textArea('message', '', ['placeholder' => 'Введите сообщение']);?>
<?=Html::ajaxSubmitButton(
'Отправить',
Url::to(['/testings/testingTest/sendNotAttempt', 'id' => $model->id]),
[
'dataType' => 'json',
'success' => 'js:function(data){
if(data.success)
{
console.log("+");
$(".error_fedback").html("<div class=\"row\"><div class=\"col-sm-8\" style=\"margin:0 auto;float:none;\"><div class=\"gray_box\"><p>" + data.message + "</p></div></div></div>");
}
}'
],
[
'class' => 'error_fedback_btn'
]
);?>
<div class="clear"></div>
<?=Html::endForm();?>
</div>
</div>
</div>
<!-- <div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<div class="list_back">
<a href="/testings/test/index">Вернуться к списку тестов <span>↑</span></a>
</div>
</div>
</div> -->
<div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<div class="read_box_wr">
<div class="read_box">
<p>Тестирование не завершено.</p>
</div>
</div>
</div>
</div>
</div>
</section>
<?php echo $this->render('@app/views/layouts/footer-testing'); ?>
\ No newline at end of file
<section class="top_line_testing">
<div class="container">
<div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<strong>Тест:</strong>
<p><?=$model->test->name?></p>
</div>
</div>
</div>
</section>
<section class="testing_block">
<div class="container">
<div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<?php if ($model->is_passed == TestingPassing::PASSED) : ?>
<h1 class="successfully_title">Поздравляем, Вы сдали тест</h1>
<div class="successfully_subtitle">Тестирование завершено</div>
<?php elseif ($model->is_passed == TestingPassing::FAILED) : ?>
<h1 class="successfully_title">Тест не сдан!</h1>
<div class="successfully_subtitle">Тестирование завершено</div>
<?php endif; ?>
</div>
</div>
<div class="row">
<div class="col-md-6 col-xs-6 col-sm-12">
<div class="succes_title_block">Тест пройден на:</div>
<div class="succes_block_cont"><?php echo $model->percent;?>%</div>
</div>
<div class="col-md-6 col-xs-6 col-sm-12">
<div class="succes_title_block">Прохождение теста у Вас заняло:</div>
<?php
$minutesText = Passing::declOfNum(floor($model->time / 60), [' минута ', ' минуты ', ' минут ']);
$secondsText = Passing::declOfNum($model->time % 60, [' секунда', ' секунды', ' секунд']);
?>
<div class="succes_block_cont"><?=$minutesText?> <?=$secondsText?></div>
</div>
</div>
<!-- <div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<ul class="stat_testing">
<li><span>15%</span> Компактные панели оператора Magelis (Промышленная гамма)</li>
<li><span>43%</span> Вспомогательное оборудование автоматизации (Промышленная гамма)</li>
<li><span>22%</span> Автоматические выключатели, УЗО и Дифференциальные автоматы серии Домовой (Строительная гамма)</li>
<li><span>99%</span> Автоматические выключатели Compact и выключатели-разъединители Interpact (Строительная гамма)</li>
</ul>
</div>
</div> -->
</div>
</section>
<section class="testing_foot">
<div class="container">
<div class="row">
<div class="test_ft clearfix">
<div class="col-md-6 col-xs-8 col-sm-12">
<div class="testing_votes">Вопрос <strong><?=$model->test->questions?></strong> из <strong><?=$model->test->questions?></strong></div>
<div class="testing_progress"><div class="testing_progress_proc" style="width:100%;"></div></div>
</div>
<div class="col-md-6 col-xs-4 col-sm-12">
<div class="testing_time">До конца осталось: <span><?=date("H:i:s", mktime(0, 0, $model->time));?></span></div>
</div>
</div>
</div>
</div>
</section>
\ No newline at end of file
<?php <?php
$this->page_title = $model->test->session->name; use common\modules\testings\widgets\NotCloseTabsWidget;
use common\modules\testings\models\Question;
$this->crumbs = array(
'Тестирование' => false,
$model->test->name => false,
);
?> ?>
<?php $this->widget('application.modules.testings.widgets.NotCloseTabsWidget'); ?> <?= NotCloseTabsWidget::widget() ?>
<?php if (Yii::app()->user->hasFlash('flash')) : ?>
<div class="message"><span>
<?php echo Yii::app()->user->getFlash('flash'); ?>
</span></div>
<?php endif; ?>
<?php <?php
$questions = array(); $questions = [];
$count = 0; $count = 0;
foreach ($model->questions as $question) { foreach ($model->questions as $question)
{
$count++; $count++;
$pictures = array(); $pictures = [];
foreach ($question->question->files as $file) { foreach ($question->question->files as $file)
{
$pictures[] = $file->url; $pictures[] = $file->url;
} }
$answers = array(); $answers = [];
// если ответ вводит сам пользователь, нельзя отправлять ответ - поскольку в нём указан верный ответ. // если ответ вводит сам пользователь, нельзя отправлять ответ - поскольку в нём указан верный ответ.
foreach ($question->question->answers as $answer) { foreach ($question->question->answers as $answer)
if ($question->question->type <> TestingQuestion::USER_ANSWER) { {
if ($question->question->type <> Question::USER_ANSWER)
{
$answers[] = $answer->text; $answers[] = $answer->text;
} else { }
else
{
$answers[] = 'тут должен быть ответ'; $answers[] = 'тут должен быть ответ';
} }
} }
$questions[$count] = array( $questions[$count] = [
'id' => $question->question->id, 'id' => $question->question->id,
'text' => $question->question->text, 'text' => $question->question->text,
'type' => $question->question->type, 'type' => $question->question->type,
...@@ -46,54 +43,14 @@ ...@@ -46,54 +43,14 @@
'userAnswer' => '', 'userAnswer' => '',
'time' => 0, 'time' => 0,
'gamma' => $question->question->gamma->name, 'gamma' => $question->question->gamma->name,
); ];
} }
?> ?>
<style type="text/css">
body {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
user-select: none;
}
#sendInfoBox p {
text-align: center;
padding-top: 10px;
}
span.fakeLink {
color: #008800;
text-decoration: underline;
cursor: pointer;
}
.user-warning-message {
padding: 10px 15px 10px 40px;
margin: 10px 0;
font-weight: bold;
overflow: hidden;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
border: 1px solid #bbdbe0;
background-color: #ecf9ff;
color: #0888c3;
}
[data-toggle=buttons] .btn input {
position: absolute;
clip: rect(0,0,0,0);
pointer-events: none;
}
</style>
<script type="text/javascript"> <script type="text/javascript">
function updatePicture(link) { function updatePicture(link)
{
var img = $(link).prev('img'); var img = $(link).prev('img');
var imgCopy = img.clone(); var imgCopy = img.clone();
img.remove(); img.remove();
...@@ -471,75 +428,77 @@ ...@@ -471,75 +428,77 @@
}); });
</script> </script>
<br> <section class="top_line_testing">
<div class="container">
<div class="row"> <div class="row">
<div class="col-sm-12"> <div class="col-md-12 col-xs-12 col-sm-12">
<div class="questions_box"> <strong>Тест:</strong>
<div class="number_questions questionNumber">1</div> <!-- <p>Базовые знания интернет-маркетинг для бизнеса | Как правильно общаться с заказчиком?</p> -->
</div>
<p class="gray_text" id="questionGammaBox"></p> </div>
<h2 id="questionTextBox"></h2> </div>
</section>
<section class="testing_block">
<div class="container">
<div class="row">
<div class="col-md-1 col-xs-1 col-sm-2">
<span class="testing_num questionNumber">1</span>
</div>
<div class="col-md-11 col-xs-11 col-sm-10">
<h1 class="testing_block_title" id="questionTextBox"></h1>
</div>
</div>
<div class="row">
<div class="col-md-4 col-xs-4 col-sm-12">
<div class="number_questions_img_box" id="questionPictureBox"></div> <div class="number_questions_img_box" id="questionPictureBox"></div>
<!-- <div class="testing_img_block">
<img src="/images/testing_img.jpg" height="123" width="203" alt="">
</div> -->
</div>
</div>
<div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<form class="testing_form">
<div class="questions" id="answerBox" data-toggle="buttons" class="btn-group"></div> <div class="questions" id="answerBox" data-toggle="buttons" class="btn-group"></div>
<div class="answer" id="sendInfoBox"></div> <div class="answer" id="sendInfoBox"></div>
<!-- <div class="input_bg">
<br> <input id="radio1" type="radio" name="radio" class="radio" checked>
<label for="radio1">Только макет в PSD</label>
<button type="submit" class="green_button" id="clickNext" onClick="tester.nextQuestion();">Подтвердить ответ</button>
<br>
<br>
<div class="congratulations_text">
<h4 id="messageStep50"></h4>
<h4 id="messageStep75"></h4>
<h4 id="messageStep100"></h4>
</div> </div>
<div class="input_bg">
<input id="checkbox1" type="checkbox" class="checkbox">
<label for="checkbox1">Макет и техническое задание по проекту</label>
</div> </div>
<div class="input_bg">
<input id="radio2" type="radio" name="radio" class="radio">
<label for="radio2">Макет и задание описывающее краткий функционал front-end (дизайна)</label>
</div> </div>
</div> <div class="input_bg">
<input type="text" placeholder="Ваш ответ">
<div class="row"> </div> -->
<div class="col-sm-12"> <button class="testing_form_btn" onClick="tester.nextQuestion();">Подтвердить ответ</button>
<div class="green_wr"> </form>
<div class="green_box">
<div class="progress_ins">
<span class="col_text">Вопрос <strong class="green_text questionNumber">1</strong> из <strong class="green_text"><?=count($questions)?></strong></span>
<div class="progress_wr">
<div class="progress">
<div class="progress-bar progress-bar-success" id="progressbar" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width: 0">
<span class="sr-only">40% Complete (success)</span>
</div> </div>
</div> </div>
<div class="row col-md-12 col-xs-12 col-sm-12">
<h4 class="testing_info_foot" id="messageStep50"></h4>
<h4 class="testing_info_foot" id="messageStep75"></h4>
<h4 class="testing_info_foot" id="messageStep100"></h4>
</div> </div>
<div class="progress_done">
Выполнено <span id="progressbarText">0</span>%
</div> </div>
</section>
<section class="testing_foot">
<div class="container">
<div class="row">
<div class="test_ft clearfix">
<div class="col-md-6 col-xs-8 col-sm-12">
<div class="testing_votes">Вопрос <strong class="questionNumber">1</strong> из <strong><?=count($questions)?></strong></div>
<div class="testing_progress"><div class="testing_progress_proc" id="progressbar" style="width:0%;"></div></div>
</div> </div>
<div class="time_progress"> <div class="col-md-6 col-xs-4 col-sm-12">
<p>До конца осталось:</p> <div class="testing_time">До конца осталось: <span id="countdown_timer"></span></div>
<span class="timer" id="countdown_timer"></span>
</div> </div>
<div class="clear"></div>
</div> </div>
</div> </div>
</div> </div>
</div> </section>
\ No newline at end of file
<div class="clear"></div>
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'testing-test-form',
'enableAjaxValidation'=>false,
)); ?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<?php echo $form->errorSummary($model); ?>
<div class="row">
<?php echo $form->labelEx($model,'session_id'); ?>
<?php echo $form->textField($model,'session_id'); ?>
<?php echo $form->error($model,'session_id'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'name'); ?>
<?php echo $form->textField($model,'name',array('size'=>60,'maxlength'=>200)); ?>
<?php echo $form->error($model,'name'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'minutes'); ?>
<?php echo $form->textField($model,'minutes'); ?>
<?php echo $form->error($model,'minutes'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'questions'); ?>
<?php echo $form->textField($model,'questions'); ?>
<?php echo $form->error($model,'questions'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'pass_percent'); ?>
<?php echo $form->textField($model,'pass_percent'); ?>
<?php echo $form->error($model,'pass_percent'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'mg_percent'); ?>
<?php echo $form->textField($model,'mg_percent'); ?>
<?php echo $form->error($model,'mg_percent'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'te_percent'); ?>
<?php echo $form->textField($model,'te_percent'); ?>
<?php echo $form->error($model,'te_percent'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'mg_count'); ?>
<?php echo $form->textField($model,'mg_count'); ?>
<?php echo $form->error($model,'mg_count'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'te_count'); ?>
<?php echo $form->textField($model,'te_count'); ?>
<?php echo $form->error($model,'te_count'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'create_date'); ?>
<?php echo $form->textField($model,'create_date'); ?>
<?php echo $form->error($model,'create_date'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); ?>
</div>
<?php $this->endWidget(); ?>
</div><!-- form -->
\ No newline at end of file
<div class="wide form">
<?php $form=$this->beginWidget('CActiveForm', array(
'action'=>Yii::app()->createUrl($this->route),
'method'=>'get',
)); ?>
<div class="row">
<?php echo $form->label($model,'id'); ?>
<?php echo $form->textField($model,'id'); ?>
</div>
<div class="row">
<?php echo $form->label($model,'session_id'); ?>
<?php echo $form->textField($model,'session_id'); ?>
</div>
<div class="row">
<?php echo $form->label($model,'name'); ?>
<?php echo $form->textField($model,'name',array('size'=>60,'maxlength'=>200)); ?>
</div>
<div class="row">
<?php echo $form->label($model,'minutes'); ?>
<?php echo $form->textField($model,'minutes'); ?>
</div>
<div class="row">
<?php echo $form->label($model,'questions'); ?>
<?php echo $form->textField($model,'questions'); ?>
</div>
<div class="row">
<?php echo $form->label($model,'pass_percent'); ?>
<?php echo $form->textField($model,'pass_percent'); ?>
</div>
<div class="row">
<?php echo $form->label($model,'mg_percent'); ?>
<?php echo $form->textField($model,'mg_percent'); ?>
</div>
<div class="row">
<?php echo $form->label($model,'te_percent'); ?>
<?php echo $form->textField($model,'te_percent'); ?>
</div>
<div class="row">
<?php echo $form->label($model,'mg_count'); ?>
<?php echo $form->textField($model,'mg_count'); ?>
</div>
<div class="row">
<?php echo $form->label($model,'te_count'); ?>
<?php echo $form->textField($model,'te_count'); ?>
</div>
<div class="row">
<?php echo $form->label($model,'create_date'); ?>
<?php echo $form->textField($model,'create_date'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton('Search'); ?>
</div>
<?php $this->endWidget(); ?>
</div><!-- search-form -->
\ No newline at end of file
<?php
$this->breadcrumbs=array(
'Testing Tests'=>array('index'),
'Manage',
);
$this->menu=array(
array('label'=>'List TestingTest', 'url'=>array('index')),
array('label'=>'Create TestingTest', 'url'=>array('create')),
);
Yii::app()->clientScript->registerScript('search', "
$('.search-button').click(function(){
$('.search-form').toggle();
return false;
});
$('.search-form form').submit(function(){
$.fn.yiiGridView.update('testing-test-grid', {
data: $(this).serialize()
});
return false;
});
");
?>
<h1>Manage Testing Tests</h1>
<p>
You may optionally enter a comparison operator (<b>&lt;</b>, <b>&lt;=</b>, <b>&gt;</b>, <b>&gt;=</b>, <b>&lt;&gt;</b>
or <b>=</b>) at the beginning of each of your search values to specify how the comparison should be done.
</p>
<?php echo CHtml::link('Advanced Search','#',array('class'=>'search-button')); ?>
<div class="search-form" style="display:none">
<?php $this->renderPartial('_search',array(
'model'=>$model,
)); ?>
</div><!-- search-form -->
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'testing-test-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'id',
'session_id',
'name',
'minutes',
'questions',
'pass_percent',
/*
'mg_percent',
'te_percent',
'mg_count',
'te_count',
'create_date',
*/
array(
'class'=>'CButtonColumn',
),
),
)); ?>
<?php
$this->crumbs = array(
'Тестирование' => array('//testings/testingTest/index'),
'Вход в раздел тестирование' => false,
);
?>
<div class="center">
<form method="post">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td class="first_col">Логин</td>
<td class="second_col">
<p><input name="username" type="text" value="" /></p>
</td>
</tr>
<tr>
<td class="first_col">Пароль</td>
<td class="second_col">
<input name="password" type="password" value="" /> &nbsp;
</td>
</tr>
<tr>
<td class="first_col">&nbsp;</td>
<td class="second_col">
<input type="submit" value="Войти" class="submit" />
<div class="clear"></div>
</td>
</tr>
</table>
</form>
</div>
\ No newline at end of file
<?php echo $form; ?>
\ No newline at end of file
<?php
$this->crumbs = false;
?>
<br>
<?php
$this->widget('application.components.zii.GridView', array(
'dataProvider' => $present,
'emptyText' => 'Тестов в этой категории нет',
// 'enablePagination' => false,
'template' => '{items} <div class="row"><div class="col-sm-12"><div class="pages">{pager}</div></div></div>',
'pagerCssClass' => '',
'pager' => array(
'header' => '',
'firstPageLabel' => 'Первая',
'cssFile' => false,
'prevPageLabel' => '',
'nextPageLabel' => '',
'lastPageLabel' => 'Последняя',
),
'summaryText' => false,
'ajaxUpdate' => false,
'columns' => array(
array('name' => 'test.session.name'),
array(
'name' => 'test.name',
'value' => '"<b>".$data->test->name."</b>"',
'type' => 'html',
),
array(
// 'name' => 'is_passed',
'header' => 'Состояние',
'value' => 'TestingPassing::$state_list[$data->status]',
),
array(
'header' => 'Сдать до',
'value' => '($data->status === null OR $data->status==TestingPassing::NOT_STARTED) ? $data->test->session->end_date : ""',
),
array(
'header' => 'Информация',
'value' => function($data) {
if($data->status === null OR $data->status==TestingPassing::NOT_STARTED)
{
return CHtml::link("Пройти тестирование >>", array("/testings/testingTest/info", "id"=>$data->id));
}
elseif($data->status==TestingPassing::STARTED AND $data->attempt < $data->test->attempt AND strtotime($data->pass_date_start) + ($data->test->minutes * 60) >= time())
{
return CHtml::link("Пройти тестирование >>", array("/testings/testingTest/pass", "id"=>$data->id));
}
elseif($data->status == TestingPassing::PASSED || (int)$data->status === (int)TestingPassing::FAILED)
{
return CHtml::link("Статистика", array("/testings/testingTest/statistic", "id"=>$data->id));
}
},
'type' => 'html',
),
),
'itemsCssClass' => 'sale_table',
));
<?php
$this->page_title = $model->test->session->name;
$this->crumbs = array(
'Начало тестирования' => array('/testings/testingTest/index'),
$model->test->name => false,
);
?>
<?php if (Yii::app()->user->hasFlash('flash')) : ?>
<div class="message"><span>
<?php echo Yii::app()->user->getFlash('flash'); ?>
</span></div>
<?php endif; ?>
<div class="row">
<div class="col-sm-12">
<div class="before_test_text">
<h3>Вы собираетесь сдать экзамен:</h3>
<h5>«<?=$model->test->name?>»</h5>
</div>
</div>
</div>
<div class="test_parameters">
<div class="row">
<div class="col-sm-6">
<img src="/images/testing/test_parameters_icon_1.png" height="83" width="70" alt="">
<h4><?=$model->test->minutes?> минут</h4>
</div>
<div class="col-sm-6">
<img src="/images/testing/test_parameters_icon_2.png" height="83" width="62" alt="">
<h4><?=$model->test->questions?> вопросов</h4>
</div>
</div>
<br>
<div class="row">
<div class="col-sm-12">
<ul class="ul_box">
<li>После подтверждения ответа вы не сможете проверить или изменить его.</li>
<li>Если время закончится до того, как вы дадите достаточное количество правильных ответов, тест не будет сдан.</li>
<li>Если вы перезагрузите страницу, закроете вкладку браузера, выключите компьютер и т.д., то сможете продолжить прохождение теста с последнего места.</li>
</ul>
<br>
<?=CHtml::link('Начать тест', array("/testings/testingTest/genPass", "id" => $model->id), array('class' => 'green_button_big'))?>
</div>
</div>
</div>
<?php
$this->page_title = $model->test->session->name;
$this->crumbs = array(
'Начало тестирования' => array('/testings/testingTest/index'),
$model->test->name => false,
);
?>
<style type="text/css">
[data-toggle=buttons] .btn input {
position: absolute;
clip: rect(0,0,0,0);
pointer-events: none;
}
.gray_wr {
padding: 5px 14px;
margin-bottom: 6px;
}
</style>
<?php if (Yii::app()->user->hasFlash('flash')) : ?>
<div class="message"><span>
<?php echo Yii::app()->user->getFlash('flash'); ?>
</span></div>
<?php endif; ?>
<script type="text/javascript">
jQuery(function(){
var mg_need = <?php echo $model->test->mg_count; ?>;
var te_need = <?php echo $model->test->te_count; ?>;
var submit_button = jQuery('#submit_button');
var check_number = function()
{
var mg = jQuery("input:checkbox[id^=mg]:checked").length;
var te = jQuery("input:checkbox[id^=te]:checked").length;
if (mg_need <= mg && te_need <= te) {
submit_button.removeAttr('disabled');
} else {
submit_button.attr('disabled','disabled');
}
}
check_number();
$('input:checkbox').change(check_number);
});
</script>
<br>
<form method="post" id="choose-gammas-form">
<h2>Выберите гаммы продукции, из которых будет формироваться ваш тест</h2>
<br />
<?php if($model->test->gammasMG) { ?>
<h6>Выберите несколько гамм продукции (не менее <?php echo $model->test->mg_count; ?>) из строительной гаммы:</h6>
<div data-toggle="buttons" class="btn-group">
<?=NHtml::checkBoxList('mg', $mg_gammas, CHtml::listData($model->test->gammasMG, 'id', 'name'), array(
'template' => '<div class="gray_wr checkbox_button_wr_2">{beginLabel}{input}{labelTitle}{endLabel}</div>',
'labelOptions' => array(
'class' => 'btn btn-primary'
),
'autocomplete' => 'off',
'separator' => false
));?>
</div>
<br />
<br />
<?php } ?>
<?php if($model->test->gammasTE) { ?>
<h6>Выберите несколько гамм продукции (не менее <?php echo $model->test->te_count; ?>) из промышленной гаммы:</h6>
<div data-toggle="buttons" class="btn-group">
<?=NHtml::checkBoxList('te', $te_gammas, CHtml::listData($model->test->gammasTE, 'id', 'name'), array(
'template' => '<div class="gray_wr checkbox_button_wr_2">{beginLabel}{input}{labelTitle}{endLabel}</div>',
'labelOptions' => array(
'class' => 'btn btn-primary'
),
'autocomplete' => 'off',
'separator' => false
));?>
</div>
<br />
<br />
<? } ?>
<div class="row">
<div class="col-sm-12">
<button type="submit" id="submit_button" class="green_button">Подтвердить</button>
</div>
</div>
</form>
<br style="clear: both;" />
<?php
$this->page_title = $model->test->session->name;
$this->crumbs = array(
'Тестирование' => array('/testings/testingTest/index'),
$model->test->name => false,
);
?>
<?php if (Yii::app()->user->hasFlash('flash')) : ?>
<div class="message"><span>
<?php echo Yii::app()->user->getFlash('flash'); ?>
</span></div>
<?php endif; ?>
<div class="row">
<div class="col-sm-12">
<div class="error_box_text">
<h3>Тестирование не завершено.</h3>
<h6><?=Setting::getValue('not_attempt_message')?></h6>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="error_fedback">
<?=CHtml::beginForm();?>
<h6>Обратная связь</h6>
<?=CHtml::textArea('message', '');?>
<?=CHtml::ajaxSubmitButton(
'Отправить',
Yii::app()->createUrl('/testings/testingTest/sendNotAttempt', array('id' => $model->id)),
array(
'dataType' => 'json',
'success' => 'js:function(data){
if(data.success)
{
console.log("+");
$(".error_fedback").html("<div class=\"row\"><div class=\"col-sm-8\" style=\"margin:0 auto;float:none;\"><div class=\"gray_box\"><p>" + data.message + "</p></div></div></div>");
}
}'
),
array(
'class' => 'green_button f_r'
)
);?>
<div class="clear"></div>
<?=CHtml::endForm();?>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="list_back">
<a href="/testings/testingTest/index">Вернуться к списку тестов <span>&uarr;</span></a>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="read_box_wr">
<div class="read_box">
<p>Тестирование не завершено.</p>
</div>
</div>
</div>
</div>
<br>
\ No newline at end of file
<?php
$this->page_title = $model->test->session->name;
$this->crumbs = array(
'Тестирование' => array('/testings/testingTest/index'),
$model->test->name => false,
);
?>
<?php if (Yii::app()->user->hasFlash('flash')) : ?>
<div class="message"><span>
<?php echo Yii::app()->user->getFlash('flash'); ?>
</span></div>
<?php endif; ?>
<div class="row">
<div class="col-sm-12">
<?php if ($model->is_passed == TestingPassing::PASSED) : ?>
<div class="passed_text">
<h3>Поздравляем, Вы сдали тест</h3>
<h5>Тестирование завершено</h5>
</div>
<?php elseif ($model->is_passed == TestingPassing::FAILED) : ?>
<div class="not_passed_text">
<h3>Тест не сдан!</h3>
<h5>Тестирование завершено</h5>
</div>
<?php endif; ?>
</div>
</div>
<div class="test_parameters <?if($model->is_passed == TestingPassing::FAILED){?>not_passed_test<?}?>">
<div class="row">
<div class="col-sm-6">
<h6>Тест пройден на:</h6>
<h5><?php echo $model->percent; ?>%</h5>
</div>
<div class="col-sm-6">
<h6>Прохождение теста у Вас заняло:</h6>
<?php
$minutesText = TestingPassing::declOfNum(floor($model->time / 60), array(' минута ', ' минуты ', ' минут '));
$secondsText = TestingPassing::declOfNum($model->time % 60, array(' секунда', ' секунды', ' секунд'));
?>
<h5><?=$minutesText?><?=$secondsText?></h5>
</div>
</div>
<br>
</div>
<?php if($model->is_passed == TestingPassing::FAILED && $model->gammas && !$model->test->mix) : ?>
<div class="row">
<div class="col-sm-12">
<div class="statistics_test_wr">
<ul class="statistics_test">
<?php foreach ($model->gammas as $gamma) : ?>
<li><span><?php echo $model->gammaPercent($gamma->id); ?>%</span><?php echo $gamma->name; ?> (<?php echo TestingGamma::$type_list[$gamma->type]; ?>)</li>
<?php endforeach; ?>
</ul>
</div>
</div>
</div>
<?php endif; ?>
<div class="row">
<div class="col-sm-12">
<div class="list_back">
<a href="/testings/testingTest/index">Вернуться к списку тестов <span></span></a>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="green_wr <?if($model->is_passed == TestingPassing::FAILED){?>not_passed_test_progress<?}?>">
<div class="green_box">
<div class="progress_ins">
<span class="col_text">Вопрос <strong class="green_text"><?=$model->test->questions?></strong> из <strong class="green_text"><?=$model->test->questions?></strong></span>
<div class="progress_wr">
<div class="progress">
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%">
<span class="sr-only">100% Complete (success)</span>
</div>
</div>
</div>
<div class="progress_done">
Выполнено 100%
</div>
</div>
<div class="time_progress">
<p>Затраченное время:</p>
<span><?=date("H:i:s", mktime(0, 0, $model->time));?></span>
</div>
<div class="clear"></div>
</div>
</div>
</div>
</div>
<br>
\ No newline at end of file
<?php echo $form; ?>
\ No newline at end of file
<?php
$this->widget('zii.widgets.CDetailView', array(
'data' => $model,
'attributes' => array(
'id',
'session_id',
'name',
'minutes',
'questions',
'pass_percent',
'mg_percent',
'te_percent',
'mg_count',
'te_count',
'create_date',
),
));
?>
<?php <?php
class BrowsersCheckWidget extends Portlet namespace common\modules\testings\widgets;
{
const BROWSER_COOKIE = 'test_browser_cookie';
public $model; use Yii;
use yii\base\Widget;
use yii\helpers\Html;
public function renderContent() use common\components\Browser;
{
if(!Yii::app()->request->cookies[self::BROWSER_COOKIE]->value && $browser = $this->check())
{
$cookie = new CHttpCookie(self::BROWSER_COOKIE, 1);
Yii::app()->request->cookies[self::BROWSER_COOKIE] = $cookie;
$this->render('BrowsersCheckWidget', compact('browser')); class BrowsersCheckWidget extends Widget
} {
} const BROWSER_COOKIE = 'test_browser_cookie';
private function check() private function check()
{ {
...@@ -30,4 +25,16 @@ class BrowsersCheckWidget extends Portlet ...@@ -30,4 +25,16 @@ class BrowsersCheckWidget extends Portlet
return $browser; return $browser;
} }
} }
public function run()
{
$cookies = Yii::$app->request->cookies;
if(!$cookies->get(self::BROWSER_COOKIE) && $browser = $this->check())
{
$cookies->add(new \yii\web\Cookie([self::BROWSER_COOKIE => 1]));
}
return $this->render('BrowsersCheckWidget', compact('browser'));
}
} }
<?php <?php
class NotCloseTabsWidget extends CWidget
namespace common\modules\testings\widgets;
use yii\base\Widget;
use common\models\Settings;
class NotCloseTabsWidget extends Widget
{ {
public function run() public function run()
{ {
$this->render('NotCloseTabsWidget'); return $this->render('NotCloseTabsWidget', [
'message' => Settings::getValue('not_close_tabs_message');
]);
} }
} }
?> ?>
\ No newline at end of file
<div class="row"> <div class="row">
<div class="col-sm-12"> <div class="col-md-12 col-xs-12 col-sm-12">
<div class="read_box"> <div class="read_box">
<p>Вы используете браузер <?=$browser->getBrowser();?> <?=$browser->getVersion()?>. <br> Для корректной работы приложения тестирования рекомендуем использовать браузер Chrome.</p> <p>Вы используете браузер <?=$browser->getBrowser();?> <?=$browser->getVersion()?>. <br> Для корректной работы приложения тестирования рекомендуем использовать браузер Chrome.</p>
<div class="read_box_off box_off">закрыть <strong>&times;</strong></div> <div class="read_box_off box_off">закрыть <strong>×</strong></div>
</div> </div>
</div> </div>
</div> </div>
\ No newline at end of file
<div class="row"> <div class="row">
<div class="col-sm-12"> <div class="col-md-12 col-xs-12 col-sm-12">
<div class="gray_box"> <div class="gray_box">
<p><?=Setting::getValue('not_close_tabs_message');?></p> <p><?=$message?></p>
</div> </div>
</div> </div>
</div> </div>
\ No newline at end of file
...@@ -20,6 +20,7 @@ return [ ...@@ -20,6 +20,7 @@ return [
'faq' => ['class' => 'common\modules\faq\Module'], 'faq' => ['class' => 'common\modules\faq\Module'],
'main' => ['class' => 'common\modules\main\main'], 'main' => ['class' => 'common\modules\main\main'],
'school' => ['class' => 'common\modules\school\Module',], 'school' => ['class' => 'common\modules\school\Module',],
'testings' => ['class' => 'common\modules\testings\Module',],
'sitemap' => [ 'sitemap' => [
'class' => 'himiklab\sitemap\Sitemap', 'class' => 'himiklab\sitemap\Sitemap',
'models' => [ 'models' => [
......
<footer class="testing_footer">
<div class="container">
<div class="row">
<div class="col-md-2 col-xs-2 col-sm-12">
<div class="taskon_testing">
<img src="/images/taskon.png" height="31" width="100" alt="">
</div>
</div>
<div class="col-md-5 col-xs-5 col-sm-12">
<div class="inf_foot_testing">Система дистанционного обучения на базе Taskon</div>
</div>
<div class="col-md-2 col-md-offset-3 col-xs-2 col-sm-12">
<a href="#" class="help_btn">Справка</a>
</div>
</div>
</div>
</footer>
\ No newline at end of file
<header>
<div class="container">
<div class="row">
<div class="col-md-2 col-xs-12 col-sm-12">
<a href="http://mikulin.cz/project/artproject/" class="logo_testing">
<img src="images/logo.png" height="34" width="125" alt="">
</a>
</div>
<div class="col-md-5 col-md-offset-1 col-xs-7 col-sm-12">
<div class="ball-block_testing">Накоплено баллов:
<span class="col-ball_testing">99 999</span>
<a href="#" class="ball-link_testing">Как увеличить?</a>
<div class="ball_hover">Текст как увеличить,<br/> текст как увеличить,</div>
</div>
</div>
<div class="col-md-3 col-md-offset-1 col-xs-5 col-sm-12">
<div class="prof_block_testing">
<span class="prof_name_testing">Дмитрий</span><a href="#">Выход</a>
</div>
</div>
</div>
</div>
</header>
\ No newline at end of file
<nav class="menu">
<div class="toggle_block"><a href="#" class="toggle-mnu"><span></span></a></div>
<div class="phone_menu"><?=\common\models\Settings::getValue('content-phone')?></div>
<ul>
<li><a href="/about" class="link">О компании</a></li>
<li><a href="/case" class="link">Кейсы</a></li>
<li><a href="#" class="link">Блог</a></li>
<?php /*<li><a href="/school" class="link">Школа аналитики</a></li>*/ ?>
<li><a href="/contacts" class="link">Контакты</a></li>
</ul>
</nav>
<header>
<div class="container">
<div class="row">
<div class="col-md-2 col-xs-3 col-sm-12">
<a href="/" class="logo">
<img src="/images/logo.png" height="34" width="125" alt="">
</a>
</div>
<div class="col-md-7 col-xs-6 col-sm-12">
<nav class="top_nav clearfix">
<ul>
<li><a href="/about">О компании</a></li>
<li><a href="/case">Кейсы</a></li>
<li><a href="#">Блог</a></li>
<?php /*<li><a href="/school">Школа аналитики</a></li>*/ ?>
<li><a href="/contacts">Контакты</a></li>
<li><a href="#">ENG</a></li>
<!-- <li><a href="#">RUS</a></li> -->
</ul>
</nav>
<!-- <div class="lang_check">
<a href="#" class="d_menu"><i class="icon-arrowDown"></i>ENG</a>
<a href="#" class="d_menu_hide"><i class="icon-arrowRight"></i>RUS</a>
</div> -->
</div>
<div class="col-md-3 col-xs-3 col-sm-12">
<span class="top_phone"><?=\common\models\Settings::getValue('content-phone')?></span>
<!-- <div class="phone_hover_head">Стоимость звонка 0 руб,<br/> в том числе с мобильного</div> -->
</div>
</div>
</div>
</header>
\ No newline at end of file
...@@ -25,50 +25,7 @@ AppAsset::register($this); ...@@ -25,50 +25,7 @@ AppAsset::register($this);
<?php $this->beginBody() ?> <?php $this->beginBody() ?>
<nav class="menu"> <?php echo $this->render('header'); // Добавить проверку на авторизацию и вывести другую шапку header-auth.php ?>
<div class="toggle_block"><a href="#" class="toggle-mnu"><span></span></a></div>
<div class="phone_menu"><?=\common\models\Settings::getValue('content-phone')?></div>
<ul>
<li><a href="/about" class="link">О компании</a></li>
<li><a href="/case" class="link">Кейсы</a></li>
<li><a href="#" class="link">Блог</a></li>
<?php /*<li><a href="/school" class="link">Школа аналитики</a></li>*/ ?>
<li><a href="/contacts" class="link">Контакты</a></li>
</ul>
</nav>
<header>
<div class="container">
<div class="row">
<div class="col-md-2 col-xs-3 col-sm-12">
<a href="/" class="logo">
<img src="/images/logo.png" height="34" width="125" alt="">
</a>
</div>
<div class="col-md-7 col-xs-6 col-sm-12">
<nav class="top_nav clearfix">
<ul>
<li><a href="/about">О компании</a></li>
<li><a href="/case">Кейсы</a></li>
<li><a href="#">Блог</a></li>
<?php /*<li><a href="/school">Школа аналитики</a></li>*/ ?>
<li><a href="/contacts">Контакты</a></li>
<li><a href="#">ENG</a></li>
<!-- <li><a href="#">RUS</a></li> -->
</ul>
</nav>
<!-- <div class="lang_check">
<a href="#" class="d_menu"><i class="icon-arrowDown"></i>ENG</a>
<a href="#" class="d_menu_hide"><i class="icon-arrowRight"></i>RUS</a>
</div> -->
</div>
<div class="col-md-3 col-xs-3 col-sm-12">
<span class="top_phone"><?=\common\models\Settings::getValue('content-phone')?></span>
<!-- <div class="phone_hover_head">Стоимость звонка 0 руб,<br/> в том числе с мобильного</div> -->
</div>
</div>
</div>
</header>
<?php echo $content ?> <?php echo $content ?>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment