CampContext::setArticleHandler PHP Метод

setArticleHandler() приватный Метод

Handler for the article change event.
private setArticleHandler ( MetaArticle $p_oldArticle, MetaArticle $p_newArticle )
$p_oldArticle MetaArticle
$p_newArticle MetaArticle
    private function setArticleHandler(MetaArticle $p_oldArticle, MetaArticle $p_newArticle)
    {
        static $articleHandlerRunning = false;
        if (!$this->m_readonlyProperties['preview'] && (!$p_newArticle->is_published || !$p_newArticle->issue->is_published) && $p_newArticle->defined()) {
            return;
        }
        if ($articleHandlerRunning || $p_newArticle->same_as($p_oldArticle)) {
            return;
        }
        $articleHandlerRunning = true;
        if ($p_newArticle->defined() && !$this->getSection()->same_as($p_newArticle->section)) {
            $this->setSectionHandler($this->getSection(), $p_newArticle->section);
        }
        unset($this->m_objects['subtitle']);
        unset($this->m_objects['image']);
        unset($this->m_objects['attachment']);
        unset($this->m_objects['comment']);
        unset($this->m_objects['location']);
        $this->m_readonlyProperties['url']->article = $p_newArticle;
        $formParameters = $this->m_readonlyProperties['url']->form_parameters;
        foreach ($formParameters as $parameter) {
            if (strncmp($parameter['name'], 'st-', strlen('st-')) == 0) {
                $this->m_readonlyProperties['url']->reset_parameter($parameter['name']);
            }
        }
        $this->m_objects['article'] = $p_newArticle;
        $articleHandlerRunning = false;
    }