Seditio Source
Root |
./othercms/xenForo 2.2.8/src/XF/Entity/ThreadField.php
<?php

namespace XF\Entity;

use
XF\Mvc\Entity\Structure;

/**
 * COLUMNS
 * @property string $field_id
 * @property int $display_order
 * @property string $field_type
 * @property array $field_choices
 * @property string $match_type
 * @property array $match_params
 * @property int $max_length
 * @property bool $required
 * @property string $display_template
 * @property string $display_group
 * @property array $editable_user_group_ids
 * @property string $wrapper_template
 *
 * GETTERS
 * @property \XF\Phrase $title
 * @property \XF\Phrase $description
 *
 * RELATIONS
 * @property \XF\Entity\Phrase $MasterTitle
 * @property \XF\Entity\Phrase $MasterDescription
 * @property \XF\Mvc\Entity\AbstractCollection|\XF\Entity\ForumField[] $ForumFields
 */
class ThreadField extends AbstractField
{
    protected function
getClassIdentifier()
    {
        return
'XF:ThreadField';
    }

    protected static function
getPhrasePrefix()
    {
        return
'thread_field';
    }

    protected function
_postDelete()
    {
       
parent::_postDelete();

       
/** @var \XF\Repository\ForumField $repo */
       
$repo = $this->repository('XF:ForumField');
       
$repo->removeFieldAssociations($this);

       
$this->db()->delete('xf_thread_field_value', 'field_id = ?', $this->field_id);
    }

    public static function
getStructure(Structure $structure)
    {
       
self::setupDefaultStructure(
           
$structure,
           
'xf_thread_field',
           
'XF:ThreadField',
            [
               
'groups' => ['before', 'after', 'thread_status'],
               
'has_user_group_editable' => true,
               
'has_wrapper_template' => true,
            ]
        );

       
$structure->relations['ForumFields'] = [
           
'entity' => 'XF:ForumField',
           
'type' => self::TO_MANY,
           
'conditions' => 'field_id'
       
];

        return
$structure;
    }
}