THANKS GOES TO SOFTOVIC FOR THE MOD, AND RUFFNECK FOR TRANSLATING
ADD THE MYSQL INTO YOUR DATABASE
PHP Code:
CREATE TABLE `siteonline` (
`onoff` INT( 1 ) NOT NULL DEFAULT '1',
`reason` VARCHAR( 255 ) NOT NULL DEFAULT '',
`class` INT( 2 ) NOT NULL DEFAULT '6',
`class_name` VARCHAR( 255 ) NOT NULL DEFAULT '',
PRIMARY KEY (`onoff`)
) ENGINE = MYISAM;
INSERT INTO `siteonline` VALUES
(1, 'Under construction', 6, 'SysOP');
NOTE: CHANGE YOUR NUMBER TO MATCH YOUR SYSOP CLASS ON YOUR SITE IN THE MYSQL
IN bittorent.php FIND
PHP Code:
function stdhead($title = "", $msgalert = true) {
global $CURUSER, $SITE_ONLINE, $FUNDS, $SITENAME, $DEFAULTBASEURL
AND ADD THIS UNDERNEATH
PHP Code:
//++++++++++++++++++++++++++++++++++
//******** Моd site close *********
//++++++++++++++++++++++++++++++++++
$res = sql_query("SELECT * FROM siteonline") or sqlerr(__FILE__, __LINE__);//Выбираем значения из базы
$row = mysql_fetch_array($res);
//Переменные для уведомления о закрытии сайта (см stdhead.php)
if ($row["onoff"] !=1){
$my_siteoff = 1;
$my_siteopenfor = $row['class_name'];
}
//
//================================================================================
========//
//$row["onoff"] = 1;//АВАРИЙНЫЙ ВХОД: Раскомментировать строку, если не можете войти !!! //
//================================================================================
======//
if (($row["onoff"] !=1) && (!$CURUSER)){ //Проверяем: закрыт ли сайт и, если гость:
die("<title>Site CLOSED!</title>
<table width='100%' height='100%' style='border: 8px ridge #FF0000'><tr><td align='center'>
<h1 style='color: #CC3300;'>".$row['reason']."</h1>
<h1 style='color: #CC3300;'>
Please, try later...</h1>
<br><center><form method='post' action='takesiteofflogin.php'>
<table border='1' cellspacing='1' id='table1' cellpadding='3' style='border-collapse: collapse'>
<tr><td colspan='2' align='center' bgcolor='#CC3300'>
<font color='#FFFFFF'><b>For Users:</b></font></td></tr>
<tr><td><b>Name:</b></td>
<td><input type='text' size=20 name='username'></td></tr><tr>
<td><b>Password:</b></td>
<td><input type='password' size=20 name='password'></td>
</tr><tr>
<td colspan='2' align='center'>
<input type='submit' value='Gooo!'></td>
</tr></table>
</form></center>
</td></tr></table>");
}
elseif (($row["onoff"] !=1) and (($CURUSER["class"] < $row["class"]) && ($CURUSER["id"] != 1))){ //Проверяем: закрыт ли сайт, класс юзера меньше,
//чем допустимый и не являетесь ли Вы Админом (ID=1)
die("<title>Site CLOSED!</title>
<table width='100%' height='100%' style='border: 8px ridge #FF0000'><tr><td align='center'>
<h1 style='color: #CC3300;'>".$row['reason']."</h1>
<h1 style='color: #CC3300;'>
Please, try later...</h1></td></tr></table>");
}
//++++++++++++++++++++++++++++++++++
//******** Моd site close *********
//++++++++++++++++++++++++++++++++++
MAKE siteonoff.php AND ADD IT TO YOUR ROOT
PHP Code:
<?php
require "include/bittorrent.php";
dbconn();
loggedinorreturn();
if (get_user_class() < UC_SYSOP) {
stdhead("Error!");
$iduser= ($CURUSER["id"]); $addusername = $CURUSER['username']; $link_touser = "<a target='_blank' href='userdetails.php?id=$iduser'>$addusername</a>";//Получаем данные пользователя
write_log("$link_touser is have message:<br>Permission denied! (Попытка входа в Open/Close site).","FF9900","error");//Пишем в лог
stdmsg('Error',"Permission denied!", error);
stdfoot();
die();
}
if ($HTTP_SERVER_VARS["REQUEST_METHOD"] == "POST")
{
if (!$_POST["reason"]){
stdhead("Error!");
stdmsg("Error", "You must add reason!", error);
stdfoot();
die;
}
$reason = sqlesc("".$_POST['reason']."");//Причина отключения
$class = $_POST["class"]; //Номер класса, меньше которого - доступ закрыт
$onoff = $_POST["onoff"];
$cname = $class; //Присваиваем переменной значение из выборки НОМЕР_КЛАССА
//Определяем имена классов, меньше которого - доступ закрыт
switch ($cname) {
case '0':
$cname = "just for USER";
break;
case '1':
$cname = "ust for POWER USER";
break;
case '2':
$cname = "just for VIP";
break;
case '3':
$cname = "ust for COM_VIP";
break;
case '4':
$cname = "just for UPLOADER";
break;
case '5':
$cname = "just for MODERATOR";
break;
case '6':
$cname = "just for ADMINISTRATOR";
break;
case '7':
$cname = "just for SYSOP";
break;
case '8':
$cname = "ust for STAFF LEADER";
break;
case '9':
$cname = "ust for CODER";
break;
case '10':
$cname = "ust for OWNER";
break;
//имя не найдено?
default:
$cname = "for all";
}
$class_name = sqlesc("$cname"); //Имя класса, меньше которого - доступ закрыт
sql_query("UPDATE siteonline SET onoff = $onoff, reason = $reason, class = $class, class_name = $class_name")
or sqlerr(__FILE__, __LINE__);//Записываем новые значения в базу
header("Location: $DEFAULTBASEURL/siteonoff.php");
}
stdhead("Open / Close site");
$res = sql_query("SELECT * FROM siteonline") or sqlerr(__FILE__, __LINE__);//Выбираем значения из базы
$row = mysql_fetch_array($res); //
if ($row["onoff"] !=1){
$stroka = ("<td colspan='2' class=myhighlight style='padding:4px; background-color: #FF0000; color:#FFFFFF'>
<b>Site CLOSED</b>! Class access: <b>".$row['class']."</b> (Access ".$row['class_name'].").
Your class: <b>".$CURUSER['class']."</b>.</td>");
}
else {
$stroka = ("<td colspan='2' class=myhighlight style='padding:4px; background-color: #EAFFD5; color:#008000'>
<b>Site right now is ОPEN</b>! Access is have all classes.
Your class: <b>".$CURUSER['class']."</b>.</td>");
}
?>
<form method="POST" action="siteonoff.php">
<table border="1" cellspacing="0" cellpadding="0" style="border-collapse: collapse">
<tr>
<td class=colhead><center><font size='3'>:: OPEN site : CLOSE site ::</font></center></td>
</tr><tr><td><table border="0" cellspacing="1">
<tr><td class=embedded>
<table border="0" cellspacing="2"><tr><?=$stroka?></tr><tr>
<td class=embedded colspan="2" height="3"></td></tr><tr>
<td class=colhead> MESSAGE FOR CLOSE SITE (allow HTML):</td>
<td class=colhead></td></tr><tr>
<td class=embedded valign="top">
<textarea rows="9" name="reason" cols="60"><?=($row["reason"])?></textarea></td>
<td class=embedded align="left" valign="top">
<table border="0" cellspacing="1" id="table1" align="left">
<tr><td class=embedded height="2" colspan="2"></td></tr>
<tr><td class=colhead colspan="2"> SITE RIGHT NOW:</td></tr><tr>
<td class=myhighlight width="50%"><b><font color=green> OPEN</font></b><input type="radio" name="onoff" <?=($row["onoff"] == "1" ? "checked" : "")?> value="1"></td>
<td class=myhighlight width="50%"><b><font color=red> Close</font></b><input type="radio" name="onoff" <?=($row["onoff"] == "0" ? "checked" : "")?> value="0"></td>
</tr><tr><td class=embedded height="5" colspan="2"></td></tr><tr>
<td class=colhead colspan="2"> ACCESS IS HAVE:</td></tr><tr>
<td class=myhighlight colspan="2">
<select size="1" name="class" " style="<?=($row["onoff"] != 1 ? "color: #FFFFFF; background-color: #FF0000;" : "")?>">
<option <?=($row["class"] == "10" ? "selected" : "")?> value="10">OWNER</option>
<option <?=($row["class"] == "9" ? "selected" : "")?> value="9">CODER</option>
<option <?=($row["class"] == "8" ? "selected" : "")?> value="8">STAFFLEADER</option>
<option <?=($row["class"] == "7" ? "selected" : "")?> value="7">SYSOP</option>
<option <?=($row["class"] == "6" ? "selected" : "")?> value="6">ADMINISTRATOR</option>
<option <?=($row["class"] == "5" ? "selected" : "")?> value="5">MODERATOR</option>
<option <?=($row["class"] == "4" ? "selected" : "")?> value="4">UPLOADER</option>
<option <?=($row["class"] == "3" ? "selected" : "")?> value="3">COM_VIP</option>
<option <?=($row["class"] == "2" ? "selected" : "")?> value="2">VIP</option>
<option <?=($row["class"] == "1" ? "selected" : "")?> value="1">POWER USER</option>
<option <?=($row["class"] == "0" ? "selected" : "")?> value="0">USER</option>
</select>
</td></tr><tr><td class=embedded height="5" colspan="2"></td></tr><tr>
<td class=embedded colspan="2">
<p align="center"><input type="submit" value="SAVE"></p></td></tr></table></td></tr>
</table></td></tr></table></td></tr></table>
</form>
<?
stdfoot();
?>
CHANGE THE NUMBERS AND CLASSES TO MATCH WHAT YOU ARE USING ON YOUR SITE ABOVE
THEN CREATE takesiteofflogin.php AND ADD IT TO YOUR ROOT
PHP Code:
<?
require_once("include/bittorrent.php");
dbconn();
if (!mkglobal("username:password"))
die();
function bark($text)
{
print("<title>Error!</title>");
print("<table width='100%' height='100%' style='border: 8px ridge #FF0000'><tr><td align='center'>");
print("<center><h1 style='color: #CC3300;'>Error:</h1><h2>$text</h2></center>");
print("<center><INPUT TYPE='button' VALUE='Back' onClick=\"history.go(-1)\"></center>");
print("</td></tr></table>");
die;
}
if (!$_POST['username'] or !$_POST['password'])
bark("You have not specified username or password!");
$res = sql_query("SELECT id, passhash, secret, enabled, status FROM users WHERE username = " . sqlesc($username));
$row = mysql_fetch_array($res);
if (!$row)
bark("You are not logged in!");
if ($row["status"] == 'pending')
bark("You have not yet activated your account! Activate your account and try again .");
if ($row["passhash"] != md5($row["secret"] . $password . $row["secret"]))
bark("Username or password is incorrect!");
if ($row["enabled"] == "no")
bark("This account has been disabled.");
$peers = sql_query("SELECT COUNT(id) FROM peers WHERE userid = $row[id]");
$num = mysql_fetch_row($peers);
$ip = getip();
if ($num[0] > 0 && $row[ip] != $ip && $row[ip])
bark("This user is active at the moment!");
logincookie($row["id"], $row["passhash"]);
header("Refresh: 0; url='$DEFAULTBASEURL'");
?>
HERE'S AN EXAMPLE