Дипломная работа: Автоматизация приема заявок на ремонт и модернизацию ПК (на примере аптечной сети "Ригла")

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
79
Приложение 1
Скрипт заказа звонка от сотрудника отдела автоматизации
Для создания всплывающего модального окна используется
плагин jquery - fancybox.
Код между тегами <head></head>
<script type="text/javascript" src="lib/jquery-1.11.3.min.js">
</script>
<script type="text/javascript"
src="lib/fancybox/jquery.fancybox.js"></script>
<link rel="stylesheet" type="text/css"
lib/fancybox/jquery.fancybox.css" media="screen"/>
<script type="text/javascript"
src="scripts/jquery.maskedinput.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.modalbox').fancybox();
$('input[name="phone"]').mask('+7(906)5766712');
});
</script>
Код между тегами <body> </body>
<div id="call" class="modalbox-wrap">
<div class="form-valid">
<form id="contact" method="post" action="tel.php">
<div class="popup-title">Просим нам позвонить. У нас
вопрос.</div>
<input type="text" id="form_name" name="name"
placeholder="Сообщение отправил" required />
<input type="text" id="form_phone" name="phone"
placeholder="Телефон" />
<input type="submit" class="btn" value="Отправить сообщение" />
</form>
</div> </div>
Таблица стилей style styleoz.css
.modalbox-wrap{padding: 45px 55px 40px; width: 470px; }
.popup-title{font-size: 36px; color: #787878; font-weight: 300;
text-transform: uppercase; line-height: 38px; padding: 0 0 25px;
}
.modalbox-wrap p {font-size: 16px; color: #000; line-height:
24px; float: none; }
.modalbox-wrap ul { padding: 0 0 35px; }
.modalbox-wrap ul li { font-size: 16px; color: #000; line-
height: 24px; padding: 0 0 0 17px; position: relative; }
.modalbox-wrap ul li:afte{width: 4px; height: 4px; content: ' ';
border-radius: 50%; background: #ffa200; position: absolute;
left: 0; top: 10px; }
#call input[type="text"]{height: 35px; background: #fff; width:
97%; padding: 0 0 0 3%; font-size: 16px; color: #000; font-
80
family: 'FiraSans'; margin: 0 0 13px; border: 1px solid
#dddddd;}
#call input[type="submit"]{ width: 330px; cursor: pointer;
height: 45px; color: #fff; border-top: 3px solid #89e5f7; box-
shadow: 0 2px 2px rgba(0,0,0,0.82); text-align: center; font-
size: 24px; text-transform: uppercase;
background: #02bbdd;
background: -moz-linear-gradient(top, #02bbdd 0%, #018bae 100%);
background:-webkit-gradient(linear, left top, left bottom,
color-stop(0%, #02bbdd), color-stop(100%, #018bae));
background:-webkit-linear-gradient(top, #02bbdd 0%, #018bae
100%);
background:-o-linear-gradient(top, #02bbdd 0%, #018bae 100%);
background:-ms-linear-gradient(top, #02bbdd 0%, #018bae 100%);
background:linear-gradient(to bottom, #02bbdd 0%, #018bae 100%);
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=
'#02bbdd', endColorstr='#018bae',GradientType=0 );
border: none;
}
#call input[type="submit"]:hover { /*border-color: #ffac30;*/
background: #ffac30;
background: -moz-linear-gradient(top, #ffac30 0%, #f0ae30 100%);
background: -webkit-gradient(linear, left top, left bottom,
color-stop(0%, #ffac30), color-stop(100%, #f0ae30));
background: -webkit-linear-gradient(top, #ffac30 0%, #f0ae30
100%);
background: -o-linear-gradient(top, #ffac30 0%, #f0ae30 100%);
background: -ms-linear-gradient(top, #ffac30 0%, #f0ae30 100%);
background: linear-gradient(to bottom, #ffac30 0%, #f0ae30
100%);
filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffac3
0', endColorstr='#f0ae30',GradientType=0 ); }
.b5-left input[type="text"].error, #call
input[type="text"].error { border: 1px solid #f00; }
.b5-captcha{
margin-bottom: 10px;
}
#call {display:none;}
.zakaz-zvonka{
width: 200px;
height: 30px;
background: #FE1200;
text-align: center;
font: 17px/30px georgia,arial,helvetica,serif;
margin: 15px 0 0 3px;
}
.zakaz-zvonka:hover{
width: 200px;
background: #F39200;
text-align: center;
font: 17px/30px georgia,arial,helvetica,serif;
81
}
.zakaz-zvonka a{
text-decoration: none;
color: white;
height: 100%;
display: block;
}
Обработчик PHP tel.php
<?
if( isset($_POST['name'],$_POST['phone'])){
$name = trim( htmlspecialchars( substr($_POST['name'], 0, 40) )
);
$phone = trim( htmlspecialchars( substr($_POST['phone'], 0, 40)
) );
if( $name != '' AND $phone != '' ){
$message = 'Имя: '.$name.'<br>Телефон: '.$phone;
$headers = "Content-type: text/html; charset=utf-8 \r\n";
$headers .= "From: ".$domen." <sq@".$domen.">\r\n";
$subject = "Обратный звонок";
mail(, $subject, $message, $headers);
echo 1;
}else echo 0;
}
?>
82
Приложение 2
Создание отказоустойчивого кластера на базе Linux
На сервере размещается информационная система лекарственного
страхования по СУБД MySQL. Каждый сервер укомплектован двумя
сетевыми картами стандарта и двумя жесткими дисками одинакового
размера. Внутренние коммуникации между серверами осуществляются
на внутренних сетевых картах, на скорости 2 Гбит/сек.
Используется кабель crossover без промежуточного коммутатора.
Внешние сетевые карты подключены в коммутатор и через них
осуществляется связь кластера с остальной сетью. При этом для
внешних устройств данный кластер доступен под одним общим
адресом - 192.168.0.200. Этот адрес используется только одним
сервером в один момент времени. Если на этом сервере произошел
сбой, то адрес автоматически присваивается второму, резервному
серверу и кластер доступен в прежнем режиме.
Работу по определению сбоев осуществляет пакет heartbeat.
Сетевые настройки сервера 1:
Имя хоста: netup1 IP-адрес
на внутренней сетевой карте.
Интерфейс eth1: 172.16.0.1
IP-адрес на внешнем
интерфейсе 192.168.0.200
(eth0:1).
Настраивается
автоматически пакетом heartbeat
Установка ОС Gentoo Linux
производится на первый жесткий
диск - /dev/sda.
Сетевые настройки сервера 2:
Имя хоста: netup2 IP-адрес
на внутренней сетевой карте.
Интерфейс eth1: 172.16.0.2
IP-адрес на внешнем
интерфейсе 192.168.0.200
(eth0:1).
Настраивается
автоматически пакетом
heartbeat.
Второй жесткий диск -
/dev/sdb будет полностью
использоваться для
синхронизации данных между
серверами средствами пакета
drbd.
Установка этого пакета осуществляется командой: emerge drbd
После успешной установки создается конфигурационный файл
/etc/drbd.conf следующего содержания:
resource r0 { protocol C;
incon-degr-cmd "echo '!DRBD! pri on incon-degr' | wall ;
sleep 60 ;
halt -f";
startup { degr-wfc-timeout 120;
# 2 minutes. } disk { on-io-error detach; } net { }
syncer { rate 200M; group 1;
al-extents 257; }
83
on netup2
{ device /dev/drbd0; disk /dev/sdb1;
address 172.16.0.2:7788;
meta-disk internal;
}
on netup1
{ device /dev/drbd0; disk /dev/sdb1;
address 172.16.0.1:7788;
meta-disk internal;
}
}
Согласно приведенным настройкам синхронизация данных будет
осуществляться на разделе /dev/sdb1. При этом для доступа к
этому разделу необходимо использовать устройство /dev/drbd0.
Для запуска пакета drbd вводится команда на обоих серверах:
/etc/init.d/drbd start
На сервере 1 вводится команда:
drbdadm -- --do-what-I-say primary all
С этого момента раздел /dev/sdb1 на обоих серверах будет
синхронизироваться.
Для просмотра статуса можно использовать команду:
/etc/init.d/drbd status
Далее необходимо отформатировать синхронизируемый раздел под
файловую систему reiserfs и создать директорию, в которую будет
монтироваться данный раздел.
Для этого на сервере 1 запускается команда:
mkreiserfs /dev/drbd0 mkdir /mnt/sync на сервере 2 команда:
mkdir /mnt/sync
Следующим этапом в настройке отказоустойчивого кластера
является установка и настройка пакета heartbeat.
Для установки этого пакета необходимо выполнить команду:
echo "sys-cluster/heartbeat ~x86" "
/etc/portage/package.keywords emerge sys-cluster/heartbeat
После успешной установки необходимо создать конфигурационные
файлы.
На сервере 1 файл
/etc/ha.d/ha.cf следующего
содержания: logfacility local0
ucast eth1 172.16.0.2
auto_failback on node netup1
netup2
На сервере 2 файл
/etc/ha.d/ha.cf следующего
содержания: logfacility local0
ucast eth1 172.16.0.1
auto_failback on node netup1
netup2
В этих файлах указывают имена и IP-адреса серверов,
используемых в кластере.
Далее необходимо создать конфигурационный файл
/etc/ha.d/haresources следующего содержания:
netup1 192.168.0.200/24/eth0:
1 drbddisk Filesystem:
:/dev/drbd0:
/mnt/sync:
Источник: https://baza.diplomsite.ru/previewfile/1927