Commit 9962cef3 authored by Shakarim Sapa's avatar Shakarim Sapa

Merge remote-tracking branch 'origin/master'

parents 10f22dc1 e5c2e4ee
<?php <?php
return [ return [
'adminEmail' => 'admin@example.com', 'adminEmail' => 'admin@example.com',
'name' => 'Арт Проект',
'frontUrl' => 'http://task-on.com'
]; ];
...@@ -90,19 +90,25 @@ class SettingsController extends AdminController ...@@ -90,19 +90,25 @@ class SettingsController extends AdminController
*/ */
public function actionCreate($module_id) public function actionCreate($module_id)
{ {
$model = new Settings;
return $this->actionUpdate($module_id); Yii::$app->controller->page_title = 'Создание свойства для модуля <small>' .\Yii::$app->getModule($module_id)->name(). '</small>';
die('---'); Yii::$app->controller->breadcrumbs = [
$model = new Settings(); ['Свойства модуля ' .\Yii::$app->getModule($module_id)->name() => \yii\helpers\Url::toRoute(['manage', 'module_id'=>$module_id])],
'Создание свойства для модуля ' .\Yii::$app->getModule($module_id)->name(),
];
if ($model->load(Yii::$app->request->post()) && $model->save()) { if ($model->load(Yii::$app->request->post()) && $model->save())
return $this->redirect(['view', 'id' => $model->id]); {
} else { return $this->redirect(['manage', 'module_id' => $module_id]);
}
$form = new \common\components\BaseForm('/backend/forms/SettingsForm', $model);
return $this->render('create', [ return $this->render('create', [
'model' => $model, 'model' => $model,
'form' => $form->out
]); ]);
} }
}
/** /**
* Updates an existing Settings model. * Updates an existing Settings model.
...@@ -110,45 +116,27 @@ class SettingsController extends AdminController ...@@ -110,45 +116,27 @@ class SettingsController extends AdminController
* @param string $id * @param string $id
* @return mixed * @return mixed
*/ */
public function actionUpdate($module_id, $id = null) public function actionUpdate($id)
{ {
//die(print_r(\common\components\AppManager::getSettingsParam('scoring_low')));
if(!empty($id)) {
$model = $this->findModel($id); $model = $this->findModel($id);
\yii::$app->controller->page_title = 'Редактирование свойства для модуля <small>' .\Yii::$app->getModule($module_id)->name(). '</small>';
\yii::$app->controller->breadcrumbs = [ Yii::$app->controller->page_title = 'Редактирование свойства для модуля <small>' .\Yii::$app->getModule($model->module_id)->name(). '</small>';
['Свойства модуля ' .\Yii::$app->getModule($module_id)->name() => \yii\helpers\Url::toRoute(['manage', 'module_id'=>$module_id])], Yii::$app->controller->breadcrumbs = [
'Редактирование свойства для модуля ' .\Yii::$app->getModule($module_id)->name(), ['Свойства модуля ' .\Yii::$app->getModule($model->module_id)->name() => \yii\helpers\Url::toRoute(['manage', 'module_id'=>$model->module_id])],
'Редактирование свойства для модуля ' .\Yii::$app->getModule($model->module_id)->name(),
]; ];
}
else {
$model = new Settings();
$model->module_id = $module_id;
\yii::$app->controller->page_title = 'Добавление свойства для модуля <small>' .\Yii::$app->getModule($module_id)->name(). '</small>';
\yii::$app->controller->breadcrumbs = [ if ($model->load(Yii::$app->request->post()) && $model->save())
['Свойства модуля ' .\Yii::$app->getModule($module_id)->name() => \yii\helpers\Url::toRoute(['manage', 'module_id'=>$module_id])], {
'Добавление свойства для модуля ' .\Yii::$app->getModule($module_id)->name(), return $this->redirect(['manage', 'module_id' => $model->module_id]);
];
} }
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['manage', 'module_id' => $module_id]);
} else {
if($model->hasErrors())
\Yii::$app->getSession()->setFlash('error', $model->getErrors());
if($id == 87)
$form = new \common\components\BaseForm('/backend/forms/SettingsForm1', $model);
else else
{
$form = new \common\components\BaseForm('/backend/forms/SettingsForm', $model); $form = new \common\components\BaseForm('/backend/forms/SettingsForm', $model);
return $this->render('update', [ return $this->render('update', [
//'model' => $model, 'model' => $model,
'form' => $form->out, 'form' => $form->out,
//'module_id' => $module_id
]); ]);
} }
} }
......
...@@ -5,14 +5,6 @@ use yii\helpers\ArrayHelper; ...@@ -5,14 +5,6 @@ use yii\helpers\ArrayHelper;
return [ return [
'activeForm'=>[ 'activeForm'=>[
'id' => 'module-form', 'id' => 'module-form',
'class' => 'ActiveForm',
'options' => ['class' => 'form-horizontal'],
'fieldConfig' => [
// 'template' => '<div class="form-group">{label}<div class="col-md-9">{input}</div><div class="col-md-9">{error}</div></div>',
'labelOptions' => ['class' => 'col-md-3 control-label'],
],
'enableAjaxValidation' => false,
// 'htmlOptions'=>['class'=>'registr'),
], ],
'elements' => [ 'elements' => [
'module_id' => [ 'module_id' => [
...@@ -25,13 +17,11 @@ return [ ...@@ -25,13 +17,11 @@ return [
'value' => ['type' => 'text', 'class' => 'form-control'], 'value' => ['type' => 'text', 'class' => 'form-control'],
'element' => [ 'element' => [
'type' => 'dropdownlist', 'type' => 'dropdownlist',
'items' => ['editor','text','textarea'], 'items' => ['editor', 'text', 'textarea'],
'class' => 'form-control', 'class' => 'form-control',
], ],
'description' => ['type' => 'text', 'class' => 'form-control'], 'description' => ['type' => 'text', 'class' => 'form-control'],
'hidden' => ['type' => 'checkbox'], 'hidden' => ['type' => 'checkbox'],
// 'created_at' => ['type' => 'text', 'class' => 'form-control'],
// 'updated_at' => ['type' => 'text', 'class' => 'form-control'],
], ],
'buttons' => [ 'buttons' => [
'submit' => ['type' => 'submit', 'value' => 'Cохранить'] 'submit' => ['type' => 'submit', 'value' => 'Cохранить']
......
...@@ -5,14 +5,6 @@ use yii\helpers\ArrayHelper; ...@@ -5,14 +5,6 @@ use yii\helpers\ArrayHelper;
return [ return [
'activeForm'=>[ 'activeForm'=>[
'id' => 'module-form', 'id' => 'module-form',
'class' => 'ActiveForm',
'options' => ['class' => 'form-horizontal'],
'fieldConfig' => [
// 'template' => '<div class="form-group">{label}<div class="col-md-9">{input}</div><div class="col-md-9">{error}</div></div>',
'labelOptions' => ['class' => 'col-md-3 control-label'],
],
'enableAjaxValidation' => false,
// 'htmlOptions'=>['class'=>'registr'),
], ],
'elements' => [ 'elements' => [
'module_id' => [ 'module_id' => [
...@@ -22,15 +14,10 @@ return [ ...@@ -22,15 +14,10 @@ return [
'name' => ['type' => 'text', 'class' => 'form-control'], 'name' => ['type' => 'text', 'class' => 'form-control'],
'value' => ['type' => 'text', 'class' => 'form-control'], 'value' => ['type' => 'text', 'class' => 'form-control'],
'element' => [ 'element' => [
/*'type' => 'dropdownlist',
'items' => ['editor','text','textarea'],
'class' => 'form-control',*/
'type' => 'hidden', 'type' => 'hidden',
], ],
'description' => ['type' => 'hidden', 'class' => 'form-control'], 'description' => ['type' => 'hidden', 'class' => 'form-control'],
'hidden' => ['type' => 'hidden'], 'hidden' => ['type' => 'hidden'],
// 'created_at' => ['type' => 'text', 'class' => 'form-control'],
// 'updated_at' => ['type' => 'text', 'class' => 'form-control'],
], ],
'buttons' => [ 'buttons' => [
'submit' => ['type' => 'submit', 'value' => 'Cохранить'] 'submit' => ['type' => 'submit', 'value' => 'Cохранить']
......
<?php <?php
use yii\helpers\Html; echo $form;
\ No newline at end of file
/* @var $this yii\web\View */
/* @var $model common\models\Settings */
$this->title = Yii::t('app', 'Create Settings');
$this->params['breadcrumbs'][] = ['label' => Yii::t('app', 'Settings'), 'url' => ['index']];
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="settings-create">
<h1><?= Html::encode($this->title) ?></h1>
<?= $this->render('_form', [
'model' => $model,
]) ?>
</div>
<?php <?php
use yii\helpers\Html;
echo $form echo $form;
?>
/index.php /index.php
/index-test.php /index-test.php
/uploads/temp/* /uploads/temp/*
/uploads/reviews/*
\ No newline at end of file
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
namespace common\components; namespace common\components;
use \yii\db\ActiveRecord; use \yii\db\ActiveRecord;
use yii\widgets\ActiveForm; use yii\widgets\ActiveForm;
use yii\helpers\ArrayHelper;
class BaseForm extends \yii\widgets\ActiveForm class BaseForm extends \yii\widgets\ActiveForm
{ {
...@@ -133,11 +134,11 @@ JS; ...@@ -133,11 +134,11 @@ JS;
if (is_string($config)) if (is_string($config))
{ {
$config = self::getFormConfig($config); $config = self::getFormConfig($config, $model);
} }
//$config['ActiveForm'] = $config['activeForm']; //$config['ActiveForm'] = $config['activeForm'];
//die(print_r($config['elements'])); //die(print_r($config['elements']));
unset($config['activeForm']); // unset($config['activeForm']);
$config['options'] = []; $config['options'] = [];
//die(print_r(\yii::$app->controller->getAction('captcha'))); //die(print_r(\yii::$app->controller->getAction('captcha')));
//$config['options'][] = $this->errorSummary($model); //$config['options'][] = $this->errorSummary($model);
...@@ -286,11 +287,14 @@ JS; ...@@ -286,11 +287,14 @@ JS;
public function initCustom($config) { public function initCustom($config) {
ob_start(); ob_start();
ob_implicit_flush(false); ob_implicit_flush(false);
$form = ActiveForm::begin([ $form = ActiveForm::begin(ArrayHelper::merge(
[
'enableAjaxValidation' => true, 'enableAjaxValidation' => true,
'enableClientValidation' => false, 'enableClientValidation' => false,
'validateOnType' => true, 'validateOnType' => true,
]); ],
$config['activeForm']
));
foreach($config['options'] as $item) { foreach($config['options'] as $item) {
echo $item; echo $item;
} }
...@@ -309,10 +313,8 @@ JS; ...@@ -309,10 +313,8 @@ JS;
return "application.modules.{$module}.forms.{$form}"; return "application.modules.{$module}.forms.{$form}";
} }
/*public function render*/
// Убран static // Убран static
public function getFormConfig($alias) public function getFormConfig($alias, $model)
{ {
if (is_string($alias)) if (is_string($alias))
{ {
...@@ -325,58 +327,6 @@ JS; ...@@ -325,58 +327,6 @@ JS;
} }
} }
/*public function __toString()
{
try
{
$cs = Yii::app()->clientScript;
if (!($this->parent instanceof self))
{
//$id = $this->activeForm['id'];
if ($this->side == 'client')
{
// $cs
// ->registerScriptFile('/js/plugins/clientForm/inFieldLabel/jquery.infieldlabel.js')
// ->registerScriptFile('/js/plugins/clientForm/clientForm.js')
// ->registerCssFile('/js/plugins/clientForm/form.css')->registerScript(
// $id . '_baseForm', "$('#{$id}').clientForm()");
}
else
{
$cs->registerScriptFile('/js/admin/admin_form.js')
->registerScriptFile('/js/admin/admin_form.js')
->registerScriptFile('/js/plugins/adminForm/buttonSet.js')
->registerScriptFile('/js/plugins/adminForm/tooltips/jquery.atooltip.js')
->registerCssFile('/js/plugins/adminForm/tooltips/atooltip.css')
->registerScriptFile('/js/plugins/adminForm/chosen/chosen.jquery.js')
->registerCssFile('/js/plugins/adminForm/chosen/chosen.css');
;
}
}
if ($this->_clear)
{
$cs->registerScript('clearForm', '$(function()
{
$(":input","#' . $this->activeForm['id'] . '")
.not(":button, :submit, :reset, :hidden")
.val("")
.removeAttr("checked")
.removeAttr("selected");
})');
}
return parent::__toString();
} catch (Exception $e)
{
Yii::app()->handleException($e);
}
}*/
public function renderBody() public function renderBody()
{ {
$output = parent::renderBody(); $output = parent::renderBody();
......
...@@ -54,13 +54,25 @@ class Settings extends \common\components\ActiveRecordModel ...@@ -54,13 +54,25 @@ class Settings extends \common\components\ActiveRecordModel
{ {
return [ return [
'id' => Yii::t('app', 'ID'), 'id' => Yii::t('app', 'ID'),
'module_id' => Yii::t('app', 'Module ID'), 'module_id' => 'Модуль',
'code' => Yii::t('app', 'Code'), 'code' => 'Код',
'name' => Yii::t('app', 'Name'), 'name' => 'Название',
'value' => Yii::t('app', 'Value'), 'value' => 'Значение',
'element' => Yii::t('app', 'Element'), 'element' => 'Элемент',
'hidden' => Yii::t('app', 'Hidden'), 'hidden' => 'Скрытый',
'description' => Yii::t('app', 'Description'), 'description' => 'Описание',
]; ];
} }
public function getValue($code)
{
$model = Settings::find()->where(['code' => $code])->one();
if($model)
{
return $model->value;
}
return;
}
} }
...@@ -11,6 +11,7 @@ use common\modules\content\models\SearchCoContentData; ...@@ -11,6 +11,7 @@ use common\modules\content\models\SearchCoContentData;
use common\components\AdminController; use common\components\AdminController;
use yii\web\NotFoundHttpException; use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter; use yii\filters\VerbFilter;
use yii\web\UploadedFile;
/** /**
* ContentAdminController implements the CRUD actions for CoContent model. * ContentAdminController implements the CRUD actions for CoContent model.
...@@ -143,10 +144,28 @@ class ContentAdminController extends AdminController ...@@ -143,10 +144,28 @@ class ContentAdminController extends AdminController
$model->name, $model->name,
]; ];
} }
//die(print_r($model->metaTag));
if ($model->load(Yii::$app->request->post()) && $model->save()) { $model->load(Yii::$app->request->post());
$model->image = UploadedFile::getInstance($model, 'image');
if (Yii::$app->request->isPost && $model->validate())
{
if($model->image)
{
if($model->preview)
{
$model->deletePreview();
}
$model->upload();
$model->image = null;
}
$model->save();
return $this->redirect(['manage']); return $this->redirect(['manage']);
} else { }
$form = new \common\components\BaseForm('/common/modules/content/forms/ContentForm', $model); $form = new \common\components\BaseForm('/common/modules/content/forms/ContentForm', $model);
return $this->render('update', [ return $this->render('update', [
'model' => $model, 'model' => $model,
...@@ -154,7 +173,6 @@ class ContentAdminController extends AdminController ...@@ -154,7 +173,6 @@ class ContentAdminController extends AdminController
'form' => $form->out, 'form' => $form->out,
]); ]);
} }
}
public function actionUpdatecontent($content_id, $id = null) public function actionUpdatecontent($content_id, $id = null)
{ {
......
...@@ -5,14 +5,6 @@ use yii\helpers\Html; ...@@ -5,14 +5,6 @@ use yii\helpers\Html;
return [ return [
'activeForm'=>[ 'activeForm'=>[
'id' => 'block-form', 'id' => 'block-form',
'class' => 'ActiveForm',
'options' => ['class' => 'form-horizontal'],
'fieldConfig' => [
// 'template' => '<div class="form-group">{label}<div class="col-md-9">{input}</div><div class="col-md-9">{error}</div></div>',
'labelOptions' => ['class' => 'col-md-3 control-label'],
],
'enableAjaxValidation' => false,
// 'htmlOptions'=>['class'=>'registr'),
], ],
'elements' => [ 'elements' => [
/*'lang' => [ /*'lang' => [
......
...@@ -5,14 +5,6 @@ use yii\helpers\ArrayHelper; ...@@ -5,14 +5,6 @@ use yii\helpers\ArrayHelper;
return [ return [
'activeForm'=>[ 'activeForm'=>[
'id' => 'module-form', 'id' => 'module-form',
'class' => 'ActiveForm',
'options' => ['class' => 'form-horizontal'],
'fieldConfig' => [
// 'template' => '<div class="form-group">{label}<div class="col-md-9">{input}</div><div class="col-md-9">{error}</div></div>',
'labelOptions' => ['class' => 'col-md-3 control-label'],
],
'enableAjaxValidation' => false,
// 'htmlOptions'=>['class'=>'registr'),
], ],
'elements' => [ 'elements' => [
'name' => ['type' => 'text', 'class' => 'form-control'], 'name' => ['type' => 'text', 'class' => 'form-control'],
......
...@@ -5,14 +5,6 @@ use yii\helpers\ArrayHelper; ...@@ -5,14 +5,6 @@ use yii\helpers\ArrayHelper;
return [ return [
'activeForm'=>[ 'activeForm'=>[
'id' => 'controller-form', 'id' => 'controller-form',
'class' => 'ActiveForm',
'options' => ['class' => 'form-horizontal'],
'fieldConfig' => [
// 'template' => '<div class="form-group">{label}<div class="col-md-9">{input}</div><div class="col-md-9">{error}</div></div>',
'labelOptions' => ['class' => 'col-md-3 control-label'],
],
'enableAjaxValidation' => false,
// 'htmlOptions'=>['class'=>'registr'),
], ],
'elements' => [ 'elements' => [
'content_id' => [ 'content_id' => [
......
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
use yii\helpers\ArrayHelper; use yii\helpers\ArrayHelper;
use yii\helpers\Html; use yii\helpers\Html;
use \common\modules\content\models\CoContent;
$blocks = \common\modules\content\models\CoBlocks::find()->all(); $blocks = \common\modules\content\models\CoBlocks::find()->all();
$block_hint = ''; $block_hint = '';
if(count($blocks)) { if(count($blocks)) {
...@@ -17,14 +19,9 @@ if(count($blocks)) { ...@@ -17,14 +19,9 @@ if(count($blocks)) {
return [ return [
'activeForm'=>[ 'activeForm'=>[
'id' => 'controller-form', 'id' => 'controller-form',
'class' => 'ActiveForm', 'options' => [
'options' => ['class' => 'form-horizontal'], 'enctype' => 'multipart/form-data'
'fieldConfig' => [
// 'template' => '<div class="form-group">{label}<div class="col-md-9">{input}</div><div class="col-md-9">{error}</div></div>',
'labelOptions' => ['class' => 'col-md-3 control-label'],
], ],
'enableAjaxValidation' => false,
// 'htmlOptions'=>['class'=>'registr'),
], ],
'elements' => [ 'elements' => [
'category_id' => [ 'category_id' => [
...@@ -50,6 +47,8 @@ return [ ...@@ -50,6 +47,8 @@ return [
'class' => 'form-control', 'class' => 'form-control',
'hint' => 'Заголовок страницы виден пользователю сайта и как правило оформляется в тег &lt;h1&gt;. Если дизайном страницы не предусмотрен вывод заголовка, то он не будет выводиться даже если был введен в данное поле.', 'hint' => 'Заголовок страницы виден пользователю сайта и как правило оформляется в тег &lt;h1&gt;. Если дизайном страницы не предусмотрен вывод заголовка, то он не будет выводиться даже если был введен в данное поле.',
], ],
($model->preview?Html::img(\Yii::$app->params['frontUrl'] . CoContent::PHOTO_FOLDER . $model->preview):''),
'image' => ['type' => 'file', 'class' => 'form-control',],
'text' => [ 'text' => [
'type' => 'textarea', 'type' => 'textarea',
'class' => 'form-control', 'class' => 'form-control',
......
...@@ -75,11 +75,6 @@ class CoBlocks extends \common\components\ActiveRecordModel ...@@ -75,11 +75,6 @@ class CoBlocks extends \common\components\ActiveRecordModel
public static function printStaticBlock($block, $addPath = false) public static function printStaticBlock($block, $addPath = false)
{ {
return \yii::$app->getView()->render( '@app/views/layouts/block/' . $block . '.php'); return \yii::$app->getView()->render( '@app/views/layouts/block/' . $block . '.php');
if ($addPath) {
return \yii::$app->getView()->render( '@app/views/layouts/block/' . $block . '.php');
}
else
return \yii::$app->getView()->render( '/block/'.$block);
} }
public function afterFind() { public function afterFind() {
......
...@@ -23,6 +23,10 @@ use yii\base\Controller; ...@@ -23,6 +23,10 @@ use yii\base\Controller;
*/ */
class CoContent extends \common\components\ActiveRecordModel class CoContent extends \common\components\ActiveRecordModel
{ {
public $image;
const PHOTO_FOLDER = '/uploads/content/';
/** /**
* @inheritdoc * @inheritdoc
*/ */
...@@ -57,6 +61,7 @@ class CoContent extends \common\components\ActiveRecordModel ...@@ -57,6 +61,7 @@ class CoContent extends \common\components\ActiveRecordModel
{ {
return [ return [
[['active', 'created_at', 'updated_at'], 'integer'], [['active', 'created_at', 'updated_at'], 'integer'],
[['image'], 'file', 'skipOnEmpty' => true, 'extensions' => 'png, jpg, jpeg, gif'],
[['url', 'name', 'text'], 'required'], [['url', 'name', 'text'], 'required'],
[['url', 'name', 'title'], 'string', 'max' => 250], [['url', 'name', 'title'], 'string', 'max' => 250],
[['category_id', 'text'], 'safe'] [['category_id', 'text'], 'safe']
...@@ -73,6 +78,7 @@ class CoContent extends \common\components\ActiveRecordModel ...@@ -73,6 +78,7 @@ class CoContent extends \common\components\ActiveRecordModel
'category_id' => Yii::t('content', 'Category ID'), 'category_id' => Yii::t('content', 'Category ID'),
'url' => Yii::t('content', 'Url'), 'url' => Yii::t('content', 'Url'),
'name' => Yii::t('content', 'Name'), 'name' => Yii::t('content', 'Name'),
'image' => 'Превью',
'title' => Yii::t('content', 'Title'), 'title' => Yii::t('content', 'Title'),
'text' => Yii::t('content', 'Content'), 'text' => Yii::t('content', 'Content'),
'active' => Yii::t('content', 'Active'), 'active' => Yii::t('content', 'Active'),
...@@ -110,17 +116,65 @@ class CoContent extends \common\components\ActiveRecordModel ...@@ -110,17 +116,65 @@ class CoContent extends \common\components\ActiveRecordModel
$blocks = CoBlocks::find()->all(); $blocks = CoBlocks::find()->all();
$arrWhatReplace = []; $arrWhatReplace = [];
$arrReplace = []; $arrReplace = [];
foreach($blocks as $block) $arrWhatReplaceNext = [];
{ $arrReplaceNext = [];
foreach($blocks as $block) {
$arrWhatReplace[] = '{' . $block->name . '}'; $arrWhatReplace[] = '{' . $block->name . '}';
$arrReplace[] = $block->text; $arrReplace[] = $block->text;
$arrWhatReplaceNext[] = '[' . $block->name . ']';
$arrReplaceNext[] = $block->text;
} }
return str_replace($arrWhatReplace, $arrReplace, $content); $arrWhatReplaceNext[] = '[about-reviews]';
$arrReplaceNext[] = \common\modules\content\models\CoBlocks::printStaticBlock('about-reviews', true);
$arrWhatReplaceNext[] = '[content-phone]';
$arrReplaceNext[] = \common\models\Settings::getValue('content-phone');
$arrWhatReplaceNext[] = '[cases]';
$arrReplaceNext[] = \common\modules\content\models\CoBlocks::printStaticBlock('cases', true);
$arrWhatReplaceNext[] = '[case-subscribe]';
$arrReplaceNext[] = \common\modules\content\models\CoBlocks::printStaticBlock('case-subscribe', true);
$arrWhatReplaceNext[] = '[footer]';
$arrReplaceNext[] = \Yii::$app->getView()->render('@app/views/layouts/footer');
$arrWhatReplaceNext[] = '[footer-index]';
$arrReplaceNext[] = \Yii::$app->getView()->render('@app/views/layouts/footer-index');
return str_replace($arrWhatReplaceNext, $arrReplaceNext,str_replace($arrWhatReplace, $arrReplace, $content));
} }
public function beforeSave($insert) { public function beforeSave($insert) {
$this->text = str_replace("../../../source/","/source/",$this->text); $this->text = str_replace("../../../source/","/source/",$this->text);
return parent::beforeSave($insert); return parent::beforeSave($insert);
} }
private function getPath()
{
return Yii::getAlias('@frontend/web') . self::PHOTO_FOLDER;
}
public function upload()
{
if ($this->validate())
{
if(!file_exists($this->getPath()))
{
mkdir($this->getPath(), 0777, true);
}
$this->preview = date('dmYHis-') . uniqid() . '.' . $this->image->extension;
$this->image->saveAs($this->getPath() . $this->preview);
return true;
}
else
{
return false;
}
}
public function deletePreview()
{
if(file_exists($this->getPath() . $this->preview))
{
unlink($this->getPath() . $this->preview);
}
}
} }
...@@ -11,14 +11,6 @@ use yii\helpers\ArrayHelper; ...@@ -11,14 +11,6 @@ use yii\helpers\ArrayHelper;
return [ return [
'activeForm'=>[ 'activeForm'=>[
'id' => 'faq-form', 'id' => 'faq-form',
'class' => 'ActiveForm',
'options' => ['class' => 'form-horizontal'],
'fieldConfig' => [
// 'template' => '<div class="form-group">{label}<div class="col-md-9">{input}</div><div class="col-md-9">{error}</div></div>',
'labelOptions' => ['class' => 'col-md-3 control-label'],
],
'enableAjaxValidation' => false,
// 'htmlOptions'=>['class'=>'registr'),
], ],
'elements' => [ 'elements' => [
'lang' => [ 'lang' => [
......
<?php
namespace common\modules\main\controllers;
use Yii;
use common\modules\main\models\Counts;
use common\modules\main\models\CountsSearch;
use common\components\AdminController;
use yii\helpers\Url;
use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter;
/**
* CountsController implements the CRUD actions for Counts model.
*/
class CountsController extends AdminController
{
public function behaviors()
{
return [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'delete' => ['post'],
],
],
];
}
public static function actionsTitles() {
return [
'Index' => '',
'Create' => '',
'Update' => '',
'Delete' => '',
'View' => '',
];
}
/**
* Lists all Counts models.
* @return mixed
*/
public function actionIndex()
{
\yii::$app->controller->page_title = 'Счетчики';
\yii::$app->controller->breadcrumbs = [
'Счетчики'
];
$searchModel = new CountsSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}
/**
* Displays a single Counts model.
* @param integer $id
* @return mixed
*/
public function actionView($id)
{
$model = $this->findModel($id);
\yii::$app->controller->page_title = 'Редактировать счетчик ' . $model->name;
\yii::$app->controller->breadcrumbs = [
['Счетчики' => Url::toRoute('/main/counts/index')],
'Редактировать счетчик ' . $model->name
];
return $this->render('view', [
'model' => $model,
]);
}
/**
* Creates a new Counts model.
* If creation is successful, the browser will be redirected to the 'view' page.
* @return mixed
*/
public function actionCreate()
{
$model = new Counts();
\yii::$app->controller->page_title = 'Добавить счетчик';
\yii::$app->controller->breadcrumbs = [
['Счетчики' => Url::toRoute('/main/counts/index')],
'Добавить счетчик'
];
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('create', [
'model' => $model,
]);
}
}
/**
* Updates an existing Counts model.
* If update is successful, the browser will be redirected to the 'view' page.
* @param integer $id
* @return mixed
*/
public function actionUpdate($id)
{
$model = $this->findModel($id);
\yii::$app->controller->page_title = 'Редактировать счетчик ' . $model->name;
\yii::$app->controller->breadcrumbs = [
['Счетчики' => Url::toRoute('/main/counts/index')],
'Редактировать счетчик ' . $model->name
];
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('update', [
'model' => $model,
]);
}
}
/**
* Deletes an existing Counts model.
* If deletion is successful, the browser will be redirected to the 'index' page.
* @param integer $id
* @return mixed
*/
public function actionDelete($id)
{
$this->findModel($id)->delete();
return $this->redirect(['index']);
}
/**
* Finds the Counts model based on its primary key value.
* If the model is not found, a 404 HTTP exception will be thrown.
* @param integer $id
* @return Counts the loaded model
* @throws NotFoundHttpException if the model cannot be found
*/
protected function findModel($id)
{
if (($model = Counts::findOne($id)) !== null) {
return $model;
} else {
throw new NotFoundHttpException('The requested page does not exist.');
}
}
}
<?php
namespace common\modules\main\controllers;
use yii\web\Controller;
class DefaultController extends Controller
{
public function actionIndex()
{
return $this->render('index');
}
public function actionTest() {
error_reporting(E_ALL);
ini_set('display_errors', 1);
$model = new \common\models\Enctest();
//$model->data = 'Druppov_A@mail.ru';
$model->data = 'YQE4W2rOGog=u0TcCx3Lpr1LBkBHEplEuPxJ8+Sq77oQ';
$model->save();
$model = \common\models\Enctest::find()->where(['id'=>19])->one();
print_r($model->attributes);
}
}
...@@ -2,9 +2,6 @@ ...@@ -2,9 +2,6 @@
namespace common\modules\main\controllers; namespace common\modules\main\controllers;
use common\modules\request\models\CronWork;
use common\models\Settings;
class MainAdminController extends \common\components\AdminController class MainAdminController extends \common\components\AdminController
{ {
//public $layout = '\main'; //public $layout = '\main';
...@@ -13,12 +10,6 @@ class MainAdminController extends \common\components\AdminController ...@@ -13,12 +10,6 @@ class MainAdminController extends \common\components\AdminController
{ {
return array( return array(
'Index' => 'Просмотр главной страницы', 'Index' => 'Просмотр главной страницы',
'Modules' => 'Просмотр списка модулей',
'ChangeOrder' => 'Сортировка',
'SessionPerPage' => 'Установки кол-ва элементов на странице',
'SessionLanguage' => 'Установка языка',
'AdminLinkProcess' => 'Переход по ссылке в админ панель',
'Calculatepercent' => '',
); );
} }
...@@ -27,17 +18,4 @@ class MainAdminController extends \common\components\AdminController ...@@ -27,17 +18,4 @@ class MainAdminController extends \common\components\AdminController
return $this->render('index'); return $this->render('index');
} }
public function actionCalculatepercent()
{
\console\controllers\PercentController::actionCalculate();
return $this->redirect('index');
}
public function actionSessionPerPage($model, $per_page, $back_url)
{die($model.' -- '.$per_page.' -- '.$back_url);
\Yii::$app->session["{$model}PerPage"] = $per_page;
$this->redirect(base64_decode($back_url));
}
} }
<?php
namespace common\modules\main\controllers;
use Yii;
use yii\filters\AccessControl;
use yii\web\Controller;
use common\models\LoginForm;
use yii\filters\VerbFilter;
//class MainAdminController extends \common\components\AdminController
class MAINAdminController extends Controller
{
public function init() {
die($this->context->module->id);
}
public function actionIndex()
{
error_reporting(E_ALL);
ini_set('display_errors', 1);
return $this->render('\common\modules\main\mainAdmin\index');
}
}
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
/* @var $this yii\web\View */
/* @var $model common\modules\main\models\Counts */
/* @var $form yii\widgets\ActiveForm */
?>
<div class="counts-form">
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'name')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'count')->textarea(['rows' => 6]) ?>
<div class="form-group">
<?= Html::submitButton($model->isNewRecord ? 'Добавить' : 'Обновить', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
/* @var $this yii\web\View */
/* @var $model common\modules\main\models\CountsSearch */
/* @var $form yii\widgets\ActiveForm */
?>
<div class="counts-search">
<?php $form = ActiveForm::begin([
'action' => ['index'],
'method' => 'get',
]); ?>
<?= $form->field($model, 'id') ?>
<?= $form->field($model, 'name') ?>
<?= $form->field($model, 'count') ?>
<?= $form->field($model, 'created_at') ?>
<?= $form->field($model, 'updated_at') ?>
<div class="form-group">
<?= Html::submitButton('Search', ['class' => 'btn btn-primary']) ?>
<?= Html::resetButton('Reset', ['class' => 'btn btn-default']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
<?php
use yii\helpers\Html;
/* @var $this yii\web\View */
/* @var $model common\modules\main\models\Counts */
?>
<div class="counts-create">
<?= $this->render('_form', [
'model' => $model,
]) ?>
</div>
<?php
use yii\helpers\Html;
use yii\grid\GridView;
/* @var $this yii\web\View */
/* @var $searchModel common\modules\main\models\CountsSearch */
/* @var $dataProvider yii\data\ActiveDataProvider */
?>
<div class="counts-index">
<?php // echo $this->render('_search', ['model' => $searchModel]); ?>
<p>
<?= Html::a('Добавить счетчик', ['create'], ['class' => 'btn btn-success']) ?>
</p>
<?= \common\components\zii\AdminGrid::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
//['class' => 'yii\grid\SerialColumn'],
//'id',
'name',
'count:ntext',
/*'created_at',
'updated_at',*/
['class' => 'yii\grid\ActionColumn'],
],
]); ?>
</div>
<?php
use yii\helpers\Html;
/* @var $this yii\web\View */
/* @var $model common\modules\main\models\Counts */
$this->title = 'Update Counts: ' . ' ' . $model->name;
$this->params['breadcrumbs'][] = ['label' => 'Counts', 'url' => ['index']];
$this->params['breadcrumbs'][] = ['label' => $model->name, 'url' => ['view', 'id' => $model->id]];
$this->params['breadcrumbs'][] = 'Update';
?>
<div class="counts-update">
<h1><?= Html::encode($this->title) ?></h1>
<?= $this->render('_form', [
'model' => $model,
]) ?>
</div>
<?php
use yii\helpers\Html;
use yii\widgets\DetailView;
/* @var $this yii\web\View */
/* @var $model common\modules\main\models\Counts */
?>
<div class="counts-view">
<p>
<?= Html::a('Редактировать', ['update', 'id' => $model->id], ['class' => 'btn btn-primary']) ?>
<?= Html::a('Удалить', ['delete', 'id' => $model->id], [
'class' => 'btn btn-danger',
'data' => [
'confirm' => 'Вы уверены?',
'method' => 'post',
],
]) ?>
</p>
<?= DetailView::widget([
'model' => $model,
'attributes' => [
//'id',
'name',
'count:ntext',
/*'created_at',
'updated_at',*/
],
]) ?>
</div>
<div class="mainModule-default-index">
<h1><?= $this->context->action->uniqueId ?></h1>
<p>
This is the view content for action "<?= $this->context->action->id ?>".
The action belongs to the controller "<?= get_class($this->context) ?>"
in the "<?= $this->context->module->id ?>" module.
</p>
<p>
You may customize this page by editing the following file:<br>
<code><?= __FILE__ ?></code>
</p>
</div>
...@@ -8,6 +8,7 @@ use common\modules\reviews\models\SearchReviews; ...@@ -8,6 +8,7 @@ use common\modules\reviews\models\SearchReviews;
use common\components\AdminController; use common\components\AdminController;
use yii\web\NotFoundHttpException; use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter; use yii\filters\VerbFilter;
use yii\web\UploadedFile;
/** /**
* ReviewAdminController implements the CRUD actions for Reviews model. * ReviewAdminController implements the CRUD actions for Reviews model.
...@@ -109,9 +110,23 @@ class ReviewAdminController extends AdminController ...@@ -109,9 +110,23 @@ class ReviewAdminController extends AdminController
'Добавить отзыв' 'Добавить отзыв'
]; ];
if ($model->load(Yii::$app->request->post()) && $model->save()) { $model->load(Yii::$app->request->post());
$model->image = UploadedFile::getInstance($model, 'image');
if (Yii::$app->request->isPost && $model->validate())
{
if($model->image)
{
$model->upload();
$model->image = null;
}
$model->save();
return $this->redirect(['manage']); return $this->redirect(['manage']);
} else { }
else
{
//die(print_r($model->errors)); //die(print_r($model->errors));
$form = new \common\components\BaseForm('/common/modules/reviews/forms/ReviewForm', $model); $form = new \common\components\BaseForm('/common/modules/reviews/forms/ReviewForm', $model);
return $this->render('create', [ return $this->render('create', [
...@@ -131,15 +146,34 @@ class ReviewAdminController extends AdminController ...@@ -131,15 +146,34 @@ class ReviewAdminController extends AdminController
{ {
$model = $this->findModel($id); $model = $this->findModel($id);
\yii::$app->controller->page_title = 'Редактировать отзыв <small>'.$model->user->email.'</small>'; \yii::$app->controller->page_title = 'Редактировать отзыв';
\yii::$app->controller->breadcrumbs = [ \yii::$app->controller->breadcrumbs = [
['Список отзывов' => '/reviews/review-admin/manage'], ['Список отзывов' => '/reviews/review-admin/manage'],
'Редактировать отзыв' 'Редактировать отзыв'
]; ];
if ($model->load(Yii::$app->request->post()) && $model->save()) { $model->load(Yii::$app->request->post());
$model->image = UploadedFile::getInstance($model, 'image');
if (Yii::$app->request->isPost && $model->validate())
{
if($model->image)
{
if($model->photo)
{
$model->deletePhoto();
}
$model->upload();
$model->image = null;
}
$model->save();
return $this->redirect(['manage']); return $this->redirect(['manage']);
} else { }
else
{
$form = new \common\components\BaseForm('/common/modules/reviews/forms/ReviewForm', $model); $form = new \common\components\BaseForm('/common/modules/reviews/forms/ReviewForm', $model);
return $this->render('update', [ return $this->render('update', [
'model' => $model, 'model' => $model,
......
...@@ -4,15 +4,6 @@ use yii\helpers\ArrayHelper; ...@@ -4,15 +4,6 @@ use yii\helpers\ArrayHelper;
return [ return [
'activeForm'=>[ 'activeForm'=>[
'id' => 'answer-form',
'class' => 'ActiveForm',
'options' => ['class' => 'form-horizontal'],
'fieldConfig' => [
// 'template' => '<div class="form-group">{label}<div class="col-md-9">{input}</div><div class="col-md-9">{error}</div></div>',
'labelOptions' => ['class' => 'col-md-3 control-label'],
],
'enableAjaxValidation' => false,
// 'htmlOptions'=>['class'=>'registr'),
], ],
'elements' => [ 'elements' => [
'admin_id' => [ 'admin_id' => [
......
...@@ -6,36 +6,36 @@ use common\modules\reviews\models\Reviews; ...@@ -6,36 +6,36 @@ use common\modules\reviews\models\Reviews;
return [ return [
'activeForm'=>[ 'activeForm'=>[
'id' => 'module-form', 'options' => [
'class' => 'ActiveForm', 'enctype' => 'multipart/form-data'
'options' => ['class' => 'form-horizontal'],
'fieldConfig' => [
// 'template' => '<div class="form-group">{label}<div class="col-md-9">{input}</div><div class="col-md-9">{error}</div></div>',
'labelOptions' => ['class' => 'col-md-3 control-label'],
], ],
'enableAjaxValidation' => false,
// 'htmlOptions'=>['class'=>'registr'),
], ],
'elements' => [ 'elements' => [
'title' => [
'type' => 'text',
],
'lang' => [ 'lang' => [
'type' => 'dropdownlist', 'type' => 'dropdownlist',
'items' => ArrayHelper::map(\common\modules\languages\models\Languages::find()->all(),'code','name') 'items' => ArrayHelper::map(\common\modules\languages\models\Languages::find()->all(),'code','name')
], ],
($model->photo?Html::img(\Yii::$app->params['frontUrl'] . Reviews::PHOTO_FOLDER . $model->photo):''),
'image' => ['type' => 'file', 'class' => 'form-control',],
'video' => ['type' => 'text', 'class' => 'form-control',],
'date' => ['type' => 'date', 'class' => 'form-control',], 'date' => ['type' => 'date', 'class' => 'form-control',],
'text' => ['type' => 'textarea', 'class' => 'form-control'], 'text' => ['type' => 'textarea', 'class' => 'form-control'],
'<a id="doAnswer" style="cursor: pointer;" onclick="$(this).next().next().slideToggle(); return false;">Ответить</a>' . // '<a id="doAnswer" style="cursor: pointer;" onclick="$(this).next().next().slideToggle(); return false;">Ответить</a>' .
'<br><div style="display: none;">', // '<br><div style="display: none;">',
'admin_id' => [ // 'admin_id' => [
'type' => 'dropdownlist', // 'type' => 'dropdownlist',
'items' => ArrayHelper::map(\common\modules\users\models\User::find()->all(),'id','fio'), // 'items' => ArrayHelper::map(\common\modules\users\models\User::find()->all(),'id','fio'),
'empty' => 'Оператор', // 'empty' => 'Оператор',
], // ],
'answer' => ['type' => 'textarea', 'class' => 'form-control'], // 'answer' => ['type' => 'textarea', 'class' => 'form-control'],
'</div>', // '</div>',
'state' => [ 'state' => [
'type' => 'dropdownlist', 'type' => 'dropdownlist',
'items' => ['active','hidden'], 'items' => ['active' => 'Активен', 'hidden' => 'Скрыт'],
'class' => 'form-control' 'class' => 'form-control'
], ],
'rate_usability' => [ 'rate_usability' => [
......
...@@ -34,6 +34,10 @@ use Yii; ...@@ -34,6 +34,10 @@ use Yii;
*/ */
class Reviews extends \common\components\ActiveRecordModel class Reviews extends \common\components\ActiveRecordModel
{ {
public $image;
const PHOTO_FOLDER = '/uploads/reviews/';
private static $rate = [ private static $rate = [
'rate_usability' => [ 'rate_usability' => [
0 => 'Не определено', 0 => 'Не определено',
...@@ -91,15 +95,15 @@ class Reviews extends \common\components\ActiveRecordModel ...@@ -91,15 +95,15 @@ class Reviews extends \common\components\ActiveRecordModel
public function rules() public function rules()
{ {
return [ return [
[['text', 'state', 'date', 'notification_send', 'show_in_module'], 'required'], [['text', 'date', 'notification_send', 'show_in_module'], 'required'],
[['admin_id', 'priority', 'notification_send', 'order', 'cat_id', 'show_in_module', 'rate_usability', 'rate_loyality', 'rate_profit'], 'integer'], [['admin_id', 'priority', 'notification_send', 'order', 'cat_id', 'show_in_module', 'rate_usability', 'rate_loyality', 'rate_profit'], 'integer'],
[['image'], 'file', 'skipOnEmpty' => true, 'extensions' => 'png, jpg, jpeg, gif'],
[['text', 'state', 'attendant_products'], 'string'], [['text', 'state', 'attendant_products'], 'string'],
[['admin_id'], 'adminIdValidate'], [['admin_id'], 'adminIdValidate'],
[['date', 'answer', 'good', 'bad', 'date_create', 'notification_date', 'rate_usability', 'rate_loyality', 'rate_profit', 'title', 'order'], 'safe'], [['date', 'answer', 'good', 'bad', 'date_create', 'notification_date', 'rate_usability', 'rate_loyality', 'rate_profit', 'title', 'order', 'photo', 'state', 'video'], 'safe'],
[['lang'], 'string', 'max' => 2], [['lang'], 'string', 'max' => 2],
[['title'], 'string', 'max' => 250], [['title'], 'string', 'max' => 250],
[['photo'], 'string', 'max' => 50], [['email', 'video'], 'string', 'max' => 255]
[['email'], 'string', 'max' => 255]
]; ];
} }
...@@ -126,6 +130,8 @@ class Reviews extends \common\components\ActiveRecordModel ...@@ -126,6 +130,8 @@ class Reviews extends \common\components\ActiveRecordModel
'good' => Yii::t('reviews', 'Понравилось'), 'good' => Yii::t('reviews', 'Понравилось'),
'bad' => Yii::t('reviews', 'Не понравилось'), 'bad' => Yii::t('reviews', 'Не понравилось'),
'photo' => Yii::t('reviews', 'Фото'), 'photo' => Yii::t('reviews', 'Фото'),
'video' => Yii::t('reviews', 'Ссылка на видео'),
'image' => Yii::t('reviews', 'Фото'),
'state' => Yii::t('reviews', 'Состояние'), 'state' => Yii::t('reviews', 'Состояние'),
'date' => Yii::t('reviews', 'Дата'), 'date' => Yii::t('reviews', 'Дата'),
'date_create' => Yii::t('reviews', 'Создана'), 'date_create' => Yii::t('reviews', 'Создана'),
...@@ -197,4 +203,36 @@ class Reviews extends \common\components\ActiveRecordModel ...@@ -197,4 +203,36 @@ class Reviews extends \common\components\ActiveRecordModel
return parent::beforeSave($insert); return parent::beforeSave($insert);
} }
private function getPath()
{
return Yii::getAlias('@frontend/web') . self::PHOTO_FOLDER;
}
public function upload()
{
if ($this->validate())
{
if(!file_exists($this->getPath()))
{
mkdir($this->getPath(), 0777, true);
}
$this->photo = date('dmYHis-') . uniqid() . '.' . $this->image->extension;
$this->image->saveAs($this->getPath() . $this->photo);
return true;
}
else
{
return false;
}
}
public function deletePhoto()
{
if(file_exists($this->getPath() . $this->photo))
{
unlink($this->getPath() . $this->photo);
}
}
} }
...@@ -28,23 +28,7 @@ use yii\grid\GridView; ...@@ -28,23 +28,7 @@ use yii\grid\GridView;
// 'id', // 'id',
// 'lang', // 'lang',
[ 'title',
'attribute' => 'user_id',
'format' => 'raw',
'value' => function($data){
if(!$data->hasComment()){
$add = Html::a('Ответить',Url::toRoute(['updateanswer', 'id'=>$data->id]), ['class' => 'btn btn-primary m-r-5 m-b-5']);
}
else {
$add = Html::a('Редактировать',Url::toRoute(['updateanswer', 'id'=>$data->id]), ['class' => 'btn btn-primary m-r-5 m-b-5']);
}
if(!empty($data->user))
return $data->user->fullName . '<br >' . $add;
return 'Удален ' . '<br >' . $add;
}
],
//'title',
[ [
'attribute' => 'text:ntext', 'attribute' => 'text:ntext',
'header' => 'Отзыв', 'header' => 'Отзыв',
......
<?php
namespace common\modules\school;
class Module extends \common\components\WebModule
{
public $controllerNamespace = 'common\modules\school\controllers';
public $menu_icons = 'fa fa-comment-o';
public static $active = true;
public static $base_module = true;
public static function name()
{
return 'Школа аналитики';
}
public static function description()
{
return 'Школа аналитики';
}
public static function version()
{
return '1.0';
}
public function init()
{
parent::init();
// custom initialization code goes here
}
public static function adminMenu()
{
return array(
);
}
}
<?php
namespace common\modules\school\controllers;
use common\components\BaseController;
class CourseController extends BaseController
{
public static function actionsTitles()
{
return [
'Index' => 'Курсы',
'View' => 'Курс',
];
}
public function actionIndex()
{
return $this->render('index');
}
public function actionView()
{
return $this->render('view');
}
}
<?php
namespace common\modules\school\controllers;
use common\components\BaseController;
class LessonController extends BaseController
{
public static function actionsTitles()
{
return [
'View' => 'Урок',
];
}
public function actionView()
{
return $this->render('view');
}
}
This diff is collapsed.
<?php
use yii\helpers\Url;
?>
<section class="ks_header">
<div class="container">
<div class="row">
<div class="col-md-5 col-xs-7 col-sm-12">
<div class="ball-block">Накоплено баллов:
<span class="col-ball">99 999</span>
<a href="#" class="ball-link">Как увеличить?</a>
<div class="ball_hover">Текст как увеличить,<br> текст как увеличить,</div>
</div>
</div>
<div class="col-md-3 col-md-offset-4 col-xs-5 col-sm-12">
<div class="prof_block">
<span class="prof_name">Дмитрий</span><a href="#">Выход</a>
</div>
</div>
</div>
</div>
</section>
<section class="les_list_top">
<div class="ls_top_over">
<div class="container">
<div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<h1 class="ls_title">
<span>Курс для менеджеров it-отрасли</span>
</h1>
<div class="ls_subtitle">
<span>Если вы менеджер it отрасли или генеральный директоров в сфере</span>
<br>
<span>it отрасли, то вам будет полезно посмотреть этот учебный курс.</span>
</div>
<br>
<div class="ls_txt"><span>В роликах будет рассказываться:</span></div>
<a href="#" class="ls_now_btn">Приступить</a>
</div>
</div>
</div>
</div>
</section>
<section class="ls_list_block">
<div class="container">
<div class="row">
<div class="col-md-3 col-xs-6 col-sm-12">
<div class="ls_block_item">
<div class="line_ls">Урок 1</div>
<a href="<?php echo Url::toRoute(['/school/lesson/view', 'id' => 1]);?>" class="ls_block_title">Как правильно принимать задачи от заказчика</a>
<a href="<?php echo Url::toRoute(['/school/lesson/view', 'id' => 1]);?>" class="ls_block_btn">Смотреть</a>
</div>
</div>
<div class="col-md-3 col-xs-6 col-sm-12">
<div class="ls_block_item">
<div class="line_ls">Урок 99</div>
<a href="<?php echo Url::toRoute(['/school/lesson/view', 'id' => 1]);?>" class="ls_block_title">Как правильно ставить задачу исполнителям</a>
<a href="<?php echo Url::toRoute(['/school/lesson/view', 'id' => 1]);?>" class="ls_block_btn">Смотреть</a>
</div>
</div>
<div class="col-md-3 col-xs-6 col-sm-12">
<div class="ls_block_item ls_fine">
<div class="line_ls">Урок 3</div>
<a href="<?php echo Url::toRoute(['/school/lesson/view', 'id' => 1]);?>" class="ls_block_title">Как правильно выстроить взаимоотношения с заказчиком</a>
<div class="ls_fine_txt">Урок просмотрен</div>
<a href="<?php echo Url::toRoute(['/school/lesson/view', 'id' => 1]);?>" class="ls_block_btn">Продолжить</a>
</div>
</div>
<div class="col-md-3 col-xs-6 col-sm-12">
<div class="ls_block_item">
<div class="line_ls">Урок 4</div>
<a href="<?php echo Url::toRoute(['/school/lesson/view', 'id' => 1]);?>" class="ls_block_title">Как научиться изменять стоимость проекта</a>
<a href="<?php echo Url::toRoute(['/school/lesson/view', 'id' => 1]);?>" class="ls_block_btn">Смотреть</a>
</div>
</div>
</div>
<div class="row">
<div class="col-md-3 col-xs-6 col-sm-12">
<div class="ls_block_item">
<div class="line_ls">Урок 2</div>
<a href="<?php echo Url::toRoute(['/school/lesson/view', 'id' => 1]);?>" class="ls_block_title">Как работать с материалом</a>
<a href="<?php echo Url::toRoute(['/school/lesson/view', 'id' => 1]);?>" class="ls_block_btn">Смотреть</a>
</div>
</div>
<div class="col-md-3 col-xs-6 col-sm-12">
<div class="ls_likes">
<div class="ls_likes_title">Нравится курс?</div>
<a href="" class="ls_likes_y">Да</a>
<a href="" class="ls_likes_n">Нет</a>
</div>
</div>
</div>
</div>
</section>
<footer>
<div class="container">
<div class="footbottom_line">
<div class="row">
<div class="col-md-3 col-xs-3 col-sm-12">
<div class="foot_logo">
<img src="/images/foot_logo.png" height="51" width="192" alt="">
</div>
</div>
<div class="col-md-6 col-xs-6 col-sm-12">
<ul class="social_link">
<li><a href="#" class="soc_item"><i class="fa fa-vk"></i></a></li>
<li><a href="#" class="soc_item"><i class="fbicon"></i></a></li>
<li><a href="#" class="soc_item"><i class="fa fa-youtube"></i></a></li>
<li><a href="#" class="soc_item"><i class="fa fa-instagram"></i></a></li>
<li><a href="#" class="soc_item"><i class="fa fa-twitter"></i></a></li>
<li><a href="#" class="soc_item"><i class="gplusicon"></i></a></li>
</ul>
</div>
<div class="col-md-3 col-xs-3 col-sm-12">
<div class="taskon"><img src="/images/taskon.png" height="31" width="100" alt=""></div>
<div class="copyring">Powered by Taskon <br> Собственная разработка Арт Проект</div>
</div>
</div>
</div>
</div>
</footer>
<div class="hidden">
<div id="zvonok_form" class="popup">
<!-- <div class="txtbtnclose">Закрыть</div> -->
<span class="popup__title">Заказать звонок</span>
<span class="popup__subtittle">Чтобы мы могли вам перезвонить укажите свой номер телефона:</span>
<form class="valid_form">
<input type="text" class="input_st field-input required alphanumeric" placeholder="Ваше имя">
<input type="tel" class="input_st field-input required email" placeholder="Ваш телефон">
<button class="save-button popup_bt_send">Заказать звонок</button>
</form>
</div>
<div id="reg_form" class="popup">
<!-- <div class="txtbtnclose">Закрыть</div> -->
<span class="popup__title">Регистрация</span>
<form class="validreg_form">
<input type="text" class="input_st field-input required alphanumeric" placeholder="Имя Фамилия">
<input type="tel" class="input_st field-input required alphanumeric" placeholder="Телефон">
<input type="email" class="input_st field-input required email" placeholder="E-mail">
<input type="password" class="input_st field-input required alphanumeric" placeholder="Придумайте пароль">
<input type="password" class="input_st field-input required alphanumeric" placeholder="Повторите пароль">
<button class="save-button popup_bt_send">Зарегистрироваться</button>
</form>
</div>
</div>
This diff is collapsed.
...@@ -16,11 +16,6 @@ $buttons = array( ...@@ -16,11 +16,6 @@ $buttons = array(
return array( return array(
'activeForm' => array( 'activeForm' => array(
'id' => 'testing-mistake-form', 'id' => 'testing-mistake-form',
//'enableAjaxValidation' => true,
//'clientOptions' => array(
// 'validateOnSubmit' => true,
// 'validateOnChange' => true
//)
), ),
'elements' => array( 'elements' => array(
//'passing_id' => array('type' => 'text'), //'passing_id' => array('type' => 'text'),
......
...@@ -50,6 +50,9 @@ $this->registerJs($js, yii\web\View::POS_READY, 'expnd.info'); ...@@ -50,6 +50,9 @@ $this->registerJs($js, yii\web\View::POS_READY, 'expnd.info');
<p> <p>
<?= Html::a('Добавить', ['create'], ['class' => 'btn btn-success']) ?> <?= Html::a('Добавить', ['create'], ['class' => 'btn btn-success']) ?>
<?php if($test_id) : ?>
<?= Html::a('Импорт вопросов из XLS', ['/testings/test-admin/import-tests', 'id' => $test_id], ['class' => 'btn btn-info']) ?>
<?php endif; ?>
</p> </p>
<?php echo AdminGrid::widget([ <?php echo AdminGrid::widget([
......
...@@ -40,7 +40,7 @@ use yii\helpers\Html; ...@@ -40,7 +40,7 @@ use yii\helpers\Html;
</ol> </ol>
<span style="color: red;">Важно!</span> Не используйте клавишу ENTER для перевода строки при заполнении шаблона. Если это необходимо, пользуйтесь вместо этого тегом <strong><span style="color: red">&lt;br&gt;</span></strong>. <span style="color: red;">Важно!</span> Не используйте клавишу ENTER для перевода строки при заполнении шаблона. Если это необходимо, пользуйтесь вместо этого тегом <strong><span style="color: red">&lt;br&gt;</span></strong>.
<div class="message info">Внимание! Для правильной работы модуля CSV-импорта необходимо корректно заполнять шаблон. Любое отхождение от шаблона (пустая строка, добавленный столбец) может нарушить работу данной системы.</div> <div class="message info">Внимание! Для правильной работы модуля XLS-импорта необходимо корректно заполнять шаблон. Любое отхождение от шаблона (пустая строка, добавленный столбец) может нарушить работу данной системы.</div>
<hr> <hr>
......
<?php
use yii\db\Schema;
use yii\db\Migration;
class m160126_110636_fix_review_table extends Migration
{
public function safeUp()
{
$tableOptions = null;
if ($this->db->driverName === 'mysql')
{
$tableOptions = 'CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE=InnoDB';
}
$this->addColumn('reviews', 'video', Schema::TYPE_STRING . '(255) AFTER `photo`');
}
public function safeDown()
{
$this->dropColumn('reviews', 'video');
}
}
<?php
use yii\db\Schema;
use yii\db\Migration;
class m160126_143450_fix_co_blocks_table extends Migration
{
public function safeUp()
{
$tableOptions = null;
if ($this->db->driverName === 'mysql')
{
$tableOptions = 'CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE=InnoDB';
}
$this->alterColumn('co_blocks', 'category_id', Schema::TYPE_INTEGER . '(11) NULL');
}
public function safeDown()
{
$this->alterColumn('co_blocks', 'category_id', Schema::TYPE_INTEGER . '(11) NOT NULL');
}
}
<?php
use yii\db\Migration;
class m160126_164000_add_languages extends Migration
{
public function safeUp()
{
$tableOptions = null;
if ($this->db->driverName === 'mysql')
{
$tableOptions = 'CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE=InnoDB';
}
$this->insert('languages', [
'code' => 'ru',
'codeFull' => 'rus',
'name' => 'Русский',
]);
$this->insert('languages', [
'code' => 'en',
'codeFull' => 'eng',
'name' => 'English',
]);
}
public function safeDown()
{
$this->delete('languages', ['code' => 'ru']);
$this->delete('languages', ['code' => 'en']);
}
}
<?php
use yii\db\Schema;
use yii\db\Migration;
class m160127_070543_add_content_preview extends Migration
{
public function safeUp()
{
$this->addColumn('co_content', 'preview', Schema::TYPE_STRING . '(50) AFTER `active`');
}
public function safeDown()
{
$this->dropColumn('co_content', 'preview');
}
}
...@@ -19,6 +19,7 @@ return [ ...@@ -19,6 +19,7 @@ return [
'request' => ['class' => 'common\modules\request\Module',], 'request' => ['class' => 'common\modules\request\Module',],
'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',],
'sitemap' => [ 'sitemap' => [
'class' => 'himiklab\sitemap\Sitemap', 'class' => 'himiklab\sitemap\Sitemap',
'models' => [ 'models' => [
...@@ -144,7 +145,11 @@ return [ ...@@ -144,7 +145,11 @@ return [
'showScriptName' => false, 'showScriptName' => false,
'enableStrictParsing' => true, 'enableStrictParsing' => true,
'rules' => [ 'rules' => [
//TEMP
'keys' => 'site/keys',
'contacts' => 'site/contacts',
['pattern' => 'sitemap', 'route' => 'sitemap/default/index', 'suffix' => '.xml'], ['pattern' => 'sitemap', 'route' => 'sitemap/default/index', 'suffix' => '.xml'],
'source/<_u>/<_f>/<file>' => '@backend/web/<_u>/<_f>/<file>',
'' => 'content/page/view', '' => 'content/page/view',
...@@ -153,6 +158,9 @@ return [ ...@@ -153,6 +158,9 @@ return [
'faq/view/all' => 'faq/faq/all', 'faq/view/all' => 'faq/faq/all',
'faq/<url>' => 'faq/faq/view', 'faq/<url>' => 'faq/faq/view',
'faq' => 'faq/faq/index', 'faq' => 'faq/faq/index',
'school' => 'school/course/index',
'school/course/<id>' => 'school/course/view',
'school/lesson/<id>' => 'school/lesson/view',
'<_m>/<_c>/<_a>/<id:\d+>' => '<_m>/<_c>/<_a>', '<_m>/<_c>/<_a>/<id:\d+>' => '<_m>/<_c>/<_a>',
'<_m>/<_c>/<_a>/<page>' => '<_m>/<_c>/<_a>', '<_m>/<_c>/<_a>/<page>' => '<_m>/<_c>/<_a>',
......
...@@ -33,12 +33,23 @@ class SiteController extends BaseController ...@@ -33,12 +33,23 @@ class SiteController extends BaseController
public static function actionsTitles(){ public static function actionsTitles(){
return [ return [
'Index' => 'Главная страница', 'Index' => 'Главная страница',
'Contacts' => 'Контакты',
'Error' => 'Error', 'Error' => 'Error',
'Login' => '', 'Login' => '',
'Logout' => '', 'Logout' => '',
]; ];
} }
// TEMP
public function actionContacts()
{
return $this->render('contacts');
}
/** /**
* @inheritdoc * @inheritdoc
*/ */
...@@ -91,7 +102,7 @@ class SiteController extends BaseController ...@@ -91,7 +102,7 @@ class SiteController extends BaseController
$model = \common\modules\content\models\CoContent::findOne(['url' => 'site/error']); $model = \common\modules\content\models\CoContent::findOne(['url' => 'site/error']);
$content = $model->getContent(); $content = $model->getContent();
$this->meta_title = $model->metaTags->title; $this->meta_title = $model->metaTags->title . ' - ' . \Yii::$app->params['name'];
$this->meta_description = $model->metaTags->description; $this->meta_description = $model->metaTags->description;
$this->meta_keywords = $model->metaTags->keywords; $this->meta_keywords = $model->metaTags->keywords;
......
<?php
use \common\modules\reviews\models\Reviews;
use yii\helpers\Html;
$reviews = Reviews::find()
->where(['state' => 'active'])
->orderBy('created_at DESC')
->limit(2)
->all();
?>
<?php if($reviews) : ?>
<section class="rev_sec">
<div class="container">
<div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<span class="rev_title">Отзывы о нас</span>
</div>
</div>
<?php foreach ($reviews as $review) : ?>
<?php if(!$review->video) : ?>
<div class="row">
<?php if($review->photo) : ?>
<div class="col-md-3 col-xs-4 col-sm-12">
<div class="rev_img">
<?=Html::img(Reviews::PHOTO_FOLDER . $review->photo);?>
</div>
</div>
<?php endif; ?>
<div class="col-md-8 col-xs-8 col-sm-12">
<div class="rev_name"><?=$review->title?></div>
<div class="rev_txt"><?=$review->text?></div>
<!-- <div class="rev_txt">Мы работаем с компанией ООО «Арт Проект» с 2010 года. Компания оказывает нам услуги по созданию информационного портала и его дальнейшей поддержке в сети Интернет. В процессе разработки было составлено подробное техническое задание, которое позволило учесть все нюансы и разработать необходимый функционал для полноценной работы сайта. Компанией ООО «Арт Проект» были предложены рациональные и удобные функциональные решения, которые позволили нам самостоятельно создавать,
<div class="line_hide_rev"></div>
</div>
<div class="rev_txt_hide">редактировать и управлять информацией на сайте в режиме он-лайн. Для нашего проекта было разработано и внедрено несколько </div>
<div class="rev__hide__btn">Подробнее</div> -->
</div>
</div>
<?php else : ?>
<div class="rev_video_block">
<div class="row">
<div class="col-md-6 col-xs-12 col-sm-12">
<div class="rev_video">
<iframe width="417" height="199" src="<?=$review->video?>" frameborder="0" allowfullscreen></iframe>
</div>
</div>
<div class="col-md-6 col-xs-12 col-sm-12">
<div class="rev_video_name"><?=$review->title?></div>
<div class="rev_video_desc">
<?=$review->text?>
</div>
</div>
</div>
</div>
<?php endif; ?>
<?php endforeach; ?>
<a href="/otzyvy-art-proekt" class="all_rev__btn">Смотреть все отзывы</a>
</div>
</section>
<?php endif; ?>
\ No newline at end of file
<div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<div class="keys_send_mail">
<p>Процесс создания кейса очень трудоемкий.Поэтому мы занимаемся созданием кейсов свободное от работы время. Подпишитесь, чтобы следить за обновлениями.</p>
<form class="keys_mail_form">
<input type="email" placeholder="E-mail*" class="field-input required email"></input>
<button class="save-button">Подписаться</button>
</form>
<div class="send_secce">Вы успешно подписались на обновление раздела «Кейсы». Нам приятно, что вы следите за нашим развитием :-)</div>
</div>
</div>
</div>
\ No newline at end of file
<?php
use \common\modules\content\models\CoContent;
use yii\helpers\Html;
$models = CoContent::find()
->where(['category_id' => 4])
->orderBy('id DESC')
->all();
?>
<?php if($models) : ?>
<div class="row">
<?php foreach ($models as $model) : ?>
<div class="col-md-6 col-xs-6 col-sm-12">
<div class="keys_block_small">
<?=Html::img([CoContent::PHOTO_FOLDER . $model->preview], ['height' => '338', 'width' => '455'])?>
<div class="keys_small_title"><?=$model->title?></div>
<div class="keys_small_foot">
<?=Html::a('<span>Подробнее</span>', ['/'.$model->url], ['class' => 'keys_small_btn_more'])?>
<!-- <a href="#" class="keys_small_tags"># Big data</a> -->
</div>
</div>
</div>
<?php endforeach; ?>
<!-- <div class="col-md-6 col-xs-6 col-sm-12">
<div class="keys_block_small">
<img src="/images/keys_small2.jpg" height="338" width="455" alt="">
<div class="keys_small_title">Автоматизация освещения на АЗС</div>
<div class="keys_small_foot">
<a href="#" class="keys_small_btn_more"><span>Подробнее</span></a>
<a href="#" class="keys_small_tags"># Big data</a>
</div>
</div>
</div> -->
</div>
<!-- <div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<div class="keys_block_big">
<picture>
<source srcset="images/keys_big338.jpg" media="(max-width: 768px)">
<img src="/images/keys_big1.jpg" height="338" width="940" alt="">
</picture>
<div class="keys_small_title">Он-лайн сервис по подбору аналогов оборудования</div>
<div class="keys_small_foot">
<a href="#" class="keys_small_btn_more"><span>Подробнее</span></a>
<a href="#" class="keys_small_tags"># Big data</a>
</div>
</div>
</div>
</div> -->
<?php endif; ?>
\ No newline at end of file
<footer>
<div class="container">
<div class="row">
<div class="col-md-12 col-sm-12">
<div class="calk_form">
<span class="calk_form__title">Рассчитать проект</span>
<span class="calk_form_subtitle">Готовы обсудить любой проект. Есть идея или готовое ТЗ по проекту - отправьте его нам</span>
<form class="footer_form" id="form_foot">
<input type="text" placeholder="Ваше имя*" name="name" class="footer_form__input field-input required alphanumeric">
<input type="tel" placeholder="Телефон*" name="phone" class="footer_form__input field-input required alphanumeric">
<input type="email" placeholder="E-mail*" class="footer_form__input field-input required email">
<textarea placeholder="Опишите в двух словах ваш проект" class="footer_form__textarea"></textarea>
<div class="file-upload_block">
<div class="file_upload_bt">
<div class="file-upload">
<label>
<input type="file" name="file">
<span>Выбрать файл</span>
</label>
</div>
<input type="text" id="filename" class="filename" disabled>
<div class="file_drop">Перетащите файл в данную область<br/> или выберите файл с компьютера</div>
</div>
</div>
<button class="btn-default save-button">Рассчитать проект</button>
</form>
</div>
</div>
</div>
<div class="row">
<div class="col-md-4 col-xs-4 col-sm-12">
<a href="mailto:info@task-on.com" class="foot_mail">info@task-on.com</a>
</div>
<div class="col-md-4 col-xs-4 col-sm-12"><a href="#zvonok_form" class="zvonok_bt popup-form"><span>Заказать звонок</span></a></div>
<div class="col-md-4 col-xs-4 col-sm-12">
<div class="phone_hover_foot">Стоимость звонка 0 руб,<br/> в том числе с мобильного</div>
<span class="foot_phone"><?=\common\models\Settings::getValue('content-phone');?></span>
</div>
</div>
<div class="footbottom_line">
<div class="row">
<div class="col-md-3 col-xs-3 col-sm-12">
<div class="foot_logo">
<img src="images/foot_logo.png" height="51" width="192" alt="">
</div>
</div>
<div class="col-md-6 col-xs-6 col-sm-12">
<ul class="social_link">
<li><a href="#" class="soc_item"><i class="fa fa-vk"></i></a></li>
<li><a href="#" class="soc_item"><i class="fbicon"></i></a></li>
<li><a href="#" class="soc_item"><i class="fa fa-youtube"></i></a></li>
<li><a href="#" class="soc_item"><i class="fa fa-instagram"></i></a></li>
<li><a href="#" class="soc_item"><i class="fa fa-twitter"></i></a></li>
<li><a href="#" class="soc_item"><i class="gplusicon"></i></a></li>
</ul>
</div>
<div class="col-md-3 col-xs-3 col-sm-12">
<div class="taskon"><img src="images/taskon.png" height="31" width="100" alt=""></div>
<div class="copyring">Powered by Taskon <br /> Собственная разработка Арт Проект</div>
</div>
</div>
</div>
</div>
</footer>
<div class="hidden">
<div id="zvonok_form" class="popup">
<div class="txtbtnclose">Закрыть</div>
<span class="popup__title">Заказать звонок</span>
<span class="popup__subtittle">Чтобы мы могли вам перезвонить укажите свой номер телефона:</span>
<form class="valid_form">
<input type="text" class="input_st field-input required alphanumeric" placeholder="Ваше имя">
<input type="tel" class="input_st field-input required email" placeholder="Ваш телефон">
<button class="save-button popup_bt_send">Заказать звонок</button>
</form>
</div>
</div>
\ No newline at end of file
<footer style="padding-top:70px">
<div class="container">
<div class="row">
<div class="col-md-4 col-xs-4 col-sm-12">
<a href="mailto:info@task-on.com" class="foot_mail">info@task-on.com</a>
</div>
<div class="col-md-4 col-xs-4 col-sm-12"><a href="#zvonok_form" class="zvonok_bt popup-form"><span>Заказать звонок</span></a></div>
<div class="col-md-4 col-xs-4 col-sm-12">
<div class="phone_hover_foot">Стоимость звонка 0 руб,<br/> в том числе с мобильного</div>
<span class="foot_phone"><?=\common\models\Settings::getValue('content-phone');?></span>
</div>
</div>
<div class="footbottom_line">
<div class="row">
<div class="col-md-3 col-xs-3 col-sm-12">
<div class="foot_logo">
<img src="/images/foot_logo.png" height="51" width="192" alt="">
</div>
</div>
<div class="col-md-6 col-xs-6 col-sm-12">
<ul class="social_link">
<li><a href="#" class="soc_item"><i class="fa fa-vk"></i></a></li>
<li><a href="#" class="soc_item"><i class="fbicon"></i></a></li>
<li><a href="#" class="soc_item"><i class="fa fa-youtube"></i></a></li>
<li><a href="#" class="soc_item"><i class="fa fa-instagram"></i></a></li>
<li><a href="#" class="soc_item"><i class="fa fa-twitter"></i></a></li>
<li><a href="#" class="soc_item"><i class="gplusicon"></i></a></li>
</ul>
</div>
<div class="col-md-3 col-xs-3 col-sm-12">
<div class="taskon"><img src="/images/taskon.png" height="31" width="100" alt=""></div>
<div class="copyring">Powered by Taskon <br /> Собственная разработка Арт Проект</div>
</div>
</div>
</div>
</div>
</footer>
<div class="hidden">
<div id="zvonok_form" class="popup">
<div class="txtbtnclose">Закрыть</div>
<span class="popup__title">Заказать звонок</span>
<span class="popup__subtittle">Чтобы мы могли вам перезвонить укажите свой номер телефона:</span>
<form class="valid_form">
<input type="text" class="input_st field-input required alphanumeric" placeholder="Ваше имя">
<input type="tel" class="input_st field-input required email" placeholder="Ваш телефон">
<button class="save-button popup_bt_send">Заказать звонок</button>
</form>
</div>
</div>
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<meta name="keywords" content="<?php echo \Yii::$app->controller->meta_keywords?>"> <meta name="keywords" content="<?php echo \Yii::$app->controller->meta_keywords?>">
<meta name="description" content="<?php echo \Yii::$app->controller->meta_description?>"> <meta name="description" content="<?php echo \Yii::$app->controller->meta_description?>">
<link rel="shortcut icon" href="/images/favicon/favicon.ico" type="image/x-icon"> <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<link rel="apple-touch-icon" href="/images/favicon/apple-touch-icon.png"> <link rel="apple-touch-icon" href="/images/favicon/apple-touch-icon.png">
<link rel="apple-touch-icon" sizes="72x72" href="/images/favicon/apple-touch-icon-72x72.png"> <link rel="apple-touch-icon" sizes="72x72" href="/images/favicon/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="114x114" href="/images/favicon/apple-touch-icon-114x114.png"> <link rel="apple-touch-icon" sizes="114x114" href="/images/favicon/apple-touch-icon-114x114.png">
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<?php $this->registerCssFile('/css/animate.css');?> <?php $this->registerCssFile('/css/animate.css');?>
<?php $this->registerCssFile('https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css');?> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<?php $this->registerCssFile('/js/libs/bootstrap/css/bootstrap.css');?> <?php $this->registerCssFile('/js/libs/bootstrap/css/bootstrap.css');?>
<?php $this->registerCssFile('/js/libs/magnific/magnific-popup.css');?> <?php $this->registerCssFile('/js/libs/magnific/magnific-popup.css');?>
......
...@@ -27,12 +27,13 @@ AppAsset::register($this); ...@@ -27,12 +27,13 @@ AppAsset::register($this);
<nav class="menu"> <nav class="menu">
<div class="toggle_block"><a href="#" class="toggle-mnu"><span></span></a></div> <div class="toggle_block"><a href="#" class="toggle-mnu"><span></span></a></div>
<div class="phone_menu">8-495-961-42-29</div> <div class="phone_menu"><?=\common\models\Settings::getValue('content-phone')?></div>
<ul> <ul>
<li><a href="/about" class="link">О компании</a></li> <li><a href="/about" class="link">О компании</a></li>
<li><a href="#" class="link">Кейсы</a></li> <li><a href="/case" class="link">Кейсы</a></li>
<li><a href="#" class="link">Школа аналитики</a></li> <li><a href="#" class="link">Блог</a></li>
<li><a href="#" class="link">Контакты</a></li> <li><a href="/school" class="link">Школа аналитики</a></li>
<li><a href="/contacts" class="link">Контакты</a></li>
</ul> </ul>
</nav> </nav>
...@@ -41,16 +42,17 @@ AppAsset::register($this); ...@@ -41,16 +42,17 @@ AppAsset::register($this);
<div class="row"> <div class="row">
<div class="col-md-2 col-xs-3 col-sm-12"> <div class="col-md-2 col-xs-3 col-sm-12">
<a href="/" class="logo"> <a href="/" class="logo">
<img src="images/logo.png" height="34" width="125" alt=""> <img src="/images/logo.png" height="34" width="125" alt="">
</a> </a>
</div> </div>
<div class="col-md-7 col-xs-6 col-sm-12"> <div class="col-md-7 col-xs-6 col-sm-12">
<nav class="top_nav clearfix"> <nav class="top_nav clearfix">
<ul> <ul>
<li><a href="/about">О компании</a></li> <li><a href="/about">О компании</a></li>
<li><a href="#">Кейсы</a></li> <li><a href="/case">Кейсы</a></li>
<li><a href="#">Школа аналитики</a></li> <li><a href="#">Блог</a></li>
<li><a href="#">Контакты</a></li> <li><a href="/school">Школа аналитики</a></li>
<li><a href="/contacts">Контакты</a></li>
</ul> </ul>
</nav> </nav>
<div class="lang_check"> <div class="lang_check">
...@@ -59,7 +61,7 @@ AppAsset::register($this); ...@@ -59,7 +61,7 @@ AppAsset::register($this);
</div> </div>
</div> </div>
<div class="col-md-3 col-xs-3 col-sm-12"> <div class="col-md-3 col-xs-3 col-sm-12">
<span class="top_phone">8-495-961-42-29</span> <span class="top_phone"><?=\common\models\Settings::getValue('content-phone')?></span>
<div class="phone_hover_head">Стоимость звонка 0 руб,<br/> в том числе с мобильного</div> <div class="phone_hover_head">Стоимость звонка 0 руб,<br/> в том числе с мобильного</div>
</div> </div>
</div> </div>
......
<section class="section1_cont">
<div class="container">
<div class="row">
<duv class="col-md-5 col-xs-12 col-sm-12">
<h1>Контакная информация</h1>
</duv>
</div>
<div class="row">
<div class="col-md-7 col-xs-6 col-sm 12">
<div class="cont_block">
<div class="cont_block__city">Москва</div>
<div class="cont_block__phone"><strong>Телефон:</strong> +7 (495) 749 29 69</div>
<div class="cont_block__link_pp"><a href="#zvonok_form" class="popup-form">Заказать обратный звонок</a></div>
<div class="cont_block__email"><strong>E-mail:</strong> info@task-on.com</div>
<div class="cont_block__adr"><strong>Адрес:</strong> 119270, РФ, г. Москва, Лужнецкая<br/> набережная, д. 10 а, стр. 2</div>
</div>
<a href="#tabmap" class="view_sheme_link scrollto">Смотреть схему</a>
</div>
<div class="col-md-5 col-xs-6 col-sm 12">
<div class="cont_block">
<div class="cont_block__city">Казань</div>
<div class="cont_block__phone"><strong>Телефон:</strong> +7 (123) 456 78 90</div>
<div class="cont_block__link_pp"><a href="#zvonok_form" class="popup-form">Заказать обратный звонок</a></div>
<div class="cont_block__email"><strong>E-mail:</strong> info@task-on.com</div>
<div class="cont_block__adr"><strong>Адрес:</strong> 000000, РФ, г. Иннополис,<br/> ул. Спортивная, д. 114 офис 1001</div>
</div>
<a href="#tabmap" class="view_sheme_link scrollto">Смотреть схему</a>
</div>
</div>
</div>
</section>
<section class="sect_support_cont">
<div class="container">
<div class="row">
<duv class="col-md-5 col-xs-12 col-sm-12">
<h1>Техническая поддержка</h1>
</duv>
</div>
<div class="row">
<div class="col-md-7 col-xs-6 col-sm 12">
<div class="support_block">
<div class="support_block__phones">Телефоны:</div>
<div class="support_block__phones_itm">+7 (495) 749 29 69</div>
<div class="support_block__phones_itm">+7 (495) 961 42 29</div>
<div class="support_block__link_pp"><a href="#zvonok_form" class="popup-form">Заказать обратный звонок</a></div>
</div>
</div>
<div class="col-md-5 col-xs-6 col-sm 12">
<div class="support_block">
<div class="support_block__txt">Для вашего удобства мы подготовили видео в котором рассказывается как правильно ставить задачу в отдел технической поддержки.</div>
<div class="support_block__link_pv"><a href="#" class="">Смотреть видео</a></div>
</div>
</div>
</div>
</div>
</section>
<section class="sect_cont_forma">
<div class="container">
<div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<h1>Отправить сообщение с сайта</h1>
</div>
</div>
<div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<div class="sect_cont_block">
<form class="sect_cont_form" id="form_foot">
<input type="text" placeholder="Ваше имя*" name="name" class="sect_cont_form__input field-input required alphanumeric">
<input type="tel" placeholder="Телефон*" name="phone" class="sect_cont_form__input field-input required alphanumeric">
<textarea placeholder="Текст сообщения" class="sect_cont_form__textarea"></textarea>
<div class="file-upload_block_cs">
<div class="file_upload_bt_cs">
<div class="file-upload_cs">
<label>
<input type="file" name="file">
<span>Выбрать файл</span>
</label>
</div>
<input type="text" id="filename" class="filename_cs" disabled>
<div class="file_drop_cs">Перетащите файл в данную область<br/> или выберите файл с компьютера</div>
</div>
</div>
<button class="btn-default save-button">Отправить</button>
</form>
</div>
</div>
</div>
</div>
</section>
<section class="sect_map">
<div class="container">
<div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<h1>Как добраться</h1>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<div class="tabs">
<span class="tab_map" id="tabmap">Офис в Москве</span>
<span class="tab_map tab_kaz" id="tabmap">Офис в Казани</span>
</div>
</div>
</div>
</div>
<div class="tab_content">
<div class="tab_item">
<img src="images/map.jpg" height="748" width="1920" alt="">
</div>
<div class="tab_item">
<img src="images/map.jpg" height="748" width="1920" alt="">
</div>
</div>
</section>
<footer style="padding-top:70px">
<div class="container">
<div class="row">
<div class="col-md-4 col-xs-4 col-sm-12">
<a href="mailto:info@task-on.com" class="foot_mail">info@task-on.com</a>
</div>
<div class="col-md-4 col-xs-4 col-sm-12"><a href="#zvonok_form" class="zvonok_bt popup-form"><span>Заказать звонок</span></a></div>
<div class="col-md-4 col-xs-4 col-sm-12">
<div class="phone_hover_foot">Стоимость звонка 0 руб,<br/> в том числе с мобильного</div>
<span class="foot_phone">8-800-2000-600</span>
</div>
</div>
<div class="footbottom_line">
<div class="row">
<div class="col-md-3 col-xs-3 col-sm-12">
<div class="foot_logo">
<img src="images/foot_logo.png" height="51" width="192" alt="">
</div>
</div>
<div class="col-md-6 col-xs-6 col-sm-12">
<ul class="social_link">
<li><a href="#" class="soc_item"><i class="fa fa-vk"></i></a></li>
<li><a href="#" class="soc_item"><i class="fbicon"></i></a></li>
<li><a href="#" class="soc_item"><i class="fa fa-youtube"></i></a></li>
<li><a href="#" class="soc_item"><i class="fa fa-instagram"></i></a></li>
<li><a href="#" class="soc_item"><i class="fa fa-twitter"></i></a></li>
<li><a href="#" class="soc_item"><i class="gplusicon"></i></a></li>
</ul>
</div>
<div class="col-md-3 col-xs-3 col-sm-12">
<div class="taskon"><img src="images/taskon.png" height="31" width="100" alt=""></div>
<div class="copyring">Powered by Taskon <br /> Собственная разработка Арт Проект</div>
</div>
</div>
</div>
</div>
</footer>
<div class="hidden">
<div id="zvonok_form" class="popup">
<!-- <div class="txtbtnclose">Закрыть</div> -->
<span class="popup__title">Заказать звонок</span>
<span class="popup__subtittle">Чтобы мы могли вам перезвонить укажите свой номер телефона:</span>
<form class="valid_form">
<input type="text" class="input_st field-input required alphanumeric" placeholder="Ваше имя">
<input type="tel" class="input_st field-input required email" placeholder="Ваш телефон">
<button class="save-button popup_bt_send">Заказать звонок</button>
</form>
</div>
<div id="reg_form" class="popup">
<!-- <div class="txtbtnclose">Закрыть</div> -->
<span class="popup__title">Регистрация</span>
<form class="validreg_form">
<input type="text" class="input_st field-input required alphanumeric" placeholder="Имя Фамилия">
<input type="tel" class="input_st field-input required alphanumeric" placeholder="Телефон">
<input type="email" class="input_st field-input required email" placeholder="E-mail">
<input type="password" class="input_st field-input required alphanumeric" placeholder="Придумайте пароль">
<input type="password" class="input_st field-input required alphanumeric" placeholder="Повторите пароль">
<button class="save-button popup_bt_send">Зарегистрироваться</button>
</form>
</div>
</div>
\ No newline at end of file
<section class="keys_list_bl">
<div class="container">
<div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<h1>Кейсы нашей компании</h1>
<p>Здесь представлены проекты, которые нам запомнились или стали историей не только для наших заказчиков, но и для нашей команды в целом.</p>
</div>
</div>
<div class="row">
<div class="col-md-6 col-xs-6 col-sm-12">
<div class="keys_block_small">
<img src="images/keys_small1.jpg" height="338" width="455" alt="">
<div class="keys_small_title">Он-лайн сервис по подбору аналогов оборудования</div>
<div class="keys_small_foot">
<a href="http://mikulin.cz/project/artproject/keys_kns.html" class="keys_small_btn_more"><span>Подробнее</span></a>
<a href="#" class="keys_small_tags"># Big data</a>
</div>
</div>
</div>
<div class="col-md-6 col-xs-6 col-sm-12">
<div class="keys_block_small">
<img src="images/keys_small2.jpg" height="338" width="455" alt="">
<div class="keys_small_title">Автоматизация освещения на АЗС</div>
<div class="keys_small_foot">
<a href="#" class="keys_small_btn_more"><span>Подробнее</span></a>
<a href="#" class="keys_small_tags"># Big data</a>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<div class="keys_block_big">
<picture>
<source srcset="images/keys_big338.jpg" media="(max-width: 768px)">
<img src="images/keys_big1.jpg" height="338" width="940" alt="">
</picture>
<div class="keys_small_title">Он-лайн сервис по подбору аналогов оборудования</div>
<div class="keys_small_foot">
<a href="#" class="keys_small_btn_more"><span>Подробнее</span></a>
<a href="#" class="keys_small_tags"># Big data</a>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12 col-xs-12 col-sm-12">
<div class="keys_send_mail">
<p>Процесс создания кейса очень трудоемкий.Поэтому мы занимаемся созданием кейсов свободное от работы время. Подпишитесь, чтобы следить за обновлениями.</p>
<form class="keys_mail_form">
<input type="email" placeholder="E-mail*" class="field-input required email"></input>
<button class="save-button">Подписаться</button>
</form>
<div class="send_secce">Вы успешно подписались на обновление раздела «Кейсы». Нам приятно, что вы следите за нашим развитием :-)</div>
</div>
</div>
</div>
</div>
</section>
<footer style="padding-top:70px">
<div class="container">
<div class="row">
<div class="col-md-4 col-xs-4 col-sm-12">
<a href="mailto:info@task-on.com" class="foot_mail">info@task-on.com</a>
</div>
<div class="col-md-4 col-xs-4 col-sm-12"><a href="#zvonok_form" class="zvonok_bt popup-form"><span>Заказать звонок</span></a></div>
<div class="col-md-4 col-xs-4 col-sm-12">
<div class="phone_hover_foot">Стоимость звонка 0 руб,<br/> в том числе с мобильного</div>
<span class="foot_phone">8-800-2000-600</span>
</div>
</div>
<div class="footbottom_line">
<div class="row">
<div class="col-md-3 col-xs-3 col-sm-12">
<div class="foot_logo">
<img src="images/foot_logo.png" height="51" width="192" alt="">
</div>
</div>
<div class="col-md-6 col-xs-6 col-sm-12">
<ul class="social_link">
<li><a href="#" class="soc_item"><i class="fa fa-vk"></i></a></li>
<li><a href="#" class="soc_item"><i class="fbicon"></i></a></li>
<li><a href="#" class="soc_item"><i class="fa fa-youtube"></i></a></li>
<li><a href="#" class="soc_item"><i class="fa fa-instagram"></i></a></li>
<li><a href="#" class="soc_item"><i class="fa fa-twitter"></i></a></li>
<li><a href="#" class="soc_item"><i class="gplusicon"></i></a></li>
</ul>
</div>
<div class="col-md-3 col-xs-3 col-sm-12">
<div class="taskon"><img src="images/taskon.png" height="31" width="100" alt=""></div>
<div class="copyring">Powered by Taskon <br /> Собственная разработка Арт Проект</div>
</div>
</div>
</div>
</div>
</footer>
<div class="hidden">
<div id="zvonok_form" class="popup">
<!-- <div class="txtbtnclose">Закрыть</div> -->
<span class="popup__title">Заказать звонок</span>
<span class="popup__subtittle">Чтобы мы могли вам перезвонить укажите свой номер телефона:</span>
<form class="valid_form">
<input type="text" class="input_st field-input required alphanumeric" placeholder="Ваше имя">
<input type="tel" class="input_st field-input required email" placeholder="Ваш телефон">
<button class="save-button popup_bt_send">Заказать звонок</button>
</form>
</div>
<div id="reg_form" class="popup">
<!-- <div class="txtbtnclose">Закрыть</div> -->
<span class="popup__title">Регистрация</span>
<form class="validreg_form">
<input type="text" class="input_st field-input required alphanumeric" placeholder="Имя Фамилия">
<input type="tel" class="input_st field-input required alphanumeric" placeholder="Телефон">
<input type="email" class="input_st field-input required email" placeholder="E-mail">
<input type="password" class="input_st field-input required alphanumeric" placeholder="Придумайте пароль">
<input type="password" class="input_st field-input required alphanumeric" placeholder="Повторите пароль">
<button class="save-button popup_bt_send">Зарегистрироваться</button>
</form>
</div>
</div>
\ No newline at end of file
/index.php /index.php
/index-test.php /index-test.php
/assets /assets
/uploads/*
\ No newline at end of file
This diff is collapsed.
frontend/web/favicon.ico

4.19 KB | W: | H:

frontend/web/favicon.ico

4.19 KB | W: | H:

frontend/web/favicon.ico
frontend/web/favicon.ico
frontend/web/favicon.ico
frontend/web/favicon.ico
  • 2-up
  • Swipe
  • Onion skin
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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