====== АННОТАЦИЯ ======
В данном программном документе приведёно текст программы системы сбора, обработки и хранения результатов измерения (далее система), предназначенной для сохранения и предоставления любых наборов переданных данных, а в частности – с учебных устройств, разработанных на кафедре ПМиВТ МФ МГТУ им. Н. Э. Баумана.
====== ПРОГРАММНЫЙ КОД ВЕБ-ПРИЛОЖЕНИЯ ======
===== Корневой каталог веб-приложения =====
$mysqli = mysqli_connect('address','ReadOnlyLogin', 'ReadOnlyPass','DB') or die ("Connection error: ". mysqli_error($mysqli)); ?>
/* Проверка на соеденение с базой данных */
if (!$mysqli)
{
die ("Error!");
mysqli_close($mysqli);
}
else
{
/* подготовка запроса на получение данных для последних двадцати сессий передачи */
$query = 'SELECT sd.Num as Num,sd.Type as Type,sd.Value as Value,li.Date as Date,li.uid as Unit
FROM save_data sd
INNER JOIN (
SELECT Num_i as Num, Date, ul.uname as uid
FROM info inf
INNER JOIN (
SELECT uNum,uName as uname FROM units_list) as ul
ON inf.Prib_id = ul.uNum ORDER BY inf.Num_i DESC LIMIT 20) as li
ON li.Num = sd.Num';
/* Добавление к запросу фильтра */
if(isset($_GET['filter']))
{
$query .= ' '.$_GET['filter'];
}
$query .= ' ORDER BY sd.Num ASC';
/* выполнение запроса и формирование из результата массива, по которому будет построена таблица */
$result = $mysqli->query("$query");
if(!$result)
{
die("Wrong query!");
}
else
{
$t_mas = array();
while($myrow = mysqli_fetch_array($result,MYSQLI_ASSOC))
{
if(!in_array($myrow['Type'], $t_mas))
{
array_push($t_mas, $myrow['Type']);
}
}
rsort($t_mas);
array_unshift($t_mas, "Unit","Date");
mysqli_data_seek($result, 0);
$i = 0;
$ss = -1;
while($infrow = mysqli_fetch_array($result,MYSQLI_ASSOC))
{
$nob = $infrow['Num'];
if($ss != $nob)
{
$i++;
$ss = $nob;
}
$mass[$i][array_search($infrow['Type'], $t_mas)] = $infrow['Value'];
$mass[$i][array_search("Unit", $t_mas)] = $infrow['Unit'];
$mass[$i][array_search("Date", $t_mas)] = $infrow['Date'];
}
unset($i);
$title .= '';
for($i=0; $i';
}
unset($i);
for($i=1; $i';
}
$max .= ' ';
}
$list = $title.''.$max.' ';
echo '';
}
}
mysqli_close($mysqli);
?>
----
Home page
Панель управления
Дебаг-монитор
Данные за интервал времени
----
Export page
----
===== Каталог export =====
{{ :doc:1513:standart_book.xlsx |}}
===== Каталог core =====
$str = $_POST;
list($user, $pass, $inject) = explode(';', trim($str, ';'));
$mysqli = mysqli_connect('address',$user, $pass,'DB');
if (!$mysqli)
{
die ("Error!");
mysqli_close($mysqli);
}
else
{
$result = $mysqli->query("$inject");
if(!$result)
{
die("Empty result!");
}
else
{
$t_mas = [];
$v_mas = [];
$i = -1;
$ind = -1;
$test = mysqli_fetch_array($result,MYSQLI_ASSOC);
mysqli_data_seek($result, 0);
if ($test['Num'] != NULL)
{
while($myrow = mysqli_fetch_array($result,MYSQLI_ASSOC))
{
if($myrow['Num'][0] != $ind)
{
$i++;
$ind = $myrow['Num'][0];
$t_mas[$i] .= 'Session number'.';'.$myrow['Type'].';';
$v_mas[$i] .= $myrow['Num'][0].';'.$myrow['Value'].';';
}
else
{
$t_mas[$i] .= $myrow['Type'].';';
$v_mas[$i] .= $myrow['Value'].';';
}
}
for($n=0; $n < count($t_mas); $n++)
{
$text .= $t_mas[$n]."\r\n".$v_mas[$n]."\r\n\r\n";
}
}
else
{
$cnt = 1;
while($myrow = mysqli_fetch_array($result,MYSQLI_ASSOC))
{
foreach ($myrow as $key => $value)
{
if($cnt = 1){$title .= $key.';';}
$v_string .= $value.';';
}
$v_string .= "\r\n";
}
$text = $title."\r\n".$v_string."\r\n\r\n";
}
echo $text;
}
}
mysqli_close($mysqli);
?>
----
require_once 'baseinfo.php';
/* получение параметров для устройства с переданным ID */
if(isset($_GET['unitnow']))
{
$id = $_GET['unitnow'];
$buff = array();
$result = $mysqli->query("SELECT DISTINCT `Type` FROM `save_data` sd INNER JOIN (SELECT `Num_i` FROM `info` WHERE `Prib_id` = $id ORDER BY `Num_i` DESC LIMIT 1) inf ON inf.Num_i = sd.Num WHERE (`Type` NOT LIKE 'system_%') AND (`Type` NOT LIKE '%addr')");
if(mysqli_num_rows($result))
{
while($row = mysqli_fetch_array($result))
{
$buff[] = array('title'=>$row['Type']);
}
$away = array('back'=>'success','sens'=>$buff);
}
else
{
$away = array('back'=>'error');
}
print json_encode($away);
}
/* получение списка устройств */
if(isset($_GET['unitslist']))
{
$result = $mysqli->query("SELECT uNum,uName,Serial FROM units_list");
while($rows = mysqli_fetch_array($result))
{
$back .= ''.$rows['uName'].' ('.$rows['Serial'].') ';
}
print_r($back);
}
/* изменение данных о адресе датчика */
if(isset($_POST['update']))
{
$upd = $_POST['update'];
$str = '';
foreach ($upd as $headkey => $headvalue)
{
$str = "UPDATE `Production`.`sensors_adr` SET `".$headvalue[1]."`='".$headvalue[2]."' WHERE id=".$headvalue[0];
$mysqli->query("$str");
}
}
/* внесение нового датчика */
elseif(isset($_POST['insert']))
{
$ins = $_POST['insert'];
$columns = '`timestamp`,';
$values = 'NOW(),';
foreach ($ins as $key => $value)
{
$columns .= '`'.$value[0].'`,';
$values .= "'".$value[1]."',";
}
$str = "INSERT INTO `Production`.`sensors_adr` ($columns) VALUES ($values)";
$str = str_replace(',)', ')', $str);
$mysqli->query("$str");
}
/* проверка наличие параметра адреса датчика и его значения в передаваемых устройством данных */
elseif(isset($_GET['unit_addr_exist']))
{
$unit = $_GET['unit_addr_exist'];
$result_array = array();
$away = array();
$text = "SELECT `sd`.`Num`,`sd`.`type`,`sd`.`value` FROM `Production`.`save_data` as `sd` INNER JOIN (SELECT `Num_i` FROM `Production`.`info` WHERE `Prib_id`='$unit' ORDER BY `Num_i` DESC LIMIT 1) inf ON `sd`.`Num` = `inf`.`Num_i` WHERE `sd`.`Type` LIKE '%addr'";
$result = $mysqli->query("$text");
if($result->num_rows)
{
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC))
{
$result_array[] = ['Type'=>str_replace('_addr','',$row['type']),'Val'=>$row['value']];
}
$away = array('error'=>'false','data'=>$result_array);
}
else
{
$away = array('error'=>'true');
}
echo json_encode($away);
}
?>
----
$mysqli = mysqli_connect('address','login','pass','DB');
?>
----
ini_set('memory_limit', '512M'); // изменение лимита памяти для скрипта
header('Content-Type: text/html; charset=UTF-8');
require_once 'baseinfo.php'; // подключение файла хранящем информацию о соединение с базой данных
/* функция формирование результатов калибровки в массив */
function finish($mysqli,$qur)
{
$result = $mysqli->query("$qur");
mysqli_close($mysqli);
$mass = array();
$buff = array();
$alt = array();
$i = -1;
$n = -1;
$searchindex = 0;
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC))
{
$search = $row['uName'].','.$row['serial'];
if(isset($mass[$search]))
{
$i = $mass[$search];
}
else
{
++$n;
$i = $n;
$mass[$search] = $i;
}
$buff[$i]['uName'] = $row['uName'];
$buff[$i]['serial'] = $row['serial'];
$alt[$i][$row['sensor']][] = ['datetime'=>$row['timestamp'],'data'=>json_decode($row['ratio'],false)];
$searchindex = array_search($row['sensor'], array_column($buff[$i]['sensors'],'sensor'));
if ((false !== $searchindex) && isset($searchindex))
{
$buff[$i]['sensors'][$searchindex] = ['sensor'=>$row['sensor'],'calibr'=>$alt[$i][$row['sensor']]];
}
else
{
$buff[$i]['sensors'][] = ['sensor'=>$row['sensor'],'calibr'=>$alt[$i][$row['sensor']]];
}
//$buff[$i]['sensors'][] = ['sensor'=>$row['sensor'],'calibr'=>['datetime'=>$row['timestamp'],'data'=>json_decode($row['ratio'],false)]];
}
echo json_encode($buff,JSON_UNESCAPED_UNICODE);
}
/* --------------------------------------------------- */
/* Данные калибровки */
if(isset($_GET['calibration']))
{
$line = 'SELECT mu.sensor,mu.timestamp,mu.ratio,li.uname as uName,li.Serial as serial FROM multiplier as mu INNER JOIN (SELECT uNum,uName as uname,Serial from units_list) as li ON li.uNum = mu.unit';
switch ($_GET['calibration'])
{
case 'full': // все данные
break;
case 'filtid': // данные устройства с указанным id
$line .= ' WHERE mu.unit='.$_GET['id'];
break;
}
finish($mysqli,$line);
}
/* --------------------------------------------------- */
/* Данные за интервал времени */
elseif (isset($_GET['manualmode']))
{
$return = '';
$infile = '';
$t_mas = array();
$mass = array();
switch($_GET['manualmode'])
{
case 1:
if((isset($_GET['fdate'])) && (isset($_GET['sdate'])) && (isset($_GET['unitid'])))
{
$fdate = $_GET['fdate'];
$sdate = $_GET['sdate'];
if(strtotime($sdate)>strtotime("now")): $sdate = date("Y-m-d H:i:s"); endif;
if(strtotime($fdate)query("SELECT DISTINCT Type FROM save_data sd INNER JOIN (SELECT Num_i from info WHERE `Date` BETWEEN '$fdate' AND '$sdate' AND Prib_id = $unit) inf ON sd.Num = inf.Num_i WHERE (`Type` NOT LIKE 'system_%')");
$about = mysqli_fetch_array($mysqli->query("SELECT uName,Serial FROM units_list WHERE uNum = $unit"));
$result = $mysqli->query("
SELECT sd.Type as Type,sd.Value as Value,li.Date as Date
FROM `save_data` as sd
INNER JOIN (
SELECT `Date`,`Num_i`
FROM `info`
WHERE (`Date` BETWEEN '$fdate' AND '$sdate') AND (Prib_id = $unit)
) as li
ON sd.Num = li.Num_i
WHERE (`Type` NOT LIKE 'system_%')",MYSQLI_USE_RESULT);
$makeat = '../export/last_export.csv';
$fd = fopen($makeat, 'w');
$infile = 'Прибор: ;'.$about['uName'].' ('.$about['Serial'].'); ; Интервал: ;'.$fdate.'; / ;'.$sdate.";\n";
fwrite($fd,iconv('utf-8', 'windows-1251',$infile));
while($myrow = mysqli_fetch_array($list,MYSQLI_ASSOC)) // составление массива заголовков
{
if(!in_array($myrow['Type'], $t_mas))
{
array_push($t_mas, $myrow['Type']);
}
}
rsort($t_mas);
array_unshift($t_mas,"Date");
unset($infile);
for($i=0; $iСкачать таблицу';
}
else
{
$return = 'Error';
}
mysqli_close($mysqli);
break;
}
echo $return;
}
elseif ((isset($_GET['fdate'])) && (isset($_GET['sdate'])))
{
$fdate = $_GET['fdate'];
$sdate = $_GET['sdate'];
if(strtotime($sdate)>strtotime("now")): $sdate = date("Y-m-d H:i:s"); endif;
if(strtotime($fdate)>strtotime("now")): $fdate = '2019-01-24 17:31:43'; endif;
$result = $mysqli->query("SELECT sd.Type,sd.Value,sd.Num,inf.Date,ul.uName,ul.Serial FROM save_data as sd INNER JOIN (SELECT `Num_i`, `date`, `Prib_id` FROM `info` WHERE `Date` BETWEEN '$fdate' AND '$sdate') as inf ON inf.Num_i = sd.Num INNER JOIN (SELECT DISTINCT `uName`,`uNum`,`Serial` FROM `units_list`) as ul ON ul.uNum = inf.Prib_id",MYSQLI_USE_RESULT); // выполнение запроса
$first = mysqli_fetch_array($result,MYSQLI_ASSOC);
$i = $first['Num'];
/* формирование файла с результатом */
if(isset($_GET['fileback']))
{
$makeat = '../export/log.txt';
$fd = fopen($makeat, 'w');
fwrite($fd, '{');
fwrite($fd,'"'.$i.'":{"Date":"'.$first['date'].'","uName":"'.$first['uName'].'","serial":"'.$first['Serial'].'","data":{"'.$first['Type'].'":"'.$first['Value'].'"');
while ($row = mysqli_fetch_array($result,MYSQLI_ASSOC))
{
if($row['Num']!=$i)
{
$i = $row['Num'];
fwrite($fd,'}},"'.$i.'":{"Date":"'.$row['date'].'","uName":"'.$row['uName'].'","serial":"'.$row['Serial'].'","data":{');
}
else
{
fwrite($fd, ',');
}
fwrite($fd,'"'.$row['Type'].'":"'.$row['Value'].'"');
}
fwrite($fd, '}}}');
echo 'Скачать log-файл ';
}
else /* возвращение результата как текста */
{
echo '{';
echo '"'.$i.'":{"Date":"'.$first['date'].'","uName":"'.$first['uName'].'","serial":"'.$first['Serial'].'","data":{"'.$first['Type'].'":"'.$first['Value'].'"';
while ($row = mysqli_fetch_array($result,MYSQLI_ASSOC))
{
if($row['Num']!=$i)
{
$i = $row['Num'];
echo '}},"'.$i.'":{"Date":"'.$row['date'].'","uName":"'.$row['uName'].'","serial":"'.$row['Serial'].'","data":{';
}
else
{
echo ',';
}
echo '"'.$row['Type'].'":"'.$row['Value'].'"';
}
echo '}}}';
}
mysqli_free_result($result);
mysqli_close($mysqli);
}
?>
----
require_once '../core/baseinfo.php';
if (isset($_POST['fromtable'])) // если пришёл ПОСТ с содержимым экселя
{
$arr = json_decode(str_replace('][', ',', $_POST['fromtable']), true);
$unit_num = $arr[0]['AKey'];
$result = mysqli_fetch_array($mysqli->query("SELECT `OPid` FROM `units_list` WHERE `uNum`='$unit_num'"));
if($result != NULL)
{
foreach ($arr as $key => $value)
{
$mysqli->query("INSERT `Info`(`Date`,`Prib_id`,`OpNum`) VALUES (NOW(),$unit_num,$result[OPid])");
$lastid = mysqli_insert_id($mysqli);
foreach ($value as $got => $it)
{
if($got!='AKey')
{
$word .= "('$lastid','$got','$it')";
}
}
if($word!='')
{
$str = 'INSERT `Save_data`(`Num`,`Type`,`Value`) VALUES '.$word;
$query_str = str_replace(')(', '),(', $str);
$mysqli->query("$query_str");
}
$word = '';
}
mysqli_close($mysqli);
}
else{}
}
elseif(isset($_POST)) // если пришёл пост извне
{
$inmass = file_get_contents('php://input');
$arr = json_decode($inmass,true);
if($arr['system']['Akey']!==NULL) // ищем ключ в массиве с вложенностями
{
$Key = $arr['system']['Akey'];
$done = $mysqli->query("SELECT `uNum`,`OPid`,`IDob`,`x`,`y` FROM `units_list` WHERE `AKey`='$Key'"); // если ключ есть в базе, то получаем информацию о приборе
$result = mysqli_fetch_array($done);
if($result!=NULL)
{
$str = 'INSERT `Save_data`(`Num`,`Type`,`Value`) VALUES ';
$unit_num = $result[uNum];
$mysqli->query("INSERT `Info`(`Date`,`Prib_id`,`OpNum`,`ObjectId`,`x`,`y`) VALUES
(NOW(),$unit_num,$result[OPid],$result[IDob],$result[x],$result[y])");
$lastid = mysqli_insert_id($mysqli);
/* формирование названия параметра с учётом иерархие вложенности */
$path = array();
$it = new RecursiveIteratorIterator(new RecursiveArrayIterator($arr), RecursiveIteratorIterator::SELF_FIRST);
foreach ($it as $key => $value)
{
$path = array();
if(!is_array($value) && $key != 'Akey')
{
for ($count = $it->getDepth()+1; $count && $count--;)
{
array_unshift($path, $it->getSubIterator($count)->key());
}
$path = implode('_', $path);
$str .= "('$lastid','$path','$value')";
}
}
$query_str = str_replace(')(', '),(', $str);
$mysqli->query("$query_str");
mysqli_close($mysqli);
}
}
else {} // если нет ключа, то игнорируем
}
?>
----
$str = file_get_contents('php://input');
list($user, $pass, $inject) = explode(';', trim($str, ';')); // получение логина и пароля пользователя БД и SQL запроса
$mysqli = mysqli_connect('localhost',$user, $pass,'production');
if (!$mysqli)
{
die ("Error!");
mysqli_close($mysqli); // проверка соединения с БД
}
else
{
$result = $mysqli->query("$inject");
if(!$result)
{
die("Wrong query!");
}
else
{
$t_mas = [];
$v_mas = [];
$i = -1;
$test = mysqli_fetch_array($result,MYSQLI_ASSOC);
mysqli_data_seek($result, 0);
if ($test['Num'] != NULL)
{
/* формирование строк CSV формата */
while($myrow = mysqli_fetch_array($result,MYSQLI_ASSOC))
{
if($myrow['Num'][0] != $ind)
{
$i++;
$ind = $myrow['Num'][0];
$t_mas[$i] .= 'Session number'.';'.$myrow['Type'].';';
$v_mas[$i] .= $myrow['Num'][0].';'.$myrow['Value'].';';
}
else
{
$t_mas[$i] .= $myrow['Type'].';';
$v_mas[$i] .= $myrow['Value'].';';
}
}
for($n=0; $n < count($t_mas); $n++)
{
$text .= $t_mas[$n]."\r\n".$v_mas[$n]."\r\n\r\n";
}
}
else
{
$cnt = 1;
while($myrow = mysqli_fetch_array($result,MYSQLI_ASSOC))
{
foreach ($myrow as $key => $value)
{
if($cnt = 1){$title .= $key.';';}
$v_string .= $value.';';
}
$v_string .= "\r\n";
}
$text = $title."\r\n".$v_string."\r\n\r\n";
}
echo $text;
}
}
mysqli_close($mysqli);
?>
----
{{:doc:1513:excel.png?linkonly|}}
{{ :doc:1513:form.png?linkonly |}}
----
{{ :doc:1513:lib.rar |}}
===== Каталог admin =====
session_start ();
if (!$_SESSION['level'] || $_SESSION['level'] < 1) die ( 'Пройдите авторизацию! ' );
?>
Центральная панель управления
Панель управления
----
session_start ();
if (!$_SESSION['level']) die ( 'Error!: Empty page
' );
session_destroy ();
?>
Панель управления
----
'pass','level'=>255];
$buffer['anotherLogin'] = ['password'=>'pass','level'=>255];
// От 1 до 255. 0 - не авторизован, 1 - низший уровень.
?>
----
session_start ();
if(!empty($_SESSION['level']))
{
if($_SESSION['level'] > 1)
{
?>
Панель управления
exit;
}
}
$_SESSION['level'] = 0;
include ('config.php');
function not_logged_in ()
{
echo '
Вход в панель управления
';
exit;
}
if (!$_POST) not_logged_in ();
if (!$_POST['login']) not_logged_in ();
if (!$_POST['password']) not_logged_in ();
if($buffer[$_POST['login']])
{
if($buffer[$_POST['login']]['password'] == $_POST['password'])
{
$_SESSION['level'] = $buffer[$_POST['login']]['level'];
$loggednow = $_POST['login'];
}
}
else
{
not_logged_in();
}
?>
Панель управления
----
session_start ();
if (!$_SESSION['level']) die ( 'Пройдите авторизацию ' );
if($_SESSION['level'] < 2) die ('Недостаточно полномочий ');
require_once '../../core/baseinfo.php';
/* скрипт внесения новых данных калибровки */
if ((isset($_POST['uid']))&&(isset($_POST['sensid']))&&(isset($_POST['n'])))
{
$str = '{"n":'.$_POST['n'];
if($_POST['n']>0)
{
$str .= ',"ai":[';
for($i=0;$i<$_POST['n']+1;$i++)
{
$str .= $_POST['ai'.$i].',';
}
$str .= ']}';
$str = str_replace(',]}', ']}', $str);
}
else
{
$str .= '}';
}
$alias = '(';
$unit = $_POST['uid'];
$sensor = $_POST['sensid'];
$arr = explode("_",$sensor);
$buff = array();
for($i=0; $i $value)
{
$alias .= "'".implode('_', $value)."',";
}
$alias .= ')';
$alias = str_replace(',)', ')', $alias);
/* если адрес для датчика устройства имеется в таблице адресов, то внести и в таблицу калибровки */
$check_exist = $mysqli->query("SELECT `adr` FROM `Production`.`sensors_adr` WHERE `sensor` IN $str AND `unit_id` = $unit ORDER BY `id` DESC LIMIT 1");
if($check_exist->num_rows)
{
$adr = mysqli_fetch_array($check_exist, MYSQLI_ASSOC);
$adr = $adr['adr'];
$mysqli->query("INSERT INTO `multiplier` (`unit`,`sensor`,`timestamp`,`ratio`,`adr`) VALUES ($unit,'$sensor',NOW(),'$str','$adr')");
}
else
{
$mysqli->query("INSERT INTO `multiplier` (`unit`,`sensor`,`timestamp`,`ratio`) VALUES ($unit,'$sensor',NOW(),'$str')");
}
}
?>
Внесение данных калибровки
Назад
/* список уже внесённых данных калибровки */
$gg = $mysqli->query("SELECT mu.sensor,mu.timestamp,mu.ratio,mu.adr,CONCAT(li.uname,'(',li.Serial,')') as unit FROM multiplier as mu INNER JOIN (SELECT uNum,uName as uname,Serial from units_list) as li ON li.uNum = mu.unit ORDER BY unit,sensor");
echo '
Список данных колибровки ';
while ($grow = mysqli_fetch_array($gg,MYSQLI_ASSOC))
{
echo ''.$grow['unit'].' '.$grow['sensor'].' '.$grow['timestamp'].' '.$grow['ratio'].' '.$grow['adr'].' ';
}
echo '
';
?>
----
session_start ();
if (!$_SESSION['level']) die ( 'Пройдите авторизацию ' );
if($_SESSION['level'] < 1) die ('Недостаточно полномочий ');
require_once '../../core/baseinfo.php';
$result = $mysqli->query("SELECT uNum, uName, Serial FROM units_list");
?>
Выгрузка из excel
Excel файл со списком
$filename = '../../export/Standart book.xlsx';
if (file_exists($filename))
{
echo "Обновлено: " . date ("d M y", filemtime($filename));
} ?>
----
session_start ();
if (!$_SESSION['level']) die ( 'Пройдите авторизацию ' );
if($_SESSION['level'] < 255) die ('Недостаточно полномочий ');
$mysqli = mysqli_connect('address','ReadOnlyLogin', 'pass','DB') or die ("Connection error: ". mysqli_error($mysqli));
?>
Назад
if(isset($_POST['query']))
{
$path = $_SERVER['DOCUMENT_ROOT'].'/export/file.csv';
unlink($path);
$inject = strip_tags($_POST['query']);
if ($inject{strlen($inject)-1} == ';') { $inject = substr($inject,0,-1); }
$result = $mysqli->query("$inject INTO OUTFILE '$path' CHARACTER SET cp1251 FIELDS TERMINATED BY ';'LINES TERMINATED BY '\r\n'") or die ("Query error: ". mysqli_error($mysqli));
if (!mysqli_error())
{
echo 'Скачать ';
}
mysqli_close($mysqli);
}
?>
----
Пройдите авторизацию ' );
header('Location:/admin/admin.php');
exit;
?>
----
Выбор способа внесения данных
Назад
----
Пройдите авторизацию ' );
if($_SESSION['level'] < 127) die ('Недостаточно полномочий ');
require_once '../../core/baseinfo.php';
?>
Назад
Добавить новый объект
Удалить объект из базы
/* обработка удаления и внесения объектов */
if(isset($_POST['addobj']) && ($_POST['addobj']!==''))
{
$name=strip_tags($_POST['addobj']);
$addyet = $mysqli->query("INSERT INTO `Objects` (`NameOb`) VALUES ('$name')");
header("Refresh:0");
}
elseif(isset($_POST['delobj']) && ($_POST['delobj']!==''))
{
$delid=strip_tags($_POST['delobj']);
$delyet = $mysqli->query("UPDATE `Objects` SET `NameOb`='DELETED' WHERE NumOb=$delid");
header("Refresh:0");
}
else{}
Echo "Список объектов: ";
$result = $mysqli->query("SELECT * FROM `Objects` WHERE `NameOb`!='DELETED'");
Echo '
ID Object ';
do{
Echo '';
Echo ''.$myrow['NumOb'].' ';
Echo ''.$myrow['NameOb'].' ';
Echo ' ';
}while ($myrow = mysqli_fetch_array($result));
Echo '
';
?>
----
session_start ();
if (!$_SESSION['level']) die ( 'Пройдите авторизацию ' );
if($_SESSION['level'] < 127) die ('Недостаточно полномочий ');
require_once '../../core/baseinfo.php';
?>
Назад
Добавить нового оператора
Удалить оператора из базы
/* Обработчик добавление и удаления операторов */
if(isset($_POST['addoperator']) && ($_POST['addoperator']!==''))
{
$name=strip_tags($_POST['addoperator']);
$addyet = $mysqli->query("INSERT INTO `OPR_list` (`Name`) VALUES ('$name')");
header("Refresh:0");
}
elseif(isset($_POST['deloperator']) && ($_POST['deloperator']!==''))
{
$delid=strip_tags($_POST['deloperator']);
$delyet = $mysqli->query("UPDATE `OPR_list` SET `Name`='REMOVED' WHERE N=$delid");
header("Refresh:0");
}
else{}
Echo "Список операторов: ";
$result = $mysqli->query("SELECT * FROM `OPR_list` WHERE `Name`!='REMOVED'");
Echo '
ID Name ';
do{
Echo '';
Echo ''.$myrow['N'].' ';
Echo ''.$myrow['Name'].' ';
Echo ' ';
}while ($myrow = mysqli_fetch_array($result));
Echo '
';
?>
----
Пройдите авторизацию ' );
if($_SESSION['level'] < 127) die ('Недостаточно полномочий ');
require_once '../../core/baseinfo.php';
?>
Назад
Добавить новый прибор
Обновить данные
Удалить прибор из базы
/* внесение нового устройства */
if(isset($_POST['uname']) && isset($_POST['userial']) && isset($_POST['uakey']) && isset($_POST['ux']) && isset($_POST['uy']) && isset($_POST['uidobj']) &&(isset($_POST['uidop'])) && ($_POST['uname'] !== '') && ($_POST['userial'] !== '') && ($_POST['uakey'] !== '') && ($_POST['ux'] !== '') && ($_POST['uy']!=='') && ($_POST['uidobj'] !=='') && ($_POST['uidop']!==''))
{
$name=strip_tags($_POST['uname']);
$serial=strip_tags($_POST['userial']);
$akey=strip_tags($_POST['uakey']);
$x=strip_tags($_POST['ux']);
$y=strip_tags($_POST['uy']);
$idobj=strip_tags($_POST['uidobj']);
$opid=strip_tags($_POST['uidop']);
$addyet = $mysqli->query("INSERT INTO `units_list` (`uName`,`Serial`,`Akey`,`OPid`,`x`,`y`,`IDob`) VALUES ('$name','$serial','$akey','$opid','$x','$y','$idobj')");
header("Refresh:0");
}
/* удаление устройства */
elseif(isset($_POST['udel']))
{
$delid=strip_tags($_POST['udel']);
$delyet = $mysqli->query("UPDATE `units_list` SET `remove`='1' WHERE uNum=$delid");
header("Refresh:0");
}
/* обновление информации о устройстве */
elseif (isset($_POST['updid']) && isset($_POST['updop']) && isset($_POST['updname']) && isset($_POST['updx']) && isset($_POST['updy']) && isset($_POST['updobj']) && ($_POST['updid'] !== '') && ($_POST['updname'] !== '') && ($_POST['updy'] !== '') && ($_POST['updobj']!=='') && ($_POST['updop']!==''))
{
$updid=strip_tags($_POST['updid']);
$updname=strip_tags($_POST['updname']);
$updx=strip_tags($_POST['updx']);
$updy=strip_tags($_POST['updy']);
$updobj=strip_tags($_POST['updobj']);
$updop=strip_tags($_POST['updop']);
$addyet = $mysqli->query("UPDATE `units_list` SET `uName`='$updname',`x`='$updx',`y`='$updy',`IDob`='$updobj',`OPid`='$updop' WHERE `uNum`='$updid'");
header("Refresh:0");
}
else{}
Echo 'Список приборов:
';
$result = $mysqli->query("SELECT * FROM `units_list`");
Echo '
ID Name Serial Access Key Operator Operator ID X Y Object Object ID Removed ';
do{
$objectt = $myrow['IDob'];
$operators = $myrow['OPid'];
$operator = $mysqli->query("SELECT `Name` FROM `OPR_list` WHERE `N`='$operators'");
$object = $mysqli->query("SELECT `NameOb` FROM `Objects` WHERE `NumOb`='$objectt'");
$objectt = mysqli_fetch_array($object);
$operators = mysqli_fetch_array($operator);
Echo '';
Echo ''.$myrow['uNum'].' ';
Echo ''.$myrow['uName'].' ';
Echo ''.$myrow['Serial'].' ';
Echo ''.$myrow['AKey'].' ';
Echo ''.$operators['Name'].' ';
Echo ''.$myrow['OPid'].' ';
Echo ''.$myrow['x'].' ';
Echo ''.$myrow['y'].' ';
Echo ''.$objectt['NameOb'].' ';
Echo ''.$myrow['IDob'].' ';
Echo ''.$myrow['remove'].' ';
Echo ' ';
}while ($myrow = mysqli_fetch_array($result));
Echo "
";
?>
----
session_start ();
if (!$_SESSION['level']) die ( 'Пройдите авторизацию ' );
if($_SESSION['level'] < 2) die ('Недостаточно полномочий ');
require_once '../../core/baseinfo.php';
$result = $mysqli->query("SELECT `uNum`,`uName`,`Serial` FROM `Production`.`units_list` WHERE `remove` != 1");
?>
Add Sensor Page
Назад
$actual_data = $mysqli->query("SELECT `id`,`unit_id`,`sensor`,`adr`,`timestamp`,`sensor_name`,`note` FROM `Production`.`sensors_adr`");
if($actual_data->num_rows)
{
echo '
Изменить
Сбросить
----
session_start ();
if (!$_SESSION['level']) die ( 'Пройдите авторизацию ' );
if($_SESSION['level'] < 1) die ('Недостаточно полномочий ');
require_once '../../core/baseinfo.php';
?>
Внесение замера
Выберите устройство:
---
$result = $mysqli->query("SELECT `uNum`,`uName`,`Serial` FROM `units_list`");
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC))
{
echo "".$row['uName']."(".$row['Serial'].") ";
}
?>
object
---
$result = $mysqli->query("SELECT `NumOb`,`NameOb` FROM `objects`");
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC))
{
echo "".$row['NameOb']." ";
}
?>
Готово
Сбросить
====== Архив, содержащий программный код и структуру каталогов веб-приложения. ======
{{ :doc:1513:server.rar |}}