Files
dolibarr/htdocs/html.formadmin.class.php

162 lines
5.0 KiB
PHP

<?php
/* Copyright (C) 2004-2008 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com>
*
* 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 2 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id$
*/
/**
\file htdocs/html.formadmin.class.php
\brief Fichier de la classe des fonctions prédéfinie de composants html pour les pages admin
*/
/**
\class FormAdmin
\brief Classe permettant la génération de composants html pour les pages admin
*/
class FormAdmin
{
var $db;
var $error;
/**
\brief Constructeur
\param DB handler d'accès base de donnée
*/
function FormAdmin($DB)
{
$this->db = $DB;
return 1;
}
/**
* \brief Retourne la liste déroulante des menus disponibles (eldy_backoffice, ...)
* \param selected Menu pré-sélectionnée
* \param htmlname Nom de la zone select
* \param dirmenu Repértoire à scanner
*/
function select_menu($selected='',$htmlname,$dirmenu)
{
global $langs,$conf;
if ($selected == 'eldy.php') $selected='eldy_backoffice.php'; // Pour compatibilité
$menuarray=array();
$handle=opendir($dirmenu);
while (($file = readdir($handle))!==false)
{
if (is_file($dirmenu."/".$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS')
{
$filelib=eregi_replace('\.php$','',$file);
$prefix='';
if (eregi('^eldy',$file)) $prefix='0'; // Recommanded
else if (eregi('^auguria',$file)) $prefix='2'; // Other
else if (eregi('^default',$file)) $prefix='2'; // Other
else if (eregi('^rodolphe',$file)) $prefix='2'; // Other
else if (eregi('^empty',$file)) $prefix='2'; // Other
else $prefix='1'; // Experimental
if ($file == $selected)
{
$menuarray[$prefix.'_'.$file]='<option value="'.$file.'" selected="true">'.$filelib.'</option>';
}
else
{
$menuarray[$prefix.'_'.$file]='<option value="'.$file.'">'.$filelib.'</option>';
}
}
}
ksort($menuarray);
// Affichage liste deroulante des menus
print '<select class="flat" name="'.$htmlname.'">';
$oldprefix='';
foreach ($menuarray as $key => $val)
{
$tab=split('_',$key);
$newprefix=$tab[0];
if ($conf->browser->firefox && $newprefix != $oldprefix)
{
// Affiche titre
print '<option value="-1" disabled="disabled">';
if ($newprefix=='0') print '-- '.$langs->trans("VersionRecommanded").' --';
if ($newprefix=='1') print '-- '.$langs->trans("VersionExperimental").' --';
if ($newprefix=='2') print '-- '.$langs->trans("Other").' --';
print '</option>';
$oldprefix=$newprefix;
}
print $val."\n";
}
print '</select>';
}
/**
* \brief Retourne la liste déroulante des menus disponibles (eldy)
* \param selected Menu pré-sélectionnée
* \param htmlname Nom de la zone select
* \param dirmenu Repertoire à scanner
*/
function select_menu_families($selected='',$htmlname,$dirmenu)
{
global $langs,$conf;
$menuarray=array();
$handle=opendir($dirmenu);
while (($file = readdir($handle))!==false)
{
if (is_file($dirmenu."/".$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS')
{
$filelib=eregi_replace('(_backoffice|_frontoffice)?\.php$','',$file);
if (eregi('^default',$filelib)) continue;
if (eregi('^empty',$filelib)) continue;
$menuarray[$filelib]=1;
}
$menuarray['all']=1;
}
ksort($menuarray);
// Affichage liste deroulante des menus
print '<select class="flat" name="'.$htmlname.'">';
$oldprefix='';
foreach ($menuarray as $key => $val)
{
$tab=split('_',$key);
$newprefix=$tab[0];
print '<option value="'.$key.'"';
if ($key == $selected)
{
print ' selected="true"';
}
//if ($key == 'rodolphe') print ' disabled="true"';
print '>';
if ($key == 'all') print $langs->trans("AllMenus");
else print $key;
//if ($key == 'rodolphe') print ' ('.$langs->trans("PersonalizedMenusNotSupported").')';
print '</option>'."\n";
}
print '</select>';
}
}
?>