Веб-додаток для реєстрації аварійних ситуацій та обліку ремонтних робіт ЖРЕРу

Огляд технологій, які використовувалися для створення веб-додатку. Опис архітектури та роботи елементів проекту журналу реєстрації аварійних ситуацій та обліку ремонтних робіт. Приклад інтерфейсу користувача. Розрахунок собівартості програмного продукту.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 03.07.2014
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

6. СНиП 2.09.04 - 87 - Административние и бытовые здания.

7. СНиП 2.09.02-85. Производственные здания промышленых предприятий. Нормы проектирования.

8. Методичні вказівки до написання дипломного проекту.

9. Ленгсторф Джейсон - PHP и jQuery для профессионалов: Пер.с англ. - М.:ООО "И.Д. Вильямс", 2011. - 352 c.: ил. - Парал. Тит. Англ.

10. Джонс, Дон - Создание Web-сайтов на бесплатном движке PHP-NUKE: пер. с англ. Яз. / Дон Джонс. - М.: Изд-во Триумф, 2005. - 304 с.: илю - Серия GARAGE. - Доп. Тит. Л. Англ.

11. Томсон Лаура - Разработка Web-приложений на PHP: Пер. с англ. / Лаура Томсон, Люк Велинг. - 2-е изд., испр. - СПб: ООО "ДиаСофтЮП", 2003 - 672 с.

12. Зольников. Д.С. - PHP 5 / Д.С. Зольников. - М.: НТ Пресс, 2007. - 256 с. :ил - (Полная версия).

13. Дари К., Бринзаре Б., Черчез-Тоза Ф., Бусинка М. - AJAX и PHP: разработка динамических веб приложений. - СПб.: Символ-Плюс, 2006. - 336 с., ил.

14. Кузнецов М.В., Симдянов И.В., Голишев С.В. - PHP на примерах. - СПб.: БХВ-Петербург, 2005. -576 с.: ил.

15. Колисниченко Д.Н.- САМОУЧИТЕЛЬ PHP 5 - СПб.: Наука и техника. - 640 с. Ил.

16. http://www.php.net

17. http://www.php.su

18. Томсон Лаура Т77 Разработка Web-приложений на РНР и MySQL: Пер. с англ./Лаура Томсон, Люк Вел-линг. -- 2-е изд., испр. -- СПб: ООО "ДиаСофтЮП", 2003. -- 672 с.

19. Мазуркевич А. MB РНР: настольная книга программиста / Александр Мазуркевич, Дмитрий Еловой. -- Мн.: Новое знание, 2003. -- 480 с.: ил. ISBN 985-475-014-0.

20. Томсон Лаура Т77 Разработка Web-приложений на РНР и MySQL: Пер. с англ. / Лаура Томсон, Люк Вел-линг. -- 2-е изд., испр. -- СПб: ООО "ДиаСофтЮП", 2003. -- 672 с. ISBN 5-93772-090-3

21. Фленов М. Е. Ф69 РНР глазами хакера. -- СПб.: БХВ-Петербург, 2005. -- 304 с : ил. ISBN 5-94157-673-0

22. Джонс, Дон. Д42 Создание Web-сайтов на бесплатном движке PHP-NUKE : пер. с англ. яз. / Дон Джонс. -- М. : Изд-во Триумф, 2005. -- 304 с.: ил. -- Серия GARAGE. - Доп. тит. л. англ. -- ISBN 5-89392-119-4.

23. http://www.cyberforum.ru/php-beginners/

24. Аргерих Л. и др. Профессиональное РНР программирование, 2-е издание. - Пер. с англ. - СПб: Символ-Плюс, 2003. - 1048 с., ил. ISBN 5-93286-049-9

25. Журнал реєстрації аварій 2007

26. http://uk.wikipedia.org/wiki/диспетчеризація

Додатки

Додаток 1. Функціональна схема роботи проекту

Додаток 2. Лістинг програми

<?

error_reporting (E_ALL);

include "config.php";

// Функція для ПРОДОЛЖЕННЯ ШАПКИ - закриває ВСі таблиці. Визивається так: addtop();

function addtop() { global $wrboardname;

// якщо в куках є wrboardname, то виводиму імя, або виводимо форму для входа

if (isset($_COOKIE['wrboardname'])) {$wrboardname=$_COOKIE['wrboardname'];}

print"<TD align=right>";

if (isset($wrboardname)) {print "<a href='tools.php?event=profile&pname=$wrboardname'>Ваш Профіль</a>&nbsp;&nbsp;<a href='tools.php?event=clearcooke'>Вихід [<B>$wrboardname</B>]</a>&nbsp;";}

else {print "<a href='tools.php?event=login'>Вхід в систему</a>&nbsp;|&nbsp;<a href='tools.php?event=reg'>Реєстрація</a>&nbsp;";}

print"</TD></TR></TABLE></TD></TR></TABLE><TABLE cellPadding=0 cellSpacing=0 width=100%><TR><TD></TD></TR></TABLE>";

return true;}

if (!is_file("images/$brdskin/top.html")) {$topurl="images/top.html";} else {$topurl="images/$brdskin/top.html";}

// Сортування

function prcmp ($a, $b) {if ($a==$b) return 0; if ($a<$b) return -1; return 1;}

print"<TABLE cellSpacing=0 cellPadding=0 width=250 border=0><TR>

<TD width=5><IMG src='images/$brdskin/lt.gif' width=5 height=72 border=0></TD>

<TD width=200 background='images/$brdskin/mt.gif' valign=middle><B>$dt[2]</B></TD>

<TD align=right background='images/$brdskin/mt.gif'><IMG height=17 src='images/$brdskin/k.gif' width=25 border=0></TD>

<TD><IMG src='images/$brdskin/$cm.gif' width=75 height=72 border=0></TD>

</TR><TR>

<TD><img src='images/blank.gif' border=0></TD>

<TD colspan=3><TABLE cellSpacing=0 cellPadding=0 width=100%>";

// Назву пічатаємо

} else {

if (($dt[2]+$dt[3])>"0") {$ok="have.gif";} else {$ok="nohave.gif";}

print"<TR onmouseover=\"trtover(this)\" onmouseout=\"trtout(this)\">

<TD onclick=\"LmUp('$url')\" onmouseover=\"tover(this)\" onmouseout=\"tout(this)\" height=20>

<img src='images/$brdskin/$ok'>&nbsp;<A href='$url'>$dt[1]</A></TD><TD width=20>$it</TD></TR>\r\n";}

$i++;

$itogo=$itogo+$it;

} while($a1 < $u);

// Закритя цент.таблиці

print"</TD></TR></TABLE>

</table></td></tr></table><center>Всього зареєстровано аварійних ситуацій в базі: <B>$itogo</B></center><BR>";

// Показ 10-20 послідніх заявок

$shapka20="<TABLE align=center cellPadding=3 cellSpacing=0 width=98%>";

$shapka10="<TABLE align=center cellPadding=3 cellSpacing=0 width=98%>";

if (is_file("$datadir/newmsg.dat") and $showten>="1") { // перевірка є такий файл

$linesn = file("$datadir/newmsg.dat"); $in=count($linesn);

if ($in > 0) {

$newdat=file("$datadir/newmsg.dat");

$in=count($newdat)-1; $iall=$in; $ia=$in+1;

print"<TABLE cellPadding=2 cellSpacing=1 align=center width=98%>";

if ($showten=="20") {print "<TR class=toptable height=18><TD colspan=4 align=center><B>Останні $ia заявки:</B></TD></TR><TR><TD valign=top>$shapka20";}

else {print "<TR><TD>&nbsp;</td><TD align=center><TABLE align=center cellPadding=3 cellSpacing=0 width=468><TR class=toptable height=18><TD colspan=4 align=center><B>Останні $ia заявки:</B></TD></TR>";}

do {$dtn=explode("|", $newdat[$in]);

$tdt=explode("[ktname]", $dtn[1]);

if (!isset($tdt[1])) {$tdt[1]="";} // БД

$url="index.php?fid=$dtn[8]&id=$dtn[10]";

$dtn[5]=substr($dtn[5],0,150); // до 150 символів обріз

$dtn[5]=str_replace("<br>","\r\n",$dtn[5]);

$dtn[7]=date("H:i",$dtn[7]);

if ($dtn[4]=="Н") {$colorsp="#ff3333";} else {$colorsp="#1414CD";}

if (round($iall/2)==($in+1) & $showten>10) {print"</table></td><td width=50% valign=top>$shapka10";}

if ($dtn[9]=="vip") {$st1="<B>"; $st2="VIP-заявка \r\n";} else {$st1=""; $st2="";}

print"

<TR height=20 onmouseover=trtover(this) onmouseout=trtout(this)>

<TD><FONT color=$colorsp><B>$dtn[4]</B></FONT></TD>

<TD>$dtn[7]</TD>

<TD onclick=LmUp('$url') width=100%>$st1<A href='$url' title='$dtn[5] \r\r\n $tdt[0] --> $tdt[1] \r\r\n $st2\r\n розміщено $dtn[6] р.'>$dtn[3]</A></TD>

<TD onclick=LmUp('$url')><IMG alt='перейти' border=0 src='images/$brdskin/go.gif'></TD>

</TR>";

$in--;

} while($in >"-1");

} print"</table></td></tr></table>";

}

} // кінець головної

// СПИСОК ЗАЯВОК (ЛЕВЕЛ 2)

if (isset($_GET['fid']) and !isset($_GET['id'])) { $fid=$_GET['fid'];

$addbutton="<a href=\"add.php?fid=$fid\">Додати заявку в цей розділ</a>";

// Защиты

$deleted="$back. Немає категорій!";

if (!ctype_digit($fid)) {exit(" <h1>Ошибка, нема прав.</h1>");}

$imax=count(file("$datadir/$datafile")); if (($fid>100) or (strlen($fid)==0)) {exit("$deleted");}

if (!is_file("$datadir/$fid.dat")) {print"$deleted"; exit;} // перевірка є такий файл

else {

$lines=file("$datadir/$fid.dat"); $itogo=count($lines); $n="0";

if ($itogo > 0) {

// Авто-делетед тута!

$tekdate=mktime(); $i=$itogo; $newi="-1"; $pred="0"; $spros="0"; $todelete="0"; $itogos="0";

do {$i--; $dt=explode("|",$lines[$i]);

if ($dt[4]!="Н") {$itogos++;} // підрахуємо Виконано/Не виконано

if ($dt[7]<$tekdate) {$todelete++; if ($dt[4]=="Н") {$pred++;} else {$spros++;}} else {$newi++; $newlines[$newi]=$lines[$i];}

} while($i>0);

// $newlines - масив в яких нема просрочених заявок

if (isset($newlines)) {$newitogo=count($newlines)-1;} else {$newitogo="0"; $newlines[0]="";}

//print "$todelete - todelete; $newitogo/$itogo - newitogo/itogo";

// Блок для чистки бд

if ($todelete>"0") {

// записуємо файл в БД в яким нема просрочених заявок

$fp=fopen("$datadir/$fid.dat","a+");

flock ($fp,LOCK_EX);

ftruncate ($fp,0);//удаляємо внутреності файла

for ($i=0; $i <= $newitogo; $i++) {fputs($fp,$newlines[$i]);}

flock ($fp,LOCK_UN);

fclose($fp);

// Мінусуємо 1 при deleted

if (!isset($flagm1)) {$flagm1=1;}

if ($flagm1=="1") {

$lines = file("$datadir/$datafile"); $i=count($lines);

do {$i--; $dt=explode("|", $lines[$i]);

// Находимо в БД розділ, де ми щас находимось

if ($fid==$dt[0]) {

$dt[2]=$dt[2]-$pred; if ($dt[2]<"0") {$dt[2]="0";}

$dt[3]=$dt[3]-$spros; if ($dt[3]<"0") {$dt[3]="0";}

if ($newitogo==0) {$dt[2]="0"; $dt[3]="0";}

$text="$fid|$dt[1]|$dt[2]|$dt[3]|";

$file=file("$datadir/$datafile");

$fp=fopen("$datadir/$datafile","a+");

flock ($fp,LOCK_EX);

ftruncate ($fp,0);//УДАЛЯЄМО внутреності файла

for ($ii=0;$ii< sizeof($file);$ii++) {if ($i!=$ii) {fputs($fp,$file[$ii]);} else {fputs($fp,"$text\r\n");}}

fflush ($fp);//очиска буфера

flock ($fp,LOCK_UN);

fclose($fp);

}

} while($i > 0);

} // кінець

$lines = file("$datadir/$fid.dat");

$itogo=count($lines); $i=$itogo;

} // if ($todelete > 0)

} // if ($itogo > 0)

// авто-делетед!

if ($itogo > 0) {$i=$itogo; $lt=explode("|",$lines[0]); $tdt=explode("[ktname]", $lt[1]);

if (!isset($tdt[1])) {$tdt[1]="";} //

$razdel=$tdt[1]; $rubrika="$tdt[0] .:. $tdt[1]";

include "$topurl"; addtop(); //

$rubrika="$tdt[0]";

//

if (isset($_GET['page'])) {$page=$_GET['page'];} else {$page="0";}

if ($page>=$i) {$page=$i-1;}

if ($i-$page-$qq>=0) {$a1=$i-$page; $u=$a1-$qq;} else {$a1=$i-$page; $u=0;}

$num=0; $ivip=0;

print"<TABLE class=bakfon cellPadding=2 cellSpacing=1 width=98% align=center><TBODY>

<TR class=row1 height=28><TD colspan=6 class=main align=center><strong>$razdel</strong> <small>--></small> <strong>$rubrika</strong></TD></TR>

<TR class=toptable align=center>

<TD><B>№</B></TD>

<TD><B>Відмітка:</B></TD>

<TD width=50%><B>Заголовок</B></TD>

<TD width=15%><B>Ім'я</B></TD>

<TD width=15%><B>Дата подання</B></TD>

<TD width=20%><B>Дата видалення</B></TD></TR>";

do {$a1--; $dt=explode("|", $lines[$a1]);

$num++; $url="index.php?fid=$fid&id=$dt[10]";

if ($dt[4]=="Н") {$colorsp="#ff3333";} else {$colorsp="#1414CD";}

$deldate=date("d.m.Y",$dt[7]);

$tekdt=mktime();

$deldays=round(($dt[7]-$tekdt)/86400);

$dt[5]=str_replace("<br>", "\r\n", $dt[5]);

// день днів і т.п.

$dney="днів"; if ($deldays=="0") {$deldays=1;}

if ($deldays>20) {$ddays=substr($deldays,-1);} else {$ddays=$deldays;}

if ($ddays=="1") {$dney="день";}

if ($ddays=="2" or $ddays=="3" or $ddays=="4") {$dney="дня";}

if ($dt[9]=="vip") {print "<TR height=28 class=vip onmouseout=\"vipout(this)\" onmouseover=\"vipover(this)\">";}

else {print "<TR height=28 class=row1 onmouseover=\"trtover(this)\" onmouseout=\"trtout(this)\">";}

if (stristr($dt[2],"[email]")) {$tdt=explode("[email]", $dt[2]); $dt[2]="$tdt[0]"; $usdat="<TD onclick=\"LmUp('$url')\">$dt[2]";} else {$usdat="<TD onmouseover=\"tover(this)\" onmouseout=\"tout(this)\" onclick=\"LmUp('tools.php?event=profile&pname=$dt[2]')\"><A href='tools.php?event=profile&pname=$dt[2]'>$dt[2]</A>";}

print"

<TD align=center><B>$num</B></TD>

<TD><FONT color=$colorsp><B>$dt[4]</B></FONT></TD>

<TD onmouseover=\"tover(this)\" onclick=\"LmUp('$url')\" onmouseout=\"tout(this)\"><A href='$url' title='$dt[5]'>$dt[3]</A></TD>

$usdat</TD>

<TD align=center onclick=\"LmUp('$url')\"> $dt[6]</TD>

<TD onclick=\"LmUp('$url')\">$deldate - через <B>$deldays</B> $dney </TD></TR>";

if (($dt[9]=="vip") and ($ivip==1)) {print"<TR height=15 class=small bgColor=#FFFFFF><TD colspan=6>&nbsp;</TD></TR>";}

$ivip--;

} while($a1 > $u);

$itogop=$i-$itogos;

print "</TBODY></TABLE><BR><TABLE cellPadding=0 cellSpacing=0 width=98% align=center><TBODY><TR>

<TD width=50%><div class=pgbutt>Сторінки:&nbsp; ";

for($pi="0"; $pi<$i;) {$ii=1+$pi/$qq; if ($page==$pi) {$addp="class=sel";} else {$addp="";}

print "<a style=\"width:10px\" $addp href=\"index.php?fid=$fid&page=$pi\"><B>$ii</B></a> &nbsp;";

$pi=$pi+$qq;}

print "<TD align=right width=50%>Всього заявок: <B>$i</B>. З них: Не виконано - <B>$itogop</B> Виконано - <B>$itogos</B>.</TD></TR></TBODY></TABLE>

<center>$addbutton";

} else {$rubrika=""; include "$topurl"; addtop(); print"<center><BR><BR><BR><BR><BR><font size=-1><B>Шановні користувачі!</B><BR><BR> В даному розділі поки що нема заявок.<BR><BR> Ви можете <B>$addbutton</B> або <BR><BR> перейти на головну сторінку сайта по <B><a href='index.php'>цій силці</a></B>.<BR><BR><BR><BR><BR><BR><BR><BR><BR><BR><BR>";}

}

print "</tr></table><BR>";

}

// (ЛЕВЕЛ 3)

if (isset($_GET['fid']) and isset($_GET['id'])) { $fid=$_GET['fid'];

$error="Ошибка! Сюда напишіть - $adminemail";

$deleted="$back. Файла рубрики нема!";

if (!isset($_GET['id'])) {print"$error"; exit;} $id=$_GET['id'];

if ($_GET['id']==="") {print "$error"; exit;}

if (is_file("$datadir/$fid.dat")) {$lines=file("$datadir/$fid.dat");}

$cy=count($lines)-1; $itogo=$cy; $i=$itogo;

if ($cy>=0) {unset($number); do {$dt=explode("|",$lines[$i]);

if ($dt[10]==$id) {$number=$i;} $i--;} while ($i >= 0);}

if (!isset($number)) {include "$topurl"; addtop(); print"<BR><BR><BR><BR><BR><center><font size=-1><B>Шановний користувач!</B><BR><BR>

Вибачте, но запрошена Вами <B>заявка більше недоступна.</B><BR><BR>

Скоріш за все, <B>закінчився її срок показу</B>, і вона була видалена.<BR><BR>

Ви можете <B><a href='index.php?fid=$fid'>перейти в цей розділ</a></B> де було розміщено заявку.<BR>

<B>Перейти на головну</B> можно <B><a href='index.php'>цій силці</a></B><BR><BR><BR><BR><BR><BR><BR><BR><BR>";

} else {

$dt=explode("|",$lines[$number]);

// titile

$rub=$dt[3]; if (strlen($rub)>98) {$rub=substr($rub,0,98); $rub.="...";}

$tdt=explode("[ktname]", $dt[1]);

if (!isset($tdt[1])) {$tdt[1]="";}

$razdel=$tdt[1]; $rubrika="$rub .:. $tdt[0] .:. $tdt[1]";

include "$topurl"; addtop();

$rubrika=$tdt[0];

$userline=file("$datadir/usersdat.php"); $i=count($userline); $usernum="";

do {$i--; $rdt=explode("|", $userline[$i]);

if ($dt[2]==$rdt[0]) { $usernum="$i";}

} while($i > "1");

if ($usernum!="") {$rdt = explode("|", $userline[$usernum]);} else {$rdt[0]="";$rdt[2]="";$rdt[3]="";$rdt[4]="";$rdt[5]="";$rdt[6]="";}

$deldate=date("d.m.Y",$dt[7]); // конверт

$tekdt=mktime();

$deldays=round(($dt[7]-$tekdt)/86400);

$dt[7]=date("H:i:s",$dt[7]);

$mstek=$number+1;

$numtek=$cy-$number+1;

$dney="днів";

if ($deldays>20) {$ddays=substr($deldays,-1);} else {$ddays=$deldays;}

if ($ddays=="1") {$dney="день";}

if ($ddays=="2" or $ddays=="3" or $ddays=="4") {$dney="дня";}

if ($dt[4]=="Н") {$dt[4]="<font color=#EE2200>Не виконано";} else {$dt[4]="<font color=#1414CD>Виконано";}

if ($usernum!="") {

$foto=""; $tblwidth="500"; $tblheight="370";

$userinfo="<TR class=row2 height=23><TD>Організація:</TD><TD>$rdt[6] &nbsp;</TD></TR>

<TR class=row1 height=23><TD>Автор:</TD><TD><a href='tools.php?event=profile&pname=$dt[2]'>$dt[2]</a></TD></TR>

<TR class=row2 height=23><TD>E-mail:</TD><TD width=220><A href='#' onclick=\"window.open('tools.php?event=mailto&email=$rdt[2]&name=$rdt[0]&fid=$fid&id=$id','email','width=400,height=390,left=100,top=100')\">Отправити листа автору</A></TD></TR>

<TR class=row1 height=23><TD>Місто:</TD><TD>$rdt[11] &nbsp;</TD></TR>

<TR class=row2 height=23><TD>Телефон:</TD><TD>$rdt[5] &nbsp;</TD></TR>";

} else {

$tblwidth="500"; $tblheight="370"; $foto="</tr>";

$userinfo="<TR class=row2 height=23><TD>Автор:</TD><TD>";

if (stristr($dt[2],"[email]")) { $tdt=explode("[email]", $dt[2]); $userinfo.="$tdt[0]</TD></TR><TR class=row1 height=23><TD>E-mail:</TD><TD width=220><A href='#' onclick=\"window.open('tools.php?event=mailto&email=$tdt[1]&name=$tdt[0]&fid=$fid&id=$id','email','width=400,height=390,left=100,top=100')\">Отправити листа автору</A>";} else {$userinfo.="$dt[2]";}

if (!isset($dt[13])) {$dt[13]="";} if (!isset($dt[12])) {$dt[12]="";}

$userinfo.="</td></tr><TR class=row2 height=23><TD>Місто:</TD><TD width=220>$dt[12]</td></tr><TR class=row1 height=23><TD>Телефон:</TD><TD width=220>$dt[13]</td></tr><TR class=row2 height=23><TD>New:</TD><TD width=220>$dt[14]</td></tr>";

}

print "<center><TABLE class=bakfon align=center cellPadding=3 cellSpacing=1 width=$tblwidth height=$tblheight><TBODY>

<TR class=row1 height=28 align=center><TD colspan=3><font style='FONT-SIZE: 15px;'><strong>$razdel</strong> <small>>></small> <strong>$rubrika</strong></font></TD></TR>

<TR HEIGHT=23><TD align=middle class=toptable colSpan=3 width='100%'><table width=100%><TR

align=center><TD><B>$dt[3]</B></TD><TD

width=20><B>$numtek</B></TD></TR></table></TD></TR>

<TR class=row1 height=23><TD width=140>Відмітка про виконання заходів:</TD><TD width=220><B>$dt[4]</B></TD>

$foto

<TR class=row2 height=23><TD>Дата створення заявки:</TD><TD>$dt[6] &nbsp;<small>$dt[7]</small></TD></TR>

<TR class=row1 height=23><TD>Дата видалення заявки:</TD><TD>$deldate (залишилось <B>$deldays</B> $dney)</TD></TR>

$userinfo </TD></TR>

<TR class=row2 height=23><TD>Дата і час настання аварії:</TD><TD>$dt[14] &nbsp;</TD></TR>

<TR class=row1 height=23><TD>Економічні втрати від аварії:</TD><TD>$dt[15] &nbsp;</TD></TR>

<TR class=row2 height=23><TD>Тривалість простою об'єкта від <br>початку аварії до введення<br> в експлуатацію, годин або діб:</TD><TD>$dt[16] &nbsp;</TD></TR>

<TR class=row1 height=23><TD>Заходи, запропоновані комісією<br> з розслідування причин аварії:</TD><TD>$dt[17] &nbsp;</TD></TR>

<TR class=row2 height=23><TD colSpan=2>Причини і стислий опис обставин аварії:</TD></TR>

<TR class=row1><TD bgColor=#FFFFFF colSpan=2 width=500 vAlign=top><BR>$dt[5]<BR><BR></TD>

</TR></TBODY></TABLE>

<BR><table width=300><TR align=center><TD width=70>";

if ($number>0) {$last=$mstek-2; $dtlast=explode("|",$lines[$last]); print "<A href='index.php?fid=$fid&id=$dtlast[10]'><IMG alt='Попередня заявка' border=0 src='images/$brdskin/forward.gif'></A>";}

print "</td><td width=90><A href='index.php?fid=$fid'><IMG alt='Повернутися в розділ $dt[1]' border=0 src='images/$brdskin/back.gif'></A></td><td width=80>";

if ($number<$cy) {$next=$mstek; $dtnext=explode("|",$lines[$next]); print "<A href='index.php?fid=$fid&id=$dtnext[10]'><IMG alt='Наступна заявка' border=0 src='images/$brdskin/next.gif'></A>";}

print "</td></tr></table>";

if (is_file("$datadir/$id.dat")) {

$rlines=file("$datadir/$id.dat"); $ri=count($rlines); $bals=0; $all=0;

print"<BR><table class=bakfon align=center cellPadding=2 cellSpacing=1 width=560><TR><TD class=main align=center height=25 width=560 class=main colspan=3>Комментарии посетителей:</TD></TR>

<TR class=row1 height=20 align=center><TD><B>Ім'я, Емайл, Дата</TD><TD>Текст коменту</TD><TD>Оцінка</TD></TR>";

do {$ri--; $edt=explode("|",$rlines[$ri]);

$edt[3]=date("d.m.Y H:i:s",$edt[3]);

if ($edt[4]!=0) {$bals=$bals+$edt[4]; $all++;} else {$edt[4]="-";}

print"<TR class=row1><TD><B>$edt[0]</B><BR>$edt[1]<BR>$edt[3]</TD><TD>$edt[2]</TD><TD align=center>$edt[4]</TD></TR>";

} while($ri>0);

if ($bals==0) {$itogobals="н/д";} else {$itogobals=round($bals*10/$all)/10;}

print "</TD></TR><TR class=row1><TD colspan=3 align=center height=28><font style='FONT-SIZE: 13px'>Важность заявки: &nbsp;&nbsp;<B>$itogobals</B> / 5</font></TD></TR></TABLE>";

}

}

}

include "images/bottom.html";

?>

<center><small>Powered by KNz-31 Group &copy; 1.0<br></small></center>

</body></html>

Admin.php

<?

error_reporting (E_ALL);

include "config.php";

// Авторізація

if (!isset($_GET['pswrd'])) {echo "<center><form action=\"admin.php\" method=\"get\" name=pass>Ведіть пароль адміна: <BR><input type=password size=\"17\" value=\"\" name=\"pswrd\"><BR><input type=\"submit\" value=\"Вхід\"><SCRIPT language=JavaScript>document.pass.pswrd.focus();</SCRIPT>";}

else {if ($_GET['pswrd']=="$password") { // Успішно пройдена авторізація

// + Блок для видалення категорії

if (isset($_GET['xd'])) { $xd=$_GET['xd'];

// шукаємо файл з заявкою і видаляємо його

$file=file("$datadir/$datafile"); $dt=explode("|",$file[$xd]);

if (is_file("$datadir/$dt[0].dat")) {unlink ("$datadir/$dt[0].dat");}

// видалення строки

$fp=fopen("$datadir/$datafile","w");

flock ($fp,LOCK_EX);

for ($i=0;$i< sizeof($file);$i++) { if ($i==$xd) {unset($file[$i]);} }

fputs($fp, implode("",$file));

flock ($fp,LOCK_UN);

fclose($fp);

@chmod("$datadir/$datafile", 0644);

Header("Location: admin.php?pswrd=$password"); exit; }

// тест комменти, видалення іх

if (isset($_GET['remxd'])) {

$id=$_GET['id']; $flname=$_GET['flname']; $remxd=$_GET['remxd']; $page=$_GET['page'];

$file=file("$datadir/$flname.dat");

// строка з коментом

$fp=fopen("$datadir/$flname.dat","w");

flock ($fp,LOCK_EX);

for ($i=0; $i< sizeof($file); $i++) { if ($i==$remxd) {unset($file[$i]);} }

fputs($fp, implode("",$file));

flock ($fp,LOCK_UN);

fclose($fp);

@chmod("$datadir/$flname.dat", 0644);

if (count($file)==0) {unlink ("$datadir/$flname.dat");}

Header("Location: admin.php?pswrd=$password&event=topic&id=$id&page=$page"); exit;}

// + Блок видалення з останіх 10 заявок

if (isset($_GET['tenxd'])) { $tenxd=$_GET['tenxd'];

$file=file("$datadir/newmsg.dat");

$fp=fopen("$datadir/newmsg.dat","w");

flock ($fp,LOCK_EX);

for ($i=0; $i< sizeof($file); $i++) { if ($i==$tenxd) {unset($file[$i]);} }

fputs($fp, implode("",$file));

flock ($fp,LOCK_UN);

fclose($fp);

@chmod("$datadir/newmsg.dat", 0644);

Header("Location: admin.php?pswrd=$password"); exit;}

// + блок видалення вибраної заявки

if (isset($_GET['topicxd']))

{

$id=$_GET['id']; $topicxd=$_GET['topicxd']; $msgtype=$_GET['msgtype']; $page=$_GET['page'];

$file=file("$datadir/$id.dat");

// видалення строки заявки

$fp=fopen("$datadir/$id.dat","w");

flock ($fp,LOCK_EX);

for ($i=0; $i< sizeof($file); $i++) { if ($i==$topicxd) {unset($file[$i]);} }

fputs($fp, implode("",$file));

flock ($fp,LOCK_UN);

fclose($fp);

@chmod("$datadir/$id.dat", 0644);

// Віднімання одиниці при видаленні

$lines = file("$datadir/$datafile"); $i = count($lines);

do {$i--; $dt=explode("|",$lines[$i]);

if ($id==$dt[0]) {$fnomer=$i; if ($msgtype=="Н") {$dt[2]--;} else {$dt[3]--;}

if ($dt[2]<0) {$dt[2]="0";} if ($dt[3]<0) {$dt[3]="0";}

$text="$dt[0]|$dt[1]|$dt[2]|$dt[3]|";}

} while($i > 0);

$file=file("$datadir/$datafile");

$fp=fopen("$datadir/$datafile","a+");

flock ($fp,LOCK_EX);

ftruncate ($fp,0);

for ($ii=0;$ii< sizeof($file);$ii++)

{ if ($fnomer!=$ii) {fputs($fp,$file[$ii]);} else {fputs($fp,"$text\r\n");} }

fflush ($fp);

flock ($fp,LOCK_UN);

fclose($fp);

@chmod("$datadir/$datafile", 0644);

Header("Location: admin.php?pswrd=$password&event=topic&id=$id&page=$page"); exit;}

// + видалення участника

if(isset($_GET['xduser'])) {

if ($_GET['xduser'] =="") {print"Пустий ГЕТ-запрос"; exit;}

$xduser=$_GET['xduser']-1;

$file=file("$datadir/usersdat.php"); $i=count($file);

if ($xduser<"1") {print "$back. перша строка є захисною! Её <B>НЕМОЖНА ВИДАЛЯТИ!</B>"; exit;}

if ($i<"3") {print "$back. Треба залишити хочаби <B>ОДНОГО</B> користувача!"; exit;}

// видалення строки участника

$fp=fopen("$datadir/usersdat.php","w");

flock ($fp,LOCK_EX);

for ($i=0;$i< sizeof($file);$i++) { if ($i==$xduser) {unset($file[$i]);} }

fputs($fp, implode("",$file));

flock ($fp,LOCK_UN);

fclose($fp);

@chmod("$datadir/userdat.php", 0644);

Header("Location: admin.php?pswrd=$password&event=userwho"); exit; }

// + блок переміщення вниз і вверх

if(isset($_GET['movetopic'])) { if ($_GET['movetopic'] !="") {

$move1=$_GET['movetopic']; $where=$_GET['where'];

if ($move1=="0" or $move1=="1") {print"Неможливо перемістити!"; exit;}

if ($where=="0") {$where="-1";}

$move2=$move1-$where;

$file=file("$datadir/boardbase.dat"); $imax=sizeof($file);

if (($move2>=$imax) or ($move2<"0")) {exit("Неможливо перемістити!");}

$data1=$file[$move1]; $data2=$file[$move2];

$fp=fopen("$datadir/boardbase.dat","a+");

flock ($fp,LOCK_EX);

ftruncate ($fp,0);//очистка

// Міняємо розділи місцями

for ($i=0; $i<$imax; $i++) {if ($move1==$i) {fputs($fp,$data2);} else {if ($move2==$i) {fputs($fp,$data1);} else {fputs($fp,$file[$i]);}}}

fflush ($fp);//очистка

flock ($fp,LOCK_UN);

fclose($fp);

@chmod("$datadir/boardbase.dat", 0644);

Header("Location: admin.php?pswrd=$password"); exit; }}

// + Перерахування категорій і заявок

if (isset($_GET['event'])) { if ($_GET['event']=="revolushion") {

$lines = file("$datadir/$datafile");

$countmf=count($lines)-1;

$n="0";$i="-1";$u=$countmf-1;$k="0";$it=0;

do {$i++; $dt=explode("|", $lines[$i]);

$fid=$dt[0]; $itogos="0";$itogo="0";$itogop="0";

if (is_file("$datadir/$fid.dat")) {

$msglines=file("$datadir/$fid.dat");

if (count($msglines)>0) {

$itogo=count($msglines); $it="-1"; $itmax=$itogo-1;

do {$it++; $dtt = explode("|", $msglines[$it]);

if ($dtt[4]=="Н") {$itogop++;} else {$itogos++;}

} while ($it<$itmax);

}

}

if ($dt[1]=="R") {$lines[$i]="$dt[0]|$dt[1]|$dt[2]|$dt[3]|\r\n";} else {$lines[$i]="$dt[0]|$dt[1]|$itogop|$itogos|\r\n";}

} while($i < $countmf);

// зберігання даних які получили

$file=file("$datadir/$datafile");

$fp=fopen("$datadir/$datafile","w");

flock ($fp,LOCK_EX);//блокування файлу

for ($i=0;$i< sizeof($file);$i++) {fputs($fp,$lines[$i]);}

flock ($fp,LOCK_UN);//розблокування

fclose($fp);

@chmod("$datadir/$datafile", 0644);

print "<center><BR>Розділи і заявки успішно перераховано.<BR><BR><h3>$back</h3></center>"; exit; }

}

// - Добавити категорію

if (isset($_GET['newrubrika'])) { $zag=$_POST['zag'];

if (strlen($zag)<3) {exit(" Назва категорії, <B> яка містить менше 3 символів </B> - це не серйозно ;)!");}

// пробігаємо по файлам шукаємо найбільче число і +1

$fid="0"; if (is_file("$datadir/$datafile")) { $lines=file("$datadir/$datafile"); $imax = count($lines); $i=0; do {$dt = explode("|", $lines[$i]); if ($fid<$dt[0]) {$fid=$dt[0];} $i++;} while($i < $imax); $fid++;}

$zag=str_replace("|"," ",$zag);

$text="$fid|$zag|0|0|";

$text=stripslashes($text);

$text=htmlspecialchars($text);

$text=str_replace("\r\n", "<br>", $text);

$fp=fopen("$datadir/$datafile","a+");

flock ($fp,LOCK_EX);

fputs($fp,"$text\r\n");

fflush ($fp);//очищення файлого буфера

flock ($fp,LOCK_UN);

fclose($fp);

@chmod("$datadir/$datafile", 0644);

$fp=fopen("$datadir/$fid.dat","a+");

fflush ($fp);

flock ($fp,LOCK_UN);

fclose($fp);

@chmod("$datadir/$fid.dat", 0644);

Header("Location: admin.php?pswrd=$password"); exit; }

// - редакт.

if (isset($_GET['event'])) {

if ($_GET['event']=="rdmsgintopic") {

$rubrn=$_POST['rubrn'];

$rubka=$_POST['rubka'];

$name=$_POST['name'];

$id=$_POST['id'];

$fnomer=$_POST['fnomer'];

$newrubrika=$_POST['newrubrika'];

$days=$_POST['days'];

$msg=$_POST['msg'];

$zag=$_POST['zag'];

$type=$_POST['type'];

$vip=$_POST['vip'];

$key=$_POST['key'];

$today=$_POST['today'];

$gorod=$_POST['gorod'];

$phone=$_POST['phone'];

$timez=$_POST['timez'];

$moneyz=$_POST['moneyz'];

$esk=$_POST['esk'];

$zaxodu=$_POST['zaxodu'];

$smallfoto=$_POST['smallfoto'];

$foto=$_POST['foto'];

$fotoksize=$_POST['fotoksize'];

$size0=$_POST['size0'];

$size1=$_POST['size1'];

$newru = explode("|",$newrubrika);

if ($newru[0]==$rubrn) {

$deldt=mktime()+$days*86400; // форматування дати видалення

$msg=str_replace("|","I",$msg);

$text="$rubrn|$rubka|$name|$zag|$type|$msg|$date|$deldt|$id|$vip|$key|$today|$gorod|$phone|$timez|$moneyz|$esk|$zaxodu|$size0|$size1|";

// обрізка лишніх символів

$text=stripslashes($text);

$text=htmlspecialchars($text);

$text=str_replace("\r\n", "<br>", $text);

$file=file("$datadir/$id.dat");

$fp=fopen("$datadir/$id.dat","a+");

flock ($fp,LOCK_EX);

ftruncate ($fp,0);//видалення файлу

for ($i=0;$i< sizeof($file);$i++)

{ if ($fnomer!=$i) {fputs($fp,$file[$i]);} else {fputs($fp,"$text\r\n");} }

fflush ($fp);//очищення файлового буфера

flock ($fp,LOCK_UN);

fclose($fp);

@chmod("$datadir/$id.dat", 0644);

print "<BR><BR><BR><center><B>Заявка успішно відредагована.</B><BR><BR><BR><BR><BR><script language='Javascript'>function reload() {location = \"admin.php?pswrd=$password&event=topic&id=$id\"}; setTimeout('reload()', 1000);</script>"; exit;

} else { // if ($newru[0]==$rubrn) // якщо треба перемістити заявку в другу категорію

$topicxd=$fnomer; $idold=$id; // зберігання параметрів

$deldt=mktime()+$days*86400;

$msg=str_replace("|"," ",$msg);

$id=$newru[2];

$rubrn=$newru[0];

$rubka=$newru[1];

$text="$rubrn|$rubka|$name|$zag|$type|$msg|$date|$deldt|$id|$vip|$key|$today|$gorod|$phone|$timez|$moneyz|$esk|$zaxodu|$size0|$size1|";

// обрізка лишніх символів

$text=stripslashes($text);

$text=htmlspecialchars($text);

$text=str_replace("\r\n", "<br>", $text);

$fp=fopen("$datadir/$id.dat","a+");

flock ($fp,LOCK_EX);

fputs($fp,"$text\r\n");

fflush ($fp);//очищення файлового буфера

flock ($fp,LOCK_UN);

fclose($fp);

@chmod("$datadir/$id.dat", 0644);

$file=file("$datadir/$idold.dat");

$fp=fopen("$datadir/$idold.dat","w");

flock ($fp,LOCK_EX);

for ($i=0; $i< sizeof($file); $i++) { if ($i==$topicxd) {unset($file[$i]);} }

fputs($fp, implode("",$file));

flock ($fp,LOCK_UN);

fclose($fp);

@chmod("$datadir/$idold.dat", 0644);

print "<BR><BR><BR><center><B>Категорія і текст успішно відредаговано.<BR><BR><BR></B><script language='Javascript'>function reload() {location = \"admin.php?pswrd=$password&event=topic&id=$id\"}; setTimeout('reload()', 1000);</script>";

exit;

}

}

}

// - редакт. заяв. і тек

if (isset($_GET['event'])) {

if (($_GET['event']=="add") or ($_GET['event'] =="addlink")) {

// якщо вибрано - редакт. категорії $fnomer - номер ячейки, яку треба замінити.

if (isset($_GET['rd'])) { $rd=$_GET['rd']; $fnomer=$_POST['fnomer'];

$zag=$_POST['zag']; $spros=$_POST['spros']; $predl=$_POST['predl']; $idtopic=$_POST['idtopic'];

$text="$zag|$spros|$predl|$idtopic|";

$text=str_replace("\r\n", "", $text);

$file=file("$datadir/$datafile");

$fp=fopen("$datadir/$datafile","a+");

flock ($fp,LOCK_EX);

ftruncate ($fp,0);//видалення содержимого

for ($i=0;$i< sizeof($file);$i++) {if ($fnomer!=$i) {fputs($fp,$file[$i]);} else {fputs($fp,"$text\r\n");}}

fflush ($fp);//очищення файлого буфера

flock ($fp,LOCK_UN);

fclose($fp);

@chmod("$datadir/$datafile", 0644);

$linesrdt=file("$datadir/$idtopic.dat");

$fp=fopen("$datadir/$idtopic.dat","a+");

flock ($fp,LOCK_EX);

ftruncate ($fp,0);

for ($i=0;$i< sizeof($linesrdt);$i++) {$drdt = explode("|", $linesrdt[$i]); $text1="$drdt[0]|$zag|$drdt[2]|$drdt[3]|$drdt[4]|$drdt[5]|$drdt[6]|$drdt[7]|$drdt[8]|$drdt[9]|$drdt[10]|$drdt[11]|$drdt[12]|$drdt[13]|$drdt[14]|$drdt[15]|$drdt[16]|$drdt[17]|$drdt[18]|"; $text1=str_replace("\r\n", "", $text1); fputs($fp,"$text1\r\n");}

fflush ($fp);

flock ($fp,LOCK_UN);

fclose($fp);

@chmod("$datadir/$idtopic.dat", 0644);

Header("Location: admin.php?pswrd=$password"); exit; }

}

} // if isset($event)

$shapka="<html><head>

<title>Адмін панель - $brdname</title>

<META HTTP-EQUIV='Pragma' CONTENT='no-cache'>

<META HTTP-EQUIV='Cache-Control' CONTENT='no-cache'>

<META content='text/html; charset=windows-1251' http-equiv=Content-Type>

<LINK href='images/$brdskin/style.css' rel=stylesheet type=text/css>

</head><body bgcolor=#F3F3F3><center>

<table width=100% cellpadding=1 cellspacing=0 border=1 bordercolor=#666666>

<TR height=30><TD align=center style='FONT-SIZE: 13px; FONT-WEIGHT: bold'>

<b><a href='admin.php?pswrd=$password'>Головна адмінки</font></a> ::

<a href='admin.php?pswrd=$password&event=revolushion'>Перерахувати лічильники</a> ::

<a href='admin.php?pswrd=$password&event=config'>Параметри</a> ::

<a href='admin.php?pswrd=$password&event=userwho'>Користувачі</a> ::

<a href='index.php'>Головна сторінка сайту</a></b>

</td></tr>

<tr><td width=100%>

";

if(!isset($_GET['event'])) {

// Показ всіх категорій

$lines = file("$datadir/$datafile");

$data1size = sizeof($lines); $i = count($lines);

if ($i>0) {

$toper="

<BR><TABLE align=center cellPadding=2 cellSpacing=1 width=98%>

<TR align=center class=smallest bgColor=#cccccc><TD width=5%><B>№</B></TD><TD width=80%><B>Категорії</B></TD><TD width=5%><B>Кількість</B></TD><TD colspan=4 width=15%><B>Операції</B></TD></TR>";

print"$shapka <TABLE cellPadding=2 cellSpacing=0 width=100%><tr height=25 align=center><TD width=50%> $toper";

if (isset($_GET['page'])) {$page=$_GET['page'];} else {$page="0";}

$a1="0";

do {$dt = explode("|", $lines[$a1]);

$halfrubsize=round($data1size/2); // скільки категорій в кождому столбці

if ($a1==$halfrubsize) {print "</table></td><td align=center width=50%>$toper";}

$a1++;

$numpp=$a1-1;

if ($dt[1]!="R") {$add="<UL><a href=\"admin.php?pswrd=$password&event=topic&id=$dt[0]\">$dt[1]</a>";} else {$add="

<B>$dt[2]</B>";}

$kolvo=$dt[2]+$dt[3];

print"<tr align=center>

<td><font size=-1>$a1</font></td>

<td align=left>$add</td>

<td><font size=-1>$kolvo</font></td>

<td width=10 bgcolor=#A6D2FF><B><a href='admin.php?pswrd=$password&movetopic=$numpp&where=1'>Вв.</a></B></td>

<td width=10 bgcolor=#DEB369><B><a href='admin.php?pswrd=$password&movetopic=$numpp&where=0'>Нз.</a></B></td>

<td bgcolor=#00E600><B><a href='admin.php?pswrd=$password&rd=$numpp'>.P.</a></B></td><td width=5% bgcolor=#FF6C6C><B><a href='admin.php?pswrd=$password&xd=$numpp'>.X.</a></B>

</td></tr>";

} while($a1 < $i);

} else {print"<center><B>Добавити категорії - файл БД пустий!</B></center>";}

print "</table></tr></td></table>";

// мітка .Р.

if (isset($_GET['rd'])) { $rd=$_GET['rd']; $dt = explode("|", $lines[$rd]);

print "<BR><center><table><tr><td valign=top>

<B>Категорія</td><td>

<form action='admin.php?pswrd=$password&event=add&rd=$rd' method=post name=REPLIER>

<input type=text value=\"$dt[0]\" name=zag size=50><br><br>

<input type=hidden name=spros value=\"$dt[1]\">

<input type=hidden name=predl value=\"$dt[2]\">

<input type=hidden name=idtopic value=\"$dt[3]\">

<input type=hidden name=fnomer value=\"$rd\">

<center><input type=submit value='Змінити категорію'></form>

</td></tr></table>

<SCRIPT language=JavaScript>document.REPLIER.zag.focus();</SCRIPT><BR></td></tr></table>"; }

else {

print "<center><BR><form action=?pswrd=$password&newrubrika=add method=post name=REPLIER>

Додати категорію: &nbsp;&nbsp;&nbsp;<input type=text name=zag size=40> <input type=submit value='Додати'></form>

<SCRIPT language=JavaScript>document.REPLIER.zag.focus();</SCRIPT>";

// 10-20 останіх заявок

$shapka20="<TABLE align=center border=1 bordercolor='#E1E1E1' cellPadding=3 cellSpacing=0 width=100%>";

if (is_file("$datadir/newmsg.dat")) { // провірка

$linesn = file("$datadir/newmsg.dat"); $in=count($linesn);

if ($in > 0) {

$newdat=file("$datadir/newmsg.dat");

$in=count($newdat)-1; $iall=$in; $ia=$in+1;

print"<TABLE cellPadding=2 cellSpacing=1 align=center width='98%'>

<TR bgColor=#cccccc height=18><TD colspan=4 align=center><B>Отсанні $ia заявки:</B></TD></TR>

<TR><TD valign=top> $shapka20";

do {$dtn=explode("|", $newdat[$in]);

$url="index.php?event=view&id=$dtn[8]&msnum=$dtn[10]";

$dtn[5]=substr($dtn[5],0,150); // обрізка до 150 символів

$dtn[5]=str_replace("<br>","\r\n",$dtn[5]);

$dtn[7]=date("H:i",$dtn[7]);

if ($dtn[4]=="Н") {$colorsp="#ff3333";} else {$colorsp="#1414CD";}

if (round($iall/2)==($in+1)) {print"</table></td><td valign=top width=50%>$shapka20";}

$st1=""; $st2="";

print"

<TR height=20>

<td width=5% bgcolor=#FF6C6C><B><a href='admin.php?pswrd=$password&tenxd=$in'>.X.</a></B></td>

<TD><FONT color=$colorsp><B>$dtn[4]</B></FONT></TD>

<TD>$dtn[7]</TD>

<TD width=100%>$st1<A href='$url' title='$dtn[5] \r\r\n $st2 розміщено $dtn[6] р.'>$dtn[3]</A></TD>

</TR>";

$in--;

} while($in >"-1");

print"</table></td></tr></table>";

}

}

print"<div align=left>&nbsp; Операції для категорій: <BR>

&nbsp; <B>Вв.</B> - перемістити <B>ВВЕРХ</B>;<BR>

&nbsp; <B>Нз.</B> - перемістити <B>ВНИЗ</B>;<BR>

&nbsp; <B>.Р.</B> - <B>РЕДАГУВАТИ</B>;<BR>

&nbsp; <B>.Х.</B> - <B>ВИДАЛИТИ</B>.<BR><BR>

</td></tr></table>"; }

} // if !isset($event')

else {

if ($_GET['event'] == "topic") {

if (!isset($_GET['id'])) {print "ERROR!"; exit; } else {$id=$_GET['id'];}

if (is_file("$datadir/$id.dat")) {

$lines = file("$datadir/$id.dat"); $i=count($lines);

if ($i > 0) {

$dtsize = sizeof($lines);

$itogos="0"; //

if (isset($_GET['page'])) {$page=$_GET['page'];} else {$page="0";}

if ($i-$page-$qq>="0") {$a1=$i-$page; $u=$a1-$qq;} else {$a1=$i-$page; $u=0;}

print"$shapka <TABLE cellPadding=2 cellSpacing=0 width=100%><tr height=25 align=center><TD width=50%>";

$dtt=explode("|",$lines[0]);

$tdt=explode("[ktname]", $dtt[1]); $razdel=$tdt[1]; $rubrika=$tdt[0];

print"<BR><h3>$razdel --> $rubrika</h3><TABLE bgColor=#aaaaaa cellPadding=2 cellSpacing=1 width=98% align=center><TBODY>

<TR class=small align=center bgColor=#cccccc>

<TD><small><B>№ </B></small></TD>

<TD><IMG height=16 src='images/blank.gif' border=0 width=11></TD>

<TD width=50%><B>Назва / частина заявки</B></TD>

<TD width=15%><B>Ім'я</B></TD>

<TD width=10%><B>Дата створення заявки</B></TD>

<TD width=20%><B>Дата видалення заявки</B></TD>

<TD width=5%><B>Р</B></TD>

<TD width=5%><B>Х</B></TD>

</TR>";

do {$a1--; $dt=explode("|",$lines[$a1]);

if ($a1>=0)

{

$deldate=date("d.m.Y",$dt[7]);

$tekdt=mktime();

$deldays=round(($dt[7]-$tekdt)/86400);

if ($dt[7]<$tekdt) {$listxd="$a1"; exit;}

if ($dt[4]=="Н") {$colorsp="#ff3333";} else {$colorsp="#1414CD";}

$numpp=$a1+1;

$numanti=$i-$numpp+1;

$stroka=substr($dt[5],0,$msglength);

$addvip="#FFFFFF";

print "<TR height=28 class=small bgColor=$addvip>

<TD><B>$numanti</B></TD>

<TD><FONT color=$colorsp><B>$dt[4]</B></FONT></TD>

<TD><A class=listlink href='index.php?fid=$id&id=$dt[10]'>$dt[3]</A><BR><small>$stroka</small></TD>

<TD><A class=listlink href='tools.php?event=profile&pname=$dt[2]'><small>$dt[2]</small></A></TD>

<TD><small>$dt[6]</small></TD>

<TD><small>$deldate - через <B>$deldays</B> днів </small></TD>

<td width=10 bgcolor=#22FF44><B><a href='admin.php?pswrd=$password&event=topic&id=$id&topicrd=$a1'>.P.</a></B></td>

<td width=10 bgcolor=#FF2244><B><a href='admin.php?pswrd=$password&id=$id&msgtype=$dt[4]&topicxd=$a1&page=$page'>.X.</a></B></td>

</TR>

";

if (is_file("$datadir/$dt[10].dat")) { print"<TR class=small bgColor=$addvip><TD>&nbsp;</TD><TD>&nbsp;</TD><TD colspan=7>";

$klines = file("$datadir/$dt[10].dat"); $ik=count($klines);

for ($z=0;$z<sizeof($klines);$z++) {$dtk=explode("|",$klines[$z]); print "

<table><tr><td width=10 bgcolor=#FF2244><B><a href='admin.php?pswrd=$password&id=$id&flname=$dt[10]&remxd=$z&page=$page'>.X.</a></B></td><td>

Ім'я: <B>$dtk[0]</B> Емайл: <B>$dtk[1]</B> Коментарій: <B>$dtk[2]</B> Оцінка: $dtk[4]</td></tr></table>";}

print "</TD></TR>";

}

}

if ($dt[4]=="Н") {$itogos++;}

} while($a1 > $u);

$itogop=$i-$itogos;

print "</TBODY></TABLE><BR><TABLE cellPadding=0 cellSpacing=0 width=98%><TBODY><TR>

<TD align=left width=50%>Сторінки:&nbsp; ";

for($pi=0; $pi<$i;) {$ii=1+$pi/$qq; if ($page==$pi) {print "<B>$ii</B></a>&nbsp;&nbsp;";} else {print "<a href=\"admin.php?pswrd=$password&event=topic&id=$id&page=$pi\"><B>$ii</B></a>&nbsp;&nbsp;";} $pi=$pi+$qq;}

print "<TD align=right width=50%>Всього заявок: <B>$i</B>. </TD>

</TD></TR></TBODY></TABLE>";

}

else {print "$shapka <center><font size=2><BR><BR>Заявок немає.<BR><BR><a href='add.php'>Додати заявку</a><BR><BR><a href='admin.php?pswrd=$password'>Повернутися</a><BR><BR><BR>";}

print "</font></center></td></tr></table><center>";

// .P.

if (isset($_GET['topicrd'])) {

$topicrd=$_GET['topicrd'];

$lines = file("$datadir/$id.dat");

$a1=$topicrd+1;

$u=$a1+1;

do {$a1--; $dt = explode("|", $lines[$a1]); $dt[5]=str_replace("<br>", "\r\n", $dt[5]);} while($a1 > $u);

$deldate=date("d.m.Y",$dt[7]);

$tekdt=mktime();

$deldays=round(($dt[7]-$tekdt)/86400);

print"<center><TABLE bgColor=#aaaaaa cellPadding=2 cellSpacing=1>

<FORM action='admin.php?pswrd=$password&event=rdmsgintopic&topicrd=$topicrd' method=post name=addForm>

<TBODY>

<TR><TD align=middle bgColor=#cccccc colSpan=2>Редагувати заявку</TD>

</TR><TR>";

print "<TD bgColor=#eeeeee>Ваше ім'я:</TD><TD bgColor=#eeeeee><B>$dt[2]</B>

</td></tr><tr><TD bgColor=#eeeeee>Категорія:</TD><TD bgColor=#eeeeee><SELECT name=newrubrika style='FONT-SIZE: 12px; WIDTH: 270px'>";

$tdt=explode("[ktname]", $dt[1]);

$lines=file("$datadir/$datafile"); $imax=count($lines); $i="0"; $r="0";

do {$dtt=explode("|", $lines[$i]);

if ($dtt[1]==$tdt[0]) {$fy="selected";} else {$fy="";}

if ($dtt[1]!="R") {print "<OPTION value=\"$i|$dtt[0]|$r|$dtt[1]|\"$fy>&nbsp;&nbsp; - &nbsp; $dtt[1]</OPTION>\r\n";}

else {$r=$dtt[2]; print "<OPTION value='0|||||' style='color: #CD8181;'>$dtt[2]</OPTION>\r\n";}

$i++;

} while($i < $imax);

print "</SELECT></TD></TR>

<TR><TD bgColor=#ffffff>Назва:<FONT color=#ff0000>*</FONT><BR>(не більше 100 символів)</TD>

<TD bgColor=#ffffff><INPUT name=zag value=\"$dt[3]\" style='FONT-SIZE: 14px; WIDTH: 300px'></TD></TR>

<TR><TD bgColor=#eeeeee>Мітка:<FONT color=#ff0000>*</FONT></TD>

<TD bgColor=#eeeeee>";

if ($dt[4]=="Н") {print "<INPUT name=type type=radio value='Н'checked>Не виконано <INPUT name=type type=radio value='В'>Виконано";}

else {print "<INPUT name=type type=radio value='Н'>Не виконано <INPUT name=type type=radio value='В'checked>Виконано ";}

print "</TD></TR>

<TR><TD bgColor=#ffffff name=msg>Текст:</TD>

<TD bgColor=#ffffff><TEXTAREA name=msg style='FONT-SIZE: 14px; HEIGHT: 200px; WIDTH: 300px'>$dt[5]</TEXTAREA></TD></TR>

<TR><TD bgColor=#eeeeee>Дата і час настання аварії:<FONT color=#ff0000>*</FONT><BR></TD>

<TD bgColor=#eeeeee><INPUT name=timez value=\"$dt[14]\" style='FONT-SIZE: 14px; WIDTH: 300px'></TD></TR>

<TR><TD bgColor=#ffffff>Економічні втрати від аварії:<FONT color=#ff0000>*</FONT><BR></TD>

<TD bgColor=#ffffff><INPUT name=moneyz value=\"$dt[15]\" style='FONT-SIZE: 14px; WIDTH: 300px'></TD></TR>

<TR><TD bgColor=#eeeeee>Тривалість простою об'єкта від<br> початку аварії до введення <br>в експлуатацію, годин або діб: <FONT color=#ff0000>*</FONT><BR></TD>

<TD bgColor=#eeeeee><INPUT name=esk value=\"$dt[16]\" style='FONT-SIZE: 14px; WIDTH: 300px'></TD></TR>

<TR><TD bgColor=#ffffff>Заходи, запропоновані комісією<br> з розслідування причин аварії:<FONT color=#ff0000>*</FONT><BR></TD>

<TD bgColor=#ffffff><INPUT name=zaxodu value=\"$dt[17]\"

style='FONT-SIZE: 14px; WIDTH: 300px'></TD></TR>

<TR><TD bgColor=#eeeeee>Термін розміщення заявки:</TD>

<TD bgColor=#eeeeee><SELECT name=days style='FONT-SIZE: 12px'>

<OPTION value=$deldays>ще $deldays днів</OPTION>

<OPTION value=10>7 днів</OPTION>

<OPTION value=15>14 днів</OPTION>

<OPTION value=30>30 днів</OPTION>

<OPTION value=60>60 днів</OPTION>

<OPTION value=90>90 днів</OPTION>

<OPTION value=365>365 днів</OPTION></SELECT>

</TD></TR>

<BR><input type=hidden name=rubrn value=\"$dt[0]\">

<input type=hidden name=rubka value=\"$dt[1]\">

<input type=hidden name=name value=\"$dt[2]\">

<input type=hidden name=id value=\"$id\">

<input type=hidden name=fnomer value=\"$topicrd\">

<input type=hidden name=vip value=\"$dt[9]\">

<input type=hidden name=key value=\"$dt[10]\">

<input type=hidden name=today value=\"$dt[11]\">

<input type=hidden name=gorod value=\"$dt[12]\">

<input type=hidden name=phone value=\"$dt[13]\">

<input type=hidden name=size1 value=\"$dt[18]\">

<TR><TD colspan=2 bgColor=#eeeeee align=middle><INPUT style='FONT-SIZE: 10px; HEIGHT: 20px; WIDTH: 100px' type=submit value=зберегти></TD></TR>

</FORM></TBODY></TABLE>

<SCRIPT language=JavaScript>document.addForm.msg.focus();</SCRIPT><BR>";

}

}

}

//перегляд користувачів

if ($_GET['event']=="userwho") {

$userlines=file("$datadir/usersdat.php");

$ui=count($userlines); $i="1";

$t1="#FFFFFF"; $t2="#EEEEEE";

print"$shapka <BR><table border=1 width=98% align=center cellpadding=3 cellspacing=0 bordercolor=#DDDDDD class=forumline><tr bgcolor=#BBBBBB height=25 align=center>

<td><B>.X.</B></td>

<td><B>Ім'я</B></td>

<td><B>Пароль</B></td>

<td><B>E-mail</B></td>

<td><B>WWW</B></td>

<td><B>Організація</B></td>

<td><B>IP</B></td>

<td><B>Статус</B></td>

</tr>";

do {$tdt=explode("|", $userlines[$i]); $i++;

if ($tdt[10]=="ok") {$user1="<font color=#AAAAAA>звичайний</font>"; $user2="<input type=text name=addvip value='30' style='width: 30px' size=18 maxlength=3><input type=submit name=submit value=' + ' style='width: 20px'>";

} else {

$user1="<font color=#AAAAAA>звичайний</font>";

$vipdays="термін вийшов";

}

print"<tr bgcolor=$t1>

<td align=center><table><tr><td width=10 bgcolor=#FF2244><B><a href='admin.php?pswrd=$password&xduser=$i'>.X.</a></B></td></tr></table></td>

<td><a href=\"tools.php?event=profile&pname=$tdt[0]\">$tdt[0]</a></td>

<td align=center>$tdt[1] &nbsp;</td>

...

Подобные документы

  • Функції обліку зайнятості аудиторії. Створення програмного модуля, який виконуватиме формування електронного реєстру та презентацію вільних та зайнятих аудиторій. Призначення та область застосування програмного продукту. Опис інтерфейсу, тестування.

    курсовая работа [460,5 K], добавлен 21.05.2016

  • Формування електронного реєстру та презентація обліку зайнятості населення. Основні завдання обліку зайнятості (біржі праці). Обґрунтування доцільності створення програмного модуля. Вимоги до програмного продукту. Тестування програмного продукту.

    курсовая работа [399,7 K], добавлен 30.04.2016

  • Дослідження середовища проектування та інструментів LabView: створення, редагування і відладка віртуальних інструментів, панелей, надписів. Логіко-функціональна схема роботи користувача, опис інтерфейсу програми. Економічна доцільність розробки продукту.

    дипломная работа [1,6 M], добавлен 26.10.2012

  • Особливості роботи ресторану та необхідність автоматизації процесів документообігу. Вимоги до продукту, вид інтерфейсу для користувача, додаткові функції при роботі з базою даних та веденням обліку. Вибір операційної системи та її основних компонентів.

    курсовая работа [310,6 K], добавлен 18.09.2012

  • Головні принципи візуального програмування, опис компонентів Delphi, використаних при розробці проекту. Опис програми-додатку "Психологічний тест" та список дій користувача. Алгоритм роботи програми, її форма та ієрархія. Опис графічного інтерфейсу.

    курсовая работа [1,2 M], добавлен 08.06.2010

  • Основні завдання синоптичної метеорології. Призначення та область застосування програмного продукту "Статистика метеоспостережень", функціональні вимоги до нього. Інформаційне забезпечення, структура, опис інтерфейсу. Тестування програмного продукту.

    курсовая работа [3,6 M], добавлен 30.04.2016

  • Створення програмного модуля, який виконуватиме формування електронного підручника та презентацію тестів з пройденого матеріалу по темах, визначених користувачем. Склад та призначення програмних компонентів модуля Unit1.cpp., опис інтерфейсу додатку.

    курсовая работа [381,2 K], добавлен 06.05.2016

  • Вибір методів та засобів створення інформаційної системи для обліку і перегляду продукції на складі. Розробка моделі даних для реляційної бази даних, прикладного програмного забезпечення. Тестування програмного додатку, виявлення можливих проблем.

    курсовая работа [1,1 M], добавлен 22.09.2015

  • Мета створення інформаційних систем обліку, їх роль в управлінні економічним об'єктом. Характеристика та типи облікових задач, що підлягають автоматизації. Програмне забезпечення обліку праці та її оплати засобами універсального програмного продукту.

    контрольная работа [40,1 K], добавлен 05.07.2015

  • Загальна характеристика методів проектування та документації додатків. Розробка інтерфейсу програми для медичного діагностичного центру. Вибір архітектури. Описання логічної структури програми. Розробка структури бази даних проекту, полів таблиць.

    курсовая работа [2,0 M], добавлен 21.08.2015

  • Аналіз інформаційних потоків підприємства торгівлі. Обґрунтування необхідності автоматизації складського обліку автозапчастин. Вимоги до архітектури і продуктивності клієнтської системи. Розробка модулів, алгоритмів, структури даних, інтерфейсу програми.

    дипломная работа [1,6 M], добавлен 12.04.2012

  • Огляд існуючих програмних продуктів. Проходження процедури реєстрації. Побудова та опис логічної моделі. Розробка основних форм інтерфейсу користувача. Тестування методом чорної скриньки. Інсталяція серверної частини системи та клієнтських програм.

    курсовая работа [1,8 M], добавлен 03.06.2021

  • Опис структур даних та вмісту файлів з вхідними, вихідними даними. Проектування програми автоматизації процесу обліку (поставки та видачі) товарів для невеликого магазину. Математична постановка основних задач. Опис програмного інтерфейсу з користувачем.

    курсовая работа [526,9 K], добавлен 07.10.2014

  • Особливості системи онлайн-агрегаторів новин, універсальної програмної платформи Microsoft Window. Використання мови програмування C#, створення бази даних. Розробка програмного продукту, алгоритм його створення. Вихідний код та інструкція користувача.

    дипломная работа [730,9 K], добавлен 21.01.2016

  • Розробка системи, призначеної для автоматизації процесу реєстрації користувачів (студентів-першокурсників) в базі даних Active Directory. Інформаційне, програмне та технічне забезпечення проекту. Керівництво користувача та системного програміста.

    курсовая работа [603,6 K], добавлен 19.11.2013

  • Розробка іспитового стенда для лабораторії, визначення тривалості робіт, ресурсів на її виконання. Характеристика параметрів моделі до оптимізації. Очікувана тривалість робіт за проектом. Причини та критерії оптимізації моделі. Розрахунок бюджету проекту.

    контрольная работа [1,1 M], добавлен 09.11.2015

  • Формування електронного реєстру та презентацію готелів по країнах (регіонах) та містах, визначених користувачем. Структура даного програмного продукту, опис інтерфейсу з користувачем, план тестування, інструкція по експлуатації, функціональні вимоги.

    курсовая работа [199,9 K], добавлен 30.04.2016

  • Аналіз практиці впровадження електронного журналу у школі з виконанням автоматизованої обробки аналізу успішності учнів. Створення програмного забезпечення для ведення електронного обліку успішності школярів за допомогою Microsoft Visual Studio 2008.

    курсовая работа [2,9 M], добавлен 01.12.2010

  • Проектування бази даних реєстрації та ведення обліку автомобілів в ДАІ на прикладі київського МРЕВ ДАІ за допомогою SQL Oracle. Опис інформаційної структури ПО з використанням діючих бізнес-правил та визначенням сутностей, їх атрибутів та зв'язків.

    курсовая работа [159,3 K], добавлен 05.12.2012

  • Огляд існуючого програмного забезпечення для управління дистанційним навчанням. Структура системи дистанційного навчання Moodle, її встановлення та налаштування. Розрахунок експлуатаційних витрат і показників економічного ефекту від розробки проекту.

    дипломная работа [2,1 M], добавлен 16.02.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.