Source of file Multi.php

Size: 2,386 Bytes - Last Modified: 2015-05-15T11:18:15+02:00

/www-data/git/Hackathon_MageMonitoring/src/app/code/community/FireGento/MageMonitoring/Block/Widget/Multi.php

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
<?php
/**
 * This file is part of a FireGento e.V. module.
 *
 * This FireGento e.V. module is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License version 3 as
 * published by the Free Software Foundation.
 *
 * This script is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 *
 * PHP version 5
 *
 * @category  FireGento
 * @package   FireGento_MageMonitoring
 * @author    FireGento Team <team@firegento.com>
 * @copyright 2015 FireGento Team (http://www.firegento.com)
 * @license   http://opensource.org/licenses/gpl-3.0 GNU General Public License, version 3 (GPLv3)
 */

/**
 * Block for rendering widget multi
 *
 * @category FireGento
 * @package  FireGento_MageMonitoring
 * @author   FireGento Team <team@firegento.com>
 */
class FireGento_MageMonitoring_Block_Widget_Multi extends Mage_Core_Block_Template
{
    protected $_renderer = null;

    /**
     * Constructor
     */
    public function __construct()
    {
        parent::__construct();
        $this->setTemplate('monitoring/widget/multi.phtml');
    }

    /**
     * Initializes and returns a content renderer block of specified type.
     *
     * @param  string $type Renderer type
     * @return FireGento_MageMonitoring_Block_Widget_Multi_Renderer
     */
    public function newContentRenderer($type = 'table')
    {
        $blockString = 'magemonitoring/widget_multi_renderer_' . $type;
        $renderer = $this->getLayout()->createBlock($blockString);
        if ($renderer instanceof FireGento_MageMonitoring_Block_Widget_Multi_Renderer) {
            $renderer->setWidgetId($this->getWidgetId())
                ->setTabId($this->getTabId())
                ->setType($type);
            $this->_renderer = $renderer;
            return $renderer;
        } else {
            Mage::throwException('Renderer not found: ' . $type);
        }
    }

    /**
     * Returns current content renderer.
     *
     * @return FireGento_MageMonitoring_Block_Widget_Multi_Renderer
     */
    public function getRenderer()
    {
        if (!$this->_renderer) {
            Mage::throwException('Error: Undefined renderer.');
        }

        return $this->_renderer;
    }
}