Projet

Général

Profil

Révision b1cd8e0d

Voir les différences:

plugins/anet_epacks/front/plugin_anet_epacks.view_array_recap.php
5 5
    CREATE  ALGORITHM = TEMPTABLE VIEW glpi_plugin_anet_epacks_ssh_max AS SELECT *
6 6
    FROM `glpi_plugin_anet_epacks_ssh` as s1
7 7
    WHERE sshdate=(SELECT MAX(sshdate) FROM `glpi_plugin_anet_epacks_ssh` as s2 WHERE s1.FK_serveur=s2.FK_serveur)
8

  
9
    Comme c'est super long et cause un lag monstrueux a l ouverture on remplace par une table "normale" qui est
10
    periodiquement remise a jour ...
11

  
12
    CREATE TABLE IF NOT EXISTS `glpi_plugin_anet_epacks_ssh_max` (
13
    `ID` int(11) NOT NULL auto_increment,
14
    `sshstatus` binary(1) NOT NULL,
15
    `FK_serveur` int(11) NOT NULL,
16
    `log` text collate utf8_unicode_ci NOT NULL,
17
    `sshdate` datetime NOT NULL,
18
    PRIMARY KEY  (`ID`),
19
    KEY `FK_serveur` (`FK_serveur`)
20
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ; 
21
    
22
    A lancer periodiquement (?)
23
    TRUNCATE TABLE `glpi_plugin_anet_epacks_ssh_max` ;
24
    INSERT INTO glpi_plugin_anet_epacks_ssh_max SELECT * FROM `glpi_plugin_anet_epacks_ssh` as s1  WHERE sshdate=(SELECT MAX(sshdate) FROM `glpi_plugin_anet_epacks_ssh` as s2 WHERE s1.FK_serveur=s2.FK_serveur) ;
25
    
26

  
27
    on utilise la meme astuce pour l autre view: glpi_plugin_anet_epacks_recencement_max
28

  
29
    CREATE TABLE IF NOT EXISTS `glpi_plugin_anet_epacks_recencement_max` (
30
    `id` int(11) NOT NULL auto_increment,
31
    `ladate` timestamp NOT NULL default CURRENT_TIMESTAMP,
32
    `site` text collate utf8_unicode_ci NOT NULL,
33
    `phone` varchar(20) collate utf8_unicode_ci NOT NULL,
34
    `rvd` varchar(100) collate utf8_unicode_ci NOT NULL,
35
    `adresse1` text collate utf8_unicode_ci NOT NULL,
36
    `adresse2` text collate utf8_unicode_ci NOT NULL,
37
    `ville` varchar(100) collate utf8_unicode_ci NOT NULL,
38
    `cpostal` varchar(10) collate utf8_unicode_ci NOT NULL,
39
    `pays` varchar(100) collate utf8_unicode_ci NOT NULL,
40
    `nom` varchar(100) collate utf8_unicode_ci NOT NULL,
41
    `prenom` varchar(100) collate utf8_unicode_ci NOT NULL,
42
    `email` varchar(100) collate utf8_unicode_ci NOT NULL,
43
    `mac0` varchar(15) collate utf8_unicode_ci NOT NULL,
44
    `mac1` varchar(15) collate utf8_unicode_ci NOT NULL,
45
    `proc` varchar(100) collate utf8_unicode_ci NOT NULL,
46
    `ram` varchar(100) collate utf8_unicode_ci NOT NULL,
47
    `hdd0` varchar(100) collate utf8_unicode_ci NOT NULL,
48
    `hdd1` varchar(100) collate utf8_unicode_ci NOT NULL,
49
    `anet` varchar(100) collate utf8_unicode_ci NOT NULL,
50
    `tel` varchar(20) collate utf8_unicode_ci NOT NULL,
51
    `contrat` varchar(100) collate utf8_unicode_ci NOT NULL,
52
    `nbprofs` int(11) NOT NULL,
53
    `nbeleves` int(11) NOT NULL,
54
    `nbpc` int(11) NOT NULL,
55
    `ip` varchar(16) collate utf8_unicode_ci NOT NULL,
56
    `FK_serveur` int(11) default NULL,
57
    PRIMARY KEY  (`id`),
58
    UNIQUE KEY `FK_serveur` (`FK_serveur`)
59
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
60
    
61
    Et lance periodiquement
62
    TRUNCATE TABLE `glpi_plugin_anet_epacks_recencement_max` ;
63
    INSERT INTO glpi_plugin_anet_epacks_recencement_max SELECT * FROM glpi_plugin_anet_epacks_recencement as s1
64
    WHERE ladate=(SELECT MAX(ladate) FROM `glpi_plugin_anet_epacks_recencement` as s2 WHERE s1.FK_serveur=s2.FK_serveur) ;
65

  
66
    En fait, ca se passe dans anet.ryxeo.com/statistiques.php
67

  
8 68
  */
9 69

  
10 70
  // Affiche le tableau recap de tous les serveurs
......
13 73
  define('GLPI_ROOT', '../../..');
14 74
 }
15 75
include_once (GLPI_ROOT . "/inc/includes.php");
16
include_once (GLPI_CONFIG_DIR . "/config_db_slave.php");
76
//include_once (GLPI_CONFIG_DIR . "/config_db_slave.php");
17 77

  
18 78
//On essaye d'utiliser le proxy/cache mysql
19
$DBSlave = new DBSlave;
79
//$DBSlave = new DBSlave;
20 80

  
21 81
//Fabrique la requete en fonction des besoins de liste des serveurs sous maintenance ou non
22 82
//$maintenance = 1 -> ceux qui sons sous maintenance (sur)
23 83
//$maintenance = 0 -> ceux qu'on ne sais pas (ça sera a faire quand on aura saisi tous les contrats)
24 84
//$maintenance = -1 -> ceux qui ne veulent pas de maintenance
25 85
//le champ peut etre a deux -> on ne veut meme plus les afficher
86
//
87
//
26 88
function local_make_query($data, $entityid, $maintenance) {
27 89
  $query = "SELECT e.*, e.FK_enduser as entityid, g3.name as client, g4.name as serveur, g4.os_license_number, g4.os_license_id, ssh.*,
28 90
(sum(g5.nbeleves)+sum(g5.nbprofs)) as nbusers, g5.nbpc as nbpc
......
268 330
$query = "SELECT glpi_profiles.name AS name,glpi_users_profiles.FK_entities as FK_entities FROM glpi_profiles,glpi_users_profiles,glpi_users WHERE glpi_users_profiles.FK_users='" . $glpiid . "' AND glpi_users_profiles.FK_profiles=glpi_profiles.ID AND glpi_users.FK_entities=glpi_users_profiles.FK_entities GROUP BY FK_entities";
269 331

  
270 332
//print $query;
333
//exit;
334

  
271 335
$result = $DB->query($query);
272 336
if($result) {
273 337
  $data=$DB->fetch_array($result);

Formats disponibles : Unified diff

Redmine Appliance - Powered by TurnKey Linux