RichContent.php 2.4 KB
Newer Older
Ghislain Loas's avatar
Ghislain Loas committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
<?php
/**
 * Copyright (c) 2012-2019, Agence Française Informatique (AFI). All rights reserved.
 *
 * BOKEH is free software; you can redistribute it and/or modify
 * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by
 * the Free Software Foundation.
 *
 * There are special exceptions to the terms and conditions of the AGPL as it
 * is applied to this software (see README file).
 *
 * BOKEH is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
 *
 * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
 * along with BOKEH; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
 */


class Intonation_Library_View_Wrapper_User_RichContent {
  use Trait_Translator;

  protected
    $_view,
    $_model,
    $_sections;


  public function setView($view) {
    $this->_view = $view;
    return $this;
  }


  public function setModel($model) {
    $this->_model = $model;
    return $this;
  }


  public function getModel() {
    return $this->_model;
  }


  public function getNavigation() {
    return null;
  }


  public function getActions() {
55
    return '';
Ghislain Loas's avatar
Ghislain Loas committed
56 57 58
  }


Ghislain Loas's avatar
Ghislain Loas committed
59 60 61 62 63 64
  public function setSections($sections) {
    $this->_sections = $sections;
    return $this;
  }


Ghislain Loas's avatar
Ghislain Loas committed
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
  public function getSections() {
    if ($this->_sections)
      return $this->_sections;

    $instances =
      [new Intonation_Library_View_Wrapper_User_RichContent_Home,
       new Intonation_Library_View_Wrapper_User_RichContent_Informations,
       new Intonation_Library_View_Wrapper_User_RichContent_Loans,
       new Intonation_Library_View_Wrapper_User_RichContent_Holds,
       new Intonation_Library_View_Wrapper_User_RichContent_Selections,
       new Intonation_Library_View_Wrapper_User_RichContent_Reviews,
       new Intonation_Library_View_Wrapper_User_RichContent_Settings];

    return $this->_sections = array_map(function($instance)
                                        {
                                          return $instance
                                            ->setModel($this->_model)
                                            ->setView($this->_view);
                                        },
                                        $instances);
  }
}