Skip to content
Code-Schnipsel Gruppen Projekte
IntervieweeData.php 2,59 KiB
Newer Older
  • Learn to ignore specific revisions
  •  * This file contains \QUI\Bricks\Controls\IntervieweeData
    
     * Class IntervieweeData
    
     * @package quiqqer/interview
     *
    
    class IntervieweeData extends QUI\Control
    
    {
        /**
         * constructor
         *
         * @param array $attributes
         */
        public function __construct($attributes = [])
        {
            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 '';
            }
    
    
            $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');
    
    
            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;
            }
    
    
            $Engine->assign([
                'intervieweeName'           => $intervieweeName,
                'intervieweeAdditionalInfo' => $intervieweeAdditionalInfo,
                'intervieweeAvatar'         => $intervieweeAvatar,
                'intervieweeDescription'    => $intervieweeDescription,
            ]);
    
            $this->addCSSFile(
            dirname(__FILE__) . $css
            );
    
            return $Engine->fetch(dirname(__FILE__) . $html);
    
        }
    
        /**
         * @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;
        }
    }