/** * * @param Application $app * @param int $sbas_id * @param int $record_id * @param boolean $deny * @param int $order_master_id */ public function __construct(Application $app, $sbas_id, $record_id, $deny, $order_master_id) { $this->deny = !!$deny; $this->order_master_id = $order_master_id; parent::__construct($app, $sbas_id, $record_id); $this->get_subdefs(); return $this; }
/** * * @param Application $app * @param integer $sbas_id * @param integer $record_id * @param string $directory * @param integer $remain_hd * * @return record_exportElement */ public function __construct(Application $app, $sbas_id, $record_id, $directory = '', $remain_hd = false) { $this->directory = $directory; if ($this->directory) { $unicode = new \unicode(); $this->directory = $unicode->remove_nonazAZ09($this->directory) . '/'; } $this->remain_hd = $remain_hd; $this->size = []; parent::__construct($app, $sbas_id, $record_id); $this->get_actions($remain_hd); return $this; }
/** * * @param Application $app * @param string $env * @param integer $pos * @param mixed $contId * @param SearchEngineInterface $search_engine * @param string $query * * @return record_preview */ public function __construct(Application $app, $env, $pos, $contId, SearchEngineInterface $search_engine = null, $query = '', SearchEngineOptions $options = null) { $number = null; $this->env = $env; $this->app = $app; switch ($env) { case "RESULT": if (null === $search_engine) { throw new \LogicException('Search Engine should be provided'); } $results = $search_engine->query($query, (int) $pos, 1, $options); if ($results->getResults()->isEmpty()) { throw new Exception('Record introuvable'); } foreach ($results->getResults() as $record) { $number = $pos; $this->original_item = $record; $sbas_id = $record->get_sbas_id(); $record_id = $record->get_record_id(); break; } break; case "REG": $contId = explode('_', $contId); $sbas_id = $contId[0]; $record_id = $contId[1]; $this->container = new record_adapter($app, $sbas_id, $record_id); $this->original_item = $this->container; if ($pos == 0) { $number = 0; } else { $children = $this->container->get_children(); foreach ($children as $child) { $sbas_id = $child->get_sbas_id(); $this->original_item = $child; $record_id = $child->get_record_id(); if ($child->get_number() == $pos) { break; } } $number = $pos; $this->total = $children->get_count(); } break; case "BASK": $Basket = $app['converter.basket']->convert($contId); $app['acl.basket']->hasAccess($Basket, $app['authentication']->getUser()); /* @var $Basket Basket */ $this->container = $Basket; $this->total = $Basket->getElements()->count(); $i = 0; $first = true; foreach ($Basket->getElements() as $element) { /* @var $element BasketElement */ $i++; if ($first) { $this->original_item = $element; $sbas_id = $element->getRecord($this->app)->get_sbas_id(); $record_id = $element->getRecord($this->app)->get_record_id(); $this->name = $Basket->getName(); $number = $element->getOrd(); } $first = false; if ($element->getOrd() == $pos) { $this->original_item = $element; $sbas_id = $element->getRecord($this->app)->get_sbas_id(); $record_id = $element->getRecord($this->app)->get_record_id(); $this->name = $Basket->getName(); $number = $element->getOrd(); } } break; case "FEED": $entry = $app['repo.feed-entries']->find($contId); $this->container = $entry; $this->total = count($entry->getItems()); $i = 0; $first = true; foreach ($entry->getItems() as $element) { $i++; if ($first) { $sbas_id = $element->getRecord($this->app)->get_sbas_id(); $record_id = $element->getRecord($this->app)->get_record_id(); $this->name = $entry->getTitle(); $this->original_item = $element; $number = $element->getOrd(); } $first = false; if ($element->getOrd() == $pos) { $sbas_id = $element->getRecord($this->app)->get_sbas_id(); $record_id = $element->getRecord($this->app)->get_record_id(); $this->name = $entry->getTitle(); $this->original_item = $element; $number = $element->getOrd(); } } break; } parent::__construct($app, $sbas_id, $record_id, $number); return $this; }