Your IP : 216.73.216.240


Current Path : /home/juvelize/saulnois/tmp/install_695d2cf0b4957/src/View/Sky/
Upload File :
Current File : /home/juvelize/saulnois/tmp/install_695d2cf0b4957/src/View/Sky/Person.php

<?php
/*
* @package		Tech Fry Library
* @license		https://www.gnu.org/licenses/gpl-3.0.en.html
*/

namespace TechFry\Library\View\Sky;

defined('_JEXEC') or die;

class Person extends Cards
{
    public $links;

    public $layout;
    
    public function display()
    {
        // item - name, designation, image, links
        // config - layout, image_class, name_class, designation_class, icon_class
        
        $this->layout = $this->config['layout'] ?? 'image_top';
        
        $this->data = (array) $this->data;

        $this->config['title_class'] = $this->config['name_class'];
        $this->config['subtitle_class'] = $this->config['designation_class'];

        foreach ($this->data as $k => $item)
        {
            $item = (array) $item;

            $this->get_links($item);
            
            if (is_object($this->data[$k]))
            {
                $this->data[$k]->title = $item['name'];
                $this->data[$k]->subtitle = $item['designation'];
                $this->data[$k]->html = $this->links;

                unset($this->data[$k]->designation);
                unset($this->data[$k]->name);
            }
            elseif (is_array($this->data[$k]))
            {
                $this->data[$k]['title'] = $item['name'];
                $this->data[$k]['subtitle'] = $item['designation'];
                $this->data[$k]['html'] = $this->links;
                
                unset($this->data[$k]['designation']);
                unset($this->data[$k]['name']);
            }
        }

        return parent::display();
    }
    
    public function get_links($item)
    {
        $this->links = '';
        if (isset($item['links']) && $item['links'])
        {
            $list_options = array(
                'list_class' => 'list-inline',
                'list_item_class' => 'list-inline-item', 
                'icon_class' => $this->config['icon_class'] ?? '',
            );
            
            $linklist = new Linklist($item['links'], $list_options);
            $this->links = $linklist->display();
        }
    }
}