Révision b1cd8e0d
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