Heray-Was-Here
Server : Apache
System : Linux mail.lomejor.cr 6.8.0-1059-azure #65~22.04.1-Ubuntu SMP Thu May 28 16:59:19 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.2.31
Disable Function : NONE
Directory :  /var/www/dev/htdocs/custom/menuconfighelper/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/dev/htdocs/custom/menuconfighelper/lib/menuconfighelper.lib.php
<?php
/* Copyright (C) 2017      Open-DSI             <support@open-dsi.fr>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program 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 General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */

/**
 *	\file       htdocs/menuconfighelper/lib/menuconfighelper.lib.php
 * 	\ingroup	menuconfighelper
 *	\brief      Functions for the module MenuConfigHelper
 */

/**
 * Prepare array with list of tabs
 *
 * @return  array				Array of tabs to show
 */
function menuconfighelper_prepare_head()
{
    global $langs, $conf, $user;
    $h = 0;
    $head = array();

    $head[$h][0] = dol_buildpath("/menuconfighelper/admin/rights_list.php", 1);
    $head[$h][1] = $langs->trans("MenuConfigHelperRightsList");
    $head[$h][2] = 'rights_list';
    $h++;

    $head[$h][0] = dol_buildpath("/menuconfighelper/admin/modules_list.php", 1);
    $head[$h][1] = $langs->trans("MenuConfigHelperModulesList");
    $head[$h][2] = 'modules_list';
    $h++;

    $head[$h][0] = dol_buildpath("/menuconfighelper/admin/about.php", 1);
    $head[$h][1] = $langs->trans("About");
    $head[$h][2] = 'about';
    $h++;

    $head[$h][0] = dol_buildpath("/menuconfighelper/admin/changelog.php", 1);
    $head[$h][1] = $langs->trans("OpenDsiChangeLog");
    $head[$h][2] = 'changelog';
    $h++;

    complete_head_from_modules($conf,$langs,null,$head,$h,'menuconfighelper_admin');

    return $head;
}

/**
 * Load modules of the entity
 *
 * @param   int      $entity        ID of entity
 * @return  array                   List of module
 */
function menuconfighelper_load_modules($entity)
{
    global $conf, $db, $langs;

    // Charge les modules soumis a permissions
    $modules = array();
    $modulesdir = dolGetModulesDirs();

    $db->begin();

    foreach ($modulesdir as $dir) {
        // Load modules attributes in arrays (name, numero, orders) from dir directory
        //print $dir."\n<br>";
        $handle = @opendir(dol_osencode($dir));
        if (is_resource($handle)) {
            while (($file = readdir($handle)) !== false) {
                if (is_readable($dir . $file) && substr($file, 0, 3) == 'mod' && substr($file, dol_strlen($file) - 10) == '.class.php') {
                    $modName = substr($file, 0, dol_strlen($file) - 10);

                    if ($modName) {
                        include_once $dir . "/" . $file;
                        $objMod = new $modName($db);
                        // Load all lang files of module
                        if (isset($objMod->langfiles) && is_array($objMod->langfiles)) {
                            foreach ($objMod->langfiles as $domain) {
                                $langs->load($domain);
                            }
                        }
                        // Load all permissions
                        if ($objMod->rights_class) {
                            $entity = ((!empty($conf->multicompany->enabled) && !empty($entity)) ? $entity : null);
                            $ret = $objMod->insert_permissions(0, $entity);
                            $modules[$objMod->rights_class] = $objMod;
                        }
                    }
                }
            }
        }
    }

    $db->commit();

    return $modules;
}

Hry