Exemplo n.º 1
0
 /** @brief Defines additional sort order.
  *
  * Provided sort parameter should be a built-in facet like: @c afs:weight,
  * @c afs:relevance, @c afs:words (see AfsSortBuiltins)... or user defined
  * facet.
  *
  * @param $sort_param [in] new sort parameter. When set to emty string or
  *        null, this call to this method is equivalent to call to
  *        @a reset_sort.
  * @param $order [in] order applied to the given parameter. Allowed values
  *        are AfsSortOrder::DESC (default) or AfsSortOrder:ASC.
  * @param @feed [in] the feed name. If not set, sort is add for all feeds.
  * @exception Exception when provided sort parameter does not conform to
  * required syntax.
  */
 public function add_sort($sort_param, $order = AfsSortOrder::DESC, $feed = null)
 {
     $copy = $this->copy();
     $copy = $copy->on_assignment();
     if (!is_null($feed) && !is_null($f = $copy->get_feed($feed))) {
         $f->add_sort($sort_param, $order);
     } elseif (!is_null($feed)) {
         $f = new AfsFeed($feed, false);
         $f->add_sort($sort_param, $order);
     } else {
         $copy->internal_add_sort($this->sort, $sort_param, $order);
     }
     return $copy;
 }
Exemplo n.º 2
0
 protected function set_parameter($param, $value, $feed = null)
 {
     if (!is_null($feed) && ($f = $this->get_feed($feed)) !== null) {
         if (($q = $f->get_parameter($param)) !== null) {
             $f->get_parameter($param)->set_value($value);
         } else {
             $f->add_parameters(new AfsSingleValueParameter($param, $value));
         }
     } elseif (!is_null($feed)) {
         $f = new AfsFeed($feed, false);
         $f->add_parameters(new AfsSingleValueParameter($param, $value));
         $this->feed[] = $f;
     } else {
         $this->{$param} = new AfsSingleValueParameter($param, $value);
     }
 }