Файл: controllers/blocker.php
Строк: 43
<?php
//     Типы действий:
//     1 - проверить статус;
//     2 - заблокировать;
//     3 - разблокировать
// вернуть -1 - ошибка чтения файла - допилить
session_start();
if (!isset($_SESSION['auth'])) 
{
    die("0");
}
if(isset($_GET["do"])) $do = addslashes(htmlspecialchars(strip_tags(trim($_GET["do"])))); else die("0");
include("../config.php");
function checkState() {
    $f = fopen("../../.htaccess", "r");
    if(!$f)
    {
      return "-1";
    }
    else
    {
        while(!feof($f)) 
        { 
            $text = $text.fgets($f);
        }
    }
    fclose($f);
    if(stripos($text, "santi-block"))
    {
        return "true";
    }
    else
    {
        return "false";
    }
}
function block() {
    $f = fopen("../../.htaccess", "a");
    fwrite($f, "# santi-blocknRewriteEngine onnRewriteCond %{REQUEST_URI} !santi/*nRewriteCond %{REMOTE_ADDR} !^123.123.123.123nRewriteRule $ /".SANTI_PATH."/block/index.php [R=302,L]n# /santi-block");
    fclose($f);
    return true;
}
function unblock() {
    $f = fopen("../../.htaccess", "r");
    if(!$f)
    {
      return "-1";
    }
    else
    {
        while(!feof($f)) 
        { 
            $text = $text.fgets($f);
        }
    }
    fclose($f);
    $start = stripos($text, "# santi-block");
    $end = stripos($text, "# /santi-block");
    $length = $end - $start + 14;
    $f = fopen("../../.htaccess", "w+");
    fwrite($f, substr_replace($text, '', $start, $length)); 
    fclose($f);
    return true;
}
switch ($do)
{
    case "1": 
    {
        die(checkState());
    } break;
    case "2": 
    {
        die(block());
    } break;
    case "3": 
    {
        die(unblock());
    } break;
}
?>