Диссертация (1167217), страница 67
Текст из файла (страница 67)
$tmp;$i++;}return $pass;}// Обработка значений для карточек с настройками пользователя (1)function getCards2($cards2) {$cards2arr = explode(",", $cards2); // mainword:1-1phonetics:3transl:21grammar:3forms:3examples:2-2extra:3levels:3parts:3417$s1arr = $s2arr = array();foreach ($cards2arr as $items) {$itemsArr = explode(":", $items); // mainword:1-1if (substr($itemsArr[1], 0, 1) === "1") { // on side 1$s1arr[explode("-", $itemsArr[1])[1]] = $itemsArr[0]; // 1 =>mainword}elseif (substr($itemsArr[1], 0, 1) === "2") { // on side 2$s2arr[explode("-", $itemsArr[1])[1]] = $itemsArr[0]; // 2 =>transl}}ksort($s1arr);ksort($s2arr);return array($s1arr, $s2arr);}// Проверка, есть ли в массиве ключ определенного номера и возвращениезначения в случае успехаfunction ifkeyisthere($key, $arr) {if (array_key_exists($key, $arr)) {$value = $arr[$key];}else {$value = false;}return $value;}?>ФАЙЛ DELETESET .PHP<?phprequire_once 'config.php';session_start();// Что выводить для зарегистрированного пользователя////////////////////////////////////////////////if ($_SESSION['login_user']) {isexpired();// Проверено, не истекла ли сессия// Продолжение работы зарегистрированного пользователя$conn = new mysqli($hn, $un, $pw, $db);if ($conn->connect_error) die($conn->connect_error);// Проверка, не нажата ли кнопка удаленияif (isset($_POST['delrow']) && isset($_POST['setid'])){$setid = $_POST['setid'];$query = "DELETE FROM lexsets WHERE setid=$setid";$result = $conn->query($query);if (!$result) die($conn->error);$query = "DELETE FROM words WHERE refsetid=$setid";$result = $conn->query($query);if (!$result) die($conn->error);$conn->close();echo <<<_END<script>window.location.href = "http://agoroz.bget.ru/mysets.php";</script>418_END;}}else {echo <<<_END<script>window.location.href = "http://agoroz.bget.ru/login.php";</script>_END;}?>ФАЙЛ DELETEWORD.PHP<?phprequire_once 'config.php';session_start();// Что выводить для зарегистрированного пользователя////////////////////////////////////////////////if ($_SESSION['login_user']) {isexpired();// Проверено, не истекла ли сессия// Продолжение работы зарегистрированного пользователя$conn = new mysqli($hn, $un, $pw, $db);if ($conn->connect_error) die($conn->connect_error);// Проверка, не нажата ли кнопка удаленияif (isset($_POST['delword']) && isset($_POST['wordid'])){session_start();$wordid = $_POST['wordid'];$query = "SELECT * FROM words WHERE wordid=$wordid";$result = $conn->query($query);if (!$result) die($conn->error);else {$row = $result->fetch_array(MYSQLI_ASSOC);$tempvar = $row['refsetid'];$_SESSION['setidfromdel'] = $row['refsetid'];}$query = "SELECT * FROM lexsets WHERE setid=$tempvar";$result = $conn->query($query);if (!$result) die($conn->error);else {$row = $result->fetch_array(MYSQLI_ASSOC);$_SESSION['setnamefromdel'] = $row['setname'];}$query = "DELETE FROM words WHERE wordid=$wordid";$result = $conn->query($query);if (!$result) die($conn->error);$conn->close();echo <<<_END<script>window.location.href = "http://agoroz.bget.ru/showwords.php";</script>_END;}}else {echo <<<_END419<script>window.location.href = "http://agoroz.bget.ru/login.php";</script>_END;}?>ФАЙЛ DLCARDS1.PHP<?phprequire_once 'config.php';session_start();if ($_SESSION['login_user']) {isexpired();// Проверено, не истекла ли сессия// Продолжение работы зарегистрированного пользователя$conn = new mysqli($hn, $un, $pw, $db);if ($conn->connect_error) die($conn->connect_error);if (isset($_POST['setid']) && isset($_POST['setname']) &&isset($_POST['cards1'])) {$setid = $_POST['setid'];$setname = $_POST['setname'];$query = "SELECT * FROM words WHERE refsetid=$setid";$result = $conn->query($query);if (!$result) die($conn->error);elseif ($result->num_rows > 0) {$content = $html_dnl_1;$content .= "<table class='cards1'>";$counter = 0;foreach ($result as $row) {$counter++;if ($counter % 5 == 0) {if ($counter == $result->num_rows) {$content .= "<tr><td>" .
$counter . "(" .$row['wordid'] . ")<br><br>" . $row['mainword'] . "</td><td>" . $row['transl'] ."<br><br>" . $row['examples'] . "</td></tr>";}else {$content .= "<tr><td>" . $counter . "(" .$row['wordid'] . ")<br><br>" . $row['mainword'] .
"</td><td>" . $row['transl'] ."<br><br>" . $row['examples'] . "</td></tr>";$content .= "</table><p style='page-breakafter:always;'></p><table class='cards1'>";}}else {$content .= "<tr><td>" . $counter . "(" . $row['wordid']. ")<br><br>" . $row['mainword'] . "</td><td>" . $row['transl'] . "<br><br>" .$row['examples'] .
"</td></tr>";}// style='page-break-after:always;'}$content .= "</table>";}$result->close();420$conn->close();$content .= $html_dnl_2;header('Content-Description: File Transfer');header('Content-Type: application/octet-stream');header('Content-disposition: attachment; filename=cards1.html');header('Content-Length: ' . strlen($content));header('Cache-Control: must-revalidate, post-check=0, pre-check=0');header('Expires: 0');header('Pragma: public');echo $content;} // if (isset($_POST['setid']))else {echo <<<_END<script>window.location.href ="http://agoroz.bget.ru/mysets.php";</script>_END;}} // if ($_SESSION['login_user'])// Что выводить для НЕзарегистрированного пользователя////////////////////////////////////////////////else {echo <<<_END<script>window.location.href ="http://agoroz.bget.ru/login.php";</script>_END;}?>ФАЙЛ DLCARDS2.PHP<?phprequire_once 'config.php';session_start();if ($_SESSION['login_user']) {isexpired();// Проверено, не истекла ли сессия// Получение из БД порядка расположения пунктов карточки$conn = new mysqli($hn, $un, $pw, $db);if ($conn->connect_error) die($conn->connect_error);$email = $_SESSION['login_user'];$query = "SELECT * FROM users WHERE uemail='$email'";$result = $conn->query($query);if (!$result) die($conn->error);else {$row = $result->fetch_array(MYSQLI_ASSOC);$cards2 = $row['cards2'];}if (isset($_POST['setid']) && isset($_POST['setname']) &&isset($_POST['cards2'])) {$setid = $_POST['setid'];$setname = $_POST['setname'];421$query = "SELECT * FROM words WHERE refsetid=$setid";$result = $conn->query($query);if (!$result) die($conn->error);elseif ($result->num_rows > 0) {$sarr = getCards2($cards2); // Считали значения для порядкапунктов на карточке$s1arr = $sarr[0];$s2arr = $sarr[1];$content = $html_dnl_1;$content .= "<table class='cards1'>";$counter = 0;$side1 = $side2 = "";foreach ($result as $row) { // Перебор карточек$counter++;foreach ($s1arr as $s1) { // Первая сторона$side1 .= $row[$s1] .
"<br>";}foreach ($s2arr as $s2) { // Вторая сторона$side2 .= $row[$s2] . "<br>";}if ($counter % 5 == 0) {if ($counter == $result->num_rows) {$content .= "<tr><td>" . $counter . "(" .$row['wordid'] . ")<br><br>" .
$side1 . "</td><td>" . $side2 . "</td></tr>";}else {$content .= "<tr><td>" . $counter . "(" .$row['wordid'] . ")<br><br>" . $side1 . "</td><td>" . $side2 . "</td></tr>";$content .= "</table><p style='page-breakafter:always;'></p><table class='cards1'>";}}else {$content .= "<tr><td>" . $counter . "(" . $row['wordid']. ")<br><br>" . $side1 . "</td><td>" .
$side2 . "</td></tr>";}$side1 = $side2 = "";} // foreach ($result as $row)$content .= "</table>";}$result->close();$conn->close();$content .= $html_dnl_2;header('Content-Description: File Transfer');header('Content-Type: application/octet-stream');header('Content-disposition: attachment; filename=cards2.html');header('Content-Length: ' . strlen($content));header('Cache-Control: must-revalidate, post-check=0, pre-check=0');header('Expires: 0');header('Pragma: public');422echo $content; // Вывод результата} // if (isset($_POST['setid']))else {echo <<<_END<script>window.location.href ="http://agoroz.bget.ru/mysets.php";</script>_END;}} // if ($_SESSION['login_user'])// Что выводить для НЕзарегистрированного пользователя////////////////////////////////////////////////else {echo <<<_END<script>window.location.href ="http://agoroz.bget.ru/login.php";</script>_END;}?>ФАЙЛ EDITSET.PHP<?phprequire_once 'config.php';session_start();?><!DOCTYPE html><html><head><meta charset="UTF-8"><title>Edit Set</title><link rel="stylesheet" type="text/css" href="css/main2.css"><link rel="stylesheet" type="text/css" href="css/jquery.dataTables.min.css"><script type="text/javascript" src='http://code.jquery.com/jquerylatest.min.js'></script><script type="text/javascript" src="js/jquery.dataTables.min.js"></script><script type="text/javascript" src="js/nav.js"></script><script src="js/main.js"></script><script>$(document).ready(function() {$("#markZero").replaceWith(siteHead);$("#markA").replaceWith(navBar);$("#markB").replaceWith(siteFooter);$('#dtab').DataTable( {"searching": false,"paging": false,"info": false});});function clickTheButton(buttonId) {$("#"+buttonId).click();}function validateName(field) {if (field == "") return "Вы не ввели название набора.<br>"423return ""}function validateDescription(field) {//[а-яА-ЯёЁ] кириллицаreturn (field == "") ? "Вы не ввели описание набора.<br>" : ""}function validate(form) {fail = validateName(form.setname.value)fail += validateDescription(form.setdescr.value)if (fail == "") return true//else { alert(fail); return false }else {$("#fail").text("");$("#fail").append(fail);return false}}</script><style></style></head><body><a id="markZero"></a> <!-- site head --><a id="markA"></a> <!-- Nav bar --><?phprequire_once 'config.php';session_start();// Что выводить для зарегистрированного пользователя////////////////////////////////////////////////if ($_SESSION['login_user']) {isexpired();// Проверено, не истекла ли сессияecho "<p class='right'>" .