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 = '

{header}

+

{short_description}

+ {content}
'; // Определили шаблон для вывода + + $rez = $cont->showContent(); // Вывели контент + + +Здесь в шаблоне указаны все три тега: +{header} - тег для вывода заголовка h1 +{short_description} - краткое описание (лид) +{content} - полный контент + +По клику на ссылку «Редактировать» в дизайнером режиме открывается страница +редактирования данной конкретной записи. diff --git a/k2shop/k2shop/app/README/k2form.txt b/k2shop/k2shop/app/README/k2form.txt new file mode 100644 index 0000000..544a574 --- /dev/null +++ b/k2shop/k2shop/app/README/k2form.txt @@ -0,0 +1,123 @@ +Коструктор форм. +================ + + +Пример настройки поля для формы +=============================== + + ['field' => 'name_firm', + 'caption' => 'Контрагент', + 'width' => '350', + 'width_form' => '495', - ширина поля в форме + 'readonly' => false, - если true - поле в форму не попадает + 'align' => 'left', + 'align_form' => 'left', - выравнивание текста в поле формы + 'is_book'=>true, - вывод в виде справочника + 'formoptions' => ["colspan"=>"3", "rowpos"=>"6", "colpos"=>"2"], - позиционирование в форме (colspan - количество объединяемых ячеек, rowpos - номер радя, colpos - номер колонки) + 'alias_form' => 'firmid_our', - название поле в которое производиться запись(если 'field' отличается) + 'type_fieldform' => 'DropDown', - тип поля в форме + 'def_value' => date("d.m.Y"), - значение по умолчанию + 'disabled' => true, - поле неактивное для ввода + 'sql_form' => "select firmid as k, name_firm as v from k2firms where typefirmid<>1 order by name_firm " + required: true - поле обязательно к заполнению + min_length: 4 - минимальная длина значения + max_length: 10 - максимальная длина значения + regexp: /^[a-z]([0-9a-z_\s])+$/i - проверяется на соответствие регулярному выражению + ], + + + + + +Пример вывода зависимых полей - списков +======================================= + + 2: + field: OblastNameUA + alias: OblastId + caption: Область + width: 100 + width_form: 200 + readonly: false + align: left + type_fieldform: DropDown + sql_form: select OblastId as k, OblastNameUA as v from dp2Oblast order by OblastNameUA + depend: rayid - id зависимого поля + depend_sql: 'select rayid as k, name_rayon as v from dp2rajon r where OblastId = {mid}' - запрос для формирования дочернего списка, {mid} - маска для вставки id родителя + + 3: + field: name_rayon + alias: rayid + caption: Район + width: 100 + width_form: 200 + readonly: false + align: left + type_fieldform: DropDown + sql_form: select rayid as k, name_rayon as v from dp2rajon r + child: true - + + + +Пример вывода справочника +========================= + + 0: + field: VirobnikNameUA + alias: firmid + caption: Контрагент + width: 350 + width_form: 495 + readonly: false + align: left + sql: select VirobnikId as k, VirobnikNameUA as v + from dp2Virobn + order by VirobnikNameUA + is_book: true - указывает вывод в виде справочника + alias_form: firmid + type_fieldform: DropDown + sql_form: select VirobnikId as k, VirobnikNameUA as v from dp2Virobn order by VirobnikNameUA + + + +Рассчитываемые поля +=================== + + docdate: + field: docdate + alias: s.docdate + caption: Дата + width: 75 + readonly: false + onchange: setChild('deistvie_po') - указываем название функции (JS) вызываемой при событии onchange и передаем в параметре название зависимого поля + align: center + type_field: date + def_value: + + + deistvie_po: + field: deistvie_po + alias: s.deistvie_po + caption: Діє по + width: 75 + readonly: false + align: center + type_field: date + def_value: + parent_fields: docdate, podtypeid - указываем названия полей, значение которых влияет на текущее поле + parent_funcname: getTest - указываем название функции (PHP), в которой описан расчет текущего поля + +Вызов события перед генерацией поля +=================================== + + docdate: + field: docdate + alias: s.docdate + caption: Дата + width: 75 + readonly: false + before_funcname: testFunc - указываем название функции (PHP), в которой описан расчет текущего поля + before_params: - массив переменных для функции + var1: 1 + var2: 5 + ....... \ No newline at end of file diff --git a/k2shop/k2shop/app/README/k2log.txt b/k2shop/k2shop/app/README/k2log.txt new file mode 100644 index 0000000..6b6944b --- /dev/null +++ b/k2shop/k2shop/app/README/k2log.txt @@ -0,0 +1,46 @@ +Логирование в системе Корпорация 2. + +За логирование отвечает системная компонента k2log. +Данная компонента автоматически инициируется в ядре системы в свойстве $k2->log. + +Логирование может выводить на экран сообщение, а так же записывает его в файл. +Все логи пишутся в два файла - один по смыслу (например /log/Warning.log) второй - в общее хранилище логов /log/alllog.log. + +Предусмотрены такие функции логирования: + + mess($mess, $isshow=true) - вывод обычного сообщения + $mess - выводимое сообщение. + $isshow - выводить или не выводить сообщение на экран. + + err($mess, $isshow=false) - вывод сообщения о ошибке. Используем при возникновении ошибок общего назначения. + $mess - выводимое сообщение. + $isshow - выводить или не выводить сообщение на экран. + + warn($mess, $isshow=false) - сообщение предупреждения. Выводим тогда, когда нужно предупредить, но это еще не ошибочное сообщение. + $mess - выводимое сообщение. + $isshow - выводить или не выводить сообщение на экран. + + logcmd($mess, $isshow=false) - вывод лога терминального приложения (вызываем из приложений выполняемых в командной строке). + $mess - выводимое сообщение. + $isshow - выводить или не выводить сообщение на экран. + + cron($mess, $isshow=false) - лог крон-процесса. Вызываем для сообщений выполняемых в Cron. + $mess - выводимое сообщение. + $isshow - выводить или не выводить сообщение на экран. + + errDB($mess, $isshow=false) - ошибка базы данных. Выводим при возникновении ошибки базы данных. + $mess - выводимое сообщение. + $isshow - выводить или не выводить сообщение на экран. + + debug($mess, $isshow=false) - отладочное сообщение. Используется на время отладки. + $mess - выводимое сообщение. + $isshow - выводить или не выводить сообщение на экран. + + + addLog($mess, $filename='main.log', $isshow=false, $event="Non") - универсальная команда вывода сообщения. Данное сообщение не используется + самостоятельно. Оно вызывается всеми основными командами логирования + $mess - выводимое сообщение. + $filename - название файла. + $isshow - выводить или не выводить сообщение на экран. + $event - название события. + \ No newline at end of file diff --git a/k2shop/k2shop/app/README/k2mail.txt b/k2shop/k2shop/app/README/k2mail.txt new file mode 100644 index 0000000..de82ca3 --- /dev/null +++ b/k2shop/k2shop/app/README/k2mail.txt @@ -0,0 +1,15 @@ +Использование k2mail + + $mailto = 'email@com'; - e-mail получателя + $subj = 'Сообщение из сайта www.test.com'; - заголовок сообщения + $k2->mail->mail_from = $this->mail_from - адрес откуда отправляются систменые сообщения + + $mess = "Имя: ".$k2->post('name')."\n" - формирование сообщения + . "Телефон: ".$k2->post('phone')."\n" + . "Email: ".$k2->post('email')."\n" + . "Сообщение: ".$k2->post('mess'); + + + + $k2->mail->sendMail($mailto, $subj, $mess); - отправка письма. + diff --git a/k2shop/k2shop/app/README/k2pagecontent.txt b/k2shop/k2shop/app/README/k2pagecontent.txt new file mode 100644 index 0000000..18d2c40 --- /dev/null +++ b/k2shop/k2shop/app/README/k2pagecontent.txt @@ -0,0 +1,27 @@ +k2pagecontent +============================= + +Предназначена для вывода контента статических страниц из общей таблицы k2content. + +Вид урла страницы: +/?comp=k2mag&c=showpage&page=contacts + +showpage - Ваша компонента, которая организовывает вывод статической страницы. + +&page=contacts - свойство page содержит название, указанное в БД в столбце command таблицы k2content. + +В компоненте учтена возможность выбора языка документа. Для того, чтобы указать язык документа, +необходимо прописать идентификатор языка (например, ru, en …) в столбце lang таблицы k2content. +Компонента автоматически определит текущий язык системы и выдаст контент на нужном языке. +Также язык можно принудительно указать в строке запроса добавив &lang = ru + + +Получение данных: + +public $pageTitle - заголовок страницы +public $pageDescription - описание страницы +public $pageKeywords - ключевые слова + +public $pageHeader - заголовок h1 +public $pageShortDescription - краткое описание - лид. +public $pageContent - контент страницы \ No newline at end of file diff --git a/k2shop/k2shop/app/README/k2pay_liqpay.txt b/k2shop/k2shop/app/README/k2pay_liqpay.txt new file mode 100644 index 0000000..dad025c --- /dev/null +++ b/k2shop/k2shop/app/README/k2pay_liqpay.txt @@ -0,0 +1,33 @@ +Использование платежной системы LiqPay. + + +Перед использованием LiqPay необходимо активировать ее в таблице платежных систем и заполнить необходимые парметры + + +#Пример заполнения параметров платежной системы LiqPay# +--------------------------------------------------------------------------------------------------- +Идентификатор |Параметр |Значение +--------------------------------------------------------------------------------------------------- +liqpay_sandbox |Тестовый (1) или рабочий (0) режим |1 +result_url |url |/?comp=k2newshop&c=cart&event=payres +liqpay_merchid |ID продавца (публичный ключ) |i13872925750 +liqpay_signature |Подпись - приватный ключ |HwdYXWN7sccpreeyEFQZ1f6G2r5z8mLGHlpQKSC2 +liqpay_val |Валюта платежа |UAH +--------------------------------------------------------------------------------------------------- +############################# + + + +Для инициализации оплаты в системе: + + $p = $k2->ins_comp('k2pay','liqpay'); + $pay .= $p->payZakaz($orderid, $sum, $desc); + + где: + $orderid - номер заказа; + $sum - сумма платежа; + $desc - описание к платежу; + + + + diff --git a/k2shop/k2shop/app/README/k2popup.txt b/k2shop/k2shop/app/README/k2popup.txt new file mode 100644 index 0000000..14e4404 --- /dev/null +++ b/k2shop/k2shop/app/README/k2popup.txt @@ -0,0 +1,17 @@ +Компонента k2popup +============================= +Компонента для вывода всплывающих окон. Окна построены на чистом CSS поэтому не должны конфликтовать с внешними библиотеками (Bootstrap, jQuery) +Можно использовать несколько окон на одной странице с разным содержимым. Для этого необходимо указывать для каждого свой popUpID. + + +Как создать окно и вывести в нем нужный контент? + +$popup = $k2->ins_comp('k2popup'); // Создаем объект окна + +$popup->popUpID = 'deletemenuitem'; // задаем ID окна. Он будет добавлен к ID окна в коде. Таким образом мы можем использовать сколько угодно окон на одной странице. +$popup->popupContent = $this->deleteForm; // Указываем какой контент поместить в окно. + +$popup->content(); Вызываем окно. + +Генерация ссылки для вызова окна: + diff --git a/k2shop/k2shop/app/README/k2progress_bar.txt b/k2shop/k2shop/app/README/k2progress_bar.txt new file mode 100644 index 0000000..10906d9 --- /dev/null +++ b/k2shop/k2shop/app/README/k2progress_bar.txt @@ -0,0 +1,44 @@ +Компонента progress bar(шкала прогресса) +================== + +Пример использования: + + $prg = $k2->ins_comp('k2progress_bar'); + $arr_prg = [ + 'caption'=>'', + 'prg_id'=>'bar', + 'hint'=>'Процес завантаження', + 'width'=>'350', + 'height'=>'20', + 'showtext'=>true, + 'style'=>'margin-left:10px', + 'prg_tmp'=>'success', + 'value'=>90, + 'prg_interval'=>100, + 'orientation'=>'vertical', + 'script'=>'alert(333)', + 'start_func'=>'startBar' + ]; + + $rez .= $prg->progressBar($arr_prg); + + + +Параметры: + caption - Название шкалы(выводиться над шкалой) + prg_id - Id шкалы + hint - Всплывающая подсказка + width - Ширина шкалы + height - Высота шкалы + style - Стили для шкалы + showtext - Показывать ли текст в процентах прогресса + prg_tmp - Шаблон шкалы (default, primary, info, success, warning, danger, inverse, link) + value - Точка остановки (в %) + prg_interval - Интервал изменения шкалы (в мс) + orientation - Ориентация шкалы (vertical или horisontal) + script - Функция выполняемая после остановки шкалы + start_func - Функция запускающая шкалу (т.о. в нужном месте можно вызвать функцию запусающую progress bar, например startBar(200), 200 - параметр, который переопределит + интервал изменения шкалы) + + + \ No newline at end of file diff --git a/k2shop/k2shop/app/README/k2sefurl.txt b/k2shop/k2shop/app/README/k2sefurl.txt new file mode 100644 index 0000000..65d2988 --- /dev/null +++ b/k2shop/k2shop/app/README/k2sefurl.txt @@ -0,0 +1,53 @@ +Format of the URL in the K2 (Формирование URL в К2): + +Editing content (Редактирование контента): +/?c=edit&content=k2content&p=otziv + +Working with news (Работа с новостями): + Editing (Редактирование) + /?c=edititem&content=k2news&p=otziv + Removal (Удаление) + /?c=delitem&content=k2news&p=otziv + Addition (Добавление) + /?c=additem&content=k2news&p=otziv + + +Show content (Вывод контента): +/?p=news + +При ЧПУ: /news/ + +Content details (Контент детально): +/?p=news&id=445&c=detile&content=k2news + +When NC (При ЧПУ): + When id (При id): + /news/445/ + or + /news/445/detile/k2news/ + + When NC URL (При чпу-урл): + /news/nowosti-budut-tut/ + or + /news/nowosti-budut-tut/detile/k2news/ + + + + // Для включения ЧПУ переключите в конфиг-файле k2cfg.php переменную: + $->selfurl=true; + +Для преобразования обычных адресов в ЧПУ-адреса используйте функцию: +$urltmp=$k2->surl->SefURL_FromURL($urltmp); + +Для нормализации адреса используйте (эта команда так же используется по умолчанию + в $k2->surl->SefURL_FromURL(), так что при применении данной команды повторно + вызывать normURL не нужно): +normURL($rez); +?> + + + + + + \ No newline at end of file diff --git a/k2shop/k2shop/app/README/k2select2.txt b/k2shop/k2shop/app/README/k2select2.txt new file mode 100644 index 0000000..b2c38e5 --- /dev/null +++ b/k2shop/k2shop/app/README/k2select2.txt @@ -0,0 +1,27 @@ +The drop-down list with the ability to search by first letter (Выпадающий список с возможностью поиска по первым буквам): + + Case of implementation (Пример реализации): + $sel=$k2->ins_comp('k2select2'); + $rez=$sel->sel( + array( + 'name' => 'kcb_cbtypeacc', + 'sql' => "select roleid as k, rolename as v from k2roles where (pubrole='1') and (roleid<>1500) order by rolename", + 'value' => $typeaccid, + 'search_input' => 0, + 'enabled'=> !$k2->auth->isAuth(), + 'additems'=>array(''=>'', '-1'=>'Create new item') + ) + ); + + Parameters passed to sel () function (Параметры, передаваемые в ф-цию sel()): + name - name fields (название поля на фоме) + sql - SQL-query (SQL-запрос) + keyfield - the name of the key field (название поля ключей) + valuefield - the name of the values of the field (название поля значений) + value - Value (значение) + enabled - Enable (отключить) + multi - multiple choice (множественный выбор) + search_input - search field (поле поиска) + 'additems'=>array('-1'=>'Create new item') - additional list items are not included in sql (дополнительные пункты списка, не входящие в sql) + + \ No newline at end of file diff --git a/k2shop/k2shop/app/README/k2show.txt b/k2shop/k2shop/app/README/k2show.txt new file mode 100644 index 0000000..b2ef28e --- /dev/null +++ b/k2shop/k2shop/app/README/k2show.txt @@ -0,0 +1,12 @@ +Универсальный вывод таблиц из ORM и таблиц из мета-данных. + +Вызов нужной таблицы из K2ORM: + /?comp=k2show&t=crmPrivatBank&mode=admin + +Вызов нужного просмотра из мета-данных: + /?comp=k2show&v=dp2act_pop_ocen&mode=admin + + +Метаданные k2orm находятся в папке: \k2shop\k2shop\metadata +Метаданные просмотра находятся в папке: \k2shop\k2shop\metadata_view + diff --git a/k2shop/k2shop/app/README/k2slider.txt b/k2shop/k2shop/app/README/k2slider.txt new file mode 100644 index 0000000..b3c617e --- /dev/null +++ b/k2shop/k2shop/app/README/k2slider.txt @@ -0,0 +1,10 @@ +Компонента k2slider +============================= +Универсальная компонента для вывода слайдера. Работает с таблицей БД k2slider + +Как использовать? +Для отображения слайдера необходимо вставить в шаблон тег {slider sliderID-SliderTemplate} + +sliderID - Идентификатор слайдера в БД (поле slider_name). +SliderTemplate - Идентификатор темплейта слайдера. Компонента ищет файл k2slider-SliderTemplate k2shop/usr/название темплейта сайта/cfg/k2slider-SliderTemplate.php + и если находит его, переназначает свойства отвечающие за внешний вид слайдера. diff --git a/k2shop/k2shop/app/README/k2splitter.txt b/k2shop/k2shop/app/README/k2splitter.txt new file mode 100644 index 0000000..9e91abd --- /dev/null +++ b/k2shop/k2shop/app/README/k2splitter.txt @@ -0,0 +1,35 @@ +Компонента выводящая панели с разделениеме сплиттером + +Вертикальный сплиттер +===================== + $splitter = $k2->ins_comp('k2splitter'); + $splitter->name='spl'.$this->name; + $rez = $splitter->Splitter(); + $rez=str_replace('{panel1}', 'Текст в 1-ю панель', $rez); + $rez=str_replace('{panel2}', 'Текст во 2-ю панель', $rez); + + +Горизонтальный сплиттер +======================== + + $splitter = $k2->ins_comp('k2splitter'); + $splitter->name='spl'.$this->name; + $rez = $splitter->Splitter(['orient'=>'hor','width'=>'1000','height'=>'1200','panel_size'=>'100','panel_size'=>'300']); + $rez=str_replace('{panel1}', 'Текст в 1-ю панель', $rez); + $rez=str_replace('{panel2}', 'Текст во 2-ю панель', $rez); + + + // В более сокращенной записи: + $rez = $k2->ins_comp('k2splitter')->Splitter(['name'=>'spl'.$this->name, + 'orient'=>'hor','width'=>'1000', + 'height'=>'950','panel_size'=>'100','panel_size'=>'250', + 'panel1'=>'Что выводим в первую панель...', 'panel2'=>'Что выводим во вторую панель...']); + + Т.к. название компонентов генерируется автоматически, можно не задавать название в массиве (если не нужно к нему обращаться из кода). + Тогда, получаем еще более лаконичный вызов: + $rez = $k2->ins_comp('k2splitter')->Splitter([ + 'orient'=>'hor', + 'width'=>'1000', 'height'=>'950','panel_size'=>'100','panel_size'=>'250', + 'panel1'=>'Что выводим в первую панель...', 'panel2'=>'Что выводим во вторую панель...']); + + diff --git a/k2shop/k2shop/app/README/k2sql.txt b/k2shop/k2shop/app/README/k2sql.txt new file mode 100644 index 0000000..8e7b3eb --- /dev/null +++ b/k2shop/k2shop/app/README/k2sql.txt @@ -0,0 +1,51 @@ +Выполнение SQL-запросов + +$k2->sql->ins - это вставка +upd - изменение +del - удаление +sel - выборка + +В эти функции передается массив $params +Элементы массива: +sql - это SQL-запрос. В нем применяются параметры отмеченные двоеточием +val - это значения параметров + + +Примеры операций в k2sql: + + Вставка данных массивом: + $ksql=$k2->ins_comp('k2sql'); + $ksql->ins_arr(['table'=>'crmPrivatBank', + 'fields'=>[ + 'privatid'=>'{id}', + 'num'=>trim($row[0]), + 'date_provodk'=>/*$row[1]*/$date_rez, + 'time_provodk'=>$row[2], + 'sum_prih'=>$row[3], + 'sum_rash'=>$row[4], + 'valuta'=>trim($row[5]), + 'name_plat'=>$row[6], + 'edrpou'=>trim($row[7]), + 'name_firm'=>trim($row[8]), + 'schet_firm'=>trim($row[9]), + 'mfo_firm'=>trim($row[10]), + 'referens'=>trim($row[11]) + ] + ]); + + + Проверка наличия элемента в базе по заданным параметрам в базе: + $ksql=$k2->ins_comp('k2sql'); + $find=$ksql->sel('SELECT privatid FROM crmPrivatBank WHERE (num=:num)AND(referens=:referens);', ['num'=>trim($row[0]), 'referens'=>trim($row[11])]); + if ($find['data']==[]){ + Что нужно выполнить.... + } + +Зарезервированные маски переменных: + {id} - генерирует хеш (для ID). + {userid} - id пользователя. + {login} - логин пользователя. + {now} - текущие дата и время. + {date} - текущая дата. + + diff --git a/k2shop/k2shop/app/README/k2sys.txt b/k2shop/k2shop/app/README/k2sys.txt new file mode 100644 index 0000000..18cc02a --- /dev/null +++ b/k2shop/k2shop/app/README/k2sys.txt @@ -0,0 +1,25 @@ +Системные команды в системе Корпорация 2. + +Компонента k2sys. Она автоматически инициируется в ядре, как $k2->sys. +В данной библиотеке представлены некоторые важные системные команды. + + rus2translit($string) - преобразует русский и украинский текст в транслитерацию. + + str2url($str) - преобразует строки в url транслитерации. + + chpu($name,$nextid) - ЧПУ. + $name - название пункта + nextid - key + + getGUID() - генерирует хеш id. + + generate_password($number=10) - генератор паролей. Генерирует случайный пароль + из перечня символов в массиве. + + forceDir($dir) - рекурсивное создание каталогов по укзанному пути в $dir. + Если каталог существует, команда не будет пытаться создавать каталог. + + ip() - возвращает ip-адрес. + + agent() - возвращает название агента браузера. + diff --git a/k2shop/k2shop/app/README/k2tree.txt b/k2shop/k2shop/app/README/k2tree.txt new file mode 100644 index 0000000..d836441 --- /dev/null +++ b/k2shop/k2shop/app/README/k2tree.txt @@ -0,0 +1,38 @@ +Построение дерева +================== + +Пример использования: + + $tree = $k2->ins_comp('k2tree'); + + $arr_tree=array( + 'table_name' => 'vdTree', + 'id' => 'treeid', + 'parentid'=>'parent_treeid', + 'name'=>'treename' + + ); + + + $rez.=$tree->getTree($arr_tree); + + +Параметры: + table - название таблицы дерева + id - первичное поле дерева + parentid - корневой id дерева + name - поле названия дерева + + caption - подпись в загововке дерева. + autowidth - автоматическая установка ширины таблицы + height - автоматическая установка высоты + 'is_export'=>true - экспотр таблицы + + 'is_edit'=>true - editing (редактирование). + 'is_export'=>false - export (экспорт). + 'is_del'=>true - removal (удаление). + 'is_clone'=>true - copying (копирование). + 'is_add'=>true - adding new records (добавление новых записей). + + + \ No newline at end of file diff --git a/k2shop/k2shop/app/README/pay.txt b/k2shop/k2shop/app/README/pay.txt new file mode 100644 index 0000000..7c4e860 --- /dev/null +++ b/k2shop/k2shop/app/README/pay.txt @@ -0,0 +1,49 @@ +Payment systems (Платежные системы) +=================================== + +PayPal Api: + https://www.liqpay.com/doc/checkout + +Приват 24 Api: + https://api.privatbank.ua/ + +WebMoney Api: + https://habrahabr.ru/post/121182/ - Receiving WebMoney money without leaving the site (Прием денег WebMoney без ухода с сайта). + http://www.webmoney.ru/rus/developers/api.shtml + https://github.com/baibaratsky/php-webmoney - library for work with WebMoney (библиотека для работы с WebMoney). + http://webmoney.ua/cooperation/developers#q3 + +PayPal Api: + https://habrahabr.ru/post/128198/ + +Яндекс деньги Api: + https://habrahabr.ru/post/160969/ + +Qiwi Api: + https://habrahabr.ru/post/198668/ + +================================================================================ +Подключение в К2: + +1. В админке(Справочники->Платежные системы) прописать необходимые параметры + + Для PayPal: + - paypal_email (email продавца); + - paypal_val (валюта). + + Для LiqPay: + - liqpay_merchid (ID продавца); + - liqpay_signature (Подпись - приватный ключ). + + Для WebMoney: + - webmoney_merchid (ID продавца); + - webmoney_b (Номер кошелька); + - webmoney_secretkey (Секретный ключ). + +2. На страницу выбора проплаты вставить, соответствующую платежной системе компоненту + + $p=$k2->ins_comp('k2pay','paypal'); + + и вызвать функцию + + $rez=$p->payZakaz($zakazid, $sum); \ No newline at end of file diff --git a/k2shop/k2shop/app/README/phpgrid.txt b/k2shop/k2shop/app/README/phpgrid.txt new file mode 100644 index 0000000..313c2e7 --- /dev/null +++ b/k2shop/k2shop/app/README/phpgrid.txt @@ -0,0 +1,126 @@ +Examples of creating phpGrid and settings tables (Примеры создания таблиц phpGrid и параметры): + +Settings table (Параметры настройки таблицы): + is_edit - allow withdrawal of editing buttons (разрешить вывод кнопок редактирования). + is_show - the output display / hide columns of buttons (вывод кнопок показа/скрытия столбцов). + is_export - withdrawal of export buttons (вывод кнопок экспорта). + + rowNum - the number of lines on 1 page (eg 10) (количество строк на 1 странице (например 10)). + sortname - field on which sort (поле, по которому сортируем). + sortorder - sorting direction (asc, desc) (направление сортировки (asc, desc)). + caption - signature to the table (подпись к таблице). + autowidth - automatically set the size of the column widths (автоматически устанавливать размер ширин столбцов). + width - width of the table (for example: 1200) (ширина таблицы (например: 1200)). + shrinkToFit - columns in the table contain (вместить столбцы в таблицу). + + bottominfo - inscription at the bottom of the form add (надпись внизу формы добавления). + row_list=[10,30,50,100,'All']; - списко разбивки на строки. + + + table - название таблицы. + + divtable - альтернативное название div (по умолчанию - как table). + + toolbar - выводить панель инструменов bottom-снизу, top - сверху, both - снизу и сверху. + toppager - выводить переключение страниц сверху или снизу. + +Ключевое поле + typeid - тип ключевого поля. 0 - цифровое (автогенератор), 1 - хеш (цифровое - по умолчанию, для совместимости). + +Parameters column settings (Параметры настройки столбцов): + type_field - Field type. Depending on the field - it occurs at different output. (Тип поля. В зависимости от типа поля - по разному происходит вывод информации.) + type_field => 'file' - field type - file. With the ability to Upload. This image file. (тип поля - файл. С возможностью Upload. Это изображение или файл.) + Можно указывать параметры изображения с помощью массива params. + Пример указания параметров изображения: + 'params' => [ + 'align'=>'center', + 'height'=>100, + 'width'=>200 + ] + + type_field => 'date' - field type "Date". (тип поля "Дата".) + type_field => 'datetime' - field type "date and time". (тип поля "Дата и время".) + type_field => 'checkbox' - field type checked (тип поля галочка). + type_field => 'DropDown' - field type drop-down list (тип поля выпадающий список). + type_field => 'link' - Link field type (тип поля ссылка). + ["link"] - link (ссылка). + ["target"] - targer (Opens in a new window or not) (открывать в новом окне или нет). + type_field => 'wysiwyg' - style Wysiwyg editor (редактор в стиле Wisywyg). + type_field => 'textarea' - multiline text field (много-строчное текстовое поле). + type_field => 'color' - color selection (выбор цвета). + type_field => 'time' - time (время). + type_field => 'tinymce' - editor tinymce styles (редактор в стили tinymce). + + type_field => 'bar' - displays a graph in the cell (bar) (выводит график в ячейке (bar)). + + type_field => 'condition' - buttons, depending on the conditions (кнопки, в завиимости от условия). + Trigger is indicated in such a way (Сработка указывается таким образом): + 'cond' => array( + 'exp' => '($row["pay"]==null)or($row["pay"]==0)', + 'url1' => '/?id={transferid}', + 'caption1' => 'Оплатить', + 'ul2' => '/?idpr={transferid}', + 'caption1' => 'Распечатать' + ) + + By default, a red button marked with the condition, and green - with its violation. (По умолчанию, красным отмечается кнопка при выполнении условия, а зеленым - при его нарушении.) + You can change the style. During this meet an array of parameters (Стили можно поменять. За это отвечают параметры массива): + style1 => 'text-decoration:none; white-space:none; border:1px solid gray; padding:2px; position:relative; width:25px; color:red' + style2 => 'text-decoration:none; white-space:none; border:1px solid gray; padding:2px; position:relative; width:25px; color:green' + + + + ['caption'] - Table Header ('Sample text') (Заголовок таблицы ('Пример текста')). + ["width"] - width of the table (for example: 40) (ширина таблицы (например: 40)). + ["align"] - alignment (left, right) (выравнивание (left, right)). + ["editable"] - edit the information in the cell (true, false) (редактировать информацию в ячейке (true, false)). + ["search"] - to search for a given field (true, false) (производить поиск по данному полю (true, false)). + ["hidden"] - hide column (true, false) (скрывать столбец (true, false)). + ["def_value"] - The default value (for example, '1') (значение по умолчанию (например: '1')). + + 'field' - field name (название поля). + 'alias' - alias name (if different from the field name) (название алиаса (если отличается от названия поля)). + 'pssword'=>true - If the field type your password (если поле типа пароль). + + 'autoid' - auto-incremented field (авто-инкрементное поле). + 'hidden' - hide the field from the table (скрыть поле из таблицы). + 'hidedlg' - hide the field from the fields visibility control dialog box (скрыть поле из диалогового окна управления видимости полей). + + During the operation with all the properties of the table meet (За операции со всей таблицей отвечают свойства): + 'is_edit'=>true - editing (редактирование). + 'is_export'=>false - export (экспорт). + 'is_del'=>true - removal (удаление). + 'is_clone'=>true - copying (копирование). + 'is_add'=>true - adding new records (добавление новых записей). + + Checkmarks for multiple choice (Галочки для множественного выбора): + 'multiselect' => true + + 'footer' => true - line results (строка результатов). + + For calculating the amount corresponds to the mass sum. It lists the names of the fields in which + schmtayutsya amount, as well as the operation, which is done on the field: + (За подсчет сумм отвечает массив sum. В нем перечисляются названия полей, по которым + счмтаются суммы, а так же операция, которая делается над полем:) + + sum - calculation of the total amount (подсчет общей суммы) + count - count the number of (подсчет количества) + avg - calculation of average (подсчет среднего) + max - calculation of maximum (подсчет максимального) + min - calculation of the minimum (подсчет миниального) + + Examples: + 'sum' => array('kol'=>'sum', 'id'=>'count', 'summa'=>'sum') + + 'where' - filter, which is filtered by the calculation amounts (except as indicated in the table). (фильтр, по которому будет фильтроваться расчет сумм (кроме указанного в таблице).) + + Examples: + 'where'=>"and(g.partner_transid='".$k2->auth->firmid."')", + + You can sign the label using an array sumlabel. This array is filled, if necessary + tags indicate other than that used by default. + (Можно подписывать метки с помощью массива sumlabel. Данный массив заполняется, если нужно + указать другие метки, чем используются по умолчанию.) + + Examples: + 'sumlabel' => array('kol'=>'Кол.:') diff --git a/k2shop/k2shop/app/README/readme.txt b/k2shop/k2shop/app/README/readme.txt new file mode 100644 index 0000000..3d5ec8d --- /dev/null +++ b/k2shop/k2shop/app/README/readme.txt @@ -0,0 +1,220 @@ +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 + (Управляющие команды передаются через переменную "c" в URL. Если данная переменная не задана, то грузится сайт с функциональностью по умолчанию). + +Varieties teams (Разновидности команд c): + anticapcha - call anticapcha module (вызов модуля антикапча). + ничего не задано - call site with default functionality (вызов сайта с функциональностью по умолчанию). + +$k2 - Options K2 (Настройки К2) do not forget to add a global $ k2 (не забудьте объявить global $k2). +After setting a class you can access the main elements of the kernel. Previously we used a global variable $ GLOBALS [ 'k2cfg']. +(Через класс настроек можно получить доступ к основным элементам ядра. Раньше использовалась глобальная переменная $GLOBALS['k2cfg'].) + +The parameters in the URL (Параметры в URL) +============================================= +$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. + (Команда - команда. Предназначена для указания команд системы. Если команда не указана, то выполняется, как обычный сайт.) + +$id=IDPage - loads the page (загружает нужную страницу). +$page=НомерСтраницы - page number (номер страницы). + + +Configuration component settings (Конфигурационные настройки компонент) +========================================================================= +Component settings can be overridden (Настройки компонент можно переопределять). +Configuring the components is carried out in the cfg directory (Конфигурирование компоненты осуществляется в каталоге cfg). +For example, the override components k2cfg (Например, переопределение компоненты k2cfg): + Create file (Создаем файл) /cfg/k2cfg.php + with similar content (с подобным содержимым): + isWeb()){ + $this->rootdir='/var/www/k2shop/****/corp2-kiev-ua/site/corp2.kiev.ua'; // The root of the site (Корень сайта) + } + + $this->host = 'localhost'; // Connecting to database (Подключение к базе данных) + $this->dbname = 'you_dbname'; + $this->user = 'you_login'; + $this->pass = 'ВашПароль'; + + ?> + + So you can initialize the state variables of any of the classes K2 (Таким образом можно инициализировать состояние переменных любого из классов К2). + + +Priority implementation (Приоритетность выполнения) +======================================================= +Call priority component templates, scripts, etc. It is determined by the user to the system. (Приоритет вызова компонент, шаблонов, скриптов и т.п. определяется от пользовательского к системному.) +Thus, a customized portion has the highest priority when performing. (Таким образом, кастомизированная часть имеет наибольший приоритет при выполнении.) +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). Если есть кастомизированная часть, то системная часть обычно выполняться не будет (если пользователь принудительно не вызовет её). + + +The directory structure (Структура каталогов) +============================================= +k2shop - Kernel Corporation 2 (ядро системы Корпорация 2). + app - core system (ядро системы). + comp - Components (компоненты). + import - import / export modules (модули импорта/экспорта). + integr - integration with other systems (интеграция с другими системами). + template - templates (шаблоны). + import - examples of import files (примеры файлов импорта). + libs - library of third-party developers (библиотеки сторонних разработчиков). + CKEditor - CKEditor Content Editor (редактор содержимого CKEditor). + KoolPHPSuite - components KoolPHP (компоненты KoolPHP). + script - scripts (скрипты). + test - test modules of the system operation (модули тестирования работы системы). + upload - downloading files. For temporary storage of files downloaded from the Internet (загрузка файлов. Для временного хранения загруженных из интернет файлов). +usr - user part (a customized) (пользовательская часть (кастомизированная)). + def - settings for the system default (настройки для работы системы по умолчанию). +cfg - configuration settings (конфигурационные настройки). +img - Images (изображения). +files - files (файлы). +cache - cache (кеш). +tmp - temporary directory (временный каталог). +lang - translations into different languages (переводы на разные языки). +data - Site data. Here are stored xml-files site structure, content, etc. (данные сайта. Тут сохраняются xml-файлы структуры сайта, контента и т.п.) + +cmd.php - launch system from the command line (запуск системы из командной строки). +index.php - system start-up, as a Web page (запуск системы, как веб-страницы). + + +Components (Компоненты) +========================= +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. +(В системе К2 реализован механизм вызова компонент. Компоненты могут располагаться в разных местах, благодаря этому, можно кастомизировать практически любую часть кода.) +Call the component comes with a certain priority. +(Вызов компонент происходит с определенной приоритетностью.) +It is assumed that you can customize both the public and the admin part. +(Предполагается, что кастомизировать можно как публичную, так и админ-часть.) + + +Procedure Call component (Порядок вызова компонент): +/usr/def/app/app +/usr/def/app +/usr/НазваниеШаблона/app/app +/usr/НазваниеШаблона/app +/usr/домен/app/app +/usr/домен/app +/k2shop/k2shop/app/app +/k2shop/k2shop/app + +Directory name, the name of the components and the name of the called file - the same. Only the .php extension added to the file. +(Название каталога, название компоненты и название вызываемого файла - совпадают. Только для файла добавляется расширение .php.) + + +Templates (Шаблоны) +===================== +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. +(Шаблоны позволяют придать гибкость управления внешним видом сайта и его функционалом. Фактически в шаблонах хранится вся кастомизированная программная часть сайта.) + +The procedure for calling a template (Порядок вызова шаблона): +/usr/def//.htm +/usr/NameTemplate//.htm +/usr/YouDomainName//.htm +/k2shop/k2shop/app/template/def/php/.htm +/k2shop/k2shop/app/template/NameTemplate/.htm + +The name of the default template - def. (Название шаблона по умолчанию - def.) + +IN FILE TEMPLATES.PHP prescribe STANDARD masks that are used in systems.(В ФАЙЛЕ TEMOLATES.PHP РАСПИСАНЫ СТАНДАРТНЫЕ МАСКИ, КОТОРЫЕ ПРИМЕНЯЮТСЯ В СИСТЕМЕ.) + +An array of templates (Массив шаблонов) +=========================================== +The site can have multiple templates. 2 template is used most often: a public template and admin template, sometimes, to print a pattern. + (Сайт может иметь несколько шаблонов. Чаще всего применяется 2 шаблона: публичный шаблон и админ-шаблон, иногда, шаблон для печати.) + +To determine the patterns caused by the rules and their call is an array of patterns. +(Для определения вызываемых шаблонов и правил их вызова предназначен массив шаблонов.) + +This array of templates can override the xml-file on a disk or in a database. +(Данный массив шаблонов может переопределяться xml-файлом на диске или в базе данных.) + +The structure of the array (Структура данного массива): + name - name of the template (template ID) (название шаблона (идентификатор шаблона)). + params - template parameters call (параметры вызова шаблона). + public - public template (публичный шаблон). + admin - administrative template (административный шаблон). + print - Print template (шаблон для печати). + domains - You can enumerate the list of domains. If not - it applies to all domains (можно перечислить перечень доменов. Если нет - то применяется для всех доменов). + any other value acting as a team, to be processed in the logic of the software parts (любое другое значение действует, как команда, которая должна обрабатываться в логике программных частей.) + +Caching (Кеширование) +====================== +To speed up the system caching mechanisms are used. (Для ускорения работы системы применяются механизмы кеширования.) + +It makes sense to start the procedure cache component and templates (directory selection for each component and template). (Имеет смысл кешировать порядок запуска компонент и шаблонов (выбор каталога для каждой компоненты и шаблона).) +It makes sense to encrypt php-template code. (Имеет смысл кешировать php-код шаблона.) +It makes sense to cache the static part of the template. (Имеет смысл кешировать статическую часть шаблона.) +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. + (Так же, можно создавать статические представления страниц. Но, данное представление не эффективно, когда сайт сильно изменяется и на нем есть много динамического контента.) + + +Scripts (Скрипты) +================== + + +Include areas (Включаемые области) +================================== + + +Storing content as files (Хранение контента в виде файлов) +=========================================================== + + +Storing the menus and data structures as xml-files (Хранение меню и структур данных в виде xml-файлов) +========================================================================================================== + + +Hooks (Хуки) +=============== +Hooks - This software hooks that allow you to include your functional in a particular class. (Хуки - это программные зацепки, которые позволяют вклинить свой функционал в конкретный класс.) + + +CNC (ЧПУ) +==== +CNC are designed to work in Apache and Nginx without with Apache. (ЧПУ разработатывалась так, чтоб работать и в Nginx без Apache и с Apache.) + + +Image storage (Хранение изображений) +====================================== + + +Catalogues (Каталоги): +========================= +comp - Components (Компоненты). +import - import / export tools (Средства для импорта/экспорта). +integr - Integrated solutions with different systems (Интеграционные решения с разными системами). +temp - Templates (Шаблоны). + + +Administration (Администрирование) +=================================== +Menu administration is included in the component, which are used in the administration. +(Меню администрирование включается внутри компонент, которые используются при администрировании.) + +The main component that draws Administration panel: k2 admin page +(Основная компонента, рисующая панель администрирования: k2adminpage) + +For the formation of the menu is the function (Для формирования меню предназначена функция): + getAdminMenu() + +A list of the components that make up the admin side of the menu, is transferred to the array (Перечень компонент, образующих меню админ-части, перечисляется в массиве): + $admincomp + The structure of the menu: array('k2obmennik' => CretedObject) + +An example of the menu structure of the array (Пример структуры массива меню): + array('category' => array("root","mnuAccounting","Accounting"), + 'elements' => array( + array("acc_orders","Orders","?adm=orders", array('','')), + array("acc_bonus","Bonus","?adm=bonus", array('','')), + array("acc_pay","Pays","?adm=pay", array('','')) + ) + ) + +Data storage (Хранение данных) +================================ +Supported data storage in the form of xml (for very limited projects) and in the database (Поддерживается хранение данных в виде xml (для очень ограниченных проектов) и в базе данных). +The principle of storage is determined by the variable $ k2-> storage type (Принцип хранения определяется переменной $k2->storagetype) + +Possible options are predefined storage (Возможные предопределенные варианты хранилища): + xml - XML format, sqllite - SQLLite Database, mysql - MySQL Database, postgres - Postgresql Database + diff --git a/k2shop/k2shop/app/README/templates.txt b/k2shop/k2shop/app/README/templates.txt new file mode 100644 index 0000000..6ab626a --- /dev/null +++ b/k2shop/k2shop/app/README/templates.txt @@ -0,0 +1,48 @@ +Tags in Templates (Маски в шаблонах) +===================================== +{adm} - administration panel (панель администрирования). +{edit} - wherever displayed edit button (место, куда выводятся кнопки редактирования). + +{logo} - logo conclusion (вывод логотипа). +{namesite} - inserts the name of the site (вставляет название сайта). + +{title} - page heading (заголовок страницы). +{keywords} - keywords (ключевые слова). +{description} - description of the page (описание страницы). +{seo} - SEO unit, which includes the right title, keywords, description (блок SEO, который включает в себя сразу title, keywords, description). + +{copyright} - show copyright (вывод копирайта). +{counter} - show counter (выводит счетчик). + +{head} - variable to insert scripts and css to the template (переменная для вставки скриптов и css в шаблон). + +{h1}, {h2}, {h3} - headings h1, h2, h3, respectively (заголовки h1, h2, h3 соответственно). +{content} - content output (вывод контента). + +{menu} - menu output. The menu can be a few pieces. Therefore, application of the parameters. for example (вывод меню. Меню может быть несколько штук. Поэтому, допускется применение параметров. Например): + {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). + +{inc} - It includes area. Includes a region can be a few pieces, therefore, be added to the template settings. For example: (включаемая область. Включаемых областей может быть несколько штук, поэтому, добавляются к данному шаблону параметры. Например:) + {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.) + + +{navi} - "bread crumbs (хлебная крошка)". +{map} - Site Map (карта сайта). +{chat} - chat (чат). +{news} - news (новости). +{pathway} - bread crumbs (хлебная крошка). + + +{auth} - link login or user name (Authorized) (ссылка авторизации или имени пользователя (для авторизированного)) + {username} - Username (имя пользователя) + {login} - user login (логин пользователя) + +{NameComponent} - output in the pattern of an arbitrary component (вывод произвольной компоненты в шаблоне). +{banner} - banner output. Banners can be a few pieces (вывод баннера. Баннеров может быть несколько штук). + {banner1}, {banner2}, {banner3}, {banner Top}, {banner Bottom} - identity is determined between the brackets and the word banner (идентификатор определяется между скобками и без слова banner). + +Allowed to use the comments in the templates. Before performing - they are removed. Comments that are removed from the template. (Допускается применение комментарие в шаблонах. Перед выполнением - они убираются. Комментарии, которые убираются из шаблона): + + +Templates can resist obvusifikatsii. This occurs when the parameter is specified, including the mode. +(Шаблоны могут поддаваться обвусификации. Это происходит, когда указан параметр, включающий данный режим.) diff --git a/k2shop/k2shop/app/README/translate.txt b/k2shop/k2shop/app/README/translate.txt new file mode 100644 index 0000000..2dfdd71 --- /dev/null +++ b/k2shop/k2shop/app/README/translate.txt @@ -0,0 +1,14 @@ +For languages properties meet k2cfg ($ k2) (За языки отвечают свойства k2cfg ($k2)): + // Supported Languages (Поддерживаемые языки). + $langs=array('en', 'ua', 'ru'); + $lngadmin='en'; // The language of the admin (Язык админ-части) + $lng='en'; // The language of the public (Язык публичной части) + +Loading translation is done automatically when the object is created. (Загрузка перевода производится автоматически при создании объекта.) + +However, you can upload function (Но, можно загрузить функцией): + loadTranslate($lng='') + It is in all heirs k2obj (Она есть во всех наследниках k2obj) + + Translate any text can function (Перевести любой текст можно функцией): + Translate($strinp) \ No newline at end of file