diff --git a/backend/controllers/MenuLocationController.php b/backend/controllers/MenuLocationController.php index 2e3121a..68fdf69 100644 --- a/backend/controllers/MenuLocationController.php +++ b/backend/controllers/MenuLocationController.php @@ -4,7 +4,7 @@ namespace backend\controllers; use Yii; use backend\models\MenuLocation; -use backend\models\MenuSearchLocation; +use backend\models\MenuLocationSearch; use yii\web\Controller; use yii\web\NotFoundHttpException; use yii\filters\VerbFilter; @@ -32,7 +32,7 @@ class MenuLocationController extends Controller */ public function actionIndex() { - $searchModel = new MenuSearchLocation(); + $searchModel = new MenuLocationSearch(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); return $this->render('index', [ diff --git a/backend/controllers/SiteController.php b/backend/controllers/SiteController.php index 13773f7..71531d0 100644 --- a/backend/controllers/SiteController.php +++ b/backend/controllers/SiteController.php @@ -57,7 +57,19 @@ class SiteController extends Controller public function actionIndex() { - return $this->render('index'); +/* + if (Yii::$app->user->can('site/index')) + { + + } + else + { + Yii::$app->getSession()->setFlash('error', 'Доступ закрыт..'); + + return $this->redirect('/'); + } +*/ + return $this->render('index'); } public function actionLogin() diff --git a/backend/controllers/TerminController.php b/backend/controllers/TerminController.php index 435a5d1..960c423 100644 --- a/backend/controllers/TerminController.php +++ b/backend/controllers/TerminController.php @@ -5,23 +5,26 @@ namespace backend\controllers; use Yii; use backend\models\Termin; use backend\models\TerminSearch; +use yii\filters\AccessControl; use yii\web\Controller; use yii\web\NotFoundHttpException; use yii\filters\VerbFilter; use backend\models\TerminLang; use backend\models\TerminStructure; +use common\models\Language; +use backend\models\TerminRelation; /** * TerminController implements the CRUD actions for Termin model. */ class TerminController extends Controller { - public function behaviors() + public function behaviors() { return [ 'access' => [ 'class' => AccessControl::className(), - 'except' => ['login', 'error', 'index', 'create', 'update'], + 'except' => ['login', 'error', 'index', 'create', 'update', 'view', 'form', 'delete'], 'rules' => [ [ 'allow' => true, @@ -38,6 +41,20 @@ class TerminController extends Controller ], ]; } + + // ==== AJAX ==== + + public function actionForm($lang_id, $widget_id) + { + if (! $model = Language::find()->where(['>=', 'language_id', 1])->andWhere(['active' => 1, 'language_id' => $lang_id])->one()) + { + throw new NotFoundHttpException('Language not found'); + } + + $article_lang = new TerminLang(); + + return $this->renderAjax('_article_form', ['model' => $model, 'article_lang' => $article_lang, 'widget_id' => $widget_id]); + } /** * Lists all Termin models. @@ -73,23 +90,48 @@ class TerminController extends Controller */ public function actionCreate() { - $model = new Termin(); - $model_lang = new TerminLang(); + $model = new Termin(); + $model_pid = new TerminStructure(); + // проверяем общие таблицы if ($model->load(Yii::$app->request->post()) - && $model_lang->load(Yii::$app->request->post())) - { - $model->save(); - $model_lang->termin_id = $model->termin_id; - $model_lang->save(); + && $model_pid->load(Yii::$app->request->post()) + ) + { + $model_lang = []; + + foreach (Yii::$app->request->post()['TerminLang'] as $index => $row) + { + $model_lang[$index] = new TerminLang(); + } + + if (TerminLang::loadMultiple($model_lang, Yii::$app->request->post()) + && TerminLang::validateMultiple($model_lang)) + { + $model->save(); + $model_pid->termin_id = $model->termin_id; + $model_pid->save(); + + foreach ($model_lang as $post) + { + $post->termin_id = $model->termin_id; + $post->save(false); + } + } return $this->redirect(['view', 'id' => $model->termin_id]); } else - { + { + $default_lang = Language::getDefaultLang(); + + $LANG = []; + $LANG[$default_lang->language_id] = new TerminLang(); + return $this->render('create', [ 'model' => $model, - 'model_lang' => $model_lang, + 'model_lang' => $LANG, + 'model_pid' => $model_pid, ]); } } @@ -103,22 +145,49 @@ class TerminController extends Controller public function actionUpdate($id) { $model = $this->findModel($id); - $model_lang = TerminLang::findOne($id); - $model_pid = TerminStructure::findOne($id)->getRelation('terminPid')->one(); - - //var_dump(Yii::$app->request->post()); - //var_dump($model_pid->termin->termin_id); die; - + $model_lang = Termin::findOne($id)->getTerminLangs()->indexBy('lang_id')->all(); + $model_pid = TerminStructure::findOne($id); + + // проверяем общие таблицы if ($model->load(Yii::$app->request->post()) - && $model_lang->load(Yii::$app->request->post()) && $model_pid->load(Yii::$app->request->post()) ) - { - $model->save(); - $model_lang->save(); - $model_pid->termin_pid = $model_pid->termin->termin_id; - - return $this->redirect(['view', 'id' => $model->termin_id]); + { +/* + // проверяем таблицы lang + $post_lang = Yii::$app->request->post('TerminLang'); + if (! empty ($post_lang)) + { + foreach ($post_lang as &$row) + { + $row += new TerminLang(); + } + } + + var_dump($post_lang); + + die; +*/ + // + появились + + // - удалились + + if (TerminLang::loadMultiple($model_lang, Yii::$app->request->post()) + && TerminLang::validateMultiple($model_lang)) + { + foreach ($model_lang as $post) + { + $post->termin_id = $model->termin_id; + $post->save(false); + } + + $model->save(); + $model_pid->save(); + + return $this->redirect(['view', 'id' => $model->termin_id]); + } + + return $this->redirect('index'); } else { diff --git a/backend/models/Termin.php b/backend/models/Termin.php index e7064da..58380a4 100644 --- a/backend/models/Termin.php +++ b/backend/models/Termin.php @@ -21,6 +21,7 @@ class Termin extends \yii\db\ActiveRecord { var $termin_title; var $termin_pid; + var $termin_parent_title; /** * @inheritdoc @@ -37,9 +38,9 @@ class Termin extends \yii\db\ActiveRecord { return [ [['is_book'], 'integer'], - [['termin_pid'], 'safe'], + [['termin_pid', 'termin_parent_title'], 'safe'], [['termin_title'], 'string', 'max' => 250], - [['termin_name'], 'string', 'max' => 250] + [['termin_name','termin_parent_title'], 'string', 'max' => 250] ]; } @@ -51,6 +52,8 @@ class Termin extends \yii\db\ActiveRecord return [ 'termin_id' => Yii::t('app', 'termin'), 'termin_name' => Yii::t('app', 'name').' (SYSTEM NAME)', + 'termin_title' => Yii::t('app', 'termin'), + 'termin_parent_title' => Yii::t('app', 'termin').' Parent', 'is_book' => Yii::t('app', 'book'), ]; } @@ -70,6 +73,7 @@ class Termin extends \yii\db\ActiveRecord 'return_field' => false, 'show_all' => false, 'to_array' => true, + 'sql_only' => false, 'pid_title' => false, )); @@ -134,7 +138,7 @@ class Termin extends \yii\db\ActiveRecord { $query = $query->asArray(); } - + if ($params['return_one'] || $params['return_field']) { @@ -161,16 +165,13 @@ class Termin extends \yii\db\ActiveRecord */ public function getTerminLangs() { - return $this->hasMany(TerminLang::className(), ['termin_id' => 'termin_id']); + return $this->hasOne(TerminLang::className(), ['termin_id' => 'termin_id']); } - - /** - * @return \yii\db\ActiveQuery - */ - public function getLangs() + + public function getParent() { - return $this->hasMany(Language::className(), ['language_id' => 'lang_id']) - ->viaTable('termin_lang', ['termin_id' => 'termin_id']); + return $this->hasOne(Termin::className(),['termin_id'=>'termin_pid']) + ->viaTable(TerminStructure::tableName(), ['termin_id'=>'termin_id']); } /** diff --git a/backend/models/TerminSearch.php b/backend/models/TerminSearch.php index fe13c3a..ef5efe4 100644 --- a/backend/models/TerminSearch.php +++ b/backend/models/TerminSearch.php @@ -19,7 +19,7 @@ class TerminSearch extends Termin { return [ [['termin_id', 'is_book'], 'integer'], - [['termin_name'], 'safe'], + [['termin_name', 'termin_title', 'termin_parent_title'], 'safe'], ]; } @@ -42,6 +42,7 @@ class TerminSearch extends Termin public function search($params) { $query = Termin::find(); + $query->select('*'); $dataProvider = new ActiveDataProvider([ 'query' => $query, @@ -53,7 +54,9 @@ class TerminSearch extends Termin // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; - } + } + + $query->joinWith(['terminLangs', 'terminStructures']); $query->andFilterWhere([ 'termin_id' => $this->termin_id, @@ -61,6 +64,8 @@ class TerminSearch extends Termin ]); $query->andFilterWhere(['like', 'termin_name', $this->termin_name]); + $query->andFilterWhere(['like', TerminLang::tableName().'.termin_title', $this->termin_title]); + //$query->andFilterWhere(['like', 'termin_title', $this->termin_title]); return $dataProvider; } diff --git a/backend/models/TerminStructure.php b/backend/models/TerminStructure.php index 2b3c5c5..87f5d93 100644 --- a/backend/models/TerminStructure.php +++ b/backend/models/TerminStructure.php @@ -51,7 +51,7 @@ class TerminStructure extends \yii\db\ActiveRecord { return $this->hasOne(Termin::className(), ['termin_id' => 'termin_id']); } - + /** * @return \yii\db\ActiveQuery */ diff --git a/backend/views/menu/index.php b/backend/views/menu/index.php index 11d81c4..1f4de06 100644 --- a/backend/views/menu/index.php +++ b/backend/views/menu/index.php @@ -25,13 +25,14 @@ $this->params['breadcrumbs'][] = $this->title; 'filterModel' => $searchModel, 'columns' => [ ['class' => 'yii\grid\SerialColumn'], - +/* [ 'attribute' => Yii::t('app', 'termin'), 'value' => function ($model) { return empty($model->termin_id) ? '-' : $model->termin_lang->termin_title; }, - ], + ], + */ 'menu_pid', 'level', // 'sortorder', diff --git a/backend/views/termin/_article_form.php b/backend/views/termin/_article_form.php new file mode 100644 index 0000000..19d0dca --- /dev/null +++ b/backend/views/termin/_article_form.php @@ -0,0 +1,19 @@ + +
+ + $article_lang, 'attribute' => "[$model->language_id]lang_id"]))->label(false)->hiddenInput(['value' => $model->language_id]) ?> + + $article_lang, 'attribute' => "[$model->language_id]termin_title"]))->textInput() ?> + + $article_lang, 'attribute' => "[$model->language_id]termin_alias"]))->textInput() ?> + +
+end(); +?> diff --git a/backend/views/termin/_form.php b/backend/views/termin/_form.php index cc088ef..354ff63 100644 --- a/backend/views/termin/_form.php +++ b/backend/views/termin/_form.php @@ -5,21 +5,34 @@ use yii\widgets\ActiveForm; use backend\models\Termin; use kartik\select2\Select2; use yii\helpers\ArrayHelper; +use common\widgets\Multilang; +use yii\helpers\Url; /* @var $this yii\web\View */ /* @var $model backend\models\Termin */ /* @var $form yii\widgets\ActiveForm */ -?> +echo '
'; -
+$form = ActiveForm::begin(); - - - field($model_pid->termin, 'termin_pid')->widget(Select2::classname(), + // ================ + // ==== COMMON ==== + // ================ + + echo $form->field($model_pid, 'termin_pid')->widget( + Select2::classname(), [ - 'data' => ArrayHelper::map((new Termin)->finInfo([ + 'data' => ArrayHelper::map( + [ + [ + 'termin_id' => 0, + 'termin_title' => 'NONE', + ] + ] + + (new Termin)->finInfo([ 'show_all' => true, + 'to_array' => true, ]), 'termin_id', 'termin_title' @@ -28,23 +41,53 @@ use yii\helpers\ArrayHelper; 'pluginOptions' => [ 'allowClear' => true ], - ]); - ?> + ] + ); - field($model, 'termin_name')->textInput(['maxlength' => true]) ?> - - field($model_lang, 'termin_title')->textInput() ?> - - field($model_lang, 'termin_alias')->textInput() ?> - - field($model, 'termin_name')->textInput(['maxlength' => true]); + + // ============== + // ==== LANG ==== + // ============== + + $multilang = Multilang::begin(['ajaxpath' => Url::to(['termin/form']), 'form' => $form, 'data_langs' => $model_lang]); + + $first = 1; + + foreach ($model_lang as $index => $data) + { + echo ' +
+ + '.$form->field($model_lang[$index], '['.$index.']lang_id')->label(false)->hiddenInput(['value' => $index]).' + + '.$form->field($model_lang[$index], '['.$index.']termin_title')->textInput().' + + '.$form->field($model_lang[$index], '['.$index.']termin_alias')->textInput().' + +
'; + + $first = 0; + } + + $multilang->end(); +/* + echo Html::activeHiddenInput ($model_lang, 'lang_id', [ 'value' => ($model_lang->lang_id != 0 ? $model_lang->lang_id : Yii::$app->params['lang_id']), - ]) ?> + ]); +*/ + // ==== BUTTON ==== + echo '
- isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?> -
+ '.Html::submitButton($model->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']).' +
'; + +ActiveForm::end(); - +echo '
'; - +echo ' +'; diff --git a/backend/views/termin/create.php b/backend/views/termin/create.php index ce04b41..2be42d1 100644 --- a/backend/views/termin/create.php +++ b/backend/views/termin/create.php @@ -17,6 +17,7 @@ $this->params['breadcrumbs'][] = $this->title; render('_form', [ 'model' => $model, 'model_lang' => $model_lang, + 'model_pid' => $model_pid, ]) ?> diff --git a/backend/views/termin/index.php b/backend/views/termin/index.php index 099988c..99736a4 100644 --- a/backend/views/termin/index.php +++ b/backend/views/termin/index.php @@ -19,17 +19,20 @@ $this->params['breadcrumbs'][] = $this->title; 'btn btn-success']) ?>

+ $dataProvider, 'filterModel' => $searchModel, 'columns' => [ ['class' => 'yii\grid\SerialColumn'], [ - 'attribute' => Yii::t('app', 'termin'), - 'value' => function ($model) { - return $model->terminLangs[0]->termin_title; - }, - ], + 'attribute' => 'termin_title', + 'value' => 'terminLangs.termin_title' + ], + [ + 'attribute' => 'termin_parent_title', + 'value' => 'parent.terminLangs.termin_title' + ], 'termin_name', 'is_book', diff --git a/backend/web/js/option.js b/backend/web/js/option.js index 5a9b0ec..60ac1c3 100644 --- a/backend/web/js/option.js +++ b/backend/web/js/option.js @@ -36,42 +36,6 @@ $(function() { $(document).on('click', '.remove_lang', function() { $(this).parents('.form-wrapper').remove(); }); - if($('#lang-tabs li').length > 1) { - $('#lang-tabs li').append('') - } - $(document).on('click', '#lang-dropdown li a[data-lang]', function() { - var lang = $(this).data('lang'); - var flag = $(this).find('span').first().clone(); - var el = $(this); - $.get('/blog/ajax/category-form', { lang_id: lang }, function(data) { - $('#lang-tabs li').removeClass('active'); - $('#lang-tabs').append('
  • '+$('

    ').append($(flag)).html()+'

  • '); - $('.lang-tab-content .tab-pane.active').removeClass('active'); - $('.lang-tab-content').append($(data).find('.ajax-loaded').first()); - $('body').append($(data).filter('script')); - $(el).parent().remove(); - if(!$('#lang-dropdown li').length) { - $('#dropdownLang').addClass('disabled'); - } - if($('#lang-tabs li').length > 1) { - $('#lang-tabs li').append('') - } - }); - }); - $(document).on('click', '.remove-lang', function() { - var lang = $(this).parent().data('lang'); - var flag = $(this).parent().find('span.flag').first().clone(); - $('#lang-'+lang).remove(); - $('#lang-dropdown').append('
  • '+$('

    ').append($(flag)).html()+'

  • '); - $('#dropdownLang').removeClass('disabled'); - $(this).parent().remove(); - if($('#lang-tabs li').length <= 1) { - $('#lang-tabs li').find('.remove-lang').remove(); - } - if(!$('#lang-tabs>li.active').length) { - $('#lang-tabs>li').first().find('a').tab('show'); - } - }); $(document).on('change', '.image_inputs_field', function() { readURL(this); }); @@ -89,4 +53,44 @@ $(function() { } return false; }); + $.each($('.nav-tabs.f32'), function(key, value) { + if($(value).find('li').length > 1) { + $(value).find('li').append(''); + } + }); + $(document).on('click', '.dropdown-menu.f32 li a[data-lang]', function() { + var lang = $(this).data('lang'); + var flag = $(this).find('span').first().clone(); + var el = $(this); + var id = $(this).attr('href').substr(1); + $.get(form[id], { lang_id: lang, widget_id: id }, function(data) { + $('#'+id+'-tabs li').removeClass('active'); + $('#'+id+'-tabs').append('
  • '+$('

    ').append($(flag)).html()+'

  • '); + $('#tab-content-'+id+' .tab-pane.active').removeClass('active'); + $('#tab-content-'+id).append($(data).find('.ajax-loaded').first()); + $('body').append($(data).filter('script')); + $(el).parent().remove(); + if(!$('#lang-'+id+' li').length) { + $('#'+id+'Lang').addClass('disabled'); + } + if($('#'+id+'-tabs li').length > 1) { + $('#'+id+'-tabs li').append('') + } + }); + }); + $(document).on('click', '.remove-lang', function() { + var lang = $(this).parent().data('lang'); + var flag = $(this).parent().find('span.flag').first().clone(); + var id = $(this).parent().find('a[aria-controls]').first().attr('aria-controls').substr(0,8); + $('#'+id+'-'+lang).remove(); + $('#lang-'+id).append('
  • '+$('

    ').append($(flag)).html()+'

  • '); + $('#'+id+'Lang').removeClass('disabled'); + $(this).parent().remove(); + if($('#'+id+'-tabs li').length <= 1) { + $('#'+id+'-tabs li').find('.remove-lang').remove(); + } + if(!$('#'+id+'-tabs>li.active').length) { + $('#'+id+'-tabs>li').first().find('a').tab('show'); + } + }); }); \ No newline at end of file diff --git a/composer.json b/composer.json index d72bd01..ca01b54 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,7 @@ "irc": "irc://irc.freenode.net/yii", "source": "https://github.com/yiisoft/yii2" }, - "minimum-stability": "stable", + "minimum-stability": "dev", "require": { "php": ">=5.4.0", "yiisoft/yii2": ">=2.0.6", diff --git a/db-migration/artbox_db.backup b/db-migration/artbox_db.backup index fa970ab..c9592fb 100644 Binary files a/db-migration/artbox_db.backup and b/db-migration/artbox_db.backup differ diff --git a/db-migration/artbox_db3.backup b/db-migration/artbox_db3.backup deleted file mode 100644 index b5ff1f1..0000000 Binary files a/db-migration/artbox_db3.backup and /dev/null differ diff --git a/db-migration/article_option_migration.backup b/db-migration/article_option_migration.backup deleted file mode 100644 index 6107b2e..0000000 Binary files a/db-migration/article_option_migration.backup and /dev/null differ diff --git a/db-migration/blog.zip b/db-migration/blog.zip deleted file mode 100644 index 8ae4115..0000000 Binary files a/db-migration/blog.zip and /dev/null differ diff --git a/db-migration/catalog.backup b/db-migration/catalog.backup deleted file mode 100644 index 4439f77..0000000 Binary files a/db-migration/catalog.backup and /dev/null differ diff --git a/db-migration/yarik.sql b/db-migration/yarik.sql deleted file mode 100644 index 8196211..0000000 --- a/db-migration/yarik.sql +++ /dev/null @@ -1,211 +0,0 @@ --- -------------------------------------------------------- --- Хост: 127.0.0.1 --- Версия сервера: PostgreSQL 9.4.4, compiled by Visual C++ build 1800, 32-bit --- ОС Сервера: --- HeidiSQL Версия: 9.3.0.4984 --- -------------------------------------------------------- - -/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; -/*!40101 SET NAMES */; -/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; -/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; - --- Дамп структуры для таблица public.article -CREATE TABLE IF NOT EXISTS "article" ( - "id" INTEGER NOT NULL DEFAULT nextval('article_id_seq'::regclass) COMMENT E'', - "sort" INTEGER NOT NULL DEFAULT 100 COMMENT E'', - "create_at" TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT now() COMMENT E'', - "update_at" TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT now() COMMENT E'', - "code" CHARACTER VARYING NOT NULL COMMENT E'', - "category_id" INTEGER NOT NULL DEFAULT 1 COMMENT E'', - "author" INTEGER NOT NULL COMMENT E'', - "tags" CHARACTER VARYING NULL DEFAULT NULL COMMENT E'', - "parent_id" INTEGER NULL DEFAULT NULL COMMENT E'', - "active" SMALLINT NOT NULL DEFAULT 0 COMMENT E'', - "comments" SMALLINT NOT NULL DEFAULT 0::smallint COMMENT E'', - "voting" SMALLINT NOT NULL DEFAULT 0::smallint COMMENT E'', - KEY ("author"), - PRIMARY KEY ("id"), - KEY ("parent_id"), - KEY ("category_id"), - KEY ("id") -); - --- Дамп данных таблицы public.article: 3 rows -/*!40000 ALTER TABLE "article" DISABLE KEYS */; -INSERT INTO "article" ("id", "sort", "create_at", "update_at", "code", "category_id", "author", "tags", "parent_id", "active", "comments", "voting") VALUES - (5, 100, E'2015-12-04 14:52:39.54', E'2015-12-04 14:52:39.54', E'test_article', 1, 1, E'test, tag', NULL, 1, 0, 0), - (6, 100, E'2015-12-04 14:52:52.403', E'2015-12-04 14:52:52.403', E'test_article2', 1, 1, E'test, tag', NULL, 1, 0, 0), - (12, 100, E'2015-12-04 14:52:52.403', E'2015-12-04 14:52:52.403', E'test_article3', 1, 1, E'test, tag', 5, 1, 0, 0); -/*!40000 ALTER TABLE "article" ENABLE KEYS */; - - --- Дамп структуры для таблица public.article_category -CREATE TABLE IF NOT EXISTS "article_category" ( - "id" INTEGER NOT NULL DEFAULT nextval('article_category_id_seq'::regclass) COMMENT E'', - "sort" INTEGER NOT NULL DEFAULT 100 COMMENT E'', - "code" CHARACTER VARYING NOT NULL COMMENT E'', - "created_at" TIME WITHOUT TIME ZONE NOT NULL DEFAULT now() COMMENT E'', - "updated_at" TIME WITHOUT TIME ZONE NOT NULL DEFAULT now() COMMENT E'', - "tags" CHARACTER VARYING NULL DEFAULT NULL COMMENT E'', - "parent_id" INTEGER NULL DEFAULT NULL COMMENT E'', - "active" SMALLINT NOT NULL DEFAULT 0 COMMENT E'', - PRIMARY KEY ("id"), - KEY ("parent_id"), - KEY ("id") -); - --- Дамп данных таблицы public.article_category: 2 rows -/*!40000 ALTER TABLE "article_category" DISABLE KEYS */; -INSERT INTO "article_category" ("id", "sort", "code", "created_at", "updated_at", "tags", "parent_id", "active") VALUES - (1, 100, E'static_pages', E'14:08:02.74', E'14:08:02.74', NULL, NULL, 1), - (2, 100, E'qwerty', E'11:00:35.954', E'11:00:35.954', E'qwerty', NULL, 0); -/*!40000 ALTER TABLE "article_category" ENABLE KEYS */; - - --- Дамп структуры для таблица public.article_category_lang -CREATE TABLE IF NOT EXISTS "article_category_lang" ( - "id" INTEGER NOT NULL DEFAULT nextval('article_category_lang_id_seq'::regclass) COMMENT E'', - "lang_id" INTEGER NOT NULL DEFAULT 0 COMMENT E'', - "category_id" INTEGER NULL DEFAULT NULL COMMENT E'', - "text" TEXT NOT NULL COMMENT E'', - "preview" TEXT NULL DEFAULT NULL COMMENT E'', - "seo_url" CHARACTER VARYING NULL DEFAULT NULL COMMENT E'', - "name" CHARACTER VARYING NOT NULL COMMENT E'', - "meta_title" CHARACTER VARYING NULL DEFAULT NULL COMMENT E'', - "meta_descr" TEXT NULL DEFAULT NULL COMMENT E'', - "meta_keywords" CHARACTER VARYING NULL DEFAULT NULL COMMENT E'', - "h1_tag" CHARACTER VARYING NULL DEFAULT NULL COMMENT E'', - "tags" CHARACTER VARYING NULL DEFAULT NULL COMMENT E'', - PRIMARY KEY ("id"), - KEY ("category_id"), - KEY ("lang_id"), - KEY ("id") -); - --- Дамп данных таблицы public.article_category_lang: 3 rows -/*!40000 ALTER TABLE "article_category_lang" DISABLE KEYS */; -INSERT INTO "article_category_lang" ("id", "lang_id", "category_id", "text", "preview", "seo_url", "name", "meta_title", "meta_descr", "meta_keywords", "h1_tag", "tags") VALUES - (1, 0, 1, E'Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem ', E'Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem Lorem ', E'lorem', E'Lorem ipsum', E'Lorem title', E'Lorem description', E'lorem, keyword', E'Lorem h1 tag', E'lorem tag'), - (2, 2, 2, E'qwerty', E'qwerty', E'qwerty', E'qwerty', E'qwerty', E'qwerty', E'qwerty', E'qwerty', E'qwerty'), - (3, 1, 2, E'йцукен', E'йцукен', E'йцукен', E'йцукен', E'йцукен', E'йцукен', E'йцукен', E'йцукен', E'йцукен'); -/*!40000 ALTER TABLE "article_category_lang" ENABLE KEYS */; - - --- Дамп структуры для таблица public.article_category_media -CREATE TABLE IF NOT EXISTS "article_category_media" ( - "id" INTEGER NOT NULL DEFAULT nextval('article_category_media_id_seq'::regclass) COMMENT E'', - "category_id" INTEGER NOT NULL COMMENT E'', - "media_id" INTEGER NOT NULL COMMENT E'', - "media_alt" CHARACTER VARYING NULL DEFAULT NULL COMMENT E'', - "media_title" CHARACTER VARYING NULL DEFAULT NULL COMMENT E'', - "media_caption" CHARACTER VARYING NULL DEFAULT NULL COMMENT E'', - "type" CHARACTER VARYING(10) NOT NULL DEFAULT 'additional'::character varying COMMENT E'', - PRIMARY KEY ("id"), - KEY ("media_id"), - KEY ("category_id"), - KEY ("id") -); - --- Дамп данных таблицы public.article_category_media: 0 rows -/*!40000 ALTER TABLE "article_category_media" DISABLE KEYS */; -/*!40000 ALTER TABLE "article_category_media" ENABLE KEYS */; - - --- Дамп структуры для таблица public.article_lang -CREATE TABLE IF NOT EXISTS "article_lang" ( - "id" INTEGER NOT NULL DEFAULT nextval('article_lang_id_seq'::regclass) COMMENT E'', - "lang_id" INTEGER NOT NULL COMMENT E'', - "article_id" INTEGER NOT NULL COMMENT E'', - "text" TEXT NOT NULL COMMENT E'', - "seo_url" CHARACTER VARYING NULL DEFAULT NULL COMMENT E'', - "name" CHARACTER VARYING NOT NULL COMMENT E'', - "preview" TEXT NULL DEFAULT NULL COMMENT E'', - "meta_title" CHARACTER VARYING NULL DEFAULT NULL COMMENT E'', - "meta_descr" TEXT NULL DEFAULT NULL COMMENT E'', - "meta_keywords" CHARACTER VARYING NULL DEFAULT NULL COMMENT E'', - "h1_tag" CHARACTER VARYING NULL DEFAULT NULL COMMENT E'', - "tags" CHARACTER VARYING NULL DEFAULT NULL COMMENT E'', - PRIMARY KEY ("id"), - KEY ("article_id"), - KEY ("lang_id"), - KEY ("id") -); - --- Дамп данных таблицы public.article_lang: 2 rows -/*!40000 ALTER TABLE "article_lang" DISABLE KEYS */; -INSERT INTO "article_lang" ("id", "lang_id", "article_id", "text", "seo_url", "name", "preview", "meta_title", "meta_descr", "meta_keywords", "h1_tag", "tags") VALUES - (1, 0, 5, E'Lorem Lorem Lorem', E'article1', E'artivle1', E'Lorem preview', E'Lorem title', E'Lorem description', E'lorem, keyword', E'lorem h1 tag', E'tag, lorem'), - (2, 0, 12, E'Lorem Lorem Lorem', E'article3', E'artivle3\r\n', E'Lorem preview', E'Lorem title', E'Lorem description', E'lorem, keyword', E'lorem h1 tag', E'tag, lorem'); -/*!40000 ALTER TABLE "article_lang" ENABLE KEYS */; - - --- Дамп структуры для таблица public.article_media -CREATE TABLE IF NOT EXISTS "article_media" ( - "id" INTEGER NOT NULL DEFAULT nextval('article_media_id_seq'::regclass) COMMENT E'', - "article_id" INTEGER NOT NULL COMMENT E'', - "media_id" INTEGER NOT NULL COMMENT E'', - "type" CHARACTER VARYING(10) NOT NULL DEFAULT 'additional'::character varying COMMENT E'', - "media_alt" CHARACTER VARYING NULL DEFAULT NULL COMMENT E'', - "media_title" CHARACTER VARYING NULL DEFAULT NULL COMMENT E'', - "media_caption" CHARACTER VARYING NULL DEFAULT NULL COMMENT E'', - PRIMARY KEY ("id"), - KEY ("media_id"), - KEY ("article_id"), - KEY ("id") -); - --- Дамп данных таблицы public.article_media: 0 rows -/*!40000 ALTER TABLE "article_media" DISABLE KEYS */; -/*!40000 ALTER TABLE "article_media" ENABLE KEYS */; - - --- Дамп структуры для таблица public.media -CREATE TABLE IF NOT EXISTS "media" ( - "id" INTEGER NOT NULL DEFAULT nextval('media_id_seq'::regclass) COMMENT E'', - "hash" CHARACTER VARYING NOT NULL COMMENT E'', - PRIMARY KEY ("id"), - KEY ("id") -); - --- Дамп данных таблицы public.media: 0 rows -/*!40000 ALTER TABLE "media" DISABLE KEYS */; -/*!40000 ALTER TABLE "media" ENABLE KEYS */; - - --- Дамп структуры для таблица public.option -CREATE TABLE IF NOT EXISTS "option" ( - "model" CHARACTER VARYING(200) NULL DEFAULT NULL COMMENT E'', - "option_id" INTEGER NOT NULL DEFAULT nextval('option_option_id_seq'::regclass) COMMENT E'', - "model_id" INTEGER NULL DEFAULT NULL COMMENT E'', - "name" CHARACTER VARYING(200) NULL DEFAULT NULL COMMENT E'', - "template" CHARACTER VARYING(200) NULL DEFAULT NULL COMMENT E'', - "parent_id" INTEGER NULL DEFAULT NULL COMMENT E'', - "translate" BIT(1) NULL DEFAULT NULL COMMENT E'', - "created_at" TIMESTAMP WITHOUT TIME ZONE NULL DEFAULT now() COMMENT E'', - KEY ("option_id"), - KEY ("parent_id"), - PRIMARY KEY ("option_id") -); - --- Дамп данных таблицы public.option: 0 rows -/*!40000 ALTER TABLE "option" DISABLE KEYS */; -/*!40000 ALTER TABLE "option" ENABLE KEYS */; - - --- Дамп структуры для таблица public.option_lang -CREATE TABLE IF NOT EXISTS "option_lang" ( - "primary" INTEGER NOT NULL DEFAULT nextval('option_lang_primary_seq'::regclass) COMMENT E'', - "id" INTEGER NULL DEFAULT NULL COMMENT E'', - "lang_id" INTEGER NULL DEFAULT NULL COMMENT E'', - "value" TEXT NULL DEFAULT NULL COMMENT E'', - KEY ("id"), - PRIMARY KEY ("primary") -); - --- Дамп данных таблицы public.option_lang: 0 rows -/*!40000 ALTER TABLE "option_lang" DISABLE KEYS */; -/*!40000 ALTER TABLE "option_lang" ENABLE KEYS */; -/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; -/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; diff --git a/db-migration/yarik.zip b/db-migration/yarik.zip deleted file mode 100644 index df86c39..0000000 Binary files a/db-migration/yarik.zip and /dev/null differ -- libgit2 0.21.4