コード例 #1
0
function mails($id, $erreur = '')
{
    $infoServices = Connexion::query('SELECT services.nom,services.url,services.port,services.mail,tests.date,tests.heure,tests.trl,tests.codeHttp FROM tests,services WHERE tests.service_id=services.id AND tests.id=' . $id . '');
    $adresse = $infoServices[0][3];
    // Déclaration de l'adresse de destination.
    if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}\$#", $adresse)) {
        $passage_ligne = "\r\n";
    } else {
        $passage_ligne = "\n";
    }
    //=====Déclaration des messages au format texte et au format HTML.
    if ($erreur != '') {
        $message_txt = 'Bonjour, votre service ' . $infoServices[0][0] . ' disponible à l\'adresse ' . $infoServices[0][1] . ' ayant le port ' . $infoServices[0][2] . ' est maintenant rétabli.';
        $message_html = '<html><head></head><body><p style="text-align:center;font-size:30px;"><b>Monitoring</b> CLF</p>Bonjour, votre service ' . $infoServices[0][0] . ' disponible à l\'adresse <a href="' . $infoServices[0][1] . '">' . $infoServices[0][1] . '</a> ayant le port ' . $infoServices[0][2] . ' est maintenant rétabli.</body></html>';
    } else {
        $message_txt = 'Bonjour, une erreur est survenue sur votre service ' . $infoServices[0][0] . ' disponible à l\'adresse ' . $infoServices[0][1] . ' ayant le port ' . $infoServices[0][2] . '. Elle est survenue le ' . dateUS2FR($infoServices[0][4]) . ' à ' . $infoServices[0][5] . '. Le temps de réponse (TRL) était de ' . floor($infoServices[0][6] * 1000) . ' ms et le code HTTP était le ' . $infoServices[0][7];
        $message_html = '<html><head></head><body><p style="text-align:center;font-size:30px;"><b>Monitoring</b> CLF</p>Bonjour, une erreur est survenue sur votre service ' . $infoServices[0][0] . ' disponible à l\'adresse <a href="' . $infoServices[0][1] . '">' . $infoServices[0][1] . '</a> ayant le port ' . $infoServices[0][2] . '. Elle est survenue le ' . dateUS2FR($infoServices[0][4]) . ' à ' . $infoServices[0][5] . '. Le temps de réponse (TRL) était de ' . floor($infoServices[0][6] * 1000) . ' ms et le code HTTP était le ' . $infoServices[0][7] . '</body></html>';
    }
    //==========
    //=====Création de la boundary
    $boundary = "-----=" . md5(rand());
    //==========
    //=====Définition du sujet.
    if ($erreur != '') {
        $sujet = '[Monitoring Tradmark] Service retabli';
    } else {
        $sujet = '[Monitoring Tradmark] Erreur de service';
    }
    //=========
    //no-reply@lenaic.me
    //=====Création du header de l'e-mail.
    $header = 'From: Monitoring Tridemark<*****@*****.**>' . $passage_ligne;
    $header .= 'Reply-to: Monitoring Tridemark<*****@*****.**>' . $passage_ligne;
    $header .= 'MIME-Version: 1.0' . $passage_ligne;
    $header .= 'Content-Type: multipart/alternative;' . $passage_ligne . " boundary=\"{$boundary}\"" . $passage_ligne;
    //==========
    //=====Création du message.
    $message = $passage_ligne . "--" . $boundary . $passage_ligne;
    //=====Ajout du message au format texte.
    $message .= "Content-Type: text/plain; charset=\"UTF-8\"" . $passage_ligne;
    $message .= "Content-Transfer-Encoding: 8bit" . $passage_ligne;
    $message .= $passage_ligne . $message_txt . $passage_ligne;
    //==========
    $message .= $passage_ligne . "--" . $boundary . $passage_ligne;
    //=====Ajout du message au format HTML
    $message .= "Content-Type: text/html; charset=\"UTF-8\"" . $passage_ligne;
    $message .= "Content-Transfer-Encoding: 8bit" . $passage_ligne;
    $message .= $passage_ligne . $message_html . $passage_ligne;
    //==========
    $message .= $passage_ligne . "--" . $boundary . "--" . $passage_ligne;
    $message .= $passage_ligne . "--" . $boundary . "--" . $passage_ligne;
    //==========
    //=====Envoi de l'e-mail.
    $mail = mail($adresse, $sujet, $message, $header);
    return $mail;
}
コード例 #2
0
ファイル: classModel.php プロジェクト: athomix/ecommerce
 public function delete($type, $id)
 {
     $db = new Connexion();
     $class = $type;
     $table = strtolower($class);
     $prefixe = substr($table, 0, 3) . "_";
     $query = "DELETE FROM " . $table;
     $query .= " WHERE " . $prefixe . "id = " . $id;
     $request = $db->query($query);
     $db = null;
 }
コード例 #3
0
function sms($id, $erreur = '')
{
    $infoServices = Connexion::query('SELECT services.id,services.nom,services.tel,tests.date,tests.heure,tests.trl,tests.codeHttp FROM tests,services WHERE tests.service_id=services.id AND tests.id=' . $id . '');
    $tel = $infoServices[0][2];
    if ($erreur != '') {
        $sms = 'http://www.sms-lowcost.com/cgi-bin/?keyid=&num=' . $tel . '&sms=' . urlencode('[Monitoring Tridemark] Le service ' . $infoServices[0][1] . ' est maintenant rétabli (id:' . $infoServices[0][0] . ')');
    } else {
        $sms = 'http://www.sms-lowcost.com/cgi-bin/?keyid=&num=' . $tel . '&sms=' . urlencode('[Monitoring Tridemark] Erreur sur le service ' . $infoServices[0][1] . ' (id:' . $infoServices[0][0] . ')');
    }
    $fichier = file($sms);
    if (substr($fichier[0], 55, 1) == 0) {
        logs('envoi de sms, erreur pour le service ' . $id, 'reussi');
    } else {
        logs('envoi de sms, erreur pour le service ' . $id, 'echec');
    }
}
function validationFormulaireModificationServices()
{
    $idPseudo = $_POST['pseudo'];
    $port = $_POST['port'];
    $nomService = $_POST['nomService'];
    $url = verifHttp($_POST['urledit'], $port);
    $texte = $_POST['texte'];
    $mail = $_POST['mail'];
    $tel = $_POST['tel'];
    $monitore = $_POST['monitore'];
    $trl = $_POST['trl'];
    $frequence = $_POST['frequence'];
    $id = $_POST['idServices'];
    $requete = 'SELECT id,nom,url,port,texte,mail,tel,monitore,trl,frequence FROM services WHERE url = \'' . $url . '\'';
    $nouveauService = Connexion::query($requete);
    if (verifSites($url) == false) {
        $requete = 'Update services SET utilisateurs_id = \'' . $idPseudo . '\', nom = \'' . $nomService . '\', url = \'' . $url . '\', port = \'' . $port . '\', texte = \'' . $texte . '\', mail =\'' . $mail . '\', tel = \'' . $tel . '\', monitore= \'' . $monitore . '\', trl =  \'' . $trl . '\', frequence = \'' . $frequence . '\' Where id = ' . $id . '';
        Connexion::exec($requete);
        echo '<meta http-equiv="refresh" content="0; URL=?page=services&modifOk">';
    } else {
        echo '<META http-equiv="refresh" content="0; URL=?page=services&erreurUrl">';
    }
    return $nouveauService;
}
コード例 #5
0
ファイル: sites.php プロジェクト: lelenaic/Monitoring-CLF
            <table class="table table-hover datatable">
              <thead>
                    <tr>
                        <th>ID</th>
                        <th>Ajouté par</th>
                        <th>S'applique à</th>
                        <th>URL</th>
                        <th>Liste</th>
                        <th>Restriction par domaine</th>
                        <th>Modification</th>
                        <th>Suppression</th>
                    </tr>
              </thead>
                <tbody>
                    <?php 
$tableau = Connexion::query('select id,client_id,user_id,url,actif,domaine from sites order by 1');
foreach ($tableau as $ligne) {
    echo '<tr>
                                <td>' . $ligne[0] . '</td>
                                <td>' . user($ligne[2]) . '</td>
                                <td>' . user($ligne[1]) . '</td>
                                <td>' . $ligne[3] . '</td>';
    echo '<td>' . label($ligne[4]) . '</td>';
    echo '<td>' . domaine($ligne[5]) . '</td>';
    echo '<td><button type="button" style="background:none; border:0px;" class="fa fa-edit fa-2x" data-toggle="modal" data-target="#modifSite' . $ligne[0] . '"></button></td>
                                <td><button type="button" style="background:none; border:0px;" class="fa fa-trash-o fa-2x" data-toggle="modal" data-target="#supprSite' . $ligne[0] . '"></button></td>
                                </tr>';
}
?>
              </tbody>
            </table>
コード例 #6
0
ファイル: login.php プロジェクト: lelenaic/Monitoring-CLF
<?php

include '../includes/class_connexion.php';
include '../includes/fonctions/fonctions.php';
session_start();
$connexion = false;
$messagePseudo = 'Pseudo';
$messageMdp = 'Mot de passe';
if (isset($_POST['connexion']) and $_POST['connexion'] != 'Connexion') {
    $pseudo = $_POST['pseudo'];
    $pass = trim($_POST['pass']);
    $pseudoVisiteur = Connexion::query('SELECT COUNT(id) FROM utilisateurs WHERE pseudo="' . $pseudo . '"');
    if ($pseudoVisiteur[0][0] != 0) {
        $infoVisiteur = Connexion::query('SELECT id,pseudo,mdp,groupes_id FROM utilisateurs WHERE pseudo="' . $pseudo . '"');
        if (password_verify($pass, $infoVisiteur[0][2])) {
            $connexion = true;
            $_SESSION['id'] = $infoVisiteur[0][0];
            $_SESSION['pseudo'] = $infoVisiteur[0][1];
            $_SESSION['groupe'] = $infoVisiteur[0][3];
            logs('connexion', 'reussi');
            header('Location: ?page=index');
            die;
        } else {
            $messageMdp = 'Mot de passe invalide';
            $connexion = false;
            logs('connexion', 'echec');
        }
    } else {
        $messagePseudo = 'Pseudo invalide';
        $connexion = false;
        logs('connexion', 'echec');
コード例 #7
0
ファイル: fonctions.php プロジェクト: lelenaic/Monitoring-CLF
function notif($id, $date, $heure)
{
    $service = Connexion::query('select statut from services where id=\'' . $id . '\'');
    $id = Connexion::query('select id from tests where service_id=\'' . $id . '\' and date=\'' . $date . '\' and heure=\'' . $heure . '\'');
    Connexion::exec('update tests set erreur=1 where id=\'' . $id[0][0] . '\'');
    if ($service[0][0] == 1) {
        var_dump($id[0][0]);
        mails($id[0][0]);
        //sms($id[0][0]);
    }
}
コード例 #8
0
if (isset($_POST['annuler'])) {
    header('Location:?page=utilisateurs');
}
if (isset($_POST['valider'])) {
    Connexion::exec('INSERT INTO utilisateurs(pseudo,mdp,groupes_id) VALUES ("' . $_POST['uPseudo'] . '","' . password_hash($_POST['uMdp'], PASSWORD_DEFAULT) . '","' . $_POST['uGroupe'] . '")');
    logs('ajout utilisateur ', 'reussi');
    header('Location:?page=utilisateurs');
}
if (isset($_POST['modifier'])) {
    if ($_POST['uMdp'] == '') {
        $mdp = '';
    } else {
        $mdp = ',mdp="' . password_hash($_POST['uMdp'], PASSWORD_DEFAULT) . '" ';
    }
    echo $mdp;
    $requete = 'UPDATE utilisateurs SET pseudo="' . $_POST['uPseudo'] . '"' . $mdp . ',groupes_id=' . $_POST['uGroupe'] . ' WHERE id=' . $_POST['uId'] . '';
    echo $requete;
    Connexion::exec($requete);
    logs('modification utilisateur ', 'reussi');
    header('Location:?page=utilisateurs');
}
if (isset($_POST['supprimer'])) {
    $verif = Connexion::query('SELECT id FROM services WHERE utilisateurs_id=' . $_POST['uId']);
    if (!isset($verif[0][0])) {
        Connexion::exec('DELETE FROM utilisateurs WHERE id="' . $_POST['uId'] . '"');
        logs('suppression utilisateur', 'reussi');
    } else {
        logs('suppression utilisateur', 'echec');
    }
    header('Location:?page=utilisateurs');
}
コード例 #9
0
ファイル: test.php プロジェクト: lelenaic/Monitoring-CLF

<!doctype html>
<html lang="fr">
<head>
  <meta charset="utf-8">
  <title>test</title>
  <link>
  <script></script>
</head>
<body>


 <?php 
$requete = "SELECT * FROM `utilisateurs` ";
var_dump($requete);
$test = Connexion::query("{$requete}");
var_dump($test);
?>
</body>
</html>
コード例 #10
0
function validationSupprimerLogs()
{
    $nbjours = $_POST['jours'];
    $idService = $_POST['nomService'];
    if (isset($_POST['erreur0'])) {
        $erreur0 = $_POST['erreur0'];
    } else {
        $erreur0 = 2;
    }
    if (isset($_POST['erreur1'])) {
        $erreur1 = $_POST['erreur1'];
    } else {
        $erreur1 = 2;
    }
    for ($i = 0; $i < $nbjours; $i++) {
        $date = 'select min(date) from tests
          WHERE service_id = ' . $idService . '
                        And (erreur = ' . $erreur1 . '
                        OR erreur = ' . $erreur0 . ')';
        $dateMin = Connexion::query($date);
        $requete = 'INSERT INTO archivagesTest(id,service_id,date,heure,trl,etat,codeHttp,erreur)
			SELECT id,service_id,date,heure,trl,etat,codeHttp,erreur
                        FROM tests
                        WHERE service_id = ' . $idService . '
                        AND date = "' . $dateMin[0][0] . '"
                        And ( erreur = ' . $erreur1 . '
                        OR erreur = ' . $erreur0 . ')   
           ';
        Connexion::exec($requete);
        $requete = 'DELETE FROM tests
            WHERE service_id = ' . $idService . '
                        AND date = "' . $dateMin[0][0] . '"
                        And ( erreur = ' . $erreur1 . '
                        OR erreur = ' . $erreur0 . ' )  ';
        Connexion::exec($requete);
    }
    echo '<META http-equiv="refresh" content="0; URL=?page=logs&archivageOk">';
}
コード例 #11
0
function nomPseudo($id)
{
    $requete = 'SELECT pseudo FROM utilisateurs WHERE id =' . $id . ' ';
    $tableauPseudo = Connexion::query("{$requete}");
    return $tableauPseudo[0][0];
}
コード例 #12
0
ファイル: logs.php プロジェクト: lelenaic/Monitoring-CLF
                        <th>Nom du service</th>
                        <th>Date</th>
                        <th>Heure</th>
                        <th width="20%">Temps de réponse (en ms)</th>
                        <th>Texte</th>
                        <th>Statut</th>
                        <th>Code HTTP</th>
                    </tr>
              </thead>
                <tbody>
                    <?php 
$permission = 80;
if ($_SESSION['groupe'] < $permission) {
    $tableau = Connexion::query('select tests.id,service_id,date,heure,tests.trl,etat,codeHttp from tests,services,utilisateurs where tests.service_id=services.id and services.utilisateurs_id=utilisateurs.id and utilisateurs.id=' . $_SESSION['id'] . ' order by 1 desc');
} else {
    $tableau = Connexion::query('select id,service_id,date,heure,trl,etat,codeHttp from tests order by 1 desc');
}
foreach ($tableau as $ligne) {
    echo '<tr>
                                <td>' . $ligne[0] . '</td>
                                <td>' . NomServices($ligne[1]) . '</td>
                                <td>' . dateUS2FR($ligne[2]) . '</td>
                                <td>' . $ligne[3] . '</td>
                                <td>' . number_format($ligne[4] * 1000, 0, ',', '') . '</td>
                                <td>' . verifTexte($ligne[5]) . '</td>
                                <td>' . statut($ligne[0]) . '</td>
                                <td>' . $ligne[6] . '</td>
                              </tr>';
}
?>
              </tbody>
コード例 #13
0
function activer($id)
{
    $monitore = Connexion::query('select monitore from services where id=' . $id);
    $monitore = 1 - $monitore[0][0];
    $exec = Connexion::exec('update services set monitore=' . $monitore . ' where id=' . $id);
    if (!$exec) {
        logs('activation du service n°' . $id, 'echec');
    } else {
        logs('activation du service n°' . $id, 'reussi');
    }
    echo '<META http-equiv="refresh" content="0; URL=?page=services&activationOk">';
}
コード例 #14
0
ファイル: acces.php プロジェクト: lelenaic/Monitoring-CLF
<?php

session_start();
if (!isset($_SESSION['pseudo'])) {
    header('Location: ?page=login');
    die;
} elseif ($_SESSION['groupe'] < $permission) {
    header('Location: ?page=accesRefuse');
} else {
    $id = $_SESSION['id'];
    $verif = Connexion::query('select id from utilisateurs where id=\'' . $id . '\'');
    if (!isset($verif[0][0])) {
        header('Location: ?page=login');
    }
}
コード例 #15
0
ファイル: salle.php プロジェクト: Grelaud/Frameworkm2l
function listeReservationsSalle($salle)
{
    return Connexion::query('select * from reservation where salle=\'' . $salle . '\'');
}
コード例 #16
0
?>
                    <table id="#example1" class="table table-bordered table-striped datatable">
                        <thead>
                            <tr style="height:20px;">
                                <th style="width:50px;">#</th>
                                <th>Pseudo</th>
                                <th>Mot de passe</th>
                                <th>Groupe</th>
                                <th style="width:150px;">Modifier</th>
                                <th style="width:150px;">Supprimer</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php 
$listeUtilisateurs = Connexion::query('SELECT utilisateurs.id,pseudo,mdp,groupes.libelle FROM utilisateurs,groupes WHERE utilisateurs.groupes_id=groupes.id');
$listeGroupes = Connexion::query('SELECT groupes.id,libelle FROM groupes');
$tailleListe = sizeof($listeUtilisateurs);
$tailleGroupes = sizeof($listeGroupes);
if (isset($_POST['modifierForm']) or isset($_POST['ajouter'])) {
    $groupes = '<select name="uGroupe">';
    for ($i = 0; $i < $tailleGroupes; $i++) {
        if ($_POST['groupeModif'] == $listeGroupes[$i][1]) {
            $groupes .= '<option value="' . $listeGroupes[$i][0] . '" selected>' . $listeGroupes[$i][1] . '</option>';
        } else {
            $groupes .= '<option value="' . $listeGroupes[$i][0] . '">' . $listeGroupes[$i][1] . '</option>';
        }
    }
    $groupes .= '</select>';
}
for ($i = 0; $i < $tailleListe; $i++) {
    if (isset($_POST['modifierForm']) and $listeUtilisateurs[$i][0] == $_POST['uId']) {
コード例 #17
0
ファイル: ligue.php プロジェクト: Grelaud/Frameworkm2l
function listeReservationsLigue($ligue)
{
    return Connexion::query('select * from reservation where ligue=\'' . $ligue . '\'');
}
コード例 #18
0
ファイル: header.php プロジェクト: lelenaic/Monitoring-CLF
          </div>
        </nav>
      </header>
      <!-- Left side column. contains the logo and sidebar -->
      <aside class="main-sidebar">
        <!-- sidebar: style can be found in sidebar.less -->
        <section class="sidebar">   
          <!-- Sidebar user panel -->
            <div class="user-panel" style="padding-bottom:80px">
              <div class="pull-left info" style="left:0px;">
                <p style="font-size:18px;"><?php 
echo $_SESSION['pseudo'];
?>
</p>
                <p><?php 
$nomGroupe = Connexion::query('SELECT libelle FROM groupes WHERE id=' . $_SESSION['groupe'] . '');
echo $nomGroupe[0][0];
?>
</p>
                <i class="fa fa-circle text-success"></i> En ligne
              </div>
            </div>
          <!-- sidebar menu: : style can be found in sidebar.less -->
          <ul class="sidebar-menu" >
            <li class="header">Menu</li>
            <?php 
$page = isset($_GET['page']) ? $_GET['page'] : 'index';
if ($page == 'index') {
    echo '<li class="active">
                    <a href="?page=index"><i class="fa fa-dashboard"></i> <span>Dashboard</span></a>
                </li>
コード例 #19
0
ファイル: index.php プロジェクト: lelenaic/Monitoring-CLF
            </div>
            <a href="?page=utilisateurs" class="small-box-footer">Plus d\'infos <i class="fa fa-arrow-circle-right"></i></a>
          </div>
        </div>';
}
?>
        
          
        <div class="col-lg-3 col-xs-6">
          <!-- small box -->
          <?php 
$permission = 80;
if ($_SESSION['groupe'] < $permission) {
    $moyenneTrl = Connexion::query('SELECT avg(tests.trl) FROM tests,utilisateurs,services WHERE tests.service_id=services.id AND services.utilisateurs_id=utilisateurs.id AND utilisateurs.id=' . $_SESSION['id'] . '');
} else {
    $moyenneTrl = Connexion::query('SELECT avg(trl) FROM tests');
}
?>
          <div class="small-box bg-aqua">
            <div class="inner">
              <h3><?php 
echo round($moyenneTrl[0][0], 4);
?>
 s</h3>

              <p>Temps de réponse moyen</p>
            </div>
            <div class="icon">
              <i class="fa  fa-hourglass-2"></i>
            </div>
            <a href="?page=logs" class="small-box-footer">Plus d'infos <i class="fa fa-arrow-circle-right"></i></a>
コード例 #20
0
function pseudoConnecte()
{
    $id = $_SESSION['id'];
    $user = Connexion::query('select pseudo from utilisateurs where id=' . $id);
    return $user[0][0];
}
コード例 #21
0
ファイル: services.php プロジェクト: lelenaic/Monitoring-CLF
                    <?php 
if (isset($_POST['urlnew'])) {
    $compteur = 1;
    $nouveauServices = validationFormulaireAjoutServices();
}
if (isset($_POST['urledit'])) {
    $nouveauServices = validationFormulaireModificationServices();
}
if (isset($_POST['idServicesSuppr'])) {
    $nouveauServices = validationFormulaireSuppressionServices();
}
$permission = 80;
if ($_SESSION['groupe'] < $permission) {
    $tableauServices = Connexion::query('SELECT services.id,utilisateurs_id,nom,url,port,texte,mail,tel,monitore,trl,frequence,statut FROM services,utilisateurs WHERE services.utilisateurs_id=utilisateurs.id AND utilisateurs.id=' . $_SESSION['id'] . ' ORDER BY id');
} else {
    $tableauServices = Connexion::query('SELECT services.id,utilisateurs_id,nom,url,port,texte,mail,tel,monitore,trl,frequence,statut FROM services ORDER BY id');
}
for ($i = 0; $i < sizeof($tableauServices) - $compteur; $i++) {
    if ($tableauServices[$i][11] != 1 and $tableauServices[$i][8] == 1) {
        $class = ' class="danger"';
    } elseif ($tableauServices[$i][11] == 1 and $tableauServices[$i][8] == 1) {
        $class = ' class="success"';
    } else {
        $class = ' class="info"';
    }
    echo '<tr' . $class . '>';
    for ($j = 0; $j < 11; $j++) {
        if ($j == 8) {
            echo '<td>', statutServices($tableauServices[$i][$j], $tableauServices[$i][0]), '</td>';
        } elseif ($j == 1) {
            echo '<td>', nomPseudo($tableauServices[$i][1]), '</td>';
コード例 #22
0
ファイル: utilisateur.php プロジェクト: Suire/erp-PPE2
function modifierPassword($utilisateur, $newPassword)
{
    Connexion::query('update utilisateur set password="******" where login="******"');
}
コード例 #23
0
ファイル: cron.php プロジェクト: lelenaic/Monitoring-CLF
#!/usr/bin/php
<?php 
include 'fonctions.php';
$service = Connexion::query('select id,frequence,trl from services where monitore=1');
foreach ($service as $ligne) {
    $date = Connexion::query('select max(date) from tests where service_id=\'' . $ligne[0] . '\'');
    $heure = Connexion::query('select max(heure) from tests where date=\'' . $date[0][0] . '\' and service_id=\'' . $ligne[0] . '\'');
    $dernierTest = $date[0][0] . ' ' . $heure[0][0];
    $difference = difference($dernierTest);
    if ($difference >= $ligne[1] * 60 or $difference == 0) {
        test($ligne[0]);
    }
}
コード例 #24
0
<?php

include 'class_connexion.php';
$test = Connexion::query("SELECT * FROM utilisateurs");
var_dump($test);