<?php
/**
 * Ce fichier est destine a permettre la surcharge de certaines methodes de
 * la classe om_application pour des besoins specifiques de l'application
 *
 * @package framework_openmairie
 * @version SVN : $Id: framework_openmairie.class.php 4348 2018-07-20 16:49:26Z softime $
 */

/**
 *
 */
if (file_exists("../dyn/locales.inc.php") === true) {
    require_once "../dyn/locales.inc.php";
}

/**
 * Définition de la constante représentant le chemin d'accès au framework
 */
define("PATH_OPENMAIRIE", getcwd()."/../core/");

/**
 * Dépendances PHP du framework
 * On modifie la valeur de la directive de configuration include_path en
 * fonction pour y ajouter les chemins vers les librairies dont le framework
 * dépend.
 */
set_include_path(
    get_include_path().PATH_SEPARATOR.implode(
        PATH_SEPARATOR,
        array(
            getcwd()."/../php/pear",
            getcwd()."/../php/db",
            getcwd()."/../php/fpdf",
            getcwd()."/../php/phpmailer",
            getcwd()."/../php/tcpdf",
        )
    )
);

/**
 *
 */
if (file_exists("../dyn/debug.inc.php") === true) {
    require_once "../dyn/debug.inc.php";
}

/**
 *
 */
require_once PATH_OPENMAIRIE."om_application.class.php";

/**
 *
 */
class openapplication extends application {

    /**
     * Cette variable est un marqueur permettant d'indiquer si nous sommes
     * en mode développement du framework ou non.
     * @var boolean
     */
    protected $_framework_development_mode = false;

    /**
     * Gestion du nom de l'application.
     *
     * @var mixed Configuration niveau application.
     */
    protected $_application_name = "openApplication";

    /**
     * Gestion de la version de l'application.
     *
     * @var mixed Configuration niveau application.
     */
    protected $version = "1.0.0";

    /**
     * Titre HTML.
     *
     * @var mixed Configuration niveau application.
     */
    protected $html_head_title = ":: openMairie :: openApplication";

    /**
     * Gestion du nom de la session (identifiant de cookie de session).
     *
     * @var mixed Configuration niveau framework.
     */
    protected $_session_name = "openApplication"; 
    
    /**
     * Gestion du nombre de colonnes du tableau de bord.
     *
     * @var mixed Configuration niveau application.
     */
    protected $config__dashboard_nb_column = 3;
    
    /**
     * Gestion du favicon de l'application.
     *
     * @var mixed Configuration niveau application.
     */
    protected $html_head_favicon = "../app/img/favicon.ico";
    
    
    /**
     * Gestion du mode de gestion des permissions.
     *
     * @var mixed Configuration niveau application.
     */
    protected $config__permission_by_hierarchical_profile = true; // surcharge inutile à true

    /**
     *
     * @return void
     */
    function setDefaultValues() {
        $this->addHTMLHeadCss(
            array(
                "../lib/om-theme/jquery-ui-theme/jquery-ui.custom.css",
                "../lib/om-theme/om.css",
            ),
            21
        );  
    }
    /*
    * FOOTER
    */
    /**
     * surcharge pour les liens en pied de page 
     * 
     * {@inheritDoc}
     * @see application::set_config__footer()
     */
    function set_config__footer() {

        $footer = array();

        // Documentation du site
        $footer[] = array(
            "title" => __("Documentation"),
            "description" => __("Acceder a l'espace documentation de l'application"),
            "href" => "http://docs.openmairie.org/?project=openapplication&version=1.0",
            "target" => "_blank",
            "class" => "footer-documentation",
        );

        // Forum openMairie
        $footer[] = array(
            "title" => __("Forum"),
            "description" => __("Espace d'échange ouvert de l'application"),
            "href" => "https://communaute.openmairie.org/c/autres-applications-openmairie",
            "target" => "_blank",
            "class" => "footer-forum",
        );

        // Portail openMairie
        $footer[] = array(
            "title" => __("openMairie.org"),
            "description" => __("Page de l'application sur le site officiel du projet openMairie"),
            "href" => "http://www.openmairie.org/catalogue/openapplication",
            "target" => "_blank",
            "class" => "footer-openmairie",
        );
        //
        $this->config__footer = $footer;
    }

    /**
    *  MENU 
    */
    function set_config__menu() {

        $menu = array();

        // {{{ Rubrique APPLICATION - 
        $rubrik = array(
            "title" => __("openapplication"),
            "class" => "openapplication",
        );
        //
        $links = array();
        //
        // ---> 
        $links[] = array(
            "href" => OM_ROUTE_TAB."&obj=groupe",
            "class" => "groupe",
            "title" => __("groupe"),
            "right" => array("groupe", "groupe_tab", ),
            "open" => array(
                "index.php|groupe[module=tab]",
                "index.php|groupe[module=form]",
            ),
        );

        //
        $rubrik['links'] = $links;
        //
        $menu["menu-rubrik-application"] = $rubrik;
        // }}}

        //
        // Récupération du menu framework et fusion
        //
        parent::set_config__menu();
        $full_menu = array_merge($menu, $this->config__menu);
        $this->config__menu = $full_menu;
    }
}
