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;
}