Файл: Анализ тз 2 Рассмотрение тз. 2 Глава проектирование веб приложения 6 Диаграммы вариантов использования. 6.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.05.2024
Просмотров: 46
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Листинг 4(function.php), для администратора
//подключение базы данных
include($_SERVER['DOCUMENT_ROOT']."/script-php/link-connect.php");
$action = $_POST['action'];
if($action == 'del_user') {
del_user();
}
if($action == 'update_predmet') {
update_predmet($conn);
}
if($action == 'proverka_del_predmet') {
proverka_del_predmet($conn);
}
if($action == 'new_predmet') {
new_predmet($conn);
}
if($action == 'del_tochno_predmet') {
del_tochno_predmet($conn);
}
if($action == 'new_prepod') {
new_prepod($conn);
}
if($action == 'red_content') {
red_content($conn);
}
//Функция выхода с сессии
function del_user() {
session_start();
$_SESSION = array();
session_destroy();
echo "1";
}
//функция Update преподователя
function update_predmet($conn) {
$id_predmet = $_POST['id_predmet'];
$input_upt_predmet = $_POST['input_upt_predmet'];
$sql_upt_predmet = "UPDATE `predmet` SET `name_predmet` = '$input_upt_predmet' WHERE `id_predmet` = '$id_predmet'";
$queru_upt_predmet = mysqli_query($conn, $sql_upt_predmet);
echo $input_upt_predmet;
}
//функция проверки привязки предмета к преподователю перед удалением
function proverka_del_predmet($conn) {
$id_predmet = $_POST['id_predmet'];
$sql_predmet = "SELECT * FROM `predmet` WHERE `id_predmet` = '$id_predmet'";
$array_predmet = mysqli_fetch_array(mysqli_query($conn, $sql_predmet));
if($array_predmet['active'] == "1") {
echo "
У предмета есть преподователь, вы уверены что хотите удалить обоих?";
}
else {
mysqli_query($conn, "DELETE FROM `predmet` WHERE `id_predmet` = '$id_predmet'");
}
}
//функция окочнательного удаления предмета
function del_tochno_predmet($conn) {
$id_predmet = $_POST['id_predmet'];
$id_predmet = $_POST['id_predmet'];
$sql_predmet = "DELETE FROM `predmet` WHERE `id_predmet` = '$id_predmet'";
$query_predmet = mysqli_query($conn, $sql_predmet);
if($query_predmet) {
echo "Все удалено!";
}
else {
echo "Что-то пошло не так(";
}
}
//функиця добавления нового предмета
function new_predmet($conn) {
$input_new_predmet = $_POST['input_new_predmet'];
$query_new_predmet = mysqli_query($conn,"INSERT `predmet` (name_predmet, id_prepod, active) VALUES ('$input_new_predmet', NULL, '0')");
$array_predmet = mysqli_fetch_array(mysqli_query($conn, "SELECT * FROM `predmet` WHERE `name_predmet` = '$input_new_predmet'"));
echo $array_predmet['id_predmet'];
}
//Добавление нового преподователя
function new_prepod($conn) {
$login = $_POST['login'];
$pass = $_POST['pass'];
$surname = $_POST['surname'];
$name = $_POST['name'];
$patronymic = $_POST['patronymic'];
$id_predmet = $_POST['id_predmet'];
$array_prepod = mysqli_fetch_array(mysqli_query($conn, "SELECT * FROM `users` WHERE `login` = '$login'"));
if(!$array_prepod) {
$id_users = time()*20;
$pass_hash = password_hash($pass, PASSWORD_DEFAULT);
mysqli_query($conn, "INSERT `users` (`login`, `pass`, `role`, `id_users`) VALUES ('$login', '$pass_hash', 'prepod', '$id_users')");
mysqli_query($conn, "INSERT `prepod` (`id_users`, `surname`, `name`, `patronymic`, `id_predmet`) VALUES ('$id_users', '$surname', '$name', '$patronymic', '$id_predmet')");
$array_predmet = mysqli_fetch_array(mysqli_query($conn, "SELECT * FROM `prepod` WHERE `id_users` = '$id_users'"));
$id_prepod = $array_predmet['id_prepod'];
mysqli_query($conn, "UPDATE `predmet` SET `id_prepod`= '$id_prepod', `active` = '1' WHERE `id_predmet`='$id_predmet'");
$array_predmet2 = mysqli_fetch_array(mysqli_query($conn, "SELECT * FROM `predmet` WHERE `id_predmet` = '$id_predmet'"));
echo $array_predmet2['name_predmet'];
}
else {
echo "0";
}
}
//Редактирование контента на js-редакторе
function red_content($conn) {
$text_content = $_POST['val_redactor'];
mysqli_query($conn, "UPDATE `content` SET `text_content`= '$text_content' WHERE `id`='1'");
echo $text_content;
}
Листинг 5(admin.js)
//Генератор пароля
{
$("#input-generate").click(function(){
var $input = $("#input-password");
$input.val('');
var pass = generatePassword();
var txt = pass.split("");
var interval = setInterval(function(){
if(!txt[0]){
clearInterval(interval);
} else {
$input.val($input.val() + txt.shift());
}
}, 50);
return false;
});
function generatePassword(){
var length = 8,
charset = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
!@-#$";if(window.crypto && window.crypto.getRandomValues) {
return Array(length)
.fill(charset)
.map(x => x[Math.floor(crypto.getRandomValues(new Uint32Array(1))[0] / (0xffffffff + 1) * (x.length + 1))])
.join('');
} else {
res = '';
for (var i = 0, n = charset.length; i < length; ++i) {
res += charset.charAt(Math.floor(Math.random() * n));
}
return res;
}
}
}
$(document).ready(function() {
menu_admin();
});
function menu_admin() {
var x1 = document.getElementById("div_action_admin_1");
var x1_but = document.getElementById("admin_menu_1");
var x2 = document.getElementById("div_action_admin_2");
var x2_but = document.getElementById("admin_menu_2");
var x3 = document.getElementById("div_action_admin_3");
var x3_but = document.getElementById("admin_menu_3");
$('#admin_menu_1').on('click', function() {
if (x1.style.display == 'block') {
x1.style.display = 'none';
x2.style.display = 'none';
x3.style.display = 'none';
x1_but.style.backgroundColor = 'inherit';
x2_but.style.backgroundColor = 'inherit';
x3_but.style.backgroundColor = 'inherit';
}
else {
x1.style.display = 'block';
x2.style.display = 'none';
x3.style.display = 'none';
x1_but.style.backgroundColor = 'red';
x2_but.style.backgroundColor = 'inherit';
x3_but.style.backgroundColor = 'inherit';
}
});
$('#admin_menu_2').on('click', function() {
if (x2.style.display == 'block') {
x1.style.display = 'none';
x2.style.display = 'none';
x3.style.display = 'none';
x1_but.style.backgroundColor = 'inherit';
x2_but.style.backgroundColor = 'inherit';
x3_but.style.backgroundColor = 'inherit';
}
else {
x1.style.display = 'none';
x2.style.display = 'block';
x3.style.display = 'none';
x1_but.style.backgroundColor = 'inherit';
x2_but.style.backgroundColor = 'red';
x3_but.style.backgroundColor = 'inherit';
}
});
$('#admin_menu_3').on('click', function() {
if (x3.style.display == 'block') {
x1.style.display = 'none';
x2.style.display = 'none';
x3.style.display = 'none';
x1_but.style.backgroundColor = 'inherit';
x2_but.style.backgroundColor = 'inherit';
x3_but.style.backgroundColor = 'inherit';
}
else {
x1.style.display = 'none';
x2.style.display = 'none';
x3.style.display = 'block';
x1_but.style.backgroundColor = 'inherit';
x2_but.style.backgroundColor = 'inherit';
x3_but.style.backgroundColor = 'red';
}
});
}
$('#spavn_index').on('click', function() {
var path_index = "/index.php";
window.location.href = path_index;
});
$('#but_admin_logaut').on('click', function() {
$.ajax({
url: 'script-php/function.php',
method: 'post',
dataType: 'html',
data: {action:'del_user'},
success: function(data){
if(data) {
location.reload();
alert("Вы успешно вышли!");
}
else {
alert("Что-то пошло не так :)");
}
}
});
});
/////////////////////////////////////
//Система работы с предметом
////////////////////////////////////
//нажатие кнокпи update и появление поля редактирования
$('body').on('click',".upt_predmet", function() {
var id_predmet = $(this).attr('data-predmet');
var name_predmet = $(this).attr('data-name_predmet');
$('#id_predmet_'+id_predmet).empty();
$('#id_predmet_'+id_predmet).append("");
});
//нажатие на кнопку сохранить
$('body').on('click',".but_upt_save", function() {
var id_predmet = $(this).attr('data-predmet');
var input_upt_predmet = $('#id_upd_predmet_'+id_predmet).val();
//Update предмета
$.ajax({
url: 'script-php/function.php',
method: 'post',
dataType: 'html',
data: {action:'update_predmet', id_predmet:id_predmet, input_upt_predmet:input_upt_predmet},
success: function(data){
if(data) {
$('#id_predmet_'+id_predmet).empty();
$('#id_predmet_'+id_predmet).append("Наименование: "+input_upt_predmet+""+
""+
"");
}
else {
alert("что-то пошло не так(");
}
}
});
});
//удалить предмет
$('body').on('click',".del_predmet", function() {
//проверка предмета на привязку
var id_predmet = $(this).attr('data-predmet');
$.ajax({
url: 'script-php/function.php',
method: 'post',
data: {action:'proverka_del_predmet', id_predmet:id_predmet},
success: function(data){
if(data) {
var result = confirm(data);
if(result) {
$.ajax({
url: 'script-php/function.php',
method: 'post',
dataType: 'html',
data: {action:'del_tochno_predmet', id_predmet:id_predmet},
success: function(data){
$('#id_predmet_'+id_predmet).remove();
alert(data);
}
});
}
else {
alert("Тогда не будем)!");
}
}
else {
alert("Good Delete");
$('#id_predmet_'+id_predmet).remove();
}
}
});
});
/*$('#but_click').on('click', function() {
var result = confirm("Do you want to continue?");
if(result) {
alert("OK Next lesson!");
} else {
alert("Bye!");
}
});*/
//Функция добавления преподователя
$('body').on('click',".button_new_predmet", function() {
var input_new_predmet = $('.input_new_predmet').val();
if(input_new_predmet.length >= 4) {
$.ajax({
url: 'script-php/function.php',
method: 'post',
data: {action:'new_predmet', input_new_predmet:input_new_predmet},
success: function(data){
$('.div_select_predmet').append("
+data+" class=colom_predmet>Наименование: "+input_new_predmet+""+
""+
"
");""+
"
$('.div_new_prepod_input').append("");
}
});
}
else {
alert("Проверьте!");
}
});
$('body').on('click',"#button_new_prepod", function() {
var login = $('#new_login').val();
var pass = $('#new_pass').val();
var surname = $('#new_surname').val();
var name = $('#new_name').val();
var patronymic = $('#new_patronymic').val();
var id_predmet = $('#select_option_prepod').val();
if((login.length >= 4)&&(pass.length >= 4)&&(surname.length >= 4)&&(name.length >= 4)&&(patronymic.length >= 4)) {