Вход Регистрация
Файл: controllers/database.php
Строк: 125
<?php

if(file_exists("flatfile.php"))
{    
    if(!
defined('SANTI_NAME'))
    {
        
session_start();

        include(
"../config.php");
    }

    if (!isset(
$_SESSION['auth']))        
        die(
"0");

    include(
"flatfile.php");
}
else
{
    if(!
defined('SANTI_NAME'))
    {
        die(
"0");
    }
    include(
"controllers/flatfile.php");
}

// db files//
define('pilots', 'auto_pilots.txt');
define('objects', 'alert_objects.txt');
define('notifiers', 'notifiers.txt');
//! db files//

// pilots db //
define('AP_ID', 0);
define('AP_TYPE', 1);
define('AP_NAME', 2);
define('AP_DATE', 3);
//! pilots db //

// objects db //
define('OBJ_ID', 0);
define('OBJ_OBJ', 1);
define('OBJ_TYPE', 2);
define('OBJ_INFO', 3);
define('OBJ_CRITICALITY', 4);
define('OBJ_STATUS', 5);
define('OBJ_TIME', 6);
//! objects db //

// notifiers db //
define('N_ID', 0);
define('N_LINK', 1);
define('N_TITLE', 2);
define('N_DATE', 3);
define('N_STATUS', 4);
//! notifiers db //

$db = new Flatfile();
$db->datadir = SANTI_SERVERPATH.'/'.SANTI_PATH.'/datas/db/';

//обработка AJAX запросов
if(isset($_POST['nd']))
    
notifiers_delete(addslashes(htmlspecialchars(strip_tags(trim($_POST['nd'])))));

if(isset(
$_POST['oi']))
    
objects_ignore(addslashes(htmlspecialchars(strip_tags(trim($_POST['oi'])))));

if(isset(
$_POST['oh']))
    
objects_healed(addslashes(htmlspecialchars(strip_tags(trim($_POST['oh'])))));

if(isset(
$_POST['on']))
    
objects_null(addslashes(htmlspecialchars(strip_tags(trim($_POST['on'])))));

if(isset(
$_POST['uf']))
    
objects_add(htmlspecialchars(strip_tags($_POST['uf'])), 22, "добавление файла от утилиты", 1, 1);
//обработка AJAX запросов

function objects_add($obj, $type, $info, $criticality, $status) //добавляем объект
{
    global 
$db;

    
$new_obj[OBJ_ID] = 0;
    
$new_obj[OBJ_OBJ] = $obj;
    
$new_obj[OBJ_TYPE] = $type;
    
$new_obj[OBJ_INFO]  = $info;
    
$new_obj[OBJ_CRITICALITY]  = $criticality;
    
$new_obj[OBJ_STATUS]  = $status;
    
$new_obj[OBJ_TIME]  = time();

    
$newId = $db->insertWithAutoId(objects, OBJ_ID, $new_obj);

    if(
$type == 22)
        die(
"$newId");
}

function 
objects_get() // получаем все найденные объекты
{
    global 
$db;
    
$allrows = $db->selectWhere(objects, NULL, -1, new OrderBy(OBJ_ID, DESCENDING, INTEGER_COMPARISON));

    return 
$allrows;
}

function 
objects_null($id) //обнуляем статус подозрительного объекта
{
    global 
$db;

    
$db->updateSetWhere(objects, array(OBJ_STATUS => '0'), new SimpleWhereClause(OBJ_ID, '=', $id));

    die(
1);
}

function 
objects_healed($id) //объект вылечен
{
    global 
$db;

    
$db->updateSetWhere(objects, array(OBJ_STATUS => '1'), new SimpleWhereClause(OBJ_ID, '=', $id));

    die(
1);
}

function 
get_objects_path($id) //получаем путь к файлу
{
    global 
$db;

    
$rows = $db->selectWhere(objects, new SimpleWhereClause(OBJ_ID, '=', $id));
    return 
$rows[0][1];
}

function 
objects_ignore($id) //добавляем файл в игнорируемые
{
    global 
$db;

    
$db->updateSetWhere(objects, array(OBJ_STATUS => '2'), new SimpleWhereClause(OBJ_ID, '=', $id));

    die(
1);
}

function 
autopilots_add_time($autotype) //помечаем последнее время выполнения скрипта
{
    global 
$db;

    
$nt = date('d-m-Y H:i:s',time());
    
$db->updateSetWhere(pilots, array(AP_DATE => $nt), new SimpleWhereClause(AP_TYPE, '=', $autotype));
}

function 
autopilots_get_time($autotype) //получаем последнее время запуска автопилота
{
    global 
$db;

    
$rows = $db->selectWhere(pilots, new SimpleWhereClause(AP_TYPE, '=', $autotype));
    return 
$rows[0][3];
}

function 
notifiers_add($link, $title, $date, $status) //добавляем уведомления
{
    global 
$db;

    
$rows = $db->selectUnique(notifiers, N_LINK, $link);

    if(empty(
$rows))
    {
        
$new_not[N_ID] = 0;
        
$new_not[N_LINK] = $link;
        
$new_not[N_TITLE] = $title;
        
$new_not[N_DATE]  = $date;
        
$new_not[N_STATUS]  = 0;

        
$newId = $db->insertWithAutoId(notifiers, N_ID, $new_not);
    }
}

function 
notifiers_get($status = 0) //получаем уведомления
{
    global 
$db;

    
$rows = $db->selectWhere(notifiers, new SimpleWhereClause(N_STATUS, '=', $status));
    return 
$rows;
}

function 
notifiers_delete($id) //убираем из видимых уведомления
{
    global 
$db;

    
$db->updateSetWhere(notifiers, array(N_STATUS => '1'), new SimpleWhereClause(N_ID, '=', $id));

    die(
1);
}

function 
get_alert_stat($criticality) //берем данные для построени графика
{
    global 
$db;

    
$alerts = new AndWhereClause();
    
$alerts->add(new SimpleWhereClause(OBJ_CRITICALITY, '=', $criticality, INTEGER_COMPARISON));
    
$alerts->add(new SimpleWhereClause(OBJ_TIME, '>',  mktime('0','0','0', date("m"), date("d")-'30', date("Y")), INTEGER_COMPARISON));
    
$result = $db->selectWhere(objects, $alerts);

    
$stat_array = array();
    for(
$i = 0; $i < 30; $i++)
    {
        
$stat_array[$i][0] = date('d-m-Y', mktime('0','0','0', date("m"), date("d")-(string)(30 - $i), date("Y")));
        
$stat_array[$i][1] = 0;
    }

    foreach (
$result as $stats)
    {
        for(
$ii = 0; $ii < 30; $ii++)
            if ((
$stat_array[$ii][0]) == (date('d-m-Y', $stats[6])))
                
$stat_array[$ii][1] = $stat_array[$ii][1] + 1;
    }

    return 
$stat_array;
}

?>
Онлайн: 2
Реклама