Newer
Older
<?php
/**
* This file contains \QUI\Bricks\Controls\IntervieweeData
*/
namespace QUI\Interview\Controls;
use QUI;
/**
* Class IntervieweeData
*
* @author Dominik Chrzanowski
* @package quiqqer/interview
*
*/
class IntervieweeData extends QUI\Control
{
/**
* constructor
*
* @param array $attributes
*/
public function __construct($attributes = [])
{
// default options
$this->setAttributes([
'class' => 'quiqqer-interview-control-interviewee',
'template' => 'largeImageTop' // template
]);
$this->addCSSFile(dirname(__FILE__).'/IntervieweeData.css');
parent::__construct($attributes);
}
/**
* (non-PHPdoc)
*
* @see \QUI\Control::create()
*/
public function getBody()
{
$Engine = QUI::getTemplateManager()->getEngine();
$Site = $this->getSite();
if ($Site->getAttribute("type") !== 'quiqqer/blog:blog/entry') {
return '';
}

Dominik Chrzanowski
committed
switch ($this->getAttribute('interviewee-template')) {
case 'largeImageLeft':
$html = '/IntervieweeData.largeImageLeft.html';
$css = '/IntervieweeData.largeImageLeft.css';
break;
case 'smallImageLeft':
$html = '/IntervieweeData.smallImageLeft.html';
$css = '/IntervieweeData.smallImageLeft.css';
break;
case 'largeImageTop':
default:
$html = '/IntervieweeData.largeImageTop.html';
$css = '/IntervieweeData.largeImageTop.css';
break;
}
try {
$intervieweeData = $this->getIntervieweeData();
} catch (Exception $Exception) {
QUI\System\Log::addInfo($Exception->getMessage());
$intervieweeData = [
'name' => false,
'Image' => false
];
}
$Engine->assign([
'intervieweeName' => $intervieweeData['intervieweeName'],
'intervieweeAdditionalInfo' => $intervieweeData['intervieweeAdditionalInfo'],
'intervieweeAvatar' => $intervieweeData['intervieweeAvatar'],
'intervieweeDescription' => $intervieweeData['intervieweeDescription']
$this->addCSSFile(
dirname(__FILE__) . $css
);
return $Engine->fetch(dirname(__FILE__) . $html);
}
private function getIntervieweeData()
{
$Site = $this->getSite();
$intervieweeName = $Site->getAttribute('quiqqer.interview.settings.intervieweeData.name');
$intervieweeAdditionalInfo = $Site->getAttribute('quiqqer.interview.settings.intervieweeData.additionalInfo');
$intervieweeAvatar = $Site->getAttribute('quiqqer.interview.settings.intervieweeData.avatar');
$intervieweeDescription = $Site->getAttribute('quiqqer.interview.settings.intervieweeData.description');
return [
'intervieweeName' => $intervieweeName,
'intervieweeAdditionalInfo' => $intervieweeAdditionalInfo,
'intervieweeAvatar' => $intervieweeAvatar,
'intervieweeDescription' => $intervieweeDescription,
];
}
/**
* @return mixed|QUI\Projects\Site
*
* @throws QUI\Exception
*/
protected function getSite()
{
if ($this->getAttribute('Site')) {
return $this->getAttribute('Site');
}
$Site = QUI::getRewrite()->getSite();
$this->setAttribute('Site', $Site);
return $Site;
}
}