Ejemplo n.º 1
0
 /**
  *
  * @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;
 }
Ejemplo n.º 2
0
 /**
  *
  * @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;
 }
Ejemplo n.º 3
0
 /**
  *
  * @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;
 }