diff --git a/k2shop/k2shop/app/README/_composer_and_components.txt b/k2shop/k2shop/app/README/_composer_and_components.txt
new file mode 100644
index 0000000..31f71c7
--- /dev/null
+++ b/k2shop/k2shop/app/README/_composer_and_components.txt
@@ -0,0 +1,70 @@
+Twig:
+ https://twig.symfony.com/
+twig/extensions
+twig/twig
+
+
+Doctrine 2:
+ http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/tutorials/getting-started.html
+ http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/configuration.html
+ Example: https://github.com/doctrine/doctrine2-orm-tutorial
+
+symfony/form:
+ https://symfony.com/doc/current/forms.html
+
+symfony/yaml:
+ https://symfony.com/doc/current/components/yaml.html
+
+symfony/var-dumper:
+ https://symfony.com/doc/current/components/var_dumper.html
+
+symfony/browser-kit
+ https://symfony.com/doc/current/components/browser_kit.html
+
+
+tinymce/tinymce:
+ https://www.tinymce.com/docs/get-started/advanced-install/#composer
+
+nayjest/grids (Grid for Lavarel):
+ https://github.com/Nayjest/Grids
+
+ckeditor/ckeditor - (редактокр ckeditor в composer):
+
+doctrine/doctrine-migrations-bundle
+
+doctrine/doctrine-fixtures-bundle
+ https://symfony.com/doc/master/bundles/DoctrineFixturesBundle/index.html
+
+
+symfony/validator
+symfony/translation
+symfony/orm-pack
+symfony/swiftmailer-bundle
+symfony/security-bundle
+symfony/polyfill-apcu
+symfony/monolog-bundle
+symfony/framework-bundle
+symfony/flex
+symfony/expression-language
+symfony/asset
+sensiolabs/security-checker
+sensio/framework-extra-bundle
+ezyang/htmlpurifier
+erusev/parsedown
+doctrine/doctrine-fixtures-bundle
+ext-pdo_sqlite
+
+symfony/css-selector
+symfony/debug-bundle
+symfony/profiler-pack
+symfony/web-server-bundle
+dama/doctrine-test-bundle
+friendsofphp/php-cs-fixer
+symfony/dotenv
+
+
+
+
+
+
+
diff --git a/k2shop/k2shop/app/README/_install.txt b/k2shop/k2shop/app/README/_install.txt
new file mode 100644
index 0000000..a28874d
--- /dev/null
+++ b/k2shop/k2shop/app/README/_install.txt
@@ -0,0 +1,12 @@
+For deployment enough to rewrite files (Для развертывания системы хватит переписать файлы):
+
+1. Template design (Шаблон дизайна).
+ /k2shop/usr/TemplateName
+
+2. Rewrite SQL updates (Переписать SQL обновления).
+ /k2shop/k2shop/sql
+
+3. Overwrite system scripts (Переписать скрипты системы):
+ /k2shop/k2shop/app - the entire directory. Can only the necessary modules to work in /k2shop/k2shop/app/comp (весь каталог. Можно только необходимые модули для работы в /k2shop/k2shop/app/comp)
+ /k2shop/k2shop/libs - full directory (весь каталог).
+ /k2shop/k2shop/*.* - all files (все файлы) (no directories (не каталоги))
\ No newline at end of file
diff --git a/k2shop/k2shop/app/README/ajax.txt b/k2shop/k2shop/app/README/ajax.txt
new file mode 100644
index 0000000..ac45957
--- /dev/null
+++ b/k2shop/k2shop/app/README/ajax.txt
@@ -0,0 +1,76 @@
+[29.08.2016 21:52:05] Сергей Рудюк: Ajax - проще не бывает.
+[29.08.2016 21:52:12] Сергей Рудюк: Не надо никаких KoolPhp
+[29.08.2016 21:52:19] Сергей Рудюк: все прекрасно работает в пару строк:
+[29.08.2016 21:53:07] Сергей Рудюк: Например, вот кнопка, при нажатии на которой происходит запрос к странице и вывод в нужный div (calc-cena):
+[29.08.2016 21:53:07] Сергей Рудюк:
+
+
+[29.08.2016 21:53:54] Сергей Рудюк: Фактически, вы получаете в компоненте инормацию о параметре, в данном случае, calc и выводите на экран информацию.
+
+
+[29.08.2016 22:24:58] Сергей Рудюк: Вот пример реализации для вызова расчета цен при изменении 4-х полей Select2:
+[29.08.2016 22:25:02] Сергей Рудюк: // Calc Cean
+function calcCena(){
+
+ $.ajax({
+ url: '/?comp=k2transferzakaz&c=main&temp=ajax&calc=cena&otpr='+$('#kcb_otpr :selected').val()
+ +'&poluch='+$('#kcb_naznach :selected').val()+'&typeavto='+$('#kcb_typeavto :selected').val()
+ +'&typetransfer='+$('#kcb_typetransfer :selected').val()+'&kol='+$('#sel_kolpas').val(),
+ success: function(data) {
+ $('.calc-cena').html(data);
+ }
+ });
+
+}
+
+
+ $(document).ready(function(){
+
+ $('#kcb_otpr').change( function() {
+ calcCena();
+ });
+
+ $('#kcb_naznach').change( function() {
+ calcCena();
+ });
+
+ $('#sel_kolpas').change( function() {
+ calcCena();
+ });
+
+ $('#kcb_typeavto').change( function() {
+ calcCena();
+ });
+
+ $('#kcb_typetransfer').change( function() {
+ calcCena();
+ });
+
+ });
+[29.08.2016 22:25:40] Сергей Рудюк: Обработка же на стороне сервера в компоненте:
+[29.08.2016 22:26:28] Сергей Рудюк: function content(){
+ global $k2;
+
+ $rez='';
+
+ if ($k2->get('calc')<>''){
+ $rez=ВашаФункцияВызываемаяПриAjax;
+ }else{
+ $rez=ОбычноВызываемыйКонтент;
+ }
+
+ return $rez;
+ }
+[29.08.2016 22:27:00] Сергей Рудюк: Т.е. в данном примере определяется, что нужно расчитать с помощью ajax при наличии параметра calc в URL.
+[29.08.2016 22:27:25] Сергей Рудюк: Как видите, очень просто!
\ No newline at end of file
diff --git a/k2shop/k2shop/app/README/components.txt b/k2shop/k2shop/app/README/components.txt
new file mode 100644
index 0000000..d3975a8
--- /dev/null
+++ b/k2shop/k2shop/app/README/components.txt
@@ -0,0 +1,29 @@
+System Components Corporation 2 (Компоненты системы Корпорация 2)
+=================================================================
+
+main_cmd.php - primary boot loader to work in the console (основной загрузчик для работы в консоли).
+main_shop.php - the main bootloader for use in Web mode (основной загрузчик для работы в режиме веб).
+
+
+Authorization and registration (Авторизация и регистрация)
+-----------------------------------------------------------
+k2auth.php - component storing user information (компонента хранящая информацию о пользователе).
+k2auth_form.php - authorization form (форма авторизации).
+k2auth_regform.php - registration form (форма регистрации).
+
+
+Captcha and anticaptcha (Капчи и антикапчи)
+---------------------------------------------
+captcha.php - Anticapcha (Антикапча).
+
+Admin part (Админ-часть)
+--------------------------
+k2admin.php - admin of the loader (загрузчик админ-части).
+k2adminpage.php - component Output page of the admin (компонента вывода страницы админ-части).
+k2adminpanel.php - component Ooutput panel of the admin (компонента вывода панели админ-части).
+
+k2adminusers.php - Component to work with users in the admin part (компонента по работе с пользователями в админ-части).
+
+
+
+
diff --git a/k2shop/k2shop/app/README/doctrine.txt b/k2shop/k2shop/app/README/doctrine.txt
new file mode 100644
index 0000000..9f9ec96
--- /dev/null
+++ b/k2shop/k2shop/app/README/doctrine.txt
@@ -0,0 +1,12 @@
+Èñïîëüçîâàíèå Doctrine â Symfony3:
+ https://habrahabr.ru/post/339580/
+
+Ïðèìåíåíèå Doctrine 2:
+ http://web.myrka.com.ua/vvedenie-v-doctrine-2/
+
+Èñïîëüçîâàíèå ORM:
+ https://habrahabr.ru/company/pgdayrussia/blog/328690/
+
+Èíñòàëëÿöè Composer â Windows 10:
+ http://kizu514.com/blog/install-php7-and-composer-on-windows-10/
+
diff --git a/k2shop/k2shop/app/README/grid.txt b/k2shop/k2shop/app/README/grid.txt
new file mode 100644
index 0000000..dc67983
--- /dev/null
+++ b/k2shop/k2shop/app/README/grid.txt
@@ -0,0 +1,73 @@
+
+Example of creating a table (Пример создания таблицы):
+
+ins_comp('k2grid'); // Previously we used a global variable (Раньше использовалась глобальная переменная) $GLOBALS['k2cfg']
+
+ $arr = array(
+
+ 'filtering' => true, // Specify if you want to display the filter row (Указывается, если нужно вывести строку фильтров)
+ 'scroll' => true, // Specify if you want to realize the page scroll (Указывается, если нужно реализовать прокрутку страницы)
+ 'width' => '1200px', // The width of the table (Ширина таблицы)
+
+ 'master_width' => '1000px', // The size of the main table (if there is scrolling) (Размер основной таблицы (если есть прокрутка))
+ 'master_height' => '600px', // The height of the main table (if there is scrolling) (Высота основной таблицы (если есть прокрутка))
+
+ 'column_number' => 2, // The number of columns to be displayed when editing (Количество столбцов, которое выводится при ректировании)
+
+
+ // Extra options (Дополнительные параметры)
+ 'input_focus' => 'BlurGrid', // Values: BlurGrid - When editing the line to make a dull table; Hide Grid - to hide the table when editing (Значения: BlurGrid - При редактировании строки телать тусклой таблицу; HideGrid - скрывать таблицу при редактировании)
+ 'form_mode' => 'form', // Output Mode insertion and editing forms: form - in a form, Inline - editing of each line proiskodit (Режим вывода формы вставки и редактирования: form - в виде формы, Inline - редактирование проискодит каждой строки)
+
+
+
+ // SQL data acquisition (SQL получения данных)
+ 'select' => "select z.k2obmzak1, z.emoneyvalid1, z.emoneyvalid2, z.sumobmen, z.username, z.obmenna, z.datezak,
+ z.comment, z.fam, z.im, z.otch, z.schet_from, z.schet_to, z.commision, z.status, z.sumobmento
+ from k2_obmen_zakaz z
+ ",
+
+
+ // SQL data change (SQL изменения данных)
+ 'update' => "update k2_obmen_zakaz set emoneyvalid1='@emoneyvalid1', emoneyvalid2='@emoneyvalid2', sumobmen='@sumobmen', username='@'username, obmenna='@obmenna', datezak='@'datezak,
+ comment='@comment', fam='@fam', im='@im', otch='@otch', schet_from='@schet_from', schet_to='@schet_to', commision='@commision', status='@status', sumobmento='@sumobmento'
+ where k2obmzak1=@k2obmzak1",
+
+ // SQL data deletion (SQL удаления данных)
+ 'delete' => "delete from k2_obmen_zakaz where k2obmzak1=@k2obmzak1",
+
+ // SQL insert data (SQL вставки данных)
+ 'insert' => "insert into k2_obmen_zakaz (emoneyvalid1, emoneyvalid2, sumobmen, username, obmenna, datezak, comment, fam, im, otch, schet_from, schet_to, commision, status, sumobmento)
+ values ('@emoneyvalid1', '@emoneyvalid2', '@sumobmen', '@username', '@obmenna', '@datezak', '@comment', '@fam', '@im', '@otch', '@schet_from', '@schet_to',
+ '@commision', '@status', '@sumobmento');",
+
+ // The list of fields that appear on the screen, as well as their parameters (Перечень полей, которые выводятся на экран, а так же их параметры)
+ 'fields' => array(
+ array('field' => 'k2obmzak1', // Physical field name (Физическое название поля)
+ 'caption' => 'ID', // Column header (Заголовок столбца)
+ 'width' => '50px', // Column Width (if you want to specify) (Ширина столбца (ели нужно указать))
+ 'readonly' => true // Read Only - if you want to disallow editing (by default, are allowed to edit) (Только для чтения - если нужно запретить редактирование (по умолчанию, редактирование разрешено))
+ ),
+ array('field' => 'datezak',
+ 'caption' => 'Дата',
+ 'width' => '75px'
+ ),
+ array('field' => 'emoneyid2', // Drop-down list (Выпадающий список)
+ 'caption' => 'Валюта 2',
+ 'type_field' => 'DropDown', // Field type. ordinary field - Default, DropDown - a drop-down box, DateTime - date and time (Тип поля. обычное поле - по умолчанию, DropDown - выпадающее поле, DateTime - дата и время)
+ 'values' => array(
+ "1" => "USD",
+ "2" => "UAH",
+ "3" => "RUR",
+ "4" => "EUR"
+ )
+ )
+
+ );
+
+ $rez = $grid->simpleTable($arr);
+?>
+
+
diff --git a/k2shop/k2shop/app/README/index.html b/k2shop/k2shop/app/README/index.html
new file mode 100644
index 0000000..e69de29
diff --git a/k2shop/k2shop/app/README/k2button.txt b/k2shop/k2shop/app/README/k2button.txt
new file mode 100644
index 0000000..05aa4a3
--- /dev/null
+++ b/k2shop/k2shop/app/README/k2button.txt
@@ -0,0 +1,67 @@
+Компонента кнопок
+==================
+
+Пример использования:
+
+ Простая кнопка
+ ==========================
+ $btn = $k2->ins_comp('k2button');
+
+ $arr_btn = [
+ 'btn_name'=>'Взяти в роботу',
+ 'btn_id'=>'Button2',
+ 'hint'=>'Взяти в роботу',
+ 'width'=>'150',
+ 'height'=>'40',
+ 'style'=>'float:left; margin-left:10px',
+ 'img_src'=>'/k2shop/k2shop/app/app/vdocs/img/file_download.png',
+ 'btn_tmp'=>'warning',
+ 'onclick'=>"showFile()"
+ ];
+
+ $rez .= $btn->simpleBtn($arr_btn);
+ ==========================
+
+ Switch
+ ==========================
+ $switch = $k2->ins_comp('k2button');
+
+ $arr_btn = [
+ 'btn_id'=>'Button2',
+ 'width'=>'150',
+ 'height'=>'40',
+ 'style'=>'float:left; margin-left:10px',
+ ];
+
+ $rez .= $switch->switchBtn($arr);
+ ==========================
+
+ CheckBox
+ ==========================
+ $check = $k2->ins_comp('k2button');
+
+ $arr_btn = [
+ 'btn_id'=>'Button2',
+ 'width'=>'150',
+ 'height'=>'40',
+ ];
+
+ $rez .= $check->checkBox($arr);
+ ==========================
+
+
+Параметры:
+ btn_name - Название кнопки
+ btn_id - Id кнопки
+ hint - Всплывающая подсказка
+ width - Ширина кнопки
+ height - Высота кнопки
+ style - Стили для кнопки
+ img_src - Путь к иконке внутри
+ btn_tmp - Шаблон кнопки (default, primary, info, success, warning, danger, inverse, link)
+ onclick - Функция вызываемая при клике.
+ disabled - Свойство disabled по умолчанию - false.
+
+
+
+
\ No newline at end of file
diff --git a/k2shop/k2shop/app/README/k2const.txt b/k2shop/k2shop/app/README/k2const.txt
new file mode 100644
index 0000000..10bf966
--- /dev/null
+++ b/k2shop/k2shop/app/README/k2const.txt
@@ -0,0 +1,9 @@
+k2const
+=============================
+
+Предназначена для получения значений констант из таблицы k2const в БД
+
+$const = $k2->ins_comp('k2const'); - вызов компоненты.
+$const->getConst(‘имя_константы’) - получение значения константы по указанном имени.
+
+Пример: $const->getConst(‘demo’) - вернет значение константы с var_name = demo.
\ No newline at end of file
diff --git a/k2shop/k2shop/app/README/k2cont.txt b/k2shop/k2shop/app/README/k2cont.txt
new file mode 100644
index 0000000..8d477de
--- /dev/null
+++ b/k2shop/k2shop/app/README/k2cont.txt
@@ -0,0 +1,91 @@
+Компонента k2cont
+
+Предназначена для работы с таблицей k2content. Позволяет выводить любое необходимое
+количество записей в пользовательский шаблон с учетом языка документа и его
+parentcontent типа, а также по id или command. + возможность редактирования
+контента в Design Mode.
+
+Компонента позволяет в случае необходимости автоматически сделать ссылки с хедера
+или краткого описания (лида) на страницу с полным текстом.
+
+
+Работа с языковыми версиями документов
+Для каждого документа в базе существует поле lang в котором хранится
+идентификатор языка документа. Выборка из таблицы осуществляется согласно
+основному языку, указанному в системе. Также язык документов можно указать явно
+в строке запроса (&lang=en). В этом случае выборка осуществляется по указанному
+в строке запроса языку.
+
+ВАЖНО. При добавлении записей необходимо обязательно указывать значение поля lang
+
+Шаблон
+Компонента позволяет определить шаблон для вывода информации, вставив в нужных
+местах нужные теги.
+
+{header} - тег для вывода заголовка h1
+{short_description} - краткое описание (лид)
+{content} - полный контент
+
+Пример шаблона из проекта Зерно:
+
+public $mainAdds = "
{short_description}
+
+ «;
+Здесь указан только тег {short_description}, как того требует макет.
+
+
+Параметры по умолчанию:
+
+ public $pageTitle = ''; // meta Заголовок страницы
+ public $pageDescription = ''; // meta Описание
+ public $pageKeywords = ''; // meta Ключевые слова {keywords}
+
+ public $pageHeader = ''; // Заголовок h1 {header}
+ public $pageShortDescription = ''; // Краткое описание (лид) {short_description}
+ public $pageContent =''; // Полный контент {content}
+
+ public $edit = false; // Нужно ли выводить иконку редактирования.
+
+ public $pageHeaderLink = false; // Нужна ли ссылка с заголовка
+ public $pageShortDescriptionLink = false; // Нужна ли ссылка с краткого описания
+ public $contentShowCompontent = ''; // Компонента для показа контента по ссылке (нужна для формирования ссылки)
+
+ public $contentType = 'pages'; // Тип контента (parentcontent). pages или news
+
+ public $contentCommand = ''; // Для получения определенной страницы по command
+ public $contentId = ''; // Для получения определенной страницы по ID записи
+
+ public $contentTemplate = ''; // Шаблон для вывода
+
+Пример настройки компоненты для вывода 3-х новостей в проекте Зерно (k2mag_auktion)
+
+//Задаем параметры вывода контента c помощью компоненты k2cont
+ $newsContent = $k2->ins_comp('k2cont'); // Подключаем компоненту
+ $newsContent->contentType = 'news'; // Задаем parentcontent
+ $newsContent->contentTemplate = $this->mainAdds; // Задаем шаблон
+ $newsContent->pageShortDescriptionLink = true; // Ссылка с краткого описания на страницу с контентом
+ $newsContent->contentShowCompontent = 'k2mag_shownewsitem'; // Какая компонента вызывается для вывода новости целиком
+ $newsContent->edit = true; // Выводим иконку редактирования в дизайнером режиме.
+
+$newsContent->showContent(self::NEWS_NUMBER) // Выводим контент, указав количество записей (константа NEWS_NUMBER = 3)
+
+Пример настройки компоненты для вывода новости целиком
+
+$cont = $k2->ins_comp('k2cont'); // Подключили компоненту для вывода контента
+ $cont->contentType = 'news'; // Указали тип (parentcontent) контента
+ $cont->contentId = $k2->get('id'); // Получили ID материала из $_GET
+ $cont->edit = true; // Показываем иконку редактирования
+ $cont->contentTemplate = '