Newer
Older

Dominik Chrzanowski
committed
<?php
/**
* This file contains QUI\Timeline\Bricks\Timeline
*/
namespace QUI\Timeline\Bricks;
use QUI;
/**
* Class Timeline
*
* @package quiqqer/timeline
*/
class Timeline extends QUI\Control
{
/**
* constructor
*
* @param array $attributes
*/
public function __construct($attributes = [])
{
// default options
$this->setAttributes([

Dominik Chrzanowski
committed
'image' => 'original', // original, cover
'order' => 'c_date ASC',
'showLinks' => true,
'template' => 'VerticalBothSides',
'limit' => 10
]);
parent::__construct($attributes);
$this->setAttribute('cacheable', 0);
}
/**
* Return the inner body of the element
* Can be overwritten
*
* @return String
*/
public function getBody()
{
$Engine = QUI::getTemplateManager()->getEngine();
$Control = new QUI\Timeline\Controls\Timeline();

Dominik Chrzanowski
committed
$limit = $this->getAttribute('limit');
if ($limit === '') {
$limit = 10;
}
if ($limit <= 0) {
$limit = 1;
}
$Control->setAttribute('parentInputList', $this->getAttribute('site'));
$Control->setAttribute('imageFit', $this->getAttribute('image'));
$Control->setAttribute('order', $this->getAttribute('order'));
$Control->setAttribute('showLinks', $this->getAttribute('showLinks'));

Dominik Chrzanowski
committed
$Control->setAttribute('display', $this->getAttribute('template'));
$Control->setAttribute('limit', $limit);
$result = $Control->create();
$this->addCSSFiles($Control->getCSSFiles());
$options = [
'body' => $result
];
$Engine->assign($options);
return $Engine->fetch(\dirname(__FILE__) . '/Timeline.html');
}