iPédiatre
Page principale
Classes
Fichiers
Liste des fichiers
Membres de fichier
Tout
Classes
Fichiers
Fonctions
Variables
html
extension
ipediatre
modules
ip
dashboard.php
Aller à la documentation de ce fichier.
1
<?php
2
$Module
= $Params[
'Module'
];
3
$tpl
= eZTemplate::factory();
4
$http
= eZHTTPTool::instance();
5
$user
= eZUser::currentUser();
6
$ini
= eZINI::instance();
7
8
// On récupère le noeud principal de l'utilisateur
9
$userNode
= eZUser::currentUser()->contentObject()->mainNode();
10
11
// On récupère les données de connection à la base de données
12
$ini
= eZINI::instance();
13
$user
=
$ini
->variable(
'DatabaseSettings'
,
'User'
);
14
$passwd
=
$ini
->variable(
'DatabaseSettings'
,
'Password'
);
15
$host
=
$ini
->variable(
'DatabaseSettings'
,
'Server'
);
16
$dbname
=
$ini
->variable(
'DatabaseSettings'
,
'Database'
);
17
18
// On récupère les node ids de tous les articles publiés sur la page du pédiatre
19
// $nodes_id_array = array_map(function($node){return $node->attribute('node_id');}, $userNode->children());
20
21
// On crée une connection à la base de données
22
$db
= ezcDbFactory::create(
"mysql://{$user}:{$passwd}@{$host}/{$dbname}"
);
23
24
// On crée un tableau contenant tous les nodes ids
25
$nodes
= array_map(
function
($child){
return
$child->attribute(
'node_id'
);},
$userNode
->children());
26
$nodes
[] =
$userNode
->attribute(
'node_id'
);
27
28
$q
=
$db
->createSelectQuery();
29
30
$stmt
=
$q
->selectDistinct(
'session_id'
)
31
->from(
'ipediatre_visits'
)
32
->where(
$q
->expr->in(
'node_id'
,
$nodes
))
33
->prepare();
34
35
$stmt
->execute();
36
$rows
=
$stmt
->fetchAll();
37
38
$families
= count(
$rows
);
39
40
$q
=
$db
->createSelectQuery();
41
42
$stmt
=
$q
->select(
$q
->expr->count(
'*'
))
43
->from(
'ipediatre_visits'
)
44
->where(
$q
->expr->in(
'node_id'
,
$nodes
))
45
->prepare();
46
47
$stmt
->execute();
48
$rows
=
$stmt
->fetch();
49
50
$views
=
$rows
[0];
51
52
$q
=
$db
->createSelectQuery();
53
54
$stmt
=
$q
->select(
$q
->expr->min(
'date'
))
55
->from(
'ipediatre_visits'
)
56
->where(
$q
->expr->in(
'node_id'
,
$nodes
))
57
->prepare();
58
59
$stmt
->execute();
60
$rows
=
$stmt
->fetch();
61
62
$from
=
$rows
[0];
63
64
$q
=
$db
->createSelectQuery();
65
66
$stmt
=
$q
->select(
$q
->expr->max(
'date'
))
67
->from(
'ipediatre_visits'
)
68
->where(
$q
->expr->in(
'node_id'
,
$nodes
))
69
->prepare();
70
71
$stmt
->execute();
72
$rows
=
$stmt
->fetch();
73
74
$to
=
$rows
[0];
75
76
$tpl
->setVariable(
'from'
,
$from
);
77
$tpl
->setVariable(
'to'
,
$to
);
78
$tpl
->setVariable(
'families'
,
$families
);
79
$tpl
->setVariable(
'views'
,
$views
);
80
81
82
$Result
[
'content'
] =
$tpl
->fetch(
'design:ip/dashboard.tpl'
);
83
Généré le Mercredi Mars 12 2014 19:06:36 pour iPédiatre par
1.8.3.1