/*
Для перехода в режим показа ссылок удаления записей,
добавьте в строку url броузера ?radmin или &radmin
Пример:
ссылка гостевой - http://сайт/gb/gb.php
показ в режиме редактирования - http://сайт/gb/gb.php?radmin
или
ссылка гостевой - http://сайт/gb/gb.php?page=2
показ в режиме редактирования - http://сайт/gb/gb.php?page=2&radmin
*/
//--Измените значения этих переменных на свои!
// Титульная надпись
$title = "Гостевая книга";
// Пароль на удаление записей
$admin_password = "123";
// Ваш email на него будут приходить оповещения о добавлении записей в гостевую книгу
$admin_email = "адрес@администратора.ru";
// Ваш сайт
$home = "/";
//Будет ли отправляться уведомление на Ваш email, при добавлении записи (выберите YES или NO)
$notify = "YES";
//Система (выберите WIN или UNIX)
$os = "UNIX";
//количество записей на странице
$max_entry_per_page = "10";
//Максимальное количество записей
$max_record_in_data_file = "500";
//Цветовые настройки
$background = "#ffffff";
$table_top = "#ffffff";
$table_content_1a = "#ffffff";
$table_content_1b = "#ffffff";
$table_content_2a = "#ffffff";
$table_content_2b = "#ffffff";
$table_bottom = "#faebd7";
$table_border = "#faebd7";
$title_color = "#000000";
$title_color = "#000000";
$link = "red";
$visited_link = "red";
$active_link = "red";
//-- Ниже, до , код не изменяйте!
if (!defined('PMA_GRAB_GLOBALS_INCLUDED')) {
define('PMA_GRAB_GLOBALS_INCLUDED', 1);
if (!empty($_GET)) extract($_GET);
else if (!empty($HTTP_GET_VARS)) extract($HTTP_GET_VARS);
if (!empty($_POST)) extract($_POST);
else if (!empty($HTTP_POST_VARS)) extract($HTTP_POST_VARS);
}
if (!isset($PHP_SELF)) $PHP_SELF = $_SERVER["PHP_SELF"];
if (!isset($do)) $do = "";
if (!isset($page)) $page=1;
if (isset($data_file)) {
exit;
} else {
//(Путь)Имя файла записей книги.
$data_file = "gb.txt";
}
if (!file_exists($data_file)) {
if ($f = fopen($data_file,"w")) fclose($f);
else { echo "Ошибка... Не получается создать запись.
"; exit; }
} else {
if ($max_record_in_data_file <> "0"):
$f = file($data_file);
rsort($f);
$j = count($f);
if ($j > $max_record_in_data_file):
$rf = fopen($data_file,"w");
if (strtoupper($os)=="UNIX") {
if (flock($rf,2)):
for ($i=0; $i<$max_record_in_data_file; $i++):
fwrite($rf,$f[$i]);
endfor;
flock($rf,3);
endif;
} else {
for ($i=0; $i<$max_record_in_data_file; $i++):
fwrite($rf,$f[$i]);
endfor;
}
fclose($rf);
endif;
endif;
}
switch ($do) {
case "":
$record = file($data_file);
rsort($record);
$jmlrec = count($record);
//-- Ниже код изменяйте очень аккуратно!
?>
" link="" vlink="" alink="" topmargin="0" marginheight="0">
 |
">
"><:: ">">Главная ::>
|
">Добавить запись
| "> |
$jml_page = intval($jmlrec/$max_entry_per_page);
$sisa = $jmlrec%$max_entry_per_page;
if ($sisa > 0) $jml_page++;
$no = $page*$max_entry_per_page-$max_entry_per_page;
if ($jmlrec == 0) echo "| нет записей в гостевой книге | ";
$w = 0; //--Color
for ($i=0; $i<$max_entry_per_page; $i++):
$no++;
$recno = $no-1;
if (isset($record[$recno])):
$row = explode("|~~|",$record[$recno]);
if ($w==0) { $warna = $table_content_1a; $warna2 = $table_content_1b; $w=1; } else { $warna = $table_content_2a; $warna2 = $table_content_2b; $w=0; }
echo "| $no | $row[1] $row[2]";
if (trim($row[4])<>"" and trim($row[4])<>"http://") echo " - Мой сайт";
echo "$row[3] | ";
echo "";
if(isset($radmin)) echo " ";
echo " | ";
endif;
endfor;
echo "| ";
if ($jml_page > 1) {
if ($page <> 1) echo "[<<] "; else echo "[<<] ";
echo "Страница # ";
if ($jml_page > 10) {
if ($page < 5) {
$start = 1;
$stop = 10;
} elseif ($jml_page - $page < 5) {
$start = $jml_page - 9;
$stop = $jml_page;
} else {
$start = $page-4;
$stop = $page+5;
}
if ($start <> 1) echo "... ";
for ($p=$start; $p<=$stop; $p++):
if ($p == $page) echo "$p ";
else echo "$p ";
endfor;
if ($stop <> $jml_page) echo "... ";
echo "из $jml_page ";
} else {
for ($p=1; $p<=$jml_page; $p++):
if ($p == $page) echo "$p ";
else echo "$p ";
endfor;
}
if ($page <> $jml_page) echo "[>>]"; else echo "[>>]";
} else echo "Страница #1 из 1";
echo " | ";
?>
|
break;
case "add_form":
?>
">
break;
case "add":
if (trim($vname)=="" or trim($vcomment=="")) {
echo "Ошибка!
Не заполнены обязательные поля. Пожалуйста вернитесь чтобы исправить.";
exit;
}
$test_comment = explode(" ",$vcomment);
$jmltest = count($test_comment);
for ($t=0; $t<$jmltest; $t++) {
if (strlen(trim($test_comment[$t])) > 40) {
echo "Ошибка!
Не злоупотребляйте. Вернитесь, чтобы исправить.";
exit;
}
}
$idx = date("YmdHis");
$tgl = date("F d, Y - h:i A");
$vname = str_replace("<","",$vname);
$vname = str_replace(">","",$vname);
$vname = str_replace("~","-",$vname);
$vname = str_replace("\"",""",$vname);
$vcomment = str_replace("<","<",$vcomment);
$vcomment = str_replace(">",">",$vcomment);
$vcomment = str_replace("~","-",$vcomment);
$vcomment = str_replace("\"",""",$vcomment);
$vcomment = str_replace("\r\n","
",$vcomment);
$vurl=str_replace("'","",$vurl);
$vurl=str_replace('"',"",$vurl);
$vurl=str_replace("@","",$vurl);
$vurl=str_replace("~","",$vurl);
$vurl=str_replace("<","",$vurl);
$vurl=str_replace(">","",$vurl);
$newdata = "$idx|~~|$tgl|~~|$vname|~~|$vcomment|~~|$vurl\n";
$newdata = stripslashes($newdata);
$cekdata = file($data_file);
$jmlcekdata = count($cekdata);
if ($jmlcekdata > 0):
rsort($cekdata);
if ($jmlcekdata > 3):
$newrow = explode("|~~|",$newdata);
$jmlentry = 0;
for ($c=0; $c<3; $c++):
$cekrow = explode("|~~|",$cekdata[$c]);
if ($cekrow[3] == $newrow[3] or ($cekrow[2] == $newrow[2] and $cekrow[4] == $newrow[4])) $jmlentry++;
endfor;
if ($jmlentry < 3) $bagus = true; else $bagus = false;
endif;
endif;
$bagus = true;
if ($bagus):
$tambah = fopen($data_file,"a");
fwrite($tambah,$newdata);
fclose($tambah);
//--SEND MAIL
if (strtoupper($notify)=="YES") {
$msgtitle = "Кто-то добавил запись в Вашу гостевую!";
$vcomment = str_replace(""","\"",$vcomment);
$vcomment = stripslashes($vcomment);
$msgcontent = "Время: $tgl\n\nЗапись от $vname:\n---------------------\n\n$vcomment\n\n-----------------";
$msgcontent=convert_cyr_string(stripslashes($msgcontent),w,k);
$msgtitle=convert_cyr_string(stripslashes($msgtitle),w,k);
$headers="From: $vemail\n";
//$headers.="Content-Type: text/plain; charset=Windows-1251\n";
$headers.="Content-Type: text/plain; charset=koi8-r\n";
@mail($admin_email,$msgtitle,$msgcontent,$headers);
}
//-----------
endif;
if (isset($SERVER_SOFTWARE) && ereg("IIS",$SERVER_SOFTWARE)) {
header("Refresh: 0; URL=$PHP_SELF");
echo "Спасибо, Ваша запись добавлена.
Пожалуйста, подождите...";
} else echo "Спасибо, Ваша запись добавлена.
Пожалуйста, подождите...";
break;
case "del":
$record = file($data_file);
$jmlrec = count($record);
for ($i=0; $i<$jmlrec; $i++) {
$row = explode("|~~|",$record[$i]);
if ($id == $row[0]) {
echo "
Удаление записи
Подтвердите удаление
$row[1] $row[2] from $row[4] $row[3]$row[5]
|
";
break;
}
}
echo "";
break;
case "del2":
if ($pwd <> $admin_password) {
if (isset($SERVER_SOFTWARE) && ereg("IIS",$SERVER_SOFTWARE)) {
header("Refresh: 0; URL=$PHP_SELF?page=$page");
echo "Неверный пароль!
Пожалуйста, подождите...";
} else {
echo "Неверный пароль!
Пожалуйста, подождите...";
exit;
}
}
$record = file($data_file);
$jmlrec = count($record);
for ($i=0; $i<$jmlrec; $i++) {
$row = explode("|~~|",$record[$i]);
if ($id==$row[0]) {
$record[$i] = "";
break;
}
}
$update_data = fopen($data_file,"w");
if (strtoupper($os) == "UNIX") {
if (flock($update_data,2)) {
for ($j=0; $j<$jmlrec; $j++):
if ($record[$j] <> "") fputs($update_data,$record[$j]);
endfor;
flock($update_data,3);
}
} else {
for ($j=0; $j<$jmlrec; $j++):
if ($record[$j] <> "") fputs($update_data,$record[$j]);
endfor;
}
fclose($update_data);
if (isset($SERVER_SOFTWARE) && ereg("IIS",$SERVER_SOFTWARE)) {
header("Refresh: 0; URL=$PHP_SELF?page=$page");
echo "Запись удалена!
Пожалуйста, подождите...";
} else echo "Запись удалена!
Пожалуйста, подождите...";
break;
} //--end switch
?>