getUserDefinedColumns() public method

Return an array of ArticleTypeField objects.
public getUserDefinedColumns ( $p_showAll = false, $p_skipCache = false ) : array
return array
Example #1
0
 public function serializeToJson(JsonSerializationVisitor $visitor, $data, $type)
 {
     $articleData = new \ArticleData($data->type, $data->number, $data->languageId);
     if (count($articleData->getUserDefinedColumns()) == 0) {
         return null;
     }
     $fields = array();
     foreach ($articleData->getUserDefinedColumns() as $column) {
         $fields[$column->getPrintName()] = $articleData->getFieldValue($column->getPrintName());
     }
     $fields['show_on_front_page'] = $data->onFrontPage == "Y" ? 1 : 0;
     $fields['show_on_section_page'] = $data->onSection == "Y" ? 1 : 0;
     return $fields;
 }
Example #2
0
 public function serialize(VisitorInterface $visitor, $data, $type, &$visited)
 {
     if ($type != 'Newscoop\\Entity\\Article') {
         return;
     }
     $GLOBALS['g_campsiteDir'] = realpath(__DIR__ . '/../../../../../../newscoop/');
     $articleData = new \ArticleData($data->getType(), $data->getNumber(), $data->getLanguageId());
     if (count($articleData->getUserDefinedColumns()) == 0) {
         $data->setFields(null);
         return;
     }
     $fields = array();
     foreach ($articleData->getUserDefinedColumns() as $column) {
         $fields[$column->getPrintName()] = $articleData->getFieldValue($column->getPrintName());
     }
     $data->setFields($fields);
 }
Example #3
0
 /**
  * Creates the list of objects. Sets the parameter $p_hasNextElements to
  * true if this list is limited and elements still exist in the original
  * list (from which this was truncated) after the last element of this
  * list.
  *
  * @param int $p_start
  * @param int $p_limit
  * @param array $p_parameters
  * @param int &$p_count
  * @return array
  */
 protected function CreateList($p_start = 0, $p_limit = 0, array $p_parameters, &$p_count)
 {
     $context = CampTemplate::singleton()->context();
     if (!$context->article->defined) {
         return array();
     }
     $articleData = new ArticleData($context->article->type_name, $context->article->number, $context->language->number);
     $customFields = $articleData->getUserDefinedColumns();
     $fieldValue = null;
     foreach ($customFields as $customField) {
         if (strtolower($customField->getPrintName()) == strtolower($p_parameters['field_name'])) {
             $p_parameters['field_name'] = $customField->getPrintName();
             $fieldValue = $articleData->getProperty('F' . $p_parameters['field_name']);
             break;
         }
     }
     if (is_null($fieldValue)) {
         return array();
     }
     $subtitles = MetaSubtitle::ReadSubtitles($fieldValue, $p_parameters['field_name'], $context->article->name);
     $p_count = count($subtitles);
     return $p_limit !== 0 ? array_slice($subtitles, $p_start, $p_limit) : array_slice($subtitles, $p_start);
 }
Example #4
0
 /**
  * Add field properties to document
  *
  * @param  array $doc
  *
  * @return array
  */
 private function addDataFields(array $doc, $article)
 {
     $articleData = new \ArticleData($article->getType(), $article->getNumber(), $article->getLanguageId());
     if (count($articleData->getUserDefinedColumns()) == 0) {
         return $doc;
     }
     $fields = array();
     foreach ($articleData->getUserDefinedColumns() as $column) {
         $doc[$column->getPrintName()] = $articleData->getFieldValue($column->getPrintName());
     }
     return $doc;
 }