Cyber Anakins Lightsaber - A Minishell-based backdoor

Current Path : /home/bjb2293782/xn--80abaeoqbbrbgf8aea5a2a2z.xn--p1ai/docs/
Upload File :
Current File : /home/bjb2293782/xn--80abaeoqbbrbgf8aea5a2a2z.xn--p1ai/docs/ticket.php

<?php
require("design.php");
require_once("opac.php");
session_start();



TOP(1);


$mysql = mysqlopen();


LEFTCOLUMN();
CHANNELS();


MAINCOLUMN();
?>

<div class=path>
	<nobr><img src='c.png'><a href='readers.php'>Читателям</a></nobr>
	<nobr><img src='g.png'><b>Мой читательский билет</b></nobr>
</div>

<h1>Мой читательский билет</h1>

<center style='margin-bottom:10'>Введите номер своего электронного читательского билета, чтобы получить доступ к информации о книгах на руках и задолженностях.</center>


<center>
<form onsubmit='doSubmit(this, event);return false' class=ticketTable>
<table width=100% cellspacing=0 cellpadding=8>
<tr>
	<td nowrap width=1% align=right>Номер билета:</td>
	<td width=99%><input autofocus style='width:100%' type=text oninput='doInput(this)' name=ticket value="<?php print _input_(_CD_('ticket')); ?>" placeholder="21350000012345"></td>
</tr>
<tr>
	<td nowrap width=1% align=right>Фамилия, имя, отчество:</td>
	<td width=99%><input style='width:100%' type=text name=fio value="<?php print _input_(_CD_('fio')); ?>" placeholder="ИВАНОВ ИВАН ИВАНОВИЧ"></td>
</tr>
<tr>
	<td colspan=2 align=center>
		<input type=submit value='Показать информацию' id=submitBtn>
	</td>
</table>
</form>
<br>
<img src='ticket_number.jpg' width=320 height=244 id=ticket_number>
</center>
<div id=info></div>



<script src='bookinfo.js?3'></script>

<script>

function onBookClick()
{
	showBook(this.parentNode.book);
}


function build(json)
{
	var infoBlock = document.getElementById('info');

	infoBlock.innerHTML = '';

	var table, tbody, tr, td;


	table = infoBlock.appendChild(document.createElement('TABLE'));
	tbody = table.appendChild(document.createElement('TBODY'));

	tr = tbody.appendChild(document.createElement('tr'));
	td = tr.appendChild(document.createElement('td'));
	td.align="right";
	td.noWrap = true;
	td.innerHTML = "Ф.И.О.:";
	td = tr.appendChild(document.createElement('td'));
	td.innerHTML = _html_(json.name);

	tr = tbody.appendChild(document.createElement('tr'));
	td = tr.appendChild(document.createElement('td'));
	td.align="right";
	td.noWrap = true;
	td.innerHTML = "Номер билета:";
	td = tr.appendChild(document.createElement('td'));
	td.innerHTML = _html_(json.ticket);


	tr = tbody.appendChild(document.createElement('tr'));
	td = tr.appendChild(document.createElement('td'));
	td.align="right";
	td.noWrap = true;
	td.vAlign="top";
	td.innerHTML = "Срок действия до:";
	td = tr.appendChild(document.createElement('td'));

	var s = sqlToDate(json.ticketEndDate);

	if (json['ticketExpired']!=0)
	{
		td.innerHTML = "<font style='color:red;font-weight:bold'>"+s+"<br>Срок действия Вашего билета истек!</font><br>Для продления обратитесь в любой из наших филиалов";
	}
	else
		td.innerHTML = s;


	infoBlock.appendChild(document.createElement('H2')).innerHTML = "Книги на руках";


	if (json.books.length > 0)
	{
		table = infoBlock.appendChild(document.createElement('TABLE'));
		table.cellSpacing=0;
		table.cellPadding=4;
		table.border=1;
		table.setAttribute("bordercolor","#cccccc");
		tbody = table.appendChild(document.createElement('TBODY'));

		tr = tbody.appendChild(document.createElement('tr'));
		td = tr.appendChild(document.createElement('th'));
		td.width="1%";
		td.innerHTML = "№";

		td = tr.appendChild(document.createElement('th'));
		td.width="70%";
		td.colSpan=2;
		td.innerHTML = "Книга";

		td = tr.appendChild(document.createElement('th'));
		td.width="20%";
		td.innerHTML = "Библиотека";

		td = tr.appendChild(document.createElement('th'));
		td.width="5%";
		td.innerHTML = "Выдана";

		td = tr.appendChild(document.createElement('th'));
		td.width="5%";
		td.innerHTML = "Сдать до";
	}

	for(var i=0; i < json.books.length; i++)
	{
		tr = tbody.appendChild(document.createElement('tr'));
		tr.className = "bookLine";
		tr.book = json.books[i].book;


		td = tr.appendChild(document.createElement('td'));
		td.innerHTML = i+1;

		td.onclick = onBookClick;


		td = tr.appendChild(document.createElement('td'));
		td.onclick = onBookClick;

		var cover = json.books[i].cover;
		if (cover!='')
		{
			if (!cover.match(/^http/)) cover = "https://biblio-fond.ru/"+cover;
		}
		else
			cover = "notitle.jpg";
			
		var img = td.appendChild(document.createElement('img'));
		img.src=cover;
		img.height=150;
		td.style.paddingRight="8px";


		td = tr.appendChild(document.createElement('td'));
		td.onclick = onBookClick;




		td.innerHTML = _html_(json.books[i].bookName);


		td = tr.appendChild(document.createElement('td'));
		td.align="center";
		var g = departmentToFilial(json.books[i].department.id);
		td.innerHTML = '<a href="filial.php?filial='+g.id+'">'+_html_(g.name)+'</a>';

		td = tr.appendChild(document.createElement('td'));
		td.align="center";
		td.noWrap = true;
		td.onclick = onBookClick;

		td.innerHTML = sqlToDate(json.books[i].circulationDate);


		td = tr.appendChild(document.createElement('td'));
		td.align="center";
		td.noWrap = true;
		td.onclick = onBookClick;

		if (json.books[i].expired!=0)
		{
			td.innerHTML = "<nobr>"+sqlToDate(json.books[i].endDate)+"</nobr><br>Просрочено";
			td.style.color="red";
			td.style.fontWeight="bold";
		}
		else
		{
			td.innerHTML = sqlToDate(json.books[i].endDate);
			td.noWrap=true;
		}
	}

}


function doInput(edit)
{
	document.getElementById('ticket_number').style.display="";
	document.getElementById('info').style.display="none";
}

function doSubmit(form, event)
{
	if (event.preventDefault) event.preventDefault();

	var ticket = form.elements['ticket'].value.trim();
	var fio = form.elements['fio'].value.trim().toUpperCase();

	if (ticket=='')
	{
		errorBox("Введите номер билета!");
		return;
	}
	if (fio=='')
	{
		errorBox("Введите фамилию, имя и отчество, как это указано в читательском билете!");
		return;
	}

	document.getElementById('info').style.display="";
	document.getElementById('info').innerHTML = "<br><br><center><img src='formular/waiting.gif' width=128 height=128></center>";

	var btn = document.getElementById('submitBtn');
	btn.disabled=true;
	

	sendXHR('https://biblio-fond.ru/api.php','action=reader:getbyticket&ticket='+encodeURIComponent(ticket)+'&name='+encodeURIComponent(fio),
		function(response)
		{
			btn.disabled=false;
			document.getElementById('ticket_number').style.display="none";
			document.getElementById('info').style.display="";
			setCookie('ticket', ticket);
			setCookie('fio',fio);
			build(JSON.parse(response));
		},
		function(error)
		{
			btn.disabled=false;
			document.getElementById('info').style.display="none";
			errorBox(error);
		});	
	

}


</script>



<br>
<center style='font-size:11px'>Данная информация предоставляется с письменного согласия читателя на обработку его персональных данных, подписанного при получении читательского билета.</center>

<br><br>
<hr>
<center><input type=button value='« Назад' onclick='history.back()'></center>
<br><br>


<?php

MIDDLECOLUMN2();
print "<center><table><tr><td>";
ACTUALLINKS('actualLinksH');
print "</tr></td></table></center>";
FAQ();


MIDDLECOLUMN();
CHANNELS("channelBlockH");
RIGHTCOLUMN();

ACTUALLINKS();
FAQ();

?>




<?php BOTTOM(); ?>

May the force be with you, always.