source: cpc/trunk/project/apps/frontend/modules/plot/templates/generatePlotParlementaireSuccess.php @ 2677

Last change on this file since 2677 was 2107, checked in by roux, 9 years ago

adaptation à ND du debug des imagemap

File size: 5.4 KB
Line 
1<?php
2
3$data = unserialize(get_component('plot', 'getParlData', array('parlementaire' => $parlementaire, 'session' => $time)));
4
5$n = count($data['labels']);
6$presences = array_fill(1, $n, 0);
7$participations = array_fill(1, $n, 0);
8$mots = array_fill(1, $n, 0);
9if ($type === 'total') for ($i = 1; $i <= $n; $i++) {
10  $presences[$i] = $data['n_presences']['hemicycle'][$i] + $data['n_presences']['commission'][$i];
11  $participations[$i] = $data['n_participations']['hemicycle'][$i] + $data['n_participations']['commission'][$i];
12  $mots[$i] = $data['n_mots']['hemicycle'][$i] + $data['n_mots']['commission'][$i];
13} else if ($type === 'hemicycle' || $type === 'commission') {
14  $presences = $data['n_presences']["$type"];
15  $participations = $data['n_participations']["$type"];
16  $mots = $data['n_mots']["$type"];
17}
18
19if ($link === 'true') {
20  $font = 9;
21  $ticks = 2;
22  $scale = 14;
23  $size = 150;
24} else {
25  $font = 12;
26  $ticks = 1;
27  if ($type === 'total') {
28    $scale = 14;
29    $size = 300;
30  } else if ($type === 'commission') {
31    $scale = 7;
32    $size = 185;  // 70+$scale/$scaletotal*($sizetotal-70)
33  } else if ($type === 'hemicycle') {
34    $scale = 12;
35    $size = 267;
36  }
37}
38
39if ($drawAction === "map" ) { 
40  $Test = new xsPChart(800,$size); 
41  $Test->getImageMap($mapId, TRUE);
42}
43
44$DataSet = new xsPData();
45$DataSet->AddPoint($data['labels'], "Serie1");
46$DataSet->AddPoint($presences, "Serie2");
47$DataSet->AddPoint($participations, "Serie3");
48$DataSet->AddPoint($mots, "Serie4");
49$DataSet->AddSerie("Serie2");
50$DataSet->AddSerie("Serie3");
51$DataSet->AddSerie("Serie4");
52$DataSet->SetAbsciseLabelSerie("Serie1");
53$DataSet->SetYAxisName("Séances par semaine");
54
55$DataSetLegend = new xsPData();
56$DataSetLegend->AddPoint($data['labels'], "Serie1");
57$DataSetLegend->AddPoint($presences, "Serie2");
58$DataSetLegend->AddPoint($participations, "Serie3");
59$DataSetLegend->AddSerie("Serie2");
60$DataSetLegend->AddSerie("Serie3");
61$DataSetLegend->SetSerieName(utf8_decode('Présences'),"Serie2");
62$DataSetLegend->SetSerieName("Participations","Serie3");
63$DataSetLegend->SetYAxisUnit(utf8_decode(" séances cette semaine"));
64$DataSetLegend->SetAbsciseLabelSerie("Serie1");
65
66$DataSetBordure = new xsPData();
67$DataSetBordure->AddPoint($data['labels'], "Serie1");
68$DataSetBordure->AddPoint($presences, "Serie2");
69$DataSetBordure->AddPoint(array_fill(1, count($data['labels']), 0), "Serie5");
70$DataSetBordure->AddSerie("Serie2");
71$DataSetBordure->AddSerie("Serie5");
72$DataSetBordure->SetAbsciseLabelSerie("Serie1");
73
74$DataSet2 = new xsPData();
75$DataSet2->AddPoint($data['labels'], "Serie1");
76$DataSet2->AddPoint($data['vacances'], "Serie6");
77$DataSet2->AddSerie("Serie6");
78$DataSet2->SetAbsciseLabelSerie("Serie1");
79
80if ($questions === 'true' && $type != 'commission') {
81  $DataSet3 = new xsPData();
82  $DataSet3->AddPoint($data['labels'], "Serie1");
83  $DataSet3->AddPoint($data['n_questions'], "Serie7");
84  $DataSet3->AddSerie("Serie7");
85  $DataSet3->SetAbsciseLabelSerie("Serie1");
86  $Data3 = $DataSet3->GetData();
87  $DataDescr3 = $DataSet3->GetDataDescription();
88}
89
90$Data = $DataSet->GetData();
91$DataDescr = $DataSet->GetDataDescription();
92$DataBordure = $DataSetBordure->GetData();
93$DataDescrBordure = $DataSetBordure->GetDataDescription();
94$Data2 = $DataSet2->GetData();
95$DataDescr2 = $DataSet2->GetDataDescription();
96$DataLegend = $DataSetLegend->GetData();
97$DataDescrLegend = $DataSetLegend->GetDataDescription();
98
99$Test = new xsPChart(800,$size);
100$Test->setGraphArea(25+3*$font,3*$font,780,$size-10-2*$font);
101$Test->drawFilledRoundedRectangle(7,7,793,$size-7,5,240,240,240);
102$Test->drawRoundedRectangle(5,5,795,$size - 5,5,230,230,230);
103$Test->drawGraphArea(230,230,230,FALSE);
104$Test->setFixedScale(0,$scale,$scale/$ticks);
105$Test->xsSetFontProperties("tahoma.ttf",$font);
106$Test->drawScale($Data,$DataDescr,SCALE_NORMAL,50,50,50,TRUE,0,0,FALSE,1,FALSE);
107if ($link === 'true') {
108  $Test->setColorPalette(0,255,255,255);
109  $Test->setColorPalette(1,255,255,255);
110  $Test->setImageMap(TRUE,$mapId);
111  $Test->drawOverlayBarGraph($DataLegend,$DataDescrLegend,30,100);
112  $Test->setImageMap(FALSE,$mapId);
113} 
114$Test->drawGrid(0,TRUE,0,0,0,100);
115$Test->setColorPalette(0,50,50,50);
116$Test->drawOverlayBarGraph($Data2,$DataDescr2,30,100);
117$Test->setColorPalette(0,255,0,0);
118$Test->setColorPalette(1,255,255,0);
119$Test->setColorPalette(2,0,255,0);
120$Test->drawFilledLineGraph($Data,$DataDescr,78);
121if ($questions === 'true' && $type != 'commission') {
122  $Test->setColorPalette(0,0,0,255);
123  $Test->drawOverlayBarGraph($Data3,$DataDescr3,85,25);
124}
125$Test->setColorPalette(0,255,0,0);
126$Test->setColorPalette(1,0,0,0);
127$Test->drawLineGraph($DataBordure,$DataDescrBordure);
128
129$Test->xsSetFontProperties("tahoma.ttf",$font + 3);
130$pos_titre = 240;
131if ($time === 'lastyear') {
132  if (isset($data['mandat_clos'])) {
133    $pos_titre = 210;
134    $duree = ' sa dernière année de mandat';
135  } else $duree = 's 12 derniers mois';
136  $shortduree = 'annee';
137} else {
138  $duree = " la session ".preg_replace('/^(\d{4})/', '\\1-', $time);
139  $shortduree = $time;
140}
141if ($type === 'total') {
142  $Test->drawTitle($pos_titre,3 + 2*$font,"Participation globale au cours de".$duree." (hémicycle et commissions)",50,50,50,585);
143  $titre = 'globale-'.$shortduree;
144} else {
145  $titre = $type;
146  if ($type === 'commission') $titre .= 's';
147  $Test->drawTitle($pos_titre+30,3 + 2*$font,"Participation en ".$titre." au cours de".$duree,50,50,50,585);
148  $titre .= '-'.$shortduree;
149}
150if ($link === 'true')
151  $Test->setImageMap(TRUE,$mapId);
152
153$Test->xsStroke();
154
155?>
Note: See TracBrowser for help on using the repository browser.