Доработал ридми. Добавил каталоги настроек сервиса на внутреннем веб сервере и каталог с файлами виджета.
This commit is contained in:
parent
adb845c42d
commit
325aee9d5b
|
@ -0,0 +1,23 @@
|
|||
##То что нужно добавить в ваш конфиг Apache чтоб опубликовать базу 1С.
|
||||
|
||||
# StatusForm publication
|
||||
#Alias "/statusform" "/var/www/statusform/"
|
||||
<Directory "/var/www/html/statusform/">
|
||||
AllowOverride AuthConfig FileInfo Limit
|
||||
</Directory>
|
||||
|
||||
# 1c publication
|
||||
Alias "/emp" "/var/www/emp/"
|
||||
<Directory "/var/www/emp/">
|
||||
AllowOverride All
|
||||
Options None
|
||||
Require all granted
|
||||
SetHandler 1c-application
|
||||
ManagedApplicationDescriptor "/var/www/emp/default.vrd"
|
||||
</Directory>
|
||||
#
|
||||
|
||||
|
||||
# !ОБЯЗАТЕЛЬНО! прописываем в строке ниже путь к установленной библиотеке 1С
|
||||
# Релиз установленного 1С в Apache должен совпадать с релизом платформы установленной на сервере 1С
|
||||
LoadModule _1cws_module "/opt/1cv8/x86_64/8.3.20.1996/wsap24.so"
|
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
base="/emp"
|
||||
ib="Srvr=YourServer1C;Ref=NameBase1C;usr=UserForService;pwd=SecretPassword" enable="false">
|
||||
<debug enable="true"
|
||||
url="YourServer1C"/>
|
||||
<standardOdata enable="false"
|
||||
reuseSessions="autouse"
|
||||
sessionMaxAge="20"
|
||||
poolSize="10"
|
||||
poolTimeout="5"/>
|
||||
<analytics enable="true"/>
|
||||
<httpServices>
|
||||
<service name="HS_CSM_API"
|
||||
rootUrl="CSM-API"
|
||||
enable="true"/>
|
||||
</httpServices>
|
||||
</point>
|
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
|
||||
$post = file_get_contents('php://input');
|
||||
//echo $post; // прилетает строкаю json сразу
|
||||
|
||||
/*
|
||||
// Если надо разбить по параметрам
|
||||
$params = json_decode($post,true);
|
||||
echo $params['urfiz'].' | '.$params['INN'].' | '.$params['strNumDoc'];
|
||||
*/
|
||||
|
||||
$url = 'http://name.or.ip.adrees.your.web.server/statusDoc';
|
||||
|
||||
$result = file_get_contents($url, false, stream_context_create(array(
|
||||
'http' => array(
|
||||
'method' => 'POST',
|
||||
'header' => 'Content-type: application/json', //'Content-type: application/x-www-form-urlencoded',
|
||||
'content' => $post//json_encode($post) //http_build_query($params)
|
||||
)
|
||||
)));
|
||||
|
||||
// $arr = json_decode($result);
|
||||
|
||||
|
||||
// тестовый ответ
|
||||
//sleep(5); // имитация ожидания ответа от сервака 5 sec
|
||||
//$str='[{"Контрагент":"Общество с ограниченной ответственностью \"Фотон сервис\"","Заявка":"Заказ 00НОЕМ-000035 от 10.02.2021 16:24:35","СтатусЗаявки":"Зарегистрировано","Счет":"Счет покупателю 00000000711 от 10.02.2021 16:31:20","НаличиеОплаты":"Оплаты нет","СуммаОплаты":0}, {"Контрагент":"Общество с ограниченной ответственностью \"Фотон сервис\"","Заявка":"Заказ 00НОЕМ-000043 от 12.02.2021 11:32:58","СтатусЗаявки":"Зарегистрировано","Счет":"Счет покупателю 00000000793 от 12.02.2021 11:33:21","НаличиеОплаты":"Оплаты нет","СуммаОплаты":0}, {"Контрагент":"Общество с ограниченной ответственностью \"Фотон сервис\"","Заявка":"Заказ НРО-ЗАК-00072 от 24.03.2021 15:09:49","СтатусЗаявки":"Выполняется","Счет":"Счет покупателю НРО-СЧ-0065 от 24.03.2021 15:10:18","НаличиеОплаты":"Оплата есть","СуммаОплаты":12166.2}, {"Контрагент":"Общество с ограниченной ответственностью \"Фотон сервис\"","Заявка":"Заказ НРО-ЗАК-00276 от 23.06.2021 11:19:58","СтатусЗаявки":"Выполняется","Счет":"Счет покупателю НРО-СЧ-0312 от 07.07.2021 14:17:04","НаличиеОплаты":"Оплата есть","СуммаОплаты":89602.2}]';
|
||||
//echo $str;
|
||||
|
||||
echo $result;
|
||||
?>
|
|
@ -0,0 +1,164 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>ФБУ "Якутский ЦСМ"| Проверка статуса Заявки клиента</title>
|
||||
<link rel='stylesheet' href='style.css' />
|
||||
|
||||
<!--
|
||||
<style>
|
||||
red{color: red;}
|
||||
divcenter {
|
||||
width: 680px;
|
||||
display: block;
|
||||
top: 20%;
|
||||
left: 25%;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
ErrorMessage{
|
||||
color: red;
|
||||
}
|
||||
|
||||
div.new_form {
|
||||
width: 600px;
|
||||
border: 1px solid red;
|
||||
display: block;
|
||||
}
|
||||
|
||||
div.new_form input[type="text"] {
|
||||
width: 100%;
|
||||
margin-top: 10px;
|
||||
padding: 10px 0;
|
||||
text-indent: 15px;
|
||||
}
|
||||
|
||||
div.new_form input[type="number"] {
|
||||
width: 100%;
|
||||
margin-top: 10px;
|
||||
padding: 10px 0;
|
||||
text-indent: 15px;
|
||||
}
|
||||
|
||||
div.new_form input[type="radio"] {
|
||||
width: 15px;
|
||||
padding: 10px 0;
|
||||
text-indent: 1px;
|
||||
}
|
||||
|
||||
div.new_form input[type="submit"] {
|
||||
float: right;
|
||||
}
|
||||
|
||||
div.new_form input {
|
||||
width: 49%;
|
||||
margin-top: 10px;
|
||||
padding: 10px 0;
|
||||
text-indent: 15px;
|
||||
}
|
||||
|
||||
div.new_form {
|
||||
width: 600px;
|
||||
border: 1px solid #cecece;
|
||||
display: block;
|
||||
height: 210px;
|
||||
padding: 40px; box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 3px 6px rgba(0,0,0,0.22); margin: auto;
|
||||
}
|
||||
|
||||
h2.forms {
|
||||
text-align: center;
|
||||
font-family: sans-serif;
|
||||
font-weight: 100;
|
||||
color: #4d5d53;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
/* начало раскраски кнопок RADIO */
|
||||
|
||||
.form_radio_btn {
|
||||
display: inline-block;
|
||||
/* margin-right: 10px; */
|
||||
}
|
||||
|
||||
.form_radio_btn input[type=radio] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.form_radio_btn label {
|
||||
width: 266px;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
padding: 0px 15px;
|
||||
line-height: 35px;
|
||||
border: 1px solid #999;
|
||||
border-radius: 6px;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
/* Checked */
|
||||
.form_radio_btn input[type=radio]:checked + label {
|
||||
background: #ffe0a6;
|
||||
}
|
||||
|
||||
/* Hover */
|
||||
.form_radio_btn label:hover {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
/* Disabled */
|
||||
.form_radio_btn input[type=radio]:disabled + label {
|
||||
background: #efefef;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
/* конец раскраски кнопок RADIO */
|
||||
|
||||
rezult {
|
||||
display: block;
|
||||
margin: 14px;
|
||||
}
|
||||
|
||||
#result_table {
|
||||
position:relative;
|
||||
margin-top:100px;
|
||||
top:0;
|
||||
width: 680px;
|
||||
}
|
||||
|
||||
</style> -->
|
||||
<script src="script.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<divcenter>
|
||||
<h2 class="forms">Проверка статуса готовности</br> по номеру Заявки / Счета</h2>
|
||||
<div id="ErrorMessage" class="ErrorMessage"></div>
|
||||
<!-- <rezult><? echo $info;?></rezult> -->
|
||||
<div class="new_form">
|
||||
<div class="form_radio_btn">
|
||||
<input type="radio" name="urfiz" id="ur" value="ur" checked oninput="btnClick();">
|
||||
<label for="ur">Юридическое лицо</label>
|
||||
<input type="radio" name="urfiz" id="fiz" value="fiz" oninput="btnClick();">
|
||||
<label for="fiz">Физическое лицо</label>
|
||||
</div>
|
||||
|
||||
<input type="text" name="INN" id="INN" placeholder="ИНН юр.лица" oninput="checkRegExpValNumber();">
|
||||
<input type="text" name="strNumDoc" id="strNumDoc" placeholder="Номера документов через запятую" oninput="checkRegExpValRusNum()">
|
||||
|
||||
<input type="submit" id="submit_btn" value="Получить данные" onclick="return send_data();">
|
||||
<div id="bottom_text">
|
||||
<p>
|
||||
Порядок действий: <br>
|
||||
1. Выбрать представление Контрагента - Юр.лицо / Физ.лицо <br>
|
||||
2. (Опционально) Для Юр.лица указать ИНН <br>
|
||||
3. Внести список номеров документов, разделенных запятой <br>
|
||||
... Пример: ТТ-ЗАК-00123,ЭЛР-СЧ-01234 и т.д. Желательно, не более 5 номеров <br>
|
||||
4. Нажать кнопку "Получить данные"</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="result_table"></div>
|
||||
</divcenter>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,181 @@
|
|||
function btnClick()
|
||||
{
|
||||
var errorText = "";
|
||||
var INNVal = "";
|
||||
var urfiz = "";
|
||||
|
||||
//urfiz = GetValChackedRadioButton('urfiz');
|
||||
urfiz = document.querySelector('input[name="urfiz"]:checked').value;
|
||||
INNVal = document.getElementById('INN').value;
|
||||
errorText = '';
|
||||
|
||||
if (urfiz == "fiz" & INNVal.length != 0){
|
||||
errorText = 'Для физ.лиц задавать ИНН не нужно.';
|
||||
document.getElementById('INN').value = "";
|
||||
INNVal = document.getElementById('INN').value;
|
||||
}
|
||||
|
||||
if (urfiz == "fiz" & INNVal.length == 0){
|
||||
document.getElementById('INN').hidden = true;
|
||||
}
|
||||
|
||||
if (urfiz == "ur" & INNVal.length == 0){
|
||||
document.getElementById('INN').hidden = false;
|
||||
}
|
||||
|
||||
if (errorText != ""){
|
||||
document.getElementById('ErrorMessage').hidden = false;
|
||||
document.getElementById('ErrorMessage').innerHTML="<HR color='red'>"+
|
||||
"ВНИМАНИЕ: " + errorText.bold() + "<HR color='red'>";
|
||||
}else{
|
||||
document.getElementById('ErrorMessage').hidden = true;
|
||||
}
|
||||
//alert(document.querySelector("#INN").value);
|
||||
}
|
||||
|
||||
function checkRegExpValNumber(){
|
||||
//тут проверяем, а не входит ли случайно введеный символ в инн,
|
||||
// в список НЕ цифр. Если символ не цифра, то ругаемся и удаляем символ.
|
||||
const inn = document.querySelector('input[name="INN"]');
|
||||
inn.addEventListener('input', updateValueInn);
|
||||
}
|
||||
|
||||
function updateValueInn(letter){
|
||||
var reg = /^\d{10}$/;
|
||||
var bukva = letter.target.value; //получаем измененную строку
|
||||
var validNum = reg.test(bukva);
|
||||
|
||||
if (!validNum) {
|
||||
var errorText = "ИНН должен состоять ТОЛЬКО из цифр и составлять 10 знаков";
|
||||
document.getElementById('ErrorMessage').hidden = false;
|
||||
document.getElementById('ErrorMessage').innerHTML="<HR color='red'>"+
|
||||
"ВНИМАНИЕ: " + errorText.bold() + "<HR color='red'>";
|
||||
}else{
|
||||
var errorText = "";
|
||||
document.getElementById('ErrorMessage').hidden = true;
|
||||
document.getElementById('ErrorMessage').innerHTML="";
|
||||
}
|
||||
}
|
||||
|
||||
function checkRegExpValRusNum(){
|
||||
const strNumDoc = document.querySelector('input[name="strNumDoc"]');
|
||||
strNumDoc.addEventListener('input', updateValueStrNumDoc);
|
||||
}
|
||||
|
||||
function updateValueStrNumDoc(letter){
|
||||
var reg = /^[-\s,а-яА-ЯёЁ0-9]+$/;
|
||||
var bukva = letter.target.value; //получаем измененную строку
|
||||
var validNum = reg.test(bukva);
|
||||
|
||||
if (!validNum) {
|
||||
var errorText = "Строка с номерами может содержать только кирилицу, тире, числа и запятые \n Пример: ТТ-ЗАК-01234, ЭЛР-СЧ-12345";
|
||||
document.getElementById('ErrorMessage').hidden = false;
|
||||
document.getElementById('ErrorMessage').innerHTML="<HR color='red'>"+
|
||||
"ВНИМАНИЕ: " + errorText.bold() + "<HR color='red'>";
|
||||
}else{
|
||||
var errorText = "";
|
||||
document.getElementById('ErrorMessage').hidden = true;
|
||||
document.getElementById('ErrorMessage').innerHTML="";
|
||||
}
|
||||
}
|
||||
|
||||
//***************** K0t0vICH ***************/
|
||||
function send_data(){
|
||||
// блочим кнопку отправки запроса
|
||||
//startCheck("submit_btn");
|
||||
toggleButton("submit_btn");
|
||||
|
||||
// удаляем предыдущую таблицу
|
||||
if (document.querySelector('#result_table').childNodes.length>0) {
|
||||
document.querySelector('#result_table').removeChild(document.querySelector('#result_table').childNodes[0]);
|
||||
}
|
||||
|
||||
// Данные формы
|
||||
const params = {
|
||||
urfiz: document.querySelector('input[name="urfiz"]:checked').value,
|
||||
INN: document.querySelector('#INN').value,
|
||||
strNumDoc: document.querySelector('#strNumDoc').value
|
||||
}
|
||||
|
||||
var http = new XMLHttpRequest();
|
||||
http.open('POST', 'action.php', true);
|
||||
http.setRequestHeader('Content-type', 'application/json');
|
||||
http.onreadystatechange = function() { // Ожидание ответа
|
||||
if(http.readyState == 4 && http.status == 200) {
|
||||
console.log(http.responseText); // проверка приходящих параметров
|
||||
// разблокируем кнопку отправки запроса
|
||||
toggleButton("submit_btn");
|
||||
|
||||
var result_table = JSON.parse(http.responseText);
|
||||
|
||||
// Заголовки таблицы
|
||||
var col = [];
|
||||
for (var i = 0; i < result_table.length; i++) {
|
||||
for (var key in result_table[i]) {
|
||||
if (col.indexOf(key) === -1) {
|
||||
col.push(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Создаем таблицу
|
||||
var table = document.createElement("table");
|
||||
var tr = table.insertRow(-1); // TABLE ROW.
|
||||
for (var i = 0; i < col.length; i++) {
|
||||
var th = document.createElement("th"); // TABLE HEADER.
|
||||
th.innerHTML = col[i];
|
||||
tr.appendChild(th);
|
||||
}
|
||||
|
||||
// JSON DATA -> ROWS.
|
||||
for (var i = 0; i < result_table.length; i++) {
|
||||
|
||||
tr = table.insertRow(-1);
|
||||
|
||||
for (var j = 0; j < col.length; j++) {
|
||||
var tabCell = tr.insertCell(-1);
|
||||
tabCell.innerHTML = result_table[i][col[j]];
|
||||
}
|
||||
}
|
||||
|
||||
// Создаем таблицу в контейнере
|
||||
var divContainer = document.getElementById("result_table");
|
||||
divContainer.innerHTML = "";
|
||||
divContainer.appendChild(table);
|
||||
|
||||
// скролим строницу на таблицу результатов
|
||||
document.getElementById("result_table").scrollIntoView();
|
||||
|
||||
}
|
||||
}
|
||||
http.send(JSON.stringify(params)); // упаковываем!
|
||||
};
|
||||
|
||||
function startCheck(button_id){
|
||||
var el = document.getElementById(button_id);
|
||||
var urfiz = document.getElementsByName("urfiz");
|
||||
if (!urfiz["ur"].checked && !urfiz["ur"].checked){
|
||||
el.value = "Не выбрано Юр./Физ.лицо"
|
||||
el.disabled = true$
|
||||
}
|
||||
else
|
||||
{
|
||||
el.value = "Получить данные";
|
||||
el.disabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
function toggleButton(button_id)
|
||||
{
|
||||
var el = document.getElementById(button_id);
|
||||
if (el.value == "Запрос обрабатывается...")
|
||||
{
|
||||
el.value = "Получить данные";
|
||||
el.disabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
el.value = "Запрос обрабатывается...";
|
||||
el.disabled = true;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,175 @@
|
|||
red{
|
||||
color: red;
|
||||
}
|
||||
|
||||
divcenter {
|
||||
width: 760px;
|
||||
display: block;
|
||||
top: 5%;
|
||||
left: 25%;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
ErrorMessage{
|
||||
color: red;
|
||||
}
|
||||
|
||||
/*
|
||||
div.new_form {
|
||||
width: 680px;
|
||||
border: 1px solid red;
|
||||
display: block;
|
||||
}*/
|
||||
|
||||
div.new_form {
|
||||
width: 680px;
|
||||
border: 1px solid #cecece;
|
||||
display: block;
|
||||
height: 320px;
|
||||
padding: 40px;
|
||||
box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 3px 6px rgba(0,0,0,0.22);
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
div.new_form input[type="text"] {
|
||||
width: 100%;
|
||||
margin-top: 10px;
|
||||
padding: 10px 0;
|
||||
text-indent: 15px;
|
||||
}
|
||||
|
||||
div.new_form input[type="number"] {
|
||||
width: 100%;
|
||||
margin-top: 10px;
|
||||
padding: 10px 0;
|
||||
text-indent: 15px;
|
||||
}
|
||||
|
||||
div.new_form input[type="radio"] {
|
||||
width: 15px;
|
||||
padding: 10px 0;
|
||||
text-indent: 1px;
|
||||
}
|
||||
|
||||
div.new_form input[type="submit"] {
|
||||
float: right;
|
||||
}
|
||||
|
||||
div.new_form input {
|
||||
width: 49%;
|
||||
margin-top: 10px;
|
||||
padding: 10px 0;
|
||||
text-indent: 15px;
|
||||
}
|
||||
|
||||
h2.forms {
|
||||
text-align: center;
|
||||
font-family: sans-serif;
|
||||
font-weight: 100;
|
||||
color: #4d5d53;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
/* начало раскраски кнопок RADIO */
|
||||
|
||||
.form_radio_btn {
|
||||
display: inline-block;
|
||||
/* margin-right: 10px; */
|
||||
}
|
||||
|
||||
.form_radio_btn input[type=radio] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.form_radio_btn label {
|
||||
width: 306px;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
padding: 0px 15px;
|
||||
line-height: 35px;
|
||||
border: 1px solid #999;
|
||||
border-radius: 6px;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
/* Checked */
|
||||
.form_radio_btn input[type=radio]:checked + label {
|
||||
background: #ffe0a6;
|
||||
}
|
||||
|
||||
/* Hover */
|
||||
.form_radio_btn label:hover {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
/* Disabled */
|
||||
.form_radio_btn input[type=radio]:disabled + label {
|
||||
background: #efefef;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
/* конец раскраски кнопок RADIO */
|
||||
|
||||
rezult {
|
||||
display: block;
|
||||
margin: 14px;
|
||||
}
|
||||
|
||||
/*
|
||||
#result_table {
|
||||
position:relative;
|
||||
margin-top:70px;
|
||||
top:0;
|
||||
width: 100%;
|
||||
display: block;
|
||||
border: 1px solid #cecece;
|
||||
box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 3px 6px rgba(0,0,0,0.22);
|
||||
margin: auto;
|
||||
}
|
||||
*/
|
||||
|
||||
/* раскраска таблицы */
|
||||
#result_table table {
|
||||
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
|
||||
border-collapse: collapse;
|
||||
/*width: 600px;*/
|
||||
/*height: 210px;*/
|
||||
padding: 10px;
|
||||
position:relative;
|
||||
margin-top:15px;
|
||||
top:15px;
|
||||
width: 100%;
|
||||
display: block;
|
||||
border: 1px solid #cecece;
|
||||
box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 3px 6px rgba(0,0,0,0.22);
|
||||
}
|
||||
|
||||
#result_table table td, table th {
|
||||
border: 1px solid #ddd;
|
||||
padding: 4px;
|
||||
}
|
||||
#result_table table tr:nth-child(even){
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
#result_table table tr:hover {
|
||||
background-color: #ddd;
|
||||
}
|
||||
#result_table table th {
|
||||
padding-top: 8px;
|
||||
padding-bottom: 8px;
|
||||
text-align: left;
|
||||
background-color: #808583;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#bottom_text p {
|
||||
display: inline-block;
|
||||
position:relative;
|
||||
margin-top: 10px;
|
||||
border: 1px solid rgb(219, 11, 11);
|
||||
border-radius: 6px;
|
||||
padding: 10px;
|
||||
top:5px;
|
||||
width: 97%;
|
||||
|
||||
}
|
|
@ -12,7 +12,9 @@
|
|||
|
||||
- **README.MD** - Непосредственно этот файл, который является инструкцией и описанием всего проекта и расширения.
|
||||
- **HTTPServices.cfe** - файл расширения, который нужно добавить в рабочую базу 1С ЕМП.
|
||||
- **HTTPServices\default.vrd** - файл настроек публикации и подключения HTTP сервиса на стороне веб сервера Apache.
|
||||
- **HTTPServices\emp\default.vrd** - файл настроек публикации и подключения HTTP сервиса на стороне веб сервера Apache.
|
||||
- **HTTPServices\statusform** - папка с файлами виджета, которую нужно настроить и перенести на сторону каталога сайта.
|
||||
- **HTTPServices\statusform\action.php** - файл обработка, производит непосредственный запрос на сторону нашего веб сервера, для связи с HTTP сервисом. В этом файле нужно указать внешний путь к опубликованному сервису.
|
||||
- **HTTPServises\apache.conf** - файл с блоком настроек на стороне веб сервера Apache, для реализации публикации HTTP сервиса во вне.
|
||||
|
||||
## Источники вдохновения, основа кода расширения, и чтиво для понимания. (ссылки)
|
||||
|
|
Loading…
Reference in New Issue