Пример #1
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 bool $p_hasNextElements
  * @return array
  */
 protected function CreateList($p_start = 0, $p_limit = 0, array $p_parameters, &$p_count)
 {
     $operator = new Operator('is');
     $context = CampTemplate::singleton()->context();
     if ($context->language->number) {
         $comparisonOperation = new ComparisonOperation('language_id', $operator, $context->language->number);
         $this->m_constraints[] = $comparisonOperation;
     }
     $comparisonOperation = new ComparisonOperation('_assign_publication_id', $operator, $context->publication->identifier);
     $this->m_constraints[] = $comparisonOperation;
     $comparisonOperation = new ComparisonOperation('_assign_issue_nr', $operator, $context->issue->number);
     $this->m_constraints[] = $comparisonOperation;
     $comparisonOperation = new ComparisonOperation('_assign_section_nr', $operator, $context->section->number);
     $this->m_constraints[] = $comparisonOperation;
     $comparisonOperation = new ComparisonOperation('_assign_article_nr', $operator, $context->article->number);
     $this->m_constraints[] = $comparisonOperation;
     if (isset($p_parameters['number'])) {
         $comparisonOperation = new ComparisonOperation('number', $operator, $p_parameters['number']);
         $this->m_constraints[] = $comparisonOperation;
     }
     $user = $context->user;
     /* @var $user MetaUser */
     $debatesList = Debate::GetList($this->m_constraints, $this->m_item, $this->m_order, $p_start, $p_limit, $p_count);
     $metaDebatesList = array();
     foreach ($debatesList as $debate) {
         $metaDebatesList[] = new MetaDebate($debate->getLanguageId(), $debate->getNumber(), $user->identifier);
     }
     return $metaDebatesList;
 }
Пример #2
0
 /**
  * Get an array of debate objects
  * You need to specify the language
  *
  * @param unknown_type $p_language_id
  * @param unknown_type $p_offset
  * @param unknown_type $p_limit
  * @return array
  */
 public static function getDebates($p_constraints = array(), $p_item = null, $p_offset = 0, $p_limit = 20, $p_orderBy = null, $p_filter = null)
 {
     $constraints = array();
     $operator = new Operator('is');
     if (array_key_exists('language_id', $p_constraints) && !empty($p_constraints['language_id'])) {
         $comparisonOperation = new ComparisonOperation('language_id', $operator, $p_constraints['language_id']);
         $constraints[] = $comparisonOperation;
     }
     if (array_key_exists('publication_id', $p_constraints) && !empty($p_constraints['publication_id'])) {
         $comparisonOperation = new ComparisonOperation('_assign_publication_id', $operator, $p_constraints['publication_id']);
         $constraints[] = $comparisonOperation;
     }
     if (array_key_exists('issue_nr', $p_constraints) && !empty($p_constraints['issue_nr'])) {
         $comparisonOperation = new ComparisonOperation('_assign_issue_nr', $operator, $p_constraints['issue_nr']);
         $constraints[] = $comparisonOperation;
     }
     if (array_key_exists('section_nr', $p_constraints) && !empty($p_constraints['section_nr'])) {
         $comparisonOperation = new ComparisonOperation('_assign_section_nr', $operator, $p_constraints['section_nr']);
         $constraints[] = $comparisonOperation;
     }
     if (array_key_exists('article_nr', $p_constraints) && !empty($p_constraints['article_nr'])) {
         $comparisonOperation = new ComparisonOperation('_assign_article_nr', $operator, $p_constraints['article_nr']);
         $constraints[] = $comparisonOperation;
     }
     if (array_key_exists('is_extendet', $p_constraints)) {
         $comparisonOperation = new ComparisonOperation('is_extended', $operator, $p_constraints['is_extended']);
         $constraints[] = $comparisonOperation;
     }
     if (array_key_exists('parent_debate_nr', $p_constraints)) {
         $comparisonOperation = new ComparisonOperation('parent_debate_nr', $operator, $p_constraints['parent_debate_nr']);
         $constraints[] = $comparisonOperation;
     }
     $order = array($p_orderBy => 'ASC');
     return Debate::GetList($constraints, $p_item, $order, $p_offset, $p_limit, $p_count);
 }