<?php

include_once dirname(__FILE__) . '/ressources/class.templates.inc';
include_once dirname(__FILE__) . '/ressources/class.ldap.inc';
if (posix_getuid() != 0) {
    die("Cannot be used in web server mode\n\n");
}
include_once dirname(__FILE__) . '/framework/class.unix.inc';
include_once dirname(__FILE__) . '/framework/frame.class.inc';
if (!Build_pid_func(__FILE__, "MAIN")) {
    writelogs(basename(__FILE__) . ":Already executed.. aborting the process", basename(__FILE__), __FILE__, __LINE__);
    die;
}
$ldap = new clladp();
$hash = $ldap->hash_get_ou(true);
CleanTable();
while (list($num, $ligne) = each($hash)) {
    GeneratStats($num);
}
function CleanTable()
{
    $q = new mysql();
    $sql = "UPDATE smtp_logs SET bounce_error = 'Sended' WHERE bounce_error LIKE '250%'";
    $q->QUERY_SQL($sql, "artica_events");
    $sql = "UPDATE smtp_logs SET bounce_error = 'Sended' WHERE bounce_error LIKE 'delivered via%'";
    $q->QUERY_SQL($sql, "artica_events");
    $sql = "UPDATE smtp_logs SET bounce_error = 'Error' WHERE bounce_error LIKE '4.5.0 Error%'";
    $q->QUERY_SQL($sql, "artica_events");
    $sql = "UPDATE smtp_logs SET bounce_error = 'hostname not found' WHERE bounce_error LIKE '%cannot find your hostname%'";
    $q->QUERY_SQL($sql, "artica_events");
    $sql = "UPDATE smtp_logs SET bounce_error = 'DNS Error' WHERE bounce_error LIKE '%Name service error%'";
Exemplo n.º 2
0
function compress_tables()
{
    $CurrentTable = "bandwidthd_" . strtotime(date("Y-m-d 00:00:00"));
    $q = new mysql_squid_builder();
    $LIST_TABLES_DAYS = LIST_TABLES_DAYS();
    while (list($tablename, $fileSource) = each($LIST_TABLES_DAYS)) {
        if ($tablename == $CurrentTable) {
            continue;
        }
        CleanTable($tablename);
    }
}
Exemplo n.º 3
0
function startSession($SESSNAME, $login, $database = LOCATION)
{
    global $dbh;
    // le lien MySQL
    global $stylesheet;
    /* pour qu'à l'ouverture de la session le user récupère de suite son style */
    global $PMBuserid, $PMBusername, $PMBgrp_num;
    global $checkuser_type_erreur;
    global $PMBusernom;
    global $PMBuserprenom;
    global $PMBuseremail;
    global $PMBdatabase;
    if (!$PMBdatabase) {
        $PMBdatabase = $database;
    }
    // nettoyage des sessions 'oubliées'
    CleanTable();
    // génération d'un identificateur unique
    // initialisation du générateur de nombres aléatoires
    mt_srand((double) microtime() * 1000000);
    // nombre aléatoire entre 1111111111 et 9999999999
    $SESSID = mt_rand(1111111111, 9999999999.0);
    // début session (date UNIX)
    $SESSstart = time();
    // adresse IP du client
    $IP = $_SERVER['REMOTE_ADDR'];
    $query = "SELECT rights, user_lang FROM users WHERE username='******'";
    $result = mysql_query($query, $dbh);
    $ff = mysql_fetch_object($result);
    $flag = $ff->rights;
    // inscription de la session dans la table
    $query = "INSERT INTO sessions (SESSID, login, IP, SESSstart, LastOn, SESSNAME) VALUES(";
    $query .= "'{$SESSID}'";
    $query .= ", '{$login}'";
    $query .= ", '{$IP}'";
    $query .= ", '{$SESSstart}'";
    $query .= ", '{$SESSstart}'";
    $query .= ", '{$SESSNAME}' )";
    $result = mysql_query($query, $dbh);
    if (!$result) {
        $checkuser_type_erreur = CHECK_USER_PB_OUVERTURE_SESSION;
        return CHECK_USER_PB_OUVERTURE_SESSION;
    }
    // cookie pour le login de l'utilisateur
    setcookie($SESSNAME . "-LOGIN", $login, 0);
    // cookie pour le nom de la session
    setcookie($SESSNAME . "-SESSNAME", $SESSNAME, 0);
    // cookie pour l'ID de session
    setcookie($SESSNAME . "-SESSID", $SESSID, 0);
    // cookie pour la base de donnée
    setcookie($SESSNAME . "-DATABASE", $PMBdatabase, 0);
    // mise à disposition des variables de la session
    define('SESSlogin', $login);
    define('SESSname', $SESSNAME);
    define('SESSid', $SESSID);
    define('SESSstart', $SESSstart);
    define('SESSlang', $ff->user_lang);
    define('SESSrights', $flag);
    /* param par défaut */
    $requete_param = "SELECT * FROM users WHERE username='******' LIMIT 1 ";
    $res_param = mysql_query($requete_param, $dbh);
    $field_values = mysql_fetch_row($res_param);
    $i = 0;
    while ($i < mysql_num_fields($res_param)) {
        $field = mysql_field_name($res_param, $i);
        $field_deb = substr($field, 0, 6);
        switch ($field_deb) {
            case "deflt_":
                global ${$field};
                ${$field} = $field_values[$i];
                break;
            case "deflt2":
                global ${$field};
                ${$field} = $field_values[$i];
                break;
            case "param_":
                global ${$field};
                ${$field} = $field_values[$i];
                break;
            case "value_":
                global ${$field};
                ${$field} = $field_values[$i];
                break;
            case "xmlta_":
                global ${$field};
                ${$field} = $field_values[$i];
                break;
            case "deflt3":
                global ${$field};
                ${$field} = $field_values[$i];
                break;
            default:
                break;
        }
        $i++;
    }
    $requete_nom = "SELECT nom, prenom, user_email, userid, username, grp_num FROM users WHERE username='******' ";
    $res_nom = mysql_query($requete_nom, $dbh);
    $param_nom = mysql_fetch_object($res_nom);
    $PMBusernom = $param_nom->nom;
    $PMBuserprenom = $param_nom->prenom;
    $PMBgrp_num = $param_nom->grp_num;
    $PMBuseremail = $param_nom->user_email;
    // pour que l'id user soit dispo partout
    define('SESSuserid', $param_nom->userid);
    $PMBuserid = $param_nom->userid;
    $PMBusername = $param_nom->username;
    /* on va chercher la feuille de style du user */
    $stylesheet = $deflt_styles;
    //Ouverture de la session php
    header("Expires: Sat, 01 Jan 2000 00:00:00 GMT");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: post-check=0, pre-check=0", false);
    session_cache_limiter('must-revalidate');
    session_name("pmb" . SESSid);
    session_start();
    //Récupération  de l'historique
    $query = "select session from admin_session where userid=" . $PMBuserid;
    $resultat = mysql_query($query);
    if ($resultat) {
        if (mysql_num_rows($resultat)) {
            $_SESSION["session_history"] = @unserialize(@mysql_result($resultat, 0, 0));
        }
    }
    return CHECK_USER_SESSION_OK;
}