public function testLightenWithDefaultAdjustment()
 {
     $expected = array("336699" => "4080bf", "913399" => "b540bf");
     foreach ($expected as $original => $darker) {
         $color = new Color($original);
         $this->assertEquals($darker, $color->lighten(), "Incorrect lighter color returned.");
     }
 }
 function rrd_gen_graph()
 {
     $rrdgraph = $this->rrd_options();
     $sources = $this->rrd_get_sources();
     $raw = null;
     if ($this->scale) {
         $raw = '_raw';
     }
     $i = 0;
     foreach ($this->tinstances as $tinstance) {
         foreach ($this->data_sources as $ds) {
             $rrdgraph[] = sprintf('DEF:min_%s%s=%s:%s:MIN', crc32hex($sources[$i]), $raw, $this->parse_filename($this->files[$tinstance]), $ds);
             $rrdgraph[] = sprintf('DEF:avg_%s%s=%s:%s:AVERAGE', crc32hex($sources[$i]), $raw, $this->parse_filename($this->files[$tinstance]), $ds);
             $rrdgraph[] = sprintf('DEF:max_%s%s=%s:%s:MAX', crc32hex($sources[$i]), $raw, $this->parse_filename($this->files[$tinstance]), $ds);
             $i++;
         }
     }
     if ($this->scale) {
         $i = 0;
         foreach ($this->tinstances as $tinstance) {
             foreach ($this->data_sources as $ds) {
                 $rrdgraph[] = sprintf('CDEF:min_%s=min_%1$s_raw,%s,*', crc32hex($sources[$i]), $this->scale);
                 $rrdgraph[] = sprintf('CDEF:avg_%s=avg_%1$s_raw,%s,*', crc32hex($sources[$i]), $this->scale);
                 $rrdgraph[] = sprintf('CDEF:max_%s=max_%1$s_raw,%s,*', crc32hex($sources[$i]), $this->scale);
                 $i++;
             }
         }
     }
     for ($i = count($sources) - 1; $i >= 0; $i--) {
         if ($i == count($sources) - 1) {
             $rrdgraph[] = sprintf('CDEF:area_%s=avg_%1$s', crc32hex($sources[$i]));
         } else {
             $rrdgraph[] = sprintf('CDEF:area_%s=area_%s,avg_%1$s,ADDNAN', crc32hex($sources[$i]), crc32hex($sources[$i + 1]));
         }
     }
     $c = 0;
     foreach ($sources as $source) {
         $color = is_array($this->colors) ? isset($this->colors[$source]) ? $this->colors[$source] : $this->colors[$c++] : $this->colors;
         $php_color = new Color($color);
         $rrdgraph[] = sprintf('AREA:max_%s#%s', crc32hex($source), $php_color->darken(20));
         $rrdgraph[] = sprintf('LINE1:area_%s#%s', crc32hex($source), $php_color->lighten());
         $rrdgraph[] = sprintf('AREA:min_%s#%s', crc32hex($source), $php_color->darken(10));
     }
     $c = 0;
     foreach ($sources as $source) {
         $legend = empty($this->legend[$source]) ? $source : $this->legend[$source];
         #			$color = is_array($this->colors) ? (isset($this->colors[$source])?$this->colors[$source]:$this->colors[$c++]) : $this->colors;
         #			$rrdgraph[] = sprintf('LINE1:area_%s#%s:%s', crc32hex($source), $this->validate_color($color), $this->rrd_escape($legend));
         $rrdgraph[] = sprintf('GPRINT:min_%s:MIN:%s Min,', crc32hex($source), $this->rrd_format);
         $rrdgraph[] = sprintf('GPRINT:avg_%s:AVERAGE:%s Avg,', crc32hex($source), $this->rrd_format);
         $rrdgraph[] = sprintf('GPRINT:max_%s:MAX:%s Max,', crc32hex($source), $this->rrd_format);
         $rrdgraph[] = sprintf('GPRINT:avg_%s:LAST:%s Last\\l', crc32hex($source), $this->rrd_format);
     }
     return $rrdgraph;
 }
function mytheme_customize_css()
{
    $main = get_theme_mod('main_color');
    if (empty($main)) {
        $main = '#00a99d';
    }
    $main2 = new Color("{$main}");
    $licht = '#' . $main2->mix('ffffff', 10);
    $donker = '#' . $main2->darken();
    $grijs = get_theme_mod('grijs');
    if (empty($grijs)) {
        $grijs = '#e6e6e6';
    }
    $grijs2 = new Color("{$grijs}");
    $lichtgrijs = '#' . $grijs2->lighten(5);
    $donkergrijs = '#' . $grijs2->darken(10);
    if ($grijs == "#ffffff") {
        $hovergrijs = "#e6e6e6";
    } else {
        $hovergrijs = $grijs;
    }
    $font = get_theme_mod('akvo_font');
    if (empty($font)) {
        $font = 'Open Sans';
    }
    $font_head = get_theme_mod('akvo_font_head');
    if (empty($font_head)) {
        $font_head = 'Open Sans';
    }
    $font_nav = get_theme_mod('akvo_font_nav');
    if (empty($font_nav)) {
        $font_nav = 'Open Sans';
    }
    $background = get_theme_mod('background');
    if (empty($background)) {
        $background = '#ffffff';
    }
    $info_bar_blog = get_theme_mod('info_bar_blog');
    if (empty($info_bar_blog)) {
        $info_bar_blog = '#a3d165';
    }
    $info_bar_news = get_theme_mod('info_bar_news');
    if (empty($info_bar_news)) {
        $info_bar_news = '#f9ba41';
    }
    $info_bar_video = get_theme_mod('info_bar_video');
    if (empty($info_bar_video)) {
        $info_bar_video = '#f47b50';
    }
    $info_bar_update = get_theme_mod('info_bar_update');
    if (empty($info_bar_update)) {
        $info_bar_update = '#54bce8';
    }
    $info_bar_flow = get_theme_mod('info_bar_flow');
    if (empty($info_bar_flow)) {
        $info_bar_flow = '#54bce8';
    }
    $info_bar_page = get_theme_mod('info_bar_page');
    if (empty($info_bar_page)) {
        $info_bar_page = '#6d3a7d';
    }
    $info_bar_media = get_theme_mod('info_bar_media');
    if (empty($info_bar_media)) {
        $info_bar_media = '#9d897b';
    }
    $info_bar_project = get_theme_mod('info_bar_project');
    if (empty($info_bar_project)) {
        $info_bar_project = '#7381fa';
    }
    $info_bar_map = get_theme_mod('info_bar_map');
    if (empty($info_bar_map)) {
        $info_bar_map = '#ad1c3c';
    }
    $info_bar_testimonial = get_theme_mod('info_bar_testimonial');
    if (empty($info_bar_testimonial)) {
        $info_bar_testimonial = '#007ba8';
    }
    ?>
         <style type="text/css">
         	html {background:<?php 
    echo $donker;
    ?>
; }
            body { font-family: '<?php 
    echo $font;
    ?>
'; background: <?php 
    echo $background;
    ?>
;}
            h1,h2,h3,h4,h5,h6 { font-family: '<?php 
    echo $font_head;
    ?>
';  }
            nav { font-family: '<?php 
    echo $font_nav;
    ?>
'; }
            .carousel .text, footer .twitter, nav ul.navbar-nav li.current-menu-item a { background: <?php 
    echo $licht;
    ?>
; }
            nav .lang .fa-circle, nav ul.navbar-nav li i { color: <?php 
    echo $licht;
    ?>
; }
            .btn-default, .filters #uwpqsf_id #uwpqsf_btn input, .carousel .carousel-indicators li.active, footer .custom { background: <?php 
    echo $main;
    ?>
; }
            nav ul.navbar-nav li .fa-circle, a { color: <?php 
    echo $main;
    ?>
; }
            a:hover {color:<?php 
    echo $donker;
    ?>
;}
            .btn-default:focus, .btn-default:hover, .filters #uwpqsf_id #uwpqsf_btn input:focus, .filters #uwpqsf_id #uwpqsf_btn input:hover, footer .fixed, .comment-form footer .custom input[type=submit], .filters #uwpqsf_id #uwpqsf_btn footer .custom input, footer .custom .btn, footer .custom .comment-form input[type=submit], footer .custom .filters #uwpqsf_id #uwpqsf_btn input { background: <?php 
    echo $donker;
    ?>
; }
         	.box-wrap, .article .bg, article .bg, .filters, .breadcrumbs, .search-wrap { background: <?php 
    echo $lichtgrijs;
    ?>
;}
         	.box-wrap .infobar.blog, .box-wrap .infobar.type-blog { background: <?php 
    echo $info_bar_blog;
    ?>
; }
         	.box-wrap .infobar.post, .box-wrap .infobar.type-post { background: <?php 
    echo $info_bar_news;
    ?>
; }
         	.box-wrap .infobar.video, .box-wrap .infobar.type-video { background: <?php 
    echo $info_bar_video;
    ?>
; }
         	.box-wrap .infobar.update, .box-wrap .infobar.type-update { background: <?php 
    echo $info_bar_update;
    ?>
; }
         	.box-wrap .infobar.page, .box-wrap .infobar.type-page { background: <?php 
    echo $info_bar_page;
    ?>
; }
         	.box-wrap .infobar.media, .box-wrap .infobar.type-media { background: <?php 
    echo $info_bar_media;
    ?>
; }
         	.box-wrap .infobar.map, .box-wrap .infobar.type-map { background: <?php 
    echo $info_bar_map;
    ?>
; }
         	.box-wrap .infobar.project, .box-wrap .infobar.type-project { background: <?php 
    echo $info_bar_project;
    ?>
; }
         	.box-wrap .infobar.testimonial, .box-wrap .infobar.type-testimonial { background: <?php 
    echo $info_bar_testimonial;
    ?>
; }
         	.box-wrap .infobar.flow, .box-wrap .infobar.type-flow { background: <?php 
    echo $info_bar_flow;
    ?>
; }
         	nav ul.navbar-nav li {background: <?php 
    echo $grijs;
    ?>
;}
         	nav ul.navbar-nav .dropdown-menu li a {background: <?php 
    echo $grijs;
    ?>
; }
         	.clickable:hover .text {background: <?php 
    echo $main;
    ?>
;}
         	.box-wrap:hover {background: <?php 
    echo $hovergrijs;
    ?>
;}
         	.search-wrap .input-group-btn .btn {color:<?php 
    echo $donkergrijs;
    ?>
;}
         	nav ul.navbar-nav .dropdown-menu li { background: <?php 
    echo $licht;
    ?>
;}
         	.nav>li>a:focus, .nav>li>a:hover {background:<?php 
    echo $licht;
    ?>
; }
         	blockquote {border-color: $donkergrijs;}
         	@media (min-width: 768px) {
         		nav  {background: <?php 
    echo $lichtgrijs;
    ?>
;}
         		nav ul.navbar-nav li a:hover, nav ul.navbar-nav li:hover a { background: <?php 
    echo $licht;
    ?>
;}
         		nav ul.navbar-nav .dropdown-menu li a:hover {background: <?php 
    echo $main;
    ?>
; }
         	}
         </style>
    <?php 
}
Exemple #4
0
 /**
  * Index page.
  *
  * @return void
  */
 public function home()
 {
     if (Configure::read('Analytics.enabled') === true) {
         $httpAdapter = new CurlHttpAdapter();
         $client = new Client(Configure::read('Analytics.client_id'), Configure::read('Analytics.private_key'), $httpAdapter);
         $service = new Service($client);
         $statistics = Cache::remember('statistics', function () use($service) {
             $statistics = new Query(Configure::read('Analytics.profile_id'));
             $statistics->setStartDate(new \DateTime(Configure::read('Analytics.start_date')))->setEndDate(new \DateTime())->setMetrics(array('ga:visits', 'ga:visitors', 'ga:pageviews', 'ga:pageviewsPerVisit', 'ga:avgtimeOnSite', 'ga:visitBounceRate', 'ga:percentNewVisits'));
             return $service->query($statistics);
         }, 'analytics');
         $browsers = Cache::remember('browsers', function () use($service) {
             $browsers = new Query(Configure::read('Analytics.profile_id'));
             $browsers->setStartDate(new \DateTime(Configure::read('Analytics.start_date')))->setEndDate(new \DateTime())->setDimensions(array('ga:browser'))->setMetrics(array('ga:pageviews'))->setSorts(array('ga:pageviews'))->setFilters(array('ga:browser==Chrome,ga:browser==Firefox,ga:browser==Internet Explorer,ga:browser==Safari,ga:browser==Opera'));
             return $service->query($browsers);
         }, 'analytics');
         $continents = Cache::remember('continents', function () use($service) {
             $continentsRows = new Query(Configure::read('Analytics.profile_id'));
             $continentsRows->setStartDate(new \DateTime(Configure::read('Analytics.start_date')))->setEndDate(new \DateTime())->setDimensions(array('ga:continent'))->setMetrics(array('ga:visitors'))->setSorts(array('ga:visitors'))->setFilters(array('ga:continent==Africa,ga:continent==Americas,ga:continent==Asia,ga:continent==Europe,ga:continent==Oceania'));
             $continentsRows = $service->query($continentsRows);
             $color = new Color("1abc9c");
             $light = 1;
             $continents = [];
             foreach (array_reverse($continentsRows->getRows()) as $continentRow) {
                 $continent = [];
                 $continent['label'] = $continentRow[0];
                 $continent['data'] = $continentRow[1];
                 $continent['color'] = '#' . $color->lighten($light);
                 array_push($continents, $continent);
                 $light += 10;
             }
             return $continents;
         }, 'analytics');
         $graphVisitors = Cache::remember('graphVisitors', function () use($service) {
             $graphVisitors = new Query(Configure::read('Analytics.profile_id'));
             $graphVisitors->setStartDate(new \DateTime('-7 days'))->setEndDate(new \DateTime())->setDimensions(array('ga:date'))->setMetrics(array('ga:visits', 'ga:pageviews'))->setSorts(array('ga:date'));
             return $service->query($graphVisitors);
         }, 'analytics');
         $this->set(compact('statistics', 'browsers', 'continents', 'graphVisitors'));
     }
     $this->loadModel('Users');
     //UsersGraph
     $usersGraphCount = $this->Users->find('all')->select(['date' => 'DATE_FORMAT(created,\'%d-%m-%Y\')', 'count' => 'COUNT(id)'])->group('DATE(created)')->order(['date' => 'desc'])->where(['UNIX_TIMESTAMP(DATE(created)) >' => (new \DateTime('-8 days'))->getTimestamp()])->toArray();
     $usersGraph = array();
     //Fill the new array with the date of the 8 past days and give them the value 0.
     for ($i = 0; $i < 8; $i++) {
         $date = new \DateTime("{$i} days ago");
         $usersGraph[$date->format('d-m-Y')] = 0;
     }
     //Foreach value that we got in the database, parse the array by the key date,
     //and if the key exist, attribute the new value.
     foreach ($usersGraphCount as $user) {
         $usersGraph[$user->date] = intval($user->count);
     }
     $usersGraph = array_reverse($usersGraph);
     $usersCount = Number::format($this->Users->find()->count());
     $this->loadModel('BlogArticles');
     $articlesCount = Number::format($this->BlogArticles->find()->count());
     $this->loadModel('BlogArticlesComments');
     $commentsCount = Number::format($this->BlogArticlesComments->find()->count());
     $this->loadModel('BlogCategories');
     $categoriesCount = Number::format($this->BlogCategories->find()->count());
     $this->set(compact('usersCount', 'articlesCount', 'commentsCount', 'categoriesCount', 'usersGraph'));
 }
Exemple #5
0
 /**
  * Set and get pie chart
  * 
  * @param  Collection $data
  * @return Collection
  */
 public function getPieChart($data)
 {
     foreach ($data as $key => $value) {
         $i = 0;
         $dataset[$key] = collect();
         foreach ($data->get($key) as $k => $v) {
             $color = new Color(config('chartjs.colors.' . $i));
             $dataset[$key]->push(['value' => $v, 'color' => '#' . $color->lighten(20), 'highlight' => '#' . $color->lighten(25), 'label' => $k]);
             $i++;
         }
     }
     return $dataset;
 }