Commit dea787efc36db846a72f514ec34221b4c334faf1

Authored by renz78
1 parent b2284a827e
Exists in master

test

Showing 29 changed files with 1452 additions and 0 deletions Inline Diff

k2shop/k2shop/app/README/_composer_and_components.txt
File was created 1 Twig:
2 https://twig.symfony.com/
3 twig/extensions
4 twig/twig
5
6
7 Doctrine 2:
8 http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/tutorials/getting-started.html
9 http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/configuration.html
10 Example: https://github.com/doctrine/doctrine2-orm-tutorial
11
12 symfony/form:
13 https://symfony.com/doc/current/forms.html
14
15 symfony/yaml:
16 https://symfony.com/doc/current/components/yaml.html
17
18 symfony/var-dumper:
19 https://symfony.com/doc/current/components/var_dumper.html
20
21 symfony/browser-kit
22 https://symfony.com/doc/current/components/browser_kit.html
23
24
25 tinymce/tinymce:
26 https://www.tinymce.com/docs/get-started/advanced-install/#composer
27
28 nayjest/grids (Grid for Lavarel):
29 https://github.com/Nayjest/Grids
30
31 ckeditor/ckeditor - (редактокр ckeditor в composer):
32
33 doctrine/doctrine-migrations-bundle
34
35 doctrine/doctrine-fixtures-bundle
36 https://symfony.com/doc/master/bundles/DoctrineFixturesBundle/index.html
37
38
39 symfony/validator
40 symfony/translation
41 symfony/orm-pack
42 symfony/swiftmailer-bundle
43 symfony/security-bundle
44 symfony/polyfill-apcu
45 symfony/monolog-bundle
46 symfony/framework-bundle
47 symfony/flex
48 symfony/expression-language
49 symfony/asset
50 sensiolabs/security-checker
51 sensio/framework-extra-bundle
52 ezyang/htmlpurifier
53 erusev/parsedown
54 doctrine/doctrine-fixtures-bundle
55 ext-pdo_sqlite
56
57 symfony/css-selector
58 symfony/debug-bundle
59 symfony/profiler-pack
60 symfony/web-server-bundle
61 dama/doctrine-test-bundle
62 friendsofphp/php-cs-fixer
63 symfony/dotenv
64
65
66
67
68
69
70
71
k2shop/k2shop/app/README/_install.txt
File was created 1 For deployment enough to rewrite files (Для развертывания системы хватит переписать файлы):
2
3 1. Template design (Шаблон дизайна).
4 /k2shop/usr/TemplateName
5
6 2. Rewrite SQL updates (Переписать SQL обновления).
7 /k2shop/k2shop/sql
8
9 3. Overwrite system scripts (Переписать скрипты системы):
10 /k2shop/k2shop/app - the entire directory. Can only the necessary modules to work in /k2shop/k2shop/app/comp (весь каталог. Можно только необходимые модули для работы в /k2shop/k2shop/app/comp)
11 /k2shop/k2shop/libs - full directory (весь каталог).
12 /k2shop/k2shop/*.* - all files (все файлы) (no directories (не каталоги))
k2shop/k2shop/app/README/ajax.txt
File was created 1 [29.08.2016 21:52:05] Сергей Рудюк: Ajax - проще не бывает.
2 [29.08.2016 21:52:12] Сергей Рудюк: Не надо никаких KoolPhp
3 [29.08.2016 21:52:19] Сергей Рудюк: все прекрасно работает в пару строк:
4 [29.08.2016 21:53:07] Сергей Рудюк: Например, вот кнопка, при нажатии на которой происходит запрос к странице и вывод в нужный div (calc-cena):
5 [29.08.2016 21:53:07] Сергей Рудюк: <button name='sample1' class='sample1'>Пример 1 (простой)</button>
6
7 <script language='javascript' type='text/javascript'>
8 $('.sample1').click( function() {
9
10 $.ajax({
11 url: '/?comp=k2transferzakaz&c=main&temp=ajax&calc=test',
12 success: function(data) {
13 $('.calc-cena').html(data);
14 }
15 });
16
17 });
18 </script>
19 [29.08.2016 21:53:54] Сергей Рудюк: Фактически, вы получаете в компоненте инормацию о параметре, в данном случае, calc и выводите на экран информацию.
20
21
22 [29.08.2016 22:24:58] Сергей Рудюк: Вот пример реализации для вызова расчета цен при изменении 4-х полей Select2:
23 [29.08.2016 22:25:02] Сергей Рудюк: // Calc Cean
24 function calcCena(){
25
26 $.ajax({
27 url: '/?comp=k2transferzakaz&c=main&temp=ajax&calc=cena&otpr='+$('#kcb_otpr :selected').val()
28 +'&poluch='+$('#kcb_naznach :selected').val()+'&typeavto='+$('#kcb_typeavto :selected').val()
29 +'&typetransfer='+$('#kcb_typetransfer :selected').val()+'&kol='+$('#sel_kolpas').val(),
30 success: function(data) {
31 $('.calc-cena').html(data);
32 }
33 });
34
35 }
36
37
38 $(document).ready(function(){
39
40 $('#kcb_otpr').change( function() {
41 calcCena();
42 });
43
44 $('#kcb_naznach').change( function() {
45 calcCena();
46 });
47
48 $('#sel_kolpas').change( function() {
49 calcCena();
50 });
51
52 $('#kcb_typeavto').change( function() {
53 calcCena();
54 });
55
56 $('#kcb_typetransfer').change( function() {
57 calcCena();
58 });
59
60 });
61 [29.08.2016 22:25:40] Сергей Рудюк: Обработка же на стороне сервера в компоненте:
62 [29.08.2016 22:26:28] Сергей Рудюк: function content(){
63 global $k2;
64
65 $rez='';
66
67 if ($k2->get('calc')<>''){
68 $rez=ВашаФункцияВызываемаяПриAjax;
69 }else{
70 $rez=ОбычноВызываемыйКонтент;
71 }
72
73 return $rez;
74 }
75 [29.08.2016 22:27:00] Сергей Рудюк: Т.е. в данном примере определяется, что нужно расчитать с помощью ajax при наличии параметра calc в URL.
76 [29.08.2016 22:27:25] Сергей Рудюк: Как видите, очень просто!
k2shop/k2shop/app/README/components.txt
File was created 1 System Components Corporation 2 (Компоненты системы Корпорация 2)
2 =================================================================
3
4 main_cmd.php - primary boot loader to work in the console (основной загрузчик для работы в консоли).
5 main_shop.php - the main bootloader for use in Web mode (основной загрузчик для работы в режиме веб).
6
7
8 Authorization and registration (Авторизация и регистрация)
9 -----------------------------------------------------------
10 k2auth.php - component storing user information (компонента хранящая информацию о пользователе).
11 k2auth_form.php - authorization form (форма авторизации).
12 k2auth_regform.php - registration form (форма регистрации).
13
14
15 Captcha and anticaptcha (Капчи и антикапчи)
16 ---------------------------------------------
17 captcha.php - Anticapcha (Антикапча).
18
19 Admin part (Админ-часть)
20 --------------------------
21 k2admin.php - admin of the loader (загрузчик админ-части).
22 k2adminpage.php - component Output page of the admin (компонента вывода страницы админ-части).
23 k2adminpanel.php - component Ooutput panel of the admin (компонента вывода панели админ-части).
24
25 k2adminusers.php - Component to work with users in the admin part (компонента по работе с пользователями в админ-части).
26
27
28
29
30
k2shop/k2shop/app/README/doctrine.txt
File was created 1 Использование Doctrine в Symfony3:
2 https://habrahabr.ru/post/339580/
3
4 Применение Doctrine 2:
5 http://web.myrka.com.ua/vvedenie-v-doctrine-2/
6
7 Использование ORM:
8 https://habrahabr.ru/company/pgdayrussia/blog/328690/
9
10 Инсталляци Composer в Windows 10:
11 http://kizu514.com/blog/install-php7-and-composer-on-windows-10/
12
13
k2shop/k2shop/app/README/grid.txt
File was created 1
2 Example of creating a table (Пример создания таблицы):
3
4 <?php
5 global $k2;
6 $grid=$k2->ins_comp('k2grid'); // Previously we used a global variable (Раньше использовалась глобальная переменная) $GLOBALS['k2cfg']
7
8 $arr = array(
9
10 'filtering' => true, // Specify if you want to display the filter row (Указывается, если нужно вывести строку фильтров)
11 'scroll' => true, // Specify if you want to realize the page scroll (Указывается, если нужно реализовать прокрутку страницы)
12 'width' => '1200px', // The width of the table (Ширина таблицы)
13
14 'master_width' => '1000px', // The size of the main table (if there is scrolling) (Размер основной таблицы (если есть прокрутка))
15 'master_height' => '600px', // The height of the main table (if there is scrolling) (Высота основной таблицы (если есть прокрутка))
16
17 'column_number' => 2, // The number of columns to be displayed when editing (Количество столбцов, которое выводится при ректировании)
18
19
20 // Extra options (Дополнительные параметры)
21 'input_focus' => 'BlurGrid', // Values: BlurGrid - When editing the line to make a dull table; Hide Grid - to hide the table when editing (Значения: BlurGrid - При редактировании строки телать тусклой таблицу; HideGrid - скрывать таблицу при редактировании)
22 'form_mode' => 'form', // Output Mode insertion and editing forms: form - in a form, Inline - editing of each line proiskodit (Режим вывода формы вставки и редактирования: form - в виде формы, Inline - редактирование проискодит каждой строки)
23
24
25
26 // SQL data acquisition (SQL получения данных)
27 'select' => "select z.k2obmzak1, z.emoneyvalid1, z.emoneyvalid2, z.sumobmen, z.username, z.obmenna, z.datezak,
28 z.comment, z.fam, z.im, z.otch, z.schet_from, z.schet_to, z.commision, z.status, z.sumobmento
29 from k2_obmen_zakaz z
30 ",
31
32
33 // SQL data change (SQL изменения данных)
34 'update' => "update k2_obmen_zakaz set emoneyvalid1='@emoneyvalid1', emoneyvalid2='@emoneyvalid2', sumobmen='@sumobmen', username='@'username, obmenna='@obmenna', datezak='@'datezak,
35 comment='@comment', fam='@fam', im='@im', otch='@otch', schet_from='@schet_from', schet_to='@schet_to', commision='@commision', status='@status', sumobmento='@sumobmento'
36 where k2obmzak1=@k2obmzak1",
37
38 // SQL data deletion (SQL удаления данных)
39 'delete' => "delete from k2_obmen_zakaz where k2obmzak1=@k2obmzak1",
40
41 // SQL insert data (SQL вставки данных)
42 'insert' => "insert into k2_obmen_zakaz (emoneyvalid1, emoneyvalid2, sumobmen, username, obmenna, datezak, comment, fam, im, otch, schet_from, schet_to, commision, status, sumobmento)
43 values ('@emoneyvalid1', '@emoneyvalid2', '@sumobmen', '@username', '@obmenna', '@datezak', '@comment', '@fam', '@im', '@otch', '@schet_from', '@schet_to',
44 '@commision', '@status', '@sumobmento');",
45
46 // The list of fields that appear on the screen, as well as their parameters (Перечень полей, которые выводятся на экран, а так же их параметры)
47 'fields' => array(
48 array('field' => 'k2obmzak1', // Physical field name (Физическое название поля)
49 'caption' => 'ID', // Column header (Заголовок столбца)
50 'width' => '50px', // Column Width (if you want to specify) (Ширина столбца (ели нужно указать))
51 'readonly' => true // Read Only - if you want to disallow editing (by default, are allowed to edit) (Только для чтения - если нужно запретить редактирование (по умолчанию, редактирование разрешено))
52 ),
53 array('field' => 'datezak',
54 'caption' => 'Дата',
55 'width' => '75px'
56 ),
57 array('field' => 'emoneyid2', // Drop-down list (Выпадающий список)
58 'caption' => 'Валюта 2',
59 'type_field' => 'DropDown', // Field type. ordinary field - Default, DropDown - a drop-down box, DateTime - date and time (Тип поля. обычное поле - по умолчанию, DropDown - выпадающее поле, DateTime - дата и время)
60 'values' => array(
61 "1" => "USD",
62 "2" => "UAH",
63 "3" => "RUR",
64 "4" => "EUR"
65 )
66 )
67
68 );
69
70 $rez = $grid->simpleTable($arr);
71 ?>
72
73
74
k2shop/k2shop/app/README/k2button.txt
File was created 1 Компонента кнопок
2 ==================
3
4 Пример использования:
5
6 Простая кнопка
7 ==========================
8 $btn = $k2->ins_comp('k2button');
9
10 $arr_btn = [
11 'btn_name'=>'Взяти в роботу',
12 'btn_id'=>'Button2',
13 'hint'=>'Взяти в роботу',
14 'width'=>'150',
15 'height'=>'40',
16 'style'=>'float:left; margin-left:10px',
17 'img_src'=>'/k2shop/k2shop/app/app/vdocs/img/file_download.png',
18 'btn_tmp'=>'warning',
19 'onclick'=>"showFile()"
20 ];
21
22 $rez .= $btn->simpleBtn($arr_btn);
23 ==========================
24
25 Switch
26 ==========================
27 $switch = $k2->ins_comp('k2button');
28
29 $arr_btn = [
30 'btn_id'=>'Button2',
31 'width'=>'150',
32 'height'=>'40',
33 'style'=>'float:left; margin-left:10px',
34 ];
35
36 $rez .= $switch->switchBtn($arr);
37 ==========================
38
39 CheckBox
40 ==========================
41 $check = $k2->ins_comp('k2button');
42
43 $arr_btn = [
44 'btn_id'=>'Button2',
45 'width'=>'150',
46 'height'=>'40',
47 ];
48
49 $rez .= $check->checkBox($arr);
50 ==========================
51
52
53 Параметры:
54 btn_name - Название кнопки
55 btn_id - Id кнопки
56 hint - Всплывающая подсказка
57 width - Ширина кнопки
58 height - Высота кнопки
59 style - Стили для кнопки
60 img_src - Путь к иконке внутри
61 btn_tmp - Шаблон кнопки (default, primary, info, success, warning, danger, inverse, link)
62 onclick - Функция вызываемая при клике.
63 disabled - Свойство disabled по умолчанию - false.
64
65
66
67
k2shop/k2shop/app/README/k2const.txt
File was created 1 k2const
2 =============================
3
4 Предназначена для получения значений констант из таблицы k2const в БД
5
6 $const = $k2->ins_comp('k2const'); - вызов компоненты.
7 $const->getConst(‘имя_константы’) - получение значения константы по указанном имени.
8
9 Пример: $const->getConst(‘demo’) - вернет значение константы с var_name = demo.
k2shop/k2shop/app/README/k2cont.txt
File was created 1 Компонента k2cont
2
3 Предназначена для работы с таблицей k2content. Позволяет выводить любое необходимое
4 количество записей в пользовательский шаблон с учетом языка документа и его
5 parentcontent типа, а также по id или command. + возможность редактирования
6 контента в Design Mode.
7
8 Компонента позволяет в случае необходимости автоматически сделать ссылки с хедера
9 или краткого описания (лида) на страницу с полным текстом.
10
11
12 Работа с языковыми версиями документов
13 Для каждого документа в базе существует поле lang в котором хранится
14 идентификатор языка документа. Выборка из таблицы осуществляется согласно
15 основному языку, указанному в системе. Также язык документов можно указать явно
16 в строке запроса (&lang=en). В этом случае выборка осуществляется по указанному
17 в строке запроса языку.
18
19 ВАЖНО. При добавлении записей необходимо обязательно указывать значение поля lang
20
21 Шаблон
22 Компонента позволяет определить шаблон для вывода информации, вставив в нужных
23 местах нужные теги.
24
25 {header} - тег для вывода заголовка h1
26 {short_description} - краткое описание (лид)
27 {content} - полный контент
28
29 Пример шаблона из проекта Зерно:
30
31 public $mainAdds = "<p class=\"main__adds_text\">{short_description}</p>
32 <hr/>
33 «;
34 Здесь указан только тег {short_description}, как того требует макет.
35
36
37 Параметры по умолчанию:
38
39 public $pageTitle = ''; // meta Заголовок страницы
40 public $pageDescription = ''; // meta Описание
41 public $pageKeywords = ''; // meta Ключевые слова {keywords}
42
43 public $pageHeader = ''; // Заголовок h1 {header}
44 public $pageShortDescription = ''; // Краткое описание (лид) {short_description}
45 public $pageContent =''; // Полный контент {content}
46
47 public $edit = false; // Нужно ли выводить иконку редактирования.
48
49 public $pageHeaderLink = false; // Нужна ли ссылка с заголовка
50 public $pageShortDescriptionLink = false; // Нужна ли ссылка с краткого описания
51 public $contentShowCompontent = ''; // Компонента для показа контента по ссылке (нужна для формирования ссылки)
52
53 public $contentType = 'pages'; // Тип контента (parentcontent). pages или news
54
55 public $contentCommand = ''; // Для получения определенной страницы по command
56 public $contentId = ''; // Для получения определенной страницы по ID записи
57
58 public $contentTemplate = ''; // Шаблон для вывода
59
60 Пример настройки компоненты для вывода 3-х новостей в проекте Зерно (k2mag_auktion)
61
62 //Задаем параметры вывода контента c помощью компоненты k2cont
63 $newsContent = $k2->ins_comp('k2cont'); // Подключаем компоненту
64 $newsContent->contentType = 'news'; // Задаем parentcontent
65 $newsContent->contentTemplate = $this->mainAdds; // Задаем шаблон
66 $newsContent->pageShortDescriptionLink = true; // Ссылка с краткого описания на страницу с контентом
67 $newsContent->contentShowCompontent = 'k2mag_shownewsitem'; // Какая компонента вызывается для вывода новости целиком
68 $newsContent->edit = true; // Выводим иконку редактирования в дизайнером режиме.
69
70 $newsContent->showContent(self::NEWS_NUMBER) // Выводим контент, указав количество записей (константа NEWS_NUMBER = 3)
71
72 Пример настройки компоненты для вывода новости целиком
73
74 $cont = $k2->ins_comp('k2cont'); // Подключили компоненту для вывода контента
75 $cont->contentType = 'news'; // Указали тип (parentcontent) контента
76 $cont->contentId = $k2->get('id'); // Получили ID материала из $_GET
77 $cont->edit = true; // Показываем иконку редактирования
78 $cont->contentTemplate = '<div class = "news_content"><h1>{header}</h1>
79 <p><b>{short_description}</b></p>
80 {content}</div>'; // Определили шаблон для вывода
81
82 $rez = $cont->showContent(); // Вывели контент
83
84
85 Здесь в шаблоне указаны все три тега:
86 {header} - тег для вывода заголовка h1
87 {short_description} - краткое описание (лид)
88 {content} - полный контент
89
90 По клику на ссылку «Редактировать» в дизайнером режиме открывается страница
91 редактирования данной конкретной записи.
92
k2shop/k2shop/app/README/k2form.txt
File was created 1 Коструктор форм.
2 ================
3
4
5 Пример настройки поля для формы
6 ===============================
7
8 ['field' => 'name_firm',
9 'caption' => 'Контрагент',
10 'width' => '350',
11 'width_form' => '495', - ширина поля в форме
12 'readonly' => false, - если true - поле в форму не попадает
13 'align' => 'left',
14 'align_form' => 'left', - выравнивание текста в поле формы
15 'is_book'=>true, - вывод в виде справочника
16 'formoptions' => ["colspan"=>"3", "rowpos"=>"6", "colpos"=>"2"], - позиционирование в форме (colspan - количество объединяемых ячеек, rowpos - номер радя, colpos - номер колонки)
17 'alias_form' => 'firmid_our', - название поле в которое производиться запись(если 'field' отличается)
18 'type_fieldform' => 'DropDown', - тип поля в форме
19 'def_value' => date("d.m.Y"), - значение по умолчанию
20 'disabled' => true, - поле неактивное для ввода
21 'sql_form' => "select firmid as k, name_firm as v from k2firms where typefirmid<>1 order by name_firm "
22 required: true - поле обязательно к заполнению
23 min_length: 4 - минимальная длина значения
24 max_length: 10 - максимальная длина значения
25 regexp: /^[a-z]([0-9a-z_\s])+$/i - проверяется на соответствие регулярному выражению
26 ],
27
28
29
30
31
32 Пример вывода зависимых полей - списков
33 =======================================
34
35 2:
36 field: OblastNameUA
37 alias: OblastId
38 caption: Область
39 width: 100
40 width_form: 200
41 readonly: false
42 align: left
43 type_fieldform: DropDown
44 sql_form: select OblastId as k, OblastNameUA as v from dp2Oblast order by OblastNameUA
45 depend: rayid - id зависимого поля
46 depend_sql: 'select rayid as k, name_rayon as v from dp2rajon r where OblastId = {mid}' - запрос для формирования дочернего списка, {mid} - маска для вставки id родителя
47
48 3:
49 field: name_rayon
50 alias: rayid
51 caption: Район
52 width: 100
53 width_form: 200
54 readonly: false
55 align: left
56 type_fieldform: DropDown
57 sql_form: select rayid as k, name_rayon as v from dp2rajon r
58 child: true -
59
60
61
62 Пример вывода справочника
63 =========================
64
65 0:
66 field: VirobnikNameUA
67 alias: firmid
68 caption: Контрагент
69 width: 350
70 width_form: 495
71 readonly: false
72 align: left
73 sql: select VirobnikId as k, VirobnikNameUA as v
74 from dp2Virobn
75 order by VirobnikNameUA
76 is_book: true - указывает вывод в виде справочника
77 alias_form: firmid
78 type_fieldform: DropDown
79 sql_form: select VirobnikId as k, VirobnikNameUA as v from dp2Virobn order by VirobnikNameUA
80
81
82
83 Рассчитываемые поля
84 ===================
85
86 docdate:
87 field: docdate
88 alias: s.docdate
89 caption: Дата
90 width: 75
91 readonly: false
92 onchange: setChild('deistvie_po') - указываем название функции (JS) вызываемой при событии onchange и передаем в параметре название зависимого поля
93 align: center
94 type_field: date
95 def_value:
96
97
98 deistvie_po:
99 field: deistvie_po
100 alias: s.deistvie_po
101 caption: Діє по
102 width: 75
103 readonly: false
104 align: center
105 type_field: date
106 def_value:
107 parent_fields: docdate, podtypeid - указываем названия полей, значение которых влияет на текущее поле
108 parent_funcname: getTest - указываем название функции (PHP), в которой описан расчет текущего поля
109
110 Вызов события перед генерацией поля
111 ===================================
112
113 docdate:
114 field: docdate
115 alias: s.docdate
116 caption: Дата
117 width: 75
118 readonly: false
119 before_funcname: testFunc - указываем название функции (PHP), в которой описан расчет текущего поля
120 before_params: - массив переменных для функции
121 var1: 1
122 var2: 5
123 .......
k2shop/k2shop/app/README/k2log.txt
File was created 1 Логирование в системе Корпорация 2.
2
3 За логирование отвечает системная компонента k2log.
4 Данная компонента автоматически инициируется в ядре системы в свойстве $k2->log.
5
6 Логирование может выводить на экран сообщение, а так же записывает его в файл.
7 Все логи пишутся в два файла - один по смыслу (например /log/Warning.log) второй - в общее хранилище логов /log/alllog.log.
8
9 Предусмотрены такие функции логирования:
10
11 mess($mess, $isshow=true) - вывод обычного сообщения
12 $mess - выводимое сообщение.
13 $isshow - выводить или не выводить сообщение на экран.
14
15 err($mess, $isshow=false) - вывод сообщения о ошибке. Используем при возникновении ошибок общего назначения.
16 $mess - выводимое сообщение.
17 $isshow - выводить или не выводить сообщение на экран.
18
19 warn($mess, $isshow=false) - сообщение предупреждения. Выводим тогда, когда нужно предупредить, но это еще не ошибочное сообщение.
20 $mess - выводимое сообщение.
21 $isshow - выводить или не выводить сообщение на экран.
22
23 logcmd($mess, $isshow=false) - вывод лога терминального приложения (вызываем из приложений выполняемых в командной строке).
24 $mess - выводимое сообщение.
25 $isshow - выводить или не выводить сообщение на экран.
26
27 cron($mess, $isshow=false) - лог крон-процесса. Вызываем для сообщений выполняемых в Cron.
28 $mess - выводимое сообщение.
29 $isshow - выводить или не выводить сообщение на экран.
30
31 errDB($mess, $isshow=false) - ошибка базы данных. Выводим при возникновении ошибки базы данных.
32 $mess - выводимое сообщение.
33 $isshow - выводить или не выводить сообщение на экран.
34
35 debug($mess, $isshow=false) - отладочное сообщение. Используется на время отладки.
36 $mess - выводимое сообщение.
37 $isshow - выводить или не выводить сообщение на экран.
38
39
40 addLog($mess, $filename='main.log', $isshow=false, $event="Non") - универсальная команда вывода сообщения. Данное сообщение не используется
41 самостоятельно. Оно вызывается всеми основными командами логирования
42 $mess - выводимое сообщение.
43 $filename - название файла.
44 $isshow - выводить или не выводить сообщение на экран.
45 $event - название события.
46
k2shop/k2shop/app/README/k2mail.txt
File was created 1 Использование k2mail
2
3 $mailto = 'email@com'; - e-mail получателя
4 $subj = 'Сообщение из сайта www.test.com'; - заголовок сообщения
5 $k2->mail->mail_from = $this->mail_from - адрес откуда отправляются систменые сообщения
6
7 $mess = "Имя: ".$k2->post('name')."\n" - формирование сообщения
8 . "Телефон: ".$k2->post('phone')."\n"
9 . "Email: ".$k2->post('email')."\n"
10 . "Сообщение: ".$k2->post('mess');
11
12
13
14 $k2->mail->sendMail($mailto, $subj, $mess); - отправка письма.
15
16
k2shop/k2shop/app/README/k2pagecontent.txt
File was created 1 k2pagecontent
2 =============================
3
4 Предназначена для вывода контента статических страниц из общей таблицы k2content.
5
6 Вид урла страницы:
7 /?comp=k2mag&c=showpage&page=contacts
8
9 showpage - Ваша компонента, которая организовывает вывод статической страницы.
10
11 &page=contacts - свойство page содержит название, указанное в БД в столбце command таблицы k2content.
12
13 В компоненте учтена возможность выбора языка документа. Для того, чтобы указать язык документа,
14 необходимо прописать идентификатор языка (например, ru, en …) в столбце lang таблицы k2content.
15 Компонента автоматически определит текущий язык системы и выдаст контент на нужном языке.
16 Также язык можно принудительно указать в строке запроса добавив &lang = ru
17
18
19 Получение данных:
20
21 public $pageTitle - заголовок страницы
22 public $pageDescription - описание страницы
23 public $pageKeywords - ключевые слова
24
25 public $pageHeader - заголовок h1
26 public $pageShortDescription - краткое описание - лид.
27 public $pageContent - контент страницы
k2shop/k2shop/app/README/k2pay_liqpay.txt
File was created 1 Использование платежной системы LiqPay.
2
3
4 Перед использованием LiqPay необходимо активировать ее в таблице платежных систем и заполнить необходимые парметры
5
6
7 #Пример заполнения параметров платежной системы LiqPay#
8 ---------------------------------------------------------------------------------------------------
9 Идентификатор |Параметр |Значение
10 ---------------------------------------------------------------------------------------------------
11 liqpay_sandbox |Тестовый (1) или рабочий (0) режим |1
12 result_url |url |/?comp=k2newshop&c=cart&event=payres
13 liqpay_merchid |ID продавца (публичный ключ) |i13872925750
14 liqpay_signature |Подпись - приватный ключ |HwdYXWN7sccpreeyEFQZ1f6G2r5z8mLGHlpQKSC2
15 liqpay_val |Валюта платежа |UAH
16 ---------------------------------------------------------------------------------------------------
17 #############################
18
19
20
21 Для инициализации оплаты в системе:
22
23 $p = $k2->ins_comp('k2pay','liqpay');
24 $pay .= $p->payZakaz($orderid, $sum, $desc);
25
26 где:
27 $orderid - номер заказа;
28 $sum - сумма платежа;
29 $desc - описание к платежу;
30
31
32
33
34
k2shop/k2shop/app/README/k2popup.txt
File was created 1 Компонента k2popup
2 =============================
3 Компонента для вывода всплывающих окон. Окна построены на чистом CSS поэтому не должны конфликтовать с внешними библиотеками (Bootstrap, jQuery)
4 Можно использовать несколько окон на одной странице с разным содержимым. Для этого необходимо указывать для каждого свой popUpID.
5
6
7 Как создать окно и вывести в нем нужный контент?
8
9 $popup = $k2->ins_comp('k2popup'); // Создаем объект окна
10
11 $popup->popUpID = 'deletemenuitem'; // задаем ID окна. Он будет добавлен к ID окна в коде. Таким образом мы можем использовать сколько угодно окон на одной странице.
12 $popup->popupContent = $this->deleteForm; // Указываем какой контент поместить в окно.
13
14 $popup->content(); Вызываем окно.
15
16 Генерация ссылки для вызова окна: <a href='#popup_".$popup->popUpID."' title='Открыть всплывающее окно' >
17
18
k2shop/k2shop/app/README/k2progress_bar.txt
File was created 1 Компонента progress bar(шкала прогресса)
2 ==================
3
4 Пример использования:
5
6 $prg = $k2->ins_comp('k2progress_bar');
7 $arr_prg = [
8 'caption'=>'',
9 'prg_id'=>'bar',
10 'hint'=>'Процес завантаження',
11 'width'=>'350',
12 'height'=>'20',
13 'showtext'=>true,
14 'style'=>'margin-left:10px',
15 'prg_tmp'=>'success',
16 'value'=>90,
17 'prg_interval'=>100,
18 'orientation'=>'vertical',
19 'script'=>'alert(333)',
20 'start_func'=>'startBar'
21 ];
22
23 $rez .= $prg->progressBar($arr_prg);
24
25
26
27 Параметры:
28 caption - Название шкалы(выводиться над шкалой)
29 prg_id - Id шкалы
30 hint - Всплывающая подсказка
31 width - Ширина шкалы
32 height - Высота шкалы
33 style - Стили для шкалы
34 showtext - Показывать ли текст в процентах прогресса
35 prg_tmp - Шаблон шкалы (default, primary, info, success, warning, danger, inverse, link)
36 value - Точка остановки (в %)
37 prg_interval - Интервал изменения шкалы (в мс)
38 orientation - Ориентация шкалы (vertical или horisontal)
39 script - Функция выполняемая после остановки шкалы
40 start_func - Функция запускающая шкалу (т.о. в нужном месте можно вызвать функцию запусающую progress bar, например startBar(200), 200 - параметр, который переопределит
41 интервал изменения шкалы)
42
43
44
k2shop/k2shop/app/README/k2sefurl.txt
File was created 1 Format of the URL in the K2 (Формирование URL в К2):
2
3 Editing content (Редактирование контента):
4 /?c=edit&content=k2content&p=otziv
5
6 Working with news (Работа с новостями):
7 Editing (Редактирование)
8 /?c=edititem&content=k2news&p=otziv
9 Removal (Удаление)
10 /?c=delitem&content=k2news&p=otziv
11 Addition (Добавление)
12 /?c=additem&content=k2news&p=otziv
13
14
15 Show content (Вывод контента):
16 /?p=news
17
18 При ЧПУ: /news/
19
20 Content details (Контент детально):
21 /?p=news&id=445&c=detile&content=k2news
22
23 When NC (При ЧПУ):
24 When id (При id):
25 /news/445/
26 or
27 /news/445/detile/k2news/
28
29 When NC URL (При чпу-урл):
30 /news/nowosti-budut-tut/
31 or
32 /news/nowosti-budut-tut/detile/k2news/
33
34
35
36 // Для включения ЧПУ переключите в конфиг-файле k2cfg.php переменную:
37 $->selfurl=true;
38
39 Для преобразования обычных адресов в ЧПУ-адреса используйте функцию:
40 $urltmp=$k2->surl->SefURL_FromURL($urltmp);
41
42 Для нормализации адреса используйте (эта команда так же используется по умолчанию
43 в $k2->surl->SefURL_FromURL(), так что при применении данной команды повторно
44 вызывать normURL не нужно):
45 <?php
46 $rez=$k2->normURL($rez);
47 ?>
48
49
50
51
52
53
k2shop/k2shop/app/README/k2select2.txt
File was created 1 The drop-down list with the ability to search by first letter (Выпадающий список с возможностью поиска по первым буквам):
2
3 Case of implementation (Пример реализации):
4 $sel=$k2->ins_comp('k2select2');
5 $rez=$sel->sel(
6 array(
7 'name' => 'kcb_cbtypeacc',
8 'sql' => "select roleid as k, rolename as v from k2roles where (pubrole='1') and (roleid<>1500) order by rolename",
9 'value' => $typeaccid,
10 'search_input' => 0,
11 'enabled'=> !$k2->auth->isAuth(),
12 'additems'=>array(''=>'', '-1'=>'Create new item')
13 )
14 );
15
16 Parameters passed to sel () function (Параметры, передаваемые в ф-цию sel()):
17 name - name fields (название поля на фоме)
18 sql - SQL-query (SQL-запрос)
19 keyfield - the name of the key field (название поля ключей)
20 valuefield - the name of the values of the field (название поля значений)
21 value - Value (значение)
22 enabled - Enable (отключить)
23 multi - multiple choice (множественный выбор)
24 search_input - search field (поле поиска)
25 'additems'=>array('-1'=>'Create new item') - additional list items are not included in sql (дополнительные пункты списка, не входящие в sql)
26
27
k2shop/k2shop/app/README/k2show.txt
File was created 1 Универсальный вывод таблиц из ORM и таблиц из мета-данных.
2
3 Вызов нужной таблицы из K2ORM:
4 /?comp=k2show&t=crmPrivatBank&mode=admin
5
6 Вызов нужного просмотра из мета-данных:
7 /?comp=k2show&v=dp2act_pop_ocen&mode=admin
8
9
10 Метаданные k2orm находятся в папке: \k2shop\k2shop\metadata
11 Метаданные просмотра находятся в папке: \k2shop\k2shop\metadata_view
12
13
k2shop/k2shop/app/README/k2slider.txt
File was created 1 Компонента k2slider
2 =============================
3 Универсальная компонента для вывода слайдера. Работает с таблицей БД k2slider
4
5 Как использовать?
6 Для отображения слайдера необходимо вставить в шаблон тег {slider sliderID-SliderTemplate}
7
8 sliderID - Идентификатор слайдера в БД (поле slider_name).
9 SliderTemplate - Идентификатор темплейта слайдера. Компонента ищет файл k2slider-SliderTemplate k2shop/usr/название темплейта сайта/cfg/k2slider-SliderTemplate.php
10 и если находит его, переназначает свойства отвечающие за внешний вид слайдера.
11
k2shop/k2shop/app/README/k2splitter.txt
File was created 1 Компонента выводящая панели с разделениеме сплиттером
2
3 Вертикальный сплиттер
4 =====================
5 $splitter = $k2->ins_comp('k2splitter');
6 $splitter->name='spl'.$this->name;
7 $rez = $splitter->Splitter();
8 $rez=str_replace('{panel1}', 'Текст в 1-ю панель', $rez);
9 $rez=str_replace('{panel2}', 'Текст во 2-ю панель', $rez);
10
11
12 Горизонтальный сплиттер
13 ========================
14
15 $splitter = $k2->ins_comp('k2splitter');
16 $splitter->name='spl'.$this->name;
17 $rez = $splitter->Splitter(['orient'=>'hor','width'=>'1000','height'=>'1200','panel_size'=>'100','panel_size'=>'300']);
18 $rez=str_replace('{panel1}', 'Текст в 1-ю панель', $rez);
19 $rez=str_replace('{panel2}', 'Текст во 2-ю панель', $rez);
20
21
22 // В более сокращенной записи:
23 $rez = $k2->ins_comp('k2splitter')->Splitter(['name'=>'spl'.$this->name,
24 'orient'=>'hor','width'=>'1000',
25 'height'=>'950','panel_size'=>'100','panel_size'=>'250',
26 'panel1'=>'Что выводим в первую панель...', 'panel2'=>'Что выводим во вторую панель...']);
27
28 Т.к. название компонентов генерируется автоматически, можно не задавать название в массиве (если не нужно к нему обращаться из кода).
29 Тогда, получаем еще более лаконичный вызов:
30 $rez = $k2->ins_comp('k2splitter')->Splitter([
31 'orient'=>'hor',
32 'width'=>'1000', 'height'=>'950','panel_size'=>'100','panel_size'=>'250',
33 'panel1'=>'Что выводим в первую панель...', 'panel2'=>'Что выводим во вторую панель...']);
34
35
36
k2shop/k2shop/app/README/k2sql.txt
File was created 1 Выполнение SQL-запросов
2
3 $k2->sql->ins - это вставка
4 upd - изменение
5 del - удаление
6 sel - выборка
7
8 В эти функции передается массив $params
9 Элементы массива:
10 sql - это SQL-запрос. В нем применяются параметры отмеченные двоеточием
11 val - это значения параметров
12
13
14 Примеры операций в k2sql:
15
16 Вставка данных массивом:
17 $ksql=$k2->ins_comp('k2sql');
18 $ksql->ins_arr(['table'=>'crmPrivatBank',
19 'fields'=>[
20 'privatid'=>'{id}',
21 'num'=>trim($row[0]),
22 'date_provodk'=>/*$row[1]*/$date_rez,
23 'time_provodk'=>$row[2],
24 'sum_prih'=>$row[3],
25 'sum_rash'=>$row[4],
26 'valuta'=>trim($row[5]),
27 'name_plat'=>$row[6],
28 'edrpou'=>trim($row[7]),
29 'name_firm'=>trim($row[8]),
30 'schet_firm'=>trim($row[9]),
31 'mfo_firm'=>trim($row[10]),
32 'referens'=>trim($row[11])
33 ]
34 ]);
35
36
37 Проверка наличия элемента в базе по заданным параметрам в базе:
38 $ksql=$k2->ins_comp('k2sql');
39 $find=$ksql->sel('SELECT privatid FROM crmPrivatBank WHERE (num=:num)AND(referens=:referens);', ['num'=>trim($row[0]), 'referens'=>trim($row[11])]);
40 if ($find['data']==[]){
41 Что нужно выполнить....
42 }
43
44 Зарезервированные маски переменных:
45 {id} - генерирует хеш (для ID).
46 {userid} - id пользователя.
47 {login} - логин пользователя.
48 {now} - текущие дата и время.
49 {date} - текущая дата.
50
51
52
k2shop/k2shop/app/README/k2sys.txt
File was created 1 Системные команды в системе Корпорация 2.
2
3 Компонента k2sys. Она автоматически инициируется в ядре, как $k2->sys.
4 В данной библиотеке представлены некоторые важные системные команды.
5
6 rus2translit($string) - преобразует русский и украинский текст в транслитерацию.
7
8 str2url($str) - преобразует строки в url транслитерации.
9
10 chpu($name,$nextid) - ЧПУ.
11 $name - название пункта
12 nextid - key
13
14 getGUID() - генерирует хеш id.
15
16 generate_password($number=10) - генератор паролей. Генерирует случайный пароль
17 из перечня символов в массиве.
18
19 forceDir($dir) - рекурсивное создание каталогов по укзанному пути в $dir.
20 Если каталог существует, команда не будет пытаться создавать каталог.
21
22 ip() - возвращает ip-адрес.
23
24 agent() - возвращает название агента браузера.
25
26
k2shop/k2shop/app/README/k2tree.txt
File was created 1 Построение дерева
2 ==================
3
4 Пример использования:
5
6 $tree = $k2->ins_comp('k2tree');
7
8 $arr_tree=array(
9 'table_name' => 'vdTree',
10 'id' => 'treeid',
11 'parentid'=>'parent_treeid',
12 'name'=>'treename'
13
14 );
15
16
17 $rez.=$tree->getTree($arr_tree);
18
19
20 Параметры:
21 table - название таблицы дерева
22 id - первичное поле дерева
23 parentid - корневой id дерева
24 name - поле названия дерева
25
26 caption - подпись в загововке дерева.
27 autowidth - автоматическая установка ширины таблицы
28 height - автоматическая установка высоты
29 'is_export'=>true - экспотр таблицы
30
31 'is_edit'=>true - editing (редактирование).
32 'is_export'=>false - export (экспорт).
33 'is_del'=>true - removal (удаление).
34 'is_clone'=>true - copying (копирование).
35 'is_add'=>true - adding new records (добавление новых записей).
36
37
38
k2shop/k2shop/app/README/pay.txt
File was created 1 Payment systems (Платежные системы)
2 ===================================
3
4 PayPal Api:
5 https://www.liqpay.com/doc/checkout
6
7 Приват 24 Api:
8 https://api.privatbank.ua/
9
10 WebMoney Api:
11 https://habrahabr.ru/post/121182/ - Receiving WebMoney money without leaving the site (Прием денег WebMoney без ухода с сайта).
12 http://www.webmoney.ru/rus/developers/api.shtml
13 https://github.com/baibaratsky/php-webmoney - library for work with WebMoney (библиотека для работы с WebMoney).
14 http://webmoney.ua/cooperation/developers#q3
15
16 PayPal Api:
17 https://habrahabr.ru/post/128198/
18
19 Яндекс деньги Api:
20 https://habrahabr.ru/post/160969/
21
22 Qiwi Api:
23 https://habrahabr.ru/post/198668/
24
25 ================================================================================
26 Подключение в К2:
27
28 1. В админке(Справочники->Платежные системы) прописать необходимые параметры
29
30 Для PayPal:
31 - paypal_email (email продавца);
32 - paypal_val (валюта).
33
34 Для LiqPay:
35 - liqpay_merchid (ID продавца);
36 - liqpay_signature (Подпись - приватный ключ).
37
38 Для WebMoney:
39 - webmoney_merchid (ID продавца);
40 - webmoney_b (Номер кошелька);
41 - webmoney_secretkey (Секретный ключ).
42
43 2. На страницу выбора проплаты вставить, соответствующую платежной системе компоненту
44
45 $p=$k2->ins_comp('k2pay','paypal');
46
47 и вызвать функцию
48
49 $rez=$p->payZakaz($zakazid, $sum);
k2shop/k2shop/app/README/phpgrid.txt
File was created 1 Examples of creating phpGrid and settings tables (Примеры создания таблиц phpGrid и параметры):
2
3 Settings table (Параметры настройки таблицы):
4 is_edit - allow withdrawal of editing buttons (разрешить вывод кнопок редактирования).
5 is_show - the output display / hide columns of buttons (вывод кнопок показа/скрытия столбцов).
6 is_export - withdrawal of export buttons (вывод кнопок экспорта).
7
8 rowNum - the number of lines on 1 page (eg 10) (количество строк на 1 странице (например 10)).
9 sortname - field on which sort (поле, по которому сортируем).
10 sortorder - sorting direction (asc, desc) (направление сортировки (asc, desc)).
11 caption - signature to the table (подпись к таблице).
12 autowidth - automatically set the size of the column widths (автоматически устанавливать размер ширин столбцов).
13 width - width of the table (for example: 1200) (ширина таблицы (например: 1200)).
14 shrinkToFit - columns in the table contain (вместить столбцы в таблицу).
15
16 bottominfo - inscription at the bottom of the form add (надпись внизу формы добавления).
17 row_list=[10,30,50,100,'All']; - списко разбивки на строки.
18
19
20 table - название таблицы.
21
22 divtable - альтернативное название div (по умолчанию - как table).
23
24 toolbar - выводить панель инструменов bottom-снизу, top - сверху, both - снизу и сверху.
25 toppager - выводить переключение страниц сверху или снизу.
26
27 Ключевое поле
28 typeid - тип ключевого поля. 0 - цифровое (автогенератор), 1 - хеш (цифровое - по умолчанию, для совместимости).
29
30 Parameters column settings (Параметры настройки столбцов):
31 type_field - Field type. Depending on the field - it occurs at different output. (Тип поля. В зависимости от типа поля - по разному происходит вывод информации.)
32 type_field => 'file' - field type - file. With the ability to Upload. This image file. (тип поля - файл. С возможностью Upload. Это изображение или файл.)
33 Можно указывать параметры изображения с помощью массива params.
34 Пример указания параметров изображения:
35 'params' => [
36 'align'=>'center',
37 'height'=>100,
38 'width'=>200
39 ]
40
41 type_field => 'date' - field type "Date". (тип поля "Дата".)
42 type_field => 'datetime' - field type "date and time". (тип поля "Дата и время".)
43 type_field => 'checkbox' - field type checked (тип поля галочка).
44 type_field => 'DropDown' - field type drop-down list (тип поля выпадающий список).
45 type_field => 'link' - Link field type (тип поля ссылка).
46 ["link"] - link (ссылка).
47 ["target"] - targer (Opens in a new window or not) (открывать в новом окне или нет).
48 type_field => 'wysiwyg' - style Wysiwyg editor (редактор в стиле Wisywyg).
49 type_field => 'textarea' - multiline text field (много-строчное текстовое поле).
50 type_field => 'color' - color selection (выбор цвета).
51 type_field => 'time' - time (время).
52 type_field => 'tinymce' - editor tinymce styles (редактор в стили tinymce).
53
54 type_field => 'bar' - displays a graph in the cell (bar) (выводит график в ячейке (bar)).
55
56 type_field => 'condition' - buttons, depending on the conditions (кнопки, в завиимости от условия).
57 Trigger is indicated in such a way (Сработка указывается таким образом):
58 'cond' => array(
59 'exp' => '($row["pay"]==null)or($row["pay"]==0)',
60 'url1' => '/?id={transferid}',
61 'caption1' => 'Оплатить',
62 'ul2' => '/?idpr={transferid}',
63 'caption1' => 'Распечатать'
64 )
65
66 By default, a red button marked with the condition, and green - with its violation. (По умолчанию, красным отмечается кнопка при выполнении условия, а зеленым - при его нарушении.)
67 You can change the style. During this meet an array of parameters (Стили можно поменять. За это отвечают параметры массива):
68 style1 => 'text-decoration:none; white-space:none; border:1px solid gray; padding:2px; position:relative; width:25px; color:red'
69 style2 => 'text-decoration:none; white-space:none; border:1px solid gray; padding:2px; position:relative; width:25px; color:green'
70
71
72
73 ['caption'] - Table Header ('Sample text') (Заголовок таблицы ('Пример текста')).
74 ["width"] - width of the table (for example: 40) (ширина таблицы (например: 40)).
75 ["align"] - alignment (left, right) (выравнивание (left, right)).
76 ["editable"] - edit the information in the cell (true, false) (редактировать информацию в ячейке (true, false)).
77 ["search"] - to search for a given field (true, false) (производить поиск по данному полю (true, false)).
78 ["hidden"] - hide column (true, false) (скрывать столбец (true, false)).
79 ["def_value"] - The default value (for example, '1') (значение по умолчанию (например: '1')).
80
81 'field' - field name (название поля).
82 'alias' - alias name (if different from the field name) (название алиаса (если отличается от названия поля)).
83 'pssword'=>true - If the field type your password (если поле типа пароль).
84
85 'autoid' - auto-incremented field (авто-инкрементное поле).
86 'hidden' - hide the field from the table (скрыть поле из таблицы).
87 'hidedlg' - hide the field from the fields visibility control dialog box (скрыть поле из диалогового окна управления видимости полей).
88
89 During the operation with all the properties of the table meet (За операции со всей таблицей отвечают свойства):
90 'is_edit'=>true - editing (редактирование).
91 'is_export'=>false - export (экспорт).
92 'is_del'=>true - removal (удаление).
93 'is_clone'=>true - copying (копирование).
94 'is_add'=>true - adding new records (добавление новых записей).
95
96 Checkmarks for multiple choice (Галочки для множественного выбора):
97 'multiselect' => true
98
99 'footer' => true - line results (строка результатов).
100
101 For calculating the amount corresponds to the mass sum. It lists the names of the fields in which
102 schmtayutsya amount, as well as the operation, which is done on the field:
103 (За подсчет сумм отвечает массив sum. В нем перечисляются названия полей, по которым
104 счмтаются суммы, а так же операция, которая делается над полем:)
105
106 sum - calculation of the total amount (подсчет общей суммы)
107 count - count the number of (подсчет количества)
108 avg - calculation of average (подсчет среднего)
109 max - calculation of maximum (подсчет максимального)
110 min - calculation of the minimum (подсчет миниального)
111
112 Examples:
113 'sum' => array('kol'=>'sum', 'id'=>'count', 'summa'=>'sum')
114
115 'where' - filter, which is filtered by the calculation amounts (except as indicated in the table). (фильтр, по которому будет фильтроваться расчет сумм (кроме указанного в таблице).)
116
117 Examples:
118 'where'=>"and(g.partner_transid='".$k2->auth->firmid."')",
119
120 You can sign the label using an array sumlabel. This array is filled, if necessary
121 tags indicate other than that used by default.
122 (Можно подписывать метки с помощью массива sumlabel. Данный массив заполняется, если нужно
123 указать другие метки, чем используются по умолчанию.)
124
125 Examples:
126 'sumlabel' => array('kol'=>'Кол.:')
127
k2shop/k2shop/app/README/readme.txt
File was created 1 Control commands are transmitted via the variable "c" in the URL. If this variable is not set, then the website is loaded with functionality by default
2 (Управляющие команды передаются через переменную "c" в URL. Если данная переменная не задана, то грузится сайт с функциональностью по умолчанию).
3
4 Varieties teams (Разновидности команд c):
5 anticapcha - call anticapcha module (вызов модуля антикапча).
6 ничего не задано - call site with default functionality (вызов сайта с функциональностью по умолчанию).
7
8 $k2 - Options K2 (Настройки К2) do not forget to add a global $ k2 (не забудьте объявить global $k2).
9 After setting a class you can access the main elements of the kernel. Previously we used a global variable $ GLOBALS [ 'k2cfg'].
10 (Через класс настроек можно получить доступ к основным элементам ядра. Раньше использовалась глобальная переменная $GLOBALS['k2cfg'].)
11
12 The parameters in the URL (Параметры в URL)
13 =============================================
14 $c=Team - the team. It is intended to indicate the system commands. If the command is not specified, it is executed as a normal website.
15 (Команда - команда. Предназначена для указания команд системы. Если команда не указана, то выполняется, как обычный сайт.)
16
17 $id=IDPage - loads the page (загружает нужную страницу).
18 $page=НомерСтраницы - page number (номер страницы).
19
20
21 Configuration component settings (Конфигурационные настройки компонент)
22 =========================================================================
23 Component settings can be overridden (Настройки компонент можно переопределять).
24 Configuring the components is carried out in the cfg directory (Конфигурирование компоненты осуществляется в каталоге cfg).
25 For example, the override components k2cfg (Например, переопределение компоненты k2cfg):
26 Create file (Создаем файл) /cfg/k2cfg.php
27 with similar content (с подобным содержимым):
28 <?php
29
30 if ($this->isWeb()){
31 $this->rootdir='/var/www/k2shop/****/corp2-kiev-ua/site/corp2.kiev.ua'; // The root of the site (Корень сайта)
32 }
33
34 $this->host = 'localhost'; // Connecting to database (Подключение к базе данных)
35 $this->dbname = 'you_dbname';
36 $this->user = 'you_login';
37 $this->pass = 'ВашПароль';
38
39 ?>
40
41 So you can initialize the state variables of any of the classes K2 (Таким образом можно инициализировать состояние переменных любого из классов К2).
42
43
44 Priority implementation (Приоритетность выполнения)
45 =======================================================
46 Call priority component templates, scripts, etc. It is determined by the user to the system. (Приоритет вызова компонент, шаблонов, скриптов и т.п. определяется от пользовательского к системному.)
47 Thus, a customized portion has the highest priority when performing. (Таким образом, кастомизированная часть имеет наибольший приоритет при выполнении.)
48 If there is a customized part, the part of the system usually will not be executed (if the user is forced to not cause it). Если есть кастомизированная часть, то системная часть обычно выполняться не будет (если пользователь принудительно не вызовет её).
49
50
51 The directory structure (Структура каталогов)
52 =============================================
53 k2shop - Kernel Corporation 2 (ядро системы Корпорация 2).
54 app - core system (ядро системы).
55 comp - Components (компоненты).
56 import - import / export modules (модули импорта/экспорта).
57 integr - integration with other systems (интеграция с другими системами).
58 template - templates (шаблоны).
59 import - examples of import files (примеры файлов импорта).
60 libs - library of third-party developers (библиотеки сторонних разработчиков).
61 CKEditor - CKEditor Content Editor (редактор содержимого CKEditor).
62 KoolPHPSuite - components KoolPHP (компоненты KoolPHP).
63 script - scripts (скрипты).
64 test - test modules of the system operation (модули тестирования работы системы).
65 upload - downloading files. For temporary storage of files downloaded from the Internet (загрузка файлов. Для временного хранения загруженных из интернет файлов).
66 usr - user part (a customized) (пользовательская часть (кастомизированная)).
67 def - settings for the system default (настройки для работы системы по умолчанию).
68 cfg - configuration settings (конфигурационные настройки).
69 img - Images (изображения).
70 files - files (файлы).
71 cache - cache (кеш).
72 tmp - temporary directory (временный каталог).
73 lang - translations into different languages (переводы на разные языки).
74 data - Site data. Here are stored xml-files site structure, content, etc. (данные сайта. Тут сохраняются xml-файлы структуры сайта, контента и т.п.)
75
76 cmd.php - launch system from the command line (запуск системы из командной строки).
77 index.php - system start-up, as a Web page (запуск системы, как веб-страницы).
78
79
80 Components (Компоненты)
81 =========================
82 The system has a mechanism K2 component call. The components can be located in different places, because of this, you can customize almost any part of the code.
83 (В системе К2 реализован механизм вызова компонент. Компоненты могут располагаться в разных местах, благодаря этому, можно кастомизировать практически любую часть кода.)
84 Call the component comes with a certain priority.
85 (Вызов компонент происходит с определенной приоритетностью.)
86 It is assumed that you can customize both the public and the admin part.
87 (Предполагается, что кастомизировать можно как публичную, так и админ-часть.)
88
89
90 Procedure Call component (Порядок вызова компонент):
91 /usr/def/app/app
92 /usr/def/app
93 /usr/НазваниеШаблона/app/app
94 /usr/НазваниеШаблона/app
95 /usr/домен/app/app
96 /usr/домен/app
97 /k2shop/k2shop/app/app
98 /k2shop/k2shop/app
99
100 Directory name, the name of the components and the name of the called file - the same. Only the .php extension added to the file.
101 (Название каталога, название компоненты и название вызываемого файла - совпадают. Только для файла добавляется расширение .php.)
102
103
104 Templates (Шаблоны)
105 =====================
106 Templates allow you to streamline control the appearance of the site and its functionality. In fact, in a customized template stores all the software part of the site.
107 (Шаблоны позволяют придать гибкость управления внешним видом сайта и его функционалом. Фактически в шаблонах хранится вся кастомизированная программная часть сайта.)
108
109 The procedure for calling a template (Порядок вызова шаблона):
110 /usr/def/<Further, the structure of the files and directories similar to k2 shop>/<NameTemplate>.htm
111 /usr/NameTemplate/<Further, the structure of the files and directories similar to k2 shop>/<NameTemplate>.htm
112 /usr/YouDomainName/<Further, the structure of the files and directories similar to k2 shop>/<NameTemplate>.htm
113 /k2shop/k2shop/app/template/def/php/<NameTemplate>.htm
114 /k2shop/k2shop/app/template/NameTemplate/<NameTemplate>.htm
115
116 The name of the default template - def. (Название шаблона по умолчанию - def.)
117
118 IN FILE TEMPLATES.PHP prescribe STANDARD masks that are used in systems.(В ФАЙЛЕ TEMOLATES.PHP РАСПИСАНЫ СТАНДАРТНЫЕ МАСКИ, КОТОРЫЕ ПРИМЕНЯЮТСЯ В СИСТЕМЕ.)
119
120 An array of templates (Массив шаблонов)
121 ===========================================
122 The site can have multiple templates. 2 template is used most often: a public template and admin template, sometimes, to print a pattern.
123 (Сайт может иметь несколько шаблонов. Чаще всего применяется 2 шаблона: публичный шаблон и админ-шаблон, иногда, шаблон для печати.)
124
125 To determine the patterns caused by the rules and their call is an array of patterns.
126 (Для определения вызываемых шаблонов и правил их вызова предназначен массив шаблонов.)
127
128 This array of templates can override the xml-file on a disk or in a database.
129 (Данный массив шаблонов может переопределяться xml-файлом на диске или в базе данных.)
130
131 The structure of the array (Структура данного массива):
132 name - name of the template (template ID) (название шаблона (идентификатор шаблона)).
133 params - template parameters call (параметры вызова шаблона).
134 public - public template (публичный шаблон).
135 admin - administrative template (административный шаблон).
136 print - Print template (шаблон для печати).
137 domains - You can enumerate the list of domains. If not - it applies to all domains (можно перечислить перечень доменов. Если нет - то применяется для всех доменов).
138 any other value acting as a team, to be processed in the logic of the software parts (любое другое значение действует, как команда, которая должна обрабатываться в логике программных частей.)
139
140 Caching (Кеширование)
141 ======================
142 To speed up the system caching mechanisms are used. (Для ускорения работы системы применяются механизмы кеширования.)
143
144 It makes sense to start the procedure cache component and templates (directory selection for each component and template). (Имеет смысл кешировать порядок запуска компонент и шаблонов (выбор каталога для каждой компоненты и шаблона).)
145 It makes sense to encrypt php-template code. (Имеет смысл кешировать php-код шаблона.)
146 It makes sense to cache the static part of the template. (Имеет смысл кешировать статическую часть шаблона.)
147 Also, you can create a static page views. But this view is not effective when the site is highly variable, and it has a lot of dynamic content.
148 (Так же, можно создавать статические представления страниц. Но, данное представление не эффективно, когда сайт сильно изменяется и на нем есть много динамического контента.)
149
150
151 Scripts (Скрипты)
152 ==================
153
154
155 Include areas (Включаемые области)
156 ==================================
157
158
159 Storing content as files (Хранение контента в виде файлов)
160 ===========================================================
161
162
163 Storing the menus and data structures as xml-files (Хранение меню и структур данных в виде xml-файлов)
164 ==========================================================================================================
165
166
167 Hooks (Хуки)
168 ===============
169 Hooks - This software hooks that allow you to include your functional in a particular class. (Хуки - это программные зацепки, которые позволяют вклинить свой функционал в конкретный класс.)
170
171
172 CNC (ЧПУ)
173 ====
174 CNC are designed to work in Apache and Nginx without with Apache. (ЧПУ разработатывалась так, чтоб работать и в Nginx без Apache и с Apache.)
175
176
177 Image storage (Хранение изображений)
178 ======================================
179
180
181 Catalogues (Каталоги):
182 =========================
183 comp - Components (Компоненты).
184 import - import / export tools (Средства для импорта/экспорта).
185 integr - Integrated solutions with different systems (Интеграционные решения с разными системами).
186 temp - Templates (Шаблоны).
187
188
189 Administration (Администрирование)
190 ===================================
191 Menu administration is included in the component, which are used in the administration.
192 (Меню администрирование включается внутри компонент, которые используются при администрировании.)
193
194 The main component that draws Administration panel: k2 admin page
195 (Основная компонента, рисующая панель администрирования: k2adminpage)
196
197 For the formation of the menu is the function (Для формирования меню предназначена функция):
198 getAdminMenu()
199
200 A list of the components that make up the admin side of the menu, is transferred to the array (Перечень компонент, образующих меню админ-части, перечисляется в массиве):
201 $admincomp
202 The structure of the menu: array('k2obmennik' => CretedObject)
203
204 An example of the menu structure of the array (Пример структуры массива меню):
205 array('category' => array("root","mnuAccounting","Accounting"),
206 'elements' => array(
207 array("acc_orders","Orders","?adm=orders", array('','')),
208 array("acc_bonus","Bonus","?adm=bonus", array('','')),
209 array("acc_pay","Pays","?adm=pay", array('',''))
210 )
211 )
212
213 Data storage (Хранение данных)
214 ================================
215 Supported data storage in the form of xml (for very limited projects) and in the database (Поддерживается хранение данных в виде xml (для очень ограниченных проектов) и в базе данных).
216 The principle of storage is determined by the variable $ k2-> storage type (Принцип хранения определяется переменной $k2->storagetype)
217
218 Possible options are predefined storage (Возможные предопределенные варианты хранилища):
219 xml - XML format, sqllite - SQLLite Database, mysql - MySQL Database, postgres - Postgresql Database
220
221
k2shop/k2shop/app/README/templates.txt
File was created 1 Tags in Templates (Маски в шаблонах)
2 =====================================
3 {adm} - administration panel (панель администрирования).
4 {edit} - wherever displayed edit button (место, куда выводятся кнопки редактирования).
5
6 {logo} - logo conclusion (вывод логотипа).
7 {namesite} - inserts the name of the site (вставляет название сайта).
8
9 {title} - page heading (заголовок страницы).
10 {keywords} - keywords (ключевые слова).
11 {description} - description of the page (описание страницы).
12 {seo} - SEO unit, which includes the right title, keywords, description (блок SEO, который включает в себя сразу title, keywords, description).
13
14 {copyright} - show copyright (вывод копирайта).
15 {counter} - show counter (выводит счетчик).
16
17 {head} - variable to insert scripts and css to the template (переменная для вставки скриптов и css в шаблон).
18
19 {h1}, {h2}, {h3} - headings h1, h2, h3, respectively (заголовки h1, h2, h3 соответственно).
20 {content} - content output (вывод контента).
21
22 {menu} - menu output. The menu can be a few pieces. Therefore, application of the parameters. for example (вывод меню. Меню может быть несколько штук. Поэтому, допускется применение параметров. Например):
23 {menu 1}, {menu 2}, {menu 3}, {menu ВерхнееМеню}, {menu BottomMenu} - identifier of the menu is that which is written between brackets without side problelov without menu (идентификатором меню считается то, что написано между скобками без боковых проблелов и без menu).
24
25 {inc} - It includes area. Includes a region can be a few pieces, therefore, be added to the template settings. For example: (включаемая область. Включаемых областей может быть несколько штук, поэтому, добавляются к данному шаблону параметры. Например:)
26 {inc 1}, {inc 2}, {inc 3}, {inc counter} - In this case, the identifier is considered to be what is written between brackets without lateral gaps and without inc. (В данном случае, идентификатором считается то, что написано между скобками без боковых пробелов и без inc.)
27
28
29 {navi} - "bread crumbs (хлебная крошка)".
30 {map} - Site Map (карта сайта).
31 {chat} - chat (чат).
32 {news} - news (новости).
33 {pathway} - bread crumbs (хлебная крошка).
34
35
36 {auth} - link login or user name (Authorized) (ссылка авторизации или имени пользователя (для авторизированного))
37 {username} - Username (имя пользователя)
38 {login} - user login (логин пользователя)
39
40 {NameComponent} - output in the pattern of an arbitrary component (вывод произвольной компоненты в шаблоне).
41 {banner} - banner output. Banners can be a few pieces (вывод баннера. Баннеров может быть несколько штук).
42 {banner1}, {banner2}, {banner3}, {banner Top}, {banner Bottom} - identity is determined between the brackets and the word banner (идентификатор определяется между скобками и без слова banner).
43
44 Allowed to use the comments in the templates. Before performing - they are removed. Comments that are removed from the template. (Допускается применение комментарие в шаблонах. Перед выполнением - они убираются. Комментарии, которые убираются из шаблона):
45 <!-- -->
46
47 Templates can resist obvusifikatsii. This occurs when the parameter is specified, including the mode.
48 (Шаблоны могут поддаваться обвусификации. Это происходит, когда указан параметр, включающий данный режим.)
49
k2shop/k2shop/app/README/translate.txt
File was created 1 For languages properties meet k2cfg ($ k2) (За языки отвечают свойства k2cfg ($k2)):
2 // Supported Languages (Поддерживаемые языки).
3 $langs=array('en', 'ua', 'ru');
4 $lngadmin='en'; // The language of the admin (Язык админ-части)
5 $lng='en'; // The language of the public (Язык публичной части)
6
7 Loading translation is done automatically when the object is created. (Загрузка перевода производится автоматически при создании объекта.)
8
9 However, you can upload function (Но, можно загрузить функцией):
10 loadTranslate($lng='')
11 It is in all heirs k2obj (Она есть во всех наследниках k2obj)
12
13 Translate any text can function (Перевести любой текст можно функцией):
14 Translate($strinp)