$sql = "SELECT * FROM X$f_src WHERE NrArticle=$f_cur_preview"; $rows = $g_ado_db->GetAll($sql); if (!count($rows)) { $errMsgs[] = getGS('There is no article associated with the preview.'); $ok = false; } } if ($ok) { $numberOfTranslations = count($rows); $firstLanguage = $rows[0]['IdLanguage']; $curPreview = new Article($firstLanguage, $f_cur_preview); $articleCreator = new User($curPreview->getCreatorId()); $articleData = $dest->getPreviewArticleData(); $dbColumns = $articleData->getUserDefinedColumns(1, true); $srcArticleData = $curPreview->getArticleData(); $srcDbColumns = $srcArticleData->getUserDefinedColumns(1, true); $getString = ''; foreach ($_GET as $k => $v) { if ( ($k != 'f_action') && ($k != 'f_preview_action') ) { $getString .= "&$k=$v"; } } foreach ($_POST as $k => $v) { if ( ($k != 'f_action') && ($k != 'f_prev_action') ) { $getString .= "&$k=$v"; } } $getString = substr($getString, 1); $crumbs = array();
/** * Set articletype data the legacy way * * @param \Article $article Article * @param \Newscoop\IngestPluginBundle\Entity\Feed\Entry $entry Entity */ protected function setArticleDataLegacy(\Article $article, \Newscoop\IngestPluginBundle\Entity\Feed\Entry $entry) { // Get mapping data from ArticleTypeConfiguration service $mappingArray = $this->atcf->getArticleTypeMapping(); $data = $article->getArticleData(); foreach ($mappingArray as $fieldID => $method) { if (method_exists($entry, $method)) { $propertySet = $data->setProperty("F{$fieldID}", $entry->{$method}()); } } $data->create(); }
$data->Results->f_article_title = $f_article_title; $data->Results->f_message = $f_message; $data->Results->f_creation_date = $f_creation_date; $data->Results->f_publish_date = $f_publish_date; $data->Results->f_comment_status = $f_comment_status; if (!Input::IsValid()) { camp_html_display_error($translator->trans('Invalid input: $1', array('$1' => Input::GetErrorString())), isset($BackLink) ? $Backlink : null); exit; } // Fetch article $articleObj = new Article($f_language_selected, $f_article_number); if (!$articleObj->exists()) { camp_html_display_error($translator->trans('No such article.', array(), 'articles'), $BackLink); exit; } $articleTypeObj = $articleObj->getArticleData(); $dbColumns = $articleTypeObj->getUserDefinedColumns(false, true); $articleFields = array(); foreach ($dbColumns as $dbColumn) { if ($dbColumn->getType() == ArticleTypeField::TYPE_BODY) { $dbColumnParam = $dbColumn->getName() . '_' . $f_article_number; } else { $dbColumnParam = $dbColumn->getName(); } if (isset($_REQUEST[$dbColumnParam])) { if ($dbColumn->getType() == ArticleTypeField::TYPE_TEXT && $dbColumn->getMaxSize() != 0 && $dbColumn->getMaxSize() != '') { $fieldValue = trim(Input::Get($dbColumnParam)); $articleFields[$dbColumn->getName()] = mb_strlen($fieldValue, 'utf8') > $dbColumn->getMaxSize() ? substr($fieldValue, 0, $dbColumn->getMaxSize()) : $fieldValue; } else { $articleFields[$dbColumn->getName()] = trim(Input::Get($dbColumnParam)); }
break; case 'context_box_preview_article': $return = array(); foreach ($_REQUEST['args'] as $arg) { if (is_array($arg) && isset($arg['langId'])) { $f_language_selected = $arg['langId']; } } $articleId = $f_params['articleId']; if (!is_numeric($articleId)) { $articleIdArray = explode('_', $articleId); $articleId = $articleIdArray[1]; } $articleObj = new Article($f_language_selected, $articleId); $articleInfo = array(); $articleData = $articleObj->getArticleData(); // Get article type fields. $dbColumns = $articleData->getUserDefinedColumns(false, true); foreach ($dbColumns as $dbColumn) { if (htmlspecialchars($dbColumn->getDisplayName(0)) == 'full_text') { if ($dbColumn->getType() == ArticleTypeField::TYPE_SWITCH) { $value = $articleData->getProperty($dbColumn->getName()) ? $translator->trans('On', array(), 'library') : $translator->trans('Off', array(), 'library'); $return['body'] = $value; } else { $return['body'] = $articleData->getProperty($dbColumn->getName()); } } } $return['title'] = $articleObj->getTitle(); $return['articleId'] = $articleId; $return['date'] = $articleObj->getCreationDate();
/** * Get article data * * @param Article $article * @return ArticleData */ private function getArticleData(\Article $article) { $data = $article->getArticleData(); if (!$data->exists()) { $data->create(); } return $data; }
/** * Set article data * * @param Article $article * @param Newscoop\Entity\Ingest\Feed\Entry $entry * @return void */ private function setArticleData(\Article $article, Entry $entry) { $data = $article->getArticleData(); foreach ($this->config['field'] as $property => $getter) { if (method_exists($entry, $getter)) { $data->setProperty("F{$property}", $entry->{$getter}()); } } $data->create(); }