Seditio Source
Root |
./othercms/croogo-4.0.7/vendor/cakephp/debug_kit/src/View/Helper/SimpleGraphHelper.php
<?php
/**
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
 * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
 *
 * Licensed under The MIT License
 * Redistributions of files must retain the above copyright notice.
 *
 * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
 * @link          http://cakephp.org CakePHP(tm) Project
 * @since         1.0.0
 * @license       http://www.opensource.org/licenses/mit-license.php MIT License
 */
namespace DebugKit\View\Helper;

use
Cake\View\Helper;

/**
 * Class SimpleGraphHelper
 *
 * Allows creation and display of extremely simple graphing elements
 *
 * @since         DebugKit 1.0
 */
class SimpleGraphHelper extends Helper
{

   
/**
     * Default settings to be applied to each Simple Graph
     *
     * Allowed options:
     *
     * - max => (int) Maximum value in the graphs
     * - width => (int)
     * - valueType => string (value, percentage)
     * - style => array
     *
     * @var array
     */
   
protected $_defaultSettings = [
       
'max' => 100,
       
'width' => 350,
       
'valueType' => 'value',
    ];

   
/**
     * bar method
     *
     * @param float $value Value to be graphed
     * @param int $offset how much indentation
     * @param array|\Graph $options Graph options
     * @return string Html graph
     */
   
public function bar($value, $offset, $options = [])
    {
       
$settings = array_merge($this->_defaultSettings, $options);
       
/* @var int $max */
        /* @var int $width */
        /* @var string $valueType */
       
extract($settings);

       
$graphValue = ($value / $max) * $width;
       
$graphValue = max(round($graphValue), 1);

        if (
$valueType === 'percentage') {
           
$graphOffset = 0;
        } else {
           
$graphOffset = ($offset / $max) * $width;
           
$graphOffset = round($graphOffset);
        }

        return
sprintf(
           
'<div class="graph-bar" style="%s"><div class="graph-bar-value" style="%s" title="%s"> </div></div>',
           
"width: {$width}px",
           
"margin-left: {$graphOffset}px; width: {$graphValue}px",
           
__d('debug_kit', "Starting {0}ms into the request, taking {1}ms", $offset, $value)
        );
    }
}