예제 #1
0
*/
use Picker\Mood;
use Picker\MoodLevel;
use Utils\Session;
use Utils\Cookie;
use Utils\TextHelper;
// results of the day
$dayMoods = Mood::CountDayMoods();
$dayBads = $dayMoods[MoodLevel::BAD];
$dayGoods = $dayMoods[MoodLevel::GOOD];
$dayCount = $dayMoods['count'];
$this->assign('moods', $dayCount);
if ($dayCount > 0) {
    $this->assign('goods_percentage', $dayGoods * 100 / $dayCount);
    $this->assign('bads_percentage', $dayBads * 100 / $dayCount);
    $s = "\n    \$(function(){\n        var data = [\n            {\n                value: " . $dayBads . ",\n                color: \$('#color_picker .progress-bar-danger').css('background-color'),\n                label: 'Bad Mood'\n            },\n            {\n                value: " . $dayGoods . ",\n                color: \$('#color_picker .progress-bar-success').css('background-color'),\n                label: 'Good Mood'\n            }\n        ]; \n        new Chart(document.getElementById('dayChart').getContext('2d')).Doughnut(data, { \n            animation: true, animationEasing: 'linear', animationSteps: 25,\n            tooltipFontFamily: \$('body').css('font-family'),\n            tooltipFontSize: 12,\n            segmentShowStroke: false,\n            percentageInnerCutout : 60\n        });\n    });";
    $this->register('script', TextHelper::removeLineBreak($s));
}
// stats of the month
$monthMoods = Mood::CountMonthMoods();
$monthGoods = $monthMoods[MoodLevel::GOOD];
$monthBads = $monthMoods[MoodLevel::BAD];
$monthCount = max(1, $monthBads + $monthGoods);
$this->assign('month_goods_percentage', $monthGoods * 100 / $monthCount);
$this->assign('month_bads_percentage', $monthBads * 100 / $monthCount);
$this->assign('month_goods', $monthGoods);
$this->assign('month_bads', $monthBads);
// javascript dependancy
if ($dayCount > 0) {
    $this->register('script_file', 'chart.min.js');
}
예제 #2
0
 $year_moods = Mood::CountYearMoods($year);
 $year_nb_moods = $year_moods['count'];
 $year_nb_goods = $year_moods[MoodLevel::GOOD];
 $year_nb_bads = $year_moods[MoodLevel::BAD];
 if (empty($year_nb_moods)) {
     $year_nb_moods = 1;
 }
 $this->assign('year_goods_percentage', $year_nb_goods * 100 / $year_nb_moods);
 $this->assign('year_bads_percentage', $year_nb_bads * 100 / $year_nb_moods);
 $this->assign('year_goods', $year_nb_goods);
 $this->assign('year_bads', $year_nb_bads);
 // months stats
 $diplayMonths = array();
 $monthsGraph = array();
 foreach ($months as $m) {
     $monthMoods = Mood::CountMonthMoods($m, $year);
     $t = $monthMoods['count'];
     $tg = $monthMoods[MoodLevel::GOOD];
     $tb = $monthMoods[MoodLevel::BAD];
     $diplayMonths[$m] = array('total' => $t, 'goods' => $tg, 'bads' => $tb, 'goods_percentage' => $tg * 100 / $t, 'bads_percentage' => $tb * 100 / $t);
     $monthsGraph['name'][] = date('M.', mktime(0, 0, 0, $m, 1));
     $monthsGraph['value'][] = round($diplayMonths[$m]['goods_percentage'], 2);
     $s .= "\n            new Chart(document.getElementById('chartMonth" . $m . "').getContext('2d')).Doughnut(\n                [\n                    {\n                        value: " . $tb . ",\n                        color: \$('#color_picker .progress-bar-danger').css('background-color'),\n                        label: 'Bad Mood'\n                    },\n                    {\n                        value: " . $tg . ",\n                        color: \$('#color_picker .progress-bar-success').css('background-color'),\n                        label: 'Good Mood'\n                    }\n                ]\n                , {\n                    animation: true,\n                    animationEasing: 'linear', animationSteps: 25,\n                    segmentShowStroke: false,\n                    percentageInnerCutout : 60\n                }\n            );\n        ";
 }
 $this->assign('months', $diplayMonths);
 // draw year line graph
 if (count($months) > 1) {
     $monthsGraph = array_map('array_reverse', $monthsGraph);
     $s .= "\n        var dataYear = {\n            labels: ['" . implode("', '", $monthsGraph['name']) . "'],\n            datasets: [\n                {\n                    label: 'Mood',\n                    fillColor: 'rgba(220,220,220,0.2)',\n                    strokeColor: \$('#color_picker .progress-bar-success').css('background-color'),\n                    pointColor: \$('#color_picker .progress-bar-success').css('background-color'),\n                    data: [" . implode(", ", $monthsGraph['value']) . "]\n                }\n            ]\n        };\n        var chartYear = new Chart(document.getElementById('chartYear').getContext('2d')).Line(dataYear, { responsive: true });\n        ";
 } else {
     $s .= "\$('#chartYear').parent().hide();";