Seditio Source
Root |
./othercms/xenForo 2.2.8/src/XF/Admin/Controller/Page.php
<?php

namespace XF\Admin\Controller;

use
XF\Mvc\FormAction;

class
Page extends AbstractNode
{
    protected function
getNodeTypeId()
    {
        return
'Page';
    }

    protected function
getDataParamName()
    {
        return
'page';
    }

    protected function
getTemplatePrefix()
    {
        return
'page';
    }

    protected function
getViewClassPrefix()
    {
        return
'XF:Page';
    }

    protected function
saveTypeData(FormAction $form, \XF\Entity\Node $node, \XF\Entity\AbstractNode $data)
    {
       
/** @var \XF\Entity\Page $data */

       
$pageInput = $this->filter([
           
'log_visits' => 'bool',
           
'list_siblings' => 'bool',
           
'list_children' => 'bool',
           
'callback_class' => 'str',
           
'callback_method' => 'str',
           
'advanced_mode' => 'bool'
       
]);
       
$data->bulkSet($pageInput);
       
$data->modified_date = \XF::$time;

       
$template = $data->getMasterTemplate();
       
$templateInput = $this->filter('template', 'str');
       
$form->validate(function(FormAction $form) use ($templateInput, $template)
        {
            if (!
$template->set('template', $templateInput))
            {
               
$form->logErrors($template->getErrors());
            }
        });
       
$form->apply(function() use ($template)
        {
            if (
$template)
            {
               
$template->save();
            }
        });
    }
}