<?php

class EventItem extends ContentTypeModel
{
    use LanguageSupportTrait;
    use BlocksTrait;

    protected $hidden = array('languages', "websites");
    protected $with = array("websites", "languages");

    public function document()
    {
        return $this->belongsToMany("MediaItem", "event_items_documents");
    }

    public function media()
    {
        return $this->belongsTo("MediaItem");
    }

    public function blocks()
    {
        return $this->belongsToMany(Block::class, 'event_item_blocks');
    }

    public function highlightImage()
    {
        return $this->belongsTo("MediaItem");
    }

    public function pardotForm()
    {
        return $this->belongsTo("PardotForm");
    }

    public function sidebarWidgets()
    {
        return $this->belongsToMany('SidebarWidget', 'event_item_sb_widgets');
    }

    public function getCardFields()
    {
        $wo = $this->websites()->first();
        if ($wo->status != 'published' || $wo->lang_status != 'published') {
            return null;
        }

        $fieldsObject = new stdClass();
        $fieldsObject->subject = '';
        $fieldsObject->title = $this->title;
        $fieldsObject->excerpt = '<p>' . $this->reference_summary . '</p>';
        $fieldsObject->image = $this->media;
        $fieldsObject->image_alt = $this->title;
        $fieldsObject->cta = generateObjectLinkJson($this);
        $fieldsObject->cta2 = null;

        return $fieldsObject;
    }
}
