From 7f13eb0d4e6a5247726a7ac52651bf5b9f374c09 Mon Sep 17 00:00:00 2001 From: Philippe Grand Date: Mon, 3 May 2010 08:22:35 +0000 Subject: [PATCH] according to new tree directory --- htdocs/adherents/fiche.php | 2 +- htdocs/admin/company.php | 2 +- htdocs/admin/dict.php | 4 +- htdocs/admin/ihm.php | 2 +- htdocs/admin/menus.php | 2 +- htdocs/admin/menus/edit.php | 2 +- htdocs/admin/menus/index.php | 2 +- htdocs/admin/numberwords.php | 2 +- htdocs/comm/propal/contact.php | 2 +- htdocs/comm/prospect/fiche.php | 2 +- htdocs/commande/contact.php | 2 +- htdocs/compta/facture/contact.php | 2 +- htdocs/contact/fiche.php | 2 +- htdocs/contrat/contact.php | 2 +- htdocs/html.form.class.php | 3081 ----------------------------- htdocs/html.formactions.class.php | 177 -- htdocs/html.formadmin.class.php | 293 --- htdocs/html.formcompany.class.php | 570 ------ htdocs/html.formfile.class.php | 2 +- htdocs/html.formmail.class.php | 2 +- htdocs/html.formorder.class.php | 2 +- htdocs/main.inc.php | 2 +- htdocs/soc.php | 4 +- 23 files changed, 21 insertions(+), 4142 deletions(-) delete mode 100644 htdocs/html.form.class.php delete mode 100644 htdocs/html.formactions.class.php delete mode 100644 htdocs/html.formadmin.class.php delete mode 100644 htdocs/html.formcompany.class.php diff --git a/htdocs/adherents/fiche.php b/htdocs/adherents/fiche.php index 4f3f5c0abfb..6e3f133ad25 100644 --- a/htdocs/adherents/fiche.php +++ b/htdocs/adherents/fiche.php @@ -35,7 +35,7 @@ require_once(DOL_DOCUMENT_ROOT."/adherents/class/adherent_type.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/class/adherent_options.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/class/cotisation.class.php"); require_once(DOL_DOCUMENT_ROOT."/compta/bank/class/account.class.php"); -require_once(DOL_DOCUMENT_ROOT."/html.formcompany.class.php"); +require_once(DOL_DOCUMENT_ROOT."/core/class/html.formcompany.class.php"); $langs->load("companies"); $langs->load("bills"); diff --git a/htdocs/admin/company.php b/htdocs/admin/company.php index 16c420ff30a..f00f8326020 100644 --- a/htdocs/admin/company.php +++ b/htdocs/admin/company.php @@ -30,7 +30,7 @@ require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/images.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php"); -require_once(DOL_DOCUMENT_ROOT."/html.formcompany.class.php"); +require_once(DOL_DOCUMENT_ROOT."/core/class/html.formcompany.class.php"); $langs->load("admin"); $langs->load("companies"); diff --git a/htdocs/admin/dict.php b/htdocs/admin/dict.php index 65c2cdc0d3f..0890ba9d623 100644 --- a/htdocs/admin/dict.php +++ b/htdocs/admin/dict.php @@ -28,8 +28,8 @@ */ require("../main.inc.php"); -require_once(DOL_DOCUMENT_ROOT."/html.formadmin.class.php"); -require_once(DOL_DOCUMENT_ROOT."/html.formcompany.class.php"); +require_once(DOL_DOCUMENT_ROOT."/core/class/html.formadmin.class.php"); +require_once(DOL_DOCUMENT_ROOT."/core/class/html.formcompany.class.php"); $langs->load("other"); $langs->load("admin"); diff --git a/htdocs/admin/ihm.php b/htdocs/admin/ihm.php index 1e5163dd79b..f1e6b5193fd 100644 --- a/htdocs/admin/ihm.php +++ b/htdocs/admin/ihm.php @@ -28,7 +28,7 @@ require("../main.inc.php"); require_once(DOL_DOCUMENT_ROOT."/lib/usergroups.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/functions2.lib.php"); -require_once(DOL_DOCUMENT_ROOT."/html.formadmin.class.php"); +require_once(DOL_DOCUMENT_ROOT."/core/class/html.formadmin.class.php"); $langs->load("admin"); $langs->load("languages"); diff --git a/htdocs/admin/menus.php b/htdocs/admin/menus.php index e218dec564f..47ac7155b5f 100644 --- a/htdocs/admin/menus.php +++ b/htdocs/admin/menus.php @@ -27,7 +27,7 @@ require("../main.inc.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); -require_once(DOL_DOCUMENT_ROOT."/html.formadmin.class.php"); +require_once(DOL_DOCUMENT_ROOT."/core/class/html.formadmin.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); diff --git a/htdocs/admin/menus/edit.php b/htdocs/admin/menus/edit.php index 4ae76fd178a..d80645b4543 100644 --- a/htdocs/admin/menus/edit.php +++ b/htdocs/admin/menus/edit.php @@ -25,7 +25,7 @@ */ require("../../main.inc.php"); -require_once(DOL_DOCUMENT_ROOT."/html.formadmin.class.php"); +require_once(DOL_DOCUMENT_ROOT."/core/class/html.formadmin.class.php"); require_once(DOL_DOCUMENT_ROOT."/core/class/menubase.class.php"); diff --git a/htdocs/admin/menus/index.php b/htdocs/admin/menus/index.php index afc60a270a9..a761e2aa7d9 100644 --- a/htdocs/admin/menus/index.php +++ b/htdocs/admin/menus/index.php @@ -26,7 +26,7 @@ */ require("../../main.inc.php"); -require_once(DOL_DOCUMENT_ROOT."/html.formadmin.class.php"); +require_once(DOL_DOCUMENT_ROOT."/core/class/html.formadmin.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/treeview.lib.php"); $langs->load("other"); diff --git a/htdocs/admin/numberwords.php b/htdocs/admin/numberwords.php index 1901477fac7..d6a131979c8 100644 --- a/htdocs/admin/numberwords.php +++ b/htdocs/admin/numberwords.php @@ -27,7 +27,7 @@ require("../main.inc.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); -require_once(DOL_DOCUMENT_ROOT."/html.formadmin.class.php"); +require_once(DOL_DOCUMENT_ROOT."/core/class/html.formadmin.class.php"); if (!$user->admin) accessforbidden(); diff --git a/htdocs/comm/propal/contact.php b/htdocs/comm/propal/contact.php index 3bd4ad99c91..c8f71e48403 100644 --- a/htdocs/comm/propal/contact.php +++ b/htdocs/comm/propal/contact.php @@ -28,7 +28,7 @@ require("../../main.inc.php"); require_once(DOL_DOCUMENT_ROOT."/comm/propal/class/propal.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact/class/contact.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/propal.lib.php"); -require_once(DOL_DOCUMENT_ROOT.'/html.formcompany.class.php'); +require_once(DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'); $langs->load("facture"); $langs->load("orders"); diff --git a/htdocs/comm/prospect/fiche.php b/htdocs/comm/prospect/fiche.php index 2f3972ee8cc..dcdc39176e6 100644 --- a/htdocs/comm/prospect/fiche.php +++ b/htdocs/comm/prospect/fiche.php @@ -28,7 +28,7 @@ require_once("../../main.inc.php"); require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php"); require_once(DOL_DOCUMENT_ROOT."/comm/prospect/prospect.class.php"); -require_once(DOL_DOCUMENT_ROOT."/html.formcompany.class.php"); +require_once(DOL_DOCUMENT_ROOT."/core/class/html.formcompany.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact/class/contact.class.php"); require_once(DOL_DOCUMENT_ROOT."/comm/action/actioncomm.class.php"); if ($conf->propal->enabled) require_once(DOL_DOCUMENT_ROOT."/comm/propal/class/propal.class.php"); diff --git a/htdocs/commande/contact.php b/htdocs/commande/contact.php index 61430c031da..0dee86c208d 100644 --- a/htdocs/commande/contact.php +++ b/htdocs/commande/contact.php @@ -29,7 +29,7 @@ require("../main.inc.php"); require_once(DOL_DOCUMENT_ROOT."/commande/class/commande.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact/class/contact.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/order.lib.php"); -require_once(DOL_DOCUMENT_ROOT.'/html.formcompany.class.php'); +require_once(DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'); $langs->load("facture"); $langs->load("orders"); diff --git a/htdocs/compta/facture/contact.php b/htdocs/compta/facture/contact.php index 7ee62465e41..02c320981ba 100644 --- a/htdocs/compta/facture/contact.php +++ b/htdocs/compta/facture/contact.php @@ -29,7 +29,7 @@ require_once(DOL_DOCUMENT_ROOT."/compta/facture/class/facture.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact/class/contact.class.php"); require_once(DOL_DOCUMENT_ROOT.'/core/class/discount.class.php'); require_once(DOL_DOCUMENT_ROOT.'/lib/invoice.lib.php'); -require_once(DOL_DOCUMENT_ROOT.'/html.formcompany.class.php'); +require_once(DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'); $langs->load("bills"); $langs->load("companies"); diff --git a/htdocs/contact/fiche.php b/htdocs/contact/fiche.php index 6f1fa70a64f..0dcf35d3f60 100644 --- a/htdocs/contact/fiche.php +++ b/htdocs/contact/fiche.php @@ -32,7 +32,7 @@ require_once(DOL_DOCUMENT_ROOT."/comm/action/actioncomm.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact/class/contact.class.php"); require_once(DOL_DOCUMENT_ROOT."/lib/contact.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php"); -require_once(DOL_DOCUMENT_ROOT."/html.formcompany.class.php"); +require_once(DOL_DOCUMENT_ROOT."/core/class/html.formcompany.class.php"); $langs->load("companies"); $langs->load("users"); diff --git a/htdocs/contrat/contact.php b/htdocs/contrat/contact.php index ff31b2ca5b3..e8d99f71d98 100644 --- a/htdocs/contrat/contact.php +++ b/htdocs/contrat/contact.php @@ -28,7 +28,7 @@ require ("../main.inc.php"); require_once(DOL_DOCUMENT_ROOT.'/lib/contract.lib.php'); require_once(DOL_DOCUMENT_ROOT."/contrat/class/contrat.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact/class/contact.class.php"); -require_once(DOL_DOCUMENT_ROOT.'/html.formcompany.class.php'); +require_once(DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'); $langs->load("contracts"); diff --git a/htdocs/html.form.class.php b/htdocs/html.form.class.php deleted file mode 100644 index 0656714ea61..00000000000 --- a/htdocs/html.form.class.php +++ /dev/null @@ -1,3081 +0,0 @@ - - * Copyright (C) 2004-2009 Laurent Destailleur - * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2004 Sebastien Di Cintio - * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2010 Regis Houssin - * Copyright (C) 2006 Andre Cianfarani - * Copyright (C) 2006 Marc Barilley/Ocebo - * Copyright (C) 2007 Franky Van Liedekerke - * Copyright (C) 2007 Patrick Raguin - * - * 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. - */ - -/** - * \file htdocs/html.form.class.php - * \brief Fichier de la classe des fonctions predefinie de composants html - * \version $Id$ - */ - - -/** - * \class Form - * \brief Classe permettant la generation de composants html - * \remarks Only common components must be here. - */ -class Form -{ - var $db; - var $error; - - // Cache arrays - var $cache_types_paiements=array(); - var $cache_conditions_paiements=array(); - - var $tva_taux_value; - var $tva_taux_libelle; - - - /** - * \brief Constructor - * \param DB Database handler - */ - function Form($DB) - { - $this->db = $DB; - - return 1; - } - - /** - * \brief Output key field for an editable field - * \param text Text of label - * \param htmlname Name of select field - * \param preselected Preselected value for parameter - * \param paramkey Key of parameter (unique if there is several parameter to show) - * \param perm Permission to allow button to edit parameter - * \param typeofdata Type of data (string by default, email, ...) - */ - function editfieldkey($text,$htmlname,$preselected,$paramkey,$paramvalue,$perm,$typeofdata='string') - { - global $langs; - $ret=''; - $ret.=''; - if ($_GET['action'] != 'edit'.$htmlname && $perm) $ret.=''; - $ret.='
'; - $ret.=$langs->trans($text); - $ret.=''.img_edit($langs->trans('Edit'),1).'
'; - return $ret; - } - - /** - * \brief Output val field for an editable field - * \param text Text of label (not used in this function) - * \param htmlname Name of select field - * \param preselected Preselected value for parameter - * \param paramkey Key of parameter (unique if there is several parameter to show) - * \param perm Permission to allow button to edit parameter - * \param typeofdata Type of data (string by default, email, ...) - */ - function editfieldval($text,$htmlname,$preselected,$paramkey,$paramvalue,$perm,$typeofdata='string') - { - global $langs; - $ret=''; - if ($_GET['action'] == 'edit'.$htmlname) - { - $ret.="\n"; - $ret.='
'; - $ret.=''; - $ret.=''; - $ret.=''; - $ret.=''; - $ret.=''; - $ret.=''; - $ret.='
'; - $ret.=''; - $ret.='
'."\n"; - $ret.='
'."\n"; - } - else - { - if ($typeofdata == 'email') $ret.=dol_print_email($preselected,0,0,0,0,1); - else $ret.=$preselected; - } - return $ret; - } - - /** - * \brief Old version of textwithtooltip. Kept for backward compatibility with modules for 2.6. - * \deprecated - */ - function textwithhelp($text,$htmltext,$tooltipon=1) - { - return $this->textwithtooltip($text,$htmltext,$tooltipon); - } - - /** - * \brief Show a text and picto with tooltip on text or picto - * \param text Texte to show - * \param htmltext Contenu html du tooltip, code en Html / UTF8 - * \param tooltipon 1=tooltip sur texte, 2=tooltip sur picto, 3=tooltip sur les 2, 4=tooltip sur les 2 et force en Ajax - * \param direction -1=Le picto est avant, 0=pas de picto, 1=le picto est apres - * \param img Code img du picto - * \param i Numero of tooltip - * \param width Width of tooltip - * \param shiftX Shift of tooltip - * \return string Code html du tooltip (texte+picto) - * \remarks Use function textwithpicto if you can. - */ - function textwithtooltip($text,$htmltext,$tooltipon=1,$direction=0,$img='',$i=1,$width='200',$shiftX='10') - { - global $conf; - - if (! $htmltext) return $text; - - $paramfortooltiptext =''; - $paramfortooltippicto =''; - - // Sanitize tooltip - $htmltext=str_replace("\\","\\\\",$htmltext); - $htmltext=str_replace("'","\'",$htmltext); - $htmltext=str_replace("'","\'",$htmltext); - $htmltext=str_replace("\r","",$htmltext); - $htmltext=str_replace("
\n","
",$htmltext); - $htmltext=str_replace("\n","",$htmltext); - - if ($conf->use_javascript_ajax && $tooltipon == 4) - { - $s = '
'."\n"; - $s.= $text; - $s.= '
'."\n"; - $s.= ''."\n"; - $s.= ''."\n"; - } - else - { - if ($conf->use_javascript_ajax) - { - $htmltext=str_replace('"',""",$htmltext); - if ($tooltipon==1 || $tooltipon==3) - { - $paramfortooltiptext.=' onmouseover="showtip(\''.$htmltext.'\')"'; - $paramfortooltiptext.=' onMouseout="hidetip()"'; - } - if ($tooltipon==2 || $tooltipon==3) - { - $paramfortooltippicto.=' onmouseover="showtip(\''.$htmltext.'\')"'; - $paramfortooltippicto.=' onMouseout="hidetip()"'; - } - } - - $s=""; - $s.=''; - if ($direction > 0) - { - if ($text) - { - $s.=''.$text; - if ($direction) $s.=' '; - $s.=''; - } - if ($direction) $s.=''.$img.''; - } - else - { - if ($direction) $s.=''.$img.''; - if ($text) - { - $s.=''; - if ($direction) $s.=' '; - $s.=$text.''; - } - } - $s.='
'; - } - return $s; - } - - /** - * \brief Show a text with a picto and a tooltip on picto - * \param text Text to show - * \param htmltooltip Content of tooltip - * \param direction 1=Icon is after text, -1=Icon is before text - * \param type Type of picto (info, help, warning, superadmin...) - * \return string HTML code of text, picto, tooltip - */ - function textwithpicto($text,$htmltext,$direction=1,$type='help') - { - global $conf; - - if ("$type" == "0") $type='info'; // For backward compatibility - - $alt=''; - // If info or help with no javascript, show only text - if (empty($conf->use_javascript_ajax)) - { - if ($type == 'info' || $type == 'help') return $text; - else { $alt=$htmltext; $htmltext=''; } - } - // If info or help with smartphone, show only text - if (! empty($conf->browser->phone)) - { - if ($type == 'info' || $type == 'help') return $text; - } - // Info or help - if ($type == 'info') $img=img_help(0,$alt); - if ($type == 'help' || $type ==1) $img=img_help(1,$alt); - if ($type == 'superadmin') $img=img_redstar($alt); - // Warnings - if ($type == 'warning') $img=img_warning($alt); - - return $this->textwithtooltip($text,$htmltext,2,$direction,$img); - } - - - /** - * \brief Retourne la liste deroulante des pays actifs, dans la langue de l'utilisateur - * \param selected Id ou Code pays ou Libelle pays pre-selectionne - * \param htmlname Nom de la liste deroulante - * \param htmloption Options html sur le select - * \todo trier liste sur noms apres traduction plutot que avant - */ - function select_pays($selected='',$htmlname='pays_id',$htmloption='') - { - global $conf,$langs; - $langs->load("dict"); - - $sql = "SELECT rowid, code, libelle, active"; - $sql.= " FROM ".MAIN_DB_PREFIX."c_pays"; - $sql.= " WHERE active = 1"; - // \TODO A virer - if ($conf->use_javascript_ajax && $conf->global->CODE_DE_TEST) - { - if (is_numeric($selected)) - { - $sql.= " AND rowid = ".$selected; - } - else - { - $sql.= " AND code = '".$selected."'"; - } - } - $sql.= " ORDER BY code ASC"; - - dol_syslog("Form::select_pays sql=".$sql); - $resql=$this->db->query($sql); - if ($resql) - { - // \TODO A virer - if ($conf->use_javascript_ajax && $conf->global->CODE_DE_TEST) - { - $langs->load("companies"); - $obj = $this->db->fetch_object($resql); - $pays_id = $obj->rowid?$obj->rowid:''; - - // On applique un delai d'execution pour le bon fonctionnement - $mode_create = substr($htmloption,-9,6); - $mode_edit = substr($htmloption,-7,4); - $mode_company = substr($htmloption,-10,7); - if ($mode_create == 'create') - { - $htmloption = 'onChange="ac_delay(\'company_save_refresh_create()\',\'500\')"'; - } - else if ($mode_edit == 'edit') - { - $htmloption = 'onChange="ac_delay(\'company_save_refresh_edit()\',\'500\')"'; - } - else if ($mode_company == 'refresh') - { - $htmloption = 'onChange="ac_delay(\'company_save_refresh()\',\'500\')"'; - } - - print '
'; - if ($obj->rowid == 0) - { - print ''; - } - else - { - print ''; - } - - print ajax_indicator($htmlname,'working'); - print ajax_autocompleter($pays_id,'pays',DOL_URL_ROOT.'/societe/ajaxcountries.php',''); - } - else - { - print ''; - return 0; - } - } - else - { - dol_print_error($this->db); - return 1; - } - } - - - /** - * \brief Retourne la liste des types de comptes financiers - * \param selected Type pre-selectionne - * \param htmlname Nom champ formulaire - */ - function select_type_comptes_financiers($selected=1,$htmlname='type') - { - global $langs; - $langs->load("banks"); - - $type_available=array(0,1,2); - - print ''; - } - - - /** - * \brief Return list of social contributions - * \param selected Preselected type - * \param htmlname Name of field in form - * \param useempty Set to 1 if we want an empty value - * \param maxlen Max length of text in combo box - * \param help Add or not the admin help picto - */ - function select_type_socialcontrib($selected='',$htmlname='actioncode', $useempty=0, $maxlen=40, $help=1) - { - global $db,$langs,$user,$mysoc; - - $sql = "SELECT c.id, c.libelle as type"; - $sql.= " FROM ".MAIN_DB_PREFIX."c_chargesociales as c"; - $sql.= " WHERE active = 1"; - $sql.= " AND fk_pays = ".$mysoc->pays_id; - $sql.= " ORDER BY c.libelle ASC"; - - dol_syslog("Form::select_type_socialcontrib sql=".$sql, LOG_DEBUG); - $resql=$db->query($sql); - if ($resql) - { - $num = $db->num_rows($resql); - if ($num) - { - print ''; - if ($user->admin && $help) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - } - else - { - print $langs->trans("ErrorNoSocialContributionForSellerCountry",$mysoc->pays_code); - } - } - else - { - dol_print_error($db,$db->lasterror()); - } - } - - /** - * \brief Return list of types of lines (product or service) - * \param selected Preselected type - * \param htmlname Name of field in html form - * \param showempty Add an empty field - * \param hidetext Do not show label before combo box - * \param forceall Force to show products and services in combo list, whatever are activated modules - */ - function select_type_of_lines($selected='',$htmlname='type',$showempty=0,$hidetext=0,$forceall=0) - { - global $db,$langs,$user,$conf; - - // If product & services are enabled or both disabled. - if ($forceall || ($conf->produit->enabled && $conf->service->enabled) - || (empty($conf->produit->enabled) && empty($conf->service->enabled))) - { - if (empty($hidetext)) print $langs->trans("Type").': '; - print ''; - //if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - } - if (! $forceall && empty($conf->produit->enabled) && $conf->service->enabled) - { - print ''; - } - if (! $forceall && $conf->produit->enabled && empty($conf->service->enabled)) - { - print ''; - } - - } - - /** - * \brief Return list of types of notes - * \param selected Preselected type - * \param htmlname Name of field in form - * \param showempty Add an empty field - */ - function select_type_fees($selected='',$htmlname='type',$showempty=0) - { - global $db,$langs,$user; - $langs->load("trips"); - - print ''; - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - } - - /** - * \brief Output html form to select a third party - * \param selected Preselected type - * \param htmlname Name of field in form - * \param filter Optionnal filters criteras - * \param showempty Add an empty field - * \param showtype Show third party type in combolist (customer, prospect or supplier) - * \param forcecombo Force to use combo box - */ - function select_societes($selected='',$htmlname='socid',$filter='',$showempty=0, $showtype=0, $forcecombo=0) - { - global $conf,$user,$langs; - - // On recherche les societes - $sql = "SELECT s.rowid, s.nom, s.client, s.fournisseur, s.code_client, s.code_fournisseur"; - $sql.= " FROM ".MAIN_DB_PREFIX ."societe as s"; - if (!$user->rights->societe->client->voir && !$user->societe_id) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; - $sql.= " WHERE s.entity = ".$conf->entity; - if ($filter) $sql.= " AND ".$filter; - if (is_numeric($selected) && $conf->use_javascript_ajax && $conf->global->COMPANY_USE_SEARCH_TO_SELECT) $sql.= " AND s.rowid = ".$selected; - if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; - $sql.= " ORDER BY nom ASC"; - - dol_syslog("Form::select_societes sql=".$sql); - $resql=$this->db->query($sql); - if ($resql) - { - if ($conf->use_javascript_ajax && $conf->global->COMPANY_USE_SEARCH_TO_SELECT && ! $forcecombo) - { - $socid = 0; - if ($selected) - { - $obj = $this->db->fetch_object($resql); - $socid = $obj->rowid?$obj->rowid:''; - } - - // We call a page after a small delay when a new input has been selected - //$javaScript = "window.location=\'...\'"; - //$htmloption = 'onChange="ac_delay(\''.$javaScript.'\',\'500\')"'; - $htmloption=''; - - print "\n".''."\n"; - print ''; - print ''; - print ''; - print '
'; - if ($socid == 0) - { - //$langs->load("companies"); - print ''; - } - else - { - print ''; - } - print ajax_autocompleter(($socid?$socid:-1),$htmlname,DOL_URL_ROOT.'/societe/ajaxcompanies.php?filter='.urlencode($filter), ''); - print ''; - print ajax_indicator($htmlname,'working'); - print '
'; - } - else - { - print ''; - } - } - else - { - dol_print_error($this->db); - } - } - - - /** - * \brief Return HTML combo list of absolute discounts - * \param selected Id remise fixe pre-selectionnee - * \param htmlname Nom champ formulaire - * \param filter Criteres optionnels de filtre - * \param maxvalue Max value for lines that can be selected - * \return int Return number of qualifed lines in list - */ - function select_remises($selected='',$htmlname='remise_id',$filter='',$socid, $maxvalue=0) - { - global $langs,$conf; - - // On recherche les remises - $sql = "SELECT re.rowid, re.amount_ht, re.amount_tva, re.amount_ttc,"; - $sql.= " re.description, re.fk_facture_source"; - $sql.= " FROM ".MAIN_DB_PREFIX ."societe_remise_except as re"; - $sql.= " WHERE fk_soc = ".$socid; - if ($filter) $sql.= " AND ".$filter; - $sql.= " ORDER BY re.description ASC"; - - dol_syslog("Form::select_remises sql=".$sql); - $resql=$this->db->query($sql); - if ($resql) - { - print ''; - return $qualifiedlines; - } - else - { - dol_print_error($this->db); - return -1; - } - } - - - /** - * \brief Retourne la liste deroulante des contacts d'une societe donnee - * \param socid Id de la societe - * \param selected Id contact pre-selectionne - * \param htmlname Nom champ formulaire ('none' pour champ non editable) - * \param show_empty 0=liste sans valeur nulle, 1=ajoute valeur inconnue - * \param exclude Liste des id contacts a exclure - * \param limitto Disable answers that are not id in this array list - * \return int <0 if KO, Nb of contact in list if OK - */ - function select_contacts($socid,$selected='',$htmlname='contactid',$showempty=0,$exclude='',$limitto='') - { - // Permettre l'exclusion de contacts - if (is_array($exclude)) - { - $excludeContacts = implode("','",$exclude); - } - - // On recherche les societes - $sql = "SELECT s.rowid, s.name, s.firstname FROM"; - $sql.= " ".MAIN_DB_PREFIX ."socpeople as s"; - $sql.= " WHERE fk_soc=".$socid; - if (is_array($exclude) && $excludeContacts) $sql.= " AND s.rowid NOT IN ('".$excludeContacts."')"; - $sql.= " ORDER BY s.name ASC"; - - dol_syslog("Form::select_contacts sql=".$sql); - $resql=$this->db->query($sql); - if ($resql) - { - $num=$this->db->num_rows($resql); - if ($num == 0) return 0; - - if ($htmlname != 'none') print ''; - } - return $num; - } - else - { - dol_print_error($this->db); - return -1; - } - } - - - /** - * \brief Return select list of users - * \param selected Id user preselected - * \param htmlname Field name in form - * \param show_empty 0=liste sans valeur nulle, 1=ajoute valeur inconnue - * \param exclude Array list of users id to exclude - * \param disabled If select list must be disabled - * \param include Array list of users id to include - * \param enableonly Array list of users id to be enabled. All other must be disabled - */ - function select_users($selected='',$htmlname='userid',$show_empty=0,$exclude='',$disabled=0,$include='',$enableonly='') - { - global $conf; - - // Permettre l'exclusion d'utilisateurs - if (is_array($exclude)) $excludeUsers = implode("','",$exclude); - // Permettre l'inclusion d'utilisateurs - if (is_array($include)) $includeUsers = implode("','",$include); - - // On recherche les utilisateurs - $sql = "SELECT u.rowid, u.name, u.firstname, u.login FROM"; - $sql.= " ".MAIN_DB_PREFIX ."user as u"; - $sql.= " WHERE u.entity IN (0,".$conf->entity.")"; - if (is_array($exclude) && $excludeUsers) $sql.= " AND u.rowid NOT IN ('".$excludeUsers."')"; - if (is_array($include) && $includeUsers) $sql.= " AND u.rowid IN ('".$includeUsers."')"; - $sql.= " ORDER BY u.name ASC"; - - dol_syslog("Form::select_users sql=".$sql); - $resql=$this->db->query($sql); - if ($resql) - { - print ''; - } - else - { - dol_print_error($this->db); - } - } - - - /** - * \brief Return list of products for customer in Ajax if Ajax activated or go to select_produits_do - * \param selected Preselected products - * \param htmlname Name of HTML select - * \param filtertype Filter on product type (''=nofilter, 0=product, 1=service) - * \param limit Limit sur le nombre de lignes retournees - * \param price_level Level of price to show - * \param status -1=Return all products, 0=Products not on sell, 1=Products on sell - * \param finished 2=all, 1=finished, 0=raw material - */ - function select_produits($selected='',$htmlname='productid',$filtertype='',$limit=20,$price_level=0,$status=1,$finished=2) - { - global $langs,$conf; - - if ($conf->global->PRODUIT_USE_SEARCH_TO_SELECT) - { - if ($conf->global->MAIN_USE_JQUERY) - { - print ajax_autocompleter2('','keysearch',DOL_URL_ROOT.'/product/ajaxproducts.php','&price_level='.$price_level.'&type='.$filtertype.'&mode=1&status='.$status.'&finished='.$finished,''); - - print '
'; - print ''; - print ''; - print '
'; - } - else - { - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - print $langs->trans("RefOrLabel").':'; - print ajax_indicator($htmlname,'working'); // Indicator is et here - print '
'; - print ajax_updater($htmlname,'keysearch',DOL_URL_ROOT.'/product/ajaxproducts.php','&price_level='.$price_level.'&type='.$filtertype.'&mode=1&status='.$status.'&finished='.$finished,''); // Indicator is '' to disable it as it is alreay output - print '
'; - } - } - else - { - $this->select_produits_do($selected,$htmlname,$filtertype,$limit,$price_level,'',$status,$finished); - } - } - - /** - * \brief Return list of products for a customer - * \param selected Preselected product - * \param htmlname Name of select html - * \param filtertype Filter on product type (''=nofilter, 0=product, 1=service) - * \param limit Limite sur le nombre de lignes retournees - * \param price_level Level of price to show - * \param ajaxkeysearch Filter on product if ajax is used - * \param status -1=Return all products, 0=Products not on sell, 1=Products on sell - */ - function select_produits_do($selected='',$htmlname='productid',$filtertype='',$limit=20,$price_level=0,$ajaxkeysearch='',$status=1,$finished=2) - { - global $langs,$conf,$user,$db; - - $sql = "SELECT "; - $sql.= " p.rowid, p.label, p.ref, p.fk_product_type, p.price, p.price_ttc, p.price_base_type, p.duration, p.stock"; - $sql.= " FROM ".MAIN_DB_PREFIX."product as p "; - $sql.= " WHERE p.entity = ".$conf->entity; - if (!$user->rights->produit->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 0)'; - if (!$user->rights->service->hidden) $sql.=' AND (p.hidden=0 OR p.fk_product_type != 1)'; - - if($finished == 0) - { - $sql.= " AND p.finished = ".$finished; - } - elseif($finished == 1) - { - $sql.= " AND p.finished = ".$finished; - if ($status >= 0) $sql.= " AND p.envente = ".$status; - } - elseif($status >= 0) - { - $sql.= " AND p.envente = ".$status; - } - if (strval($filtertype) != '') $sql.=" AND p.fk_product_type=".$filtertype; - if ($ajaxkeysearch && $ajaxkeysearch != '') $sql.=" AND (p.ref like '%".$ajaxkeysearch."%' OR p.label like '%".$ajaxkeysearch."%')"; - $sql.= $db->order("p.ref"); - $sql.= $db->plimit($limit); - - dol_syslog("Form::select_produits_do sql=".$sql, LOG_DEBUG); - $result=$this->db->query($sql); - if (! $result) dol_print_error($this->db); - - // Multilang : on construit une liste des traductions des produits listes - if ($conf->global->MAIN_MULTILANGS) - { - $sqld = "SELECT d.fk_product, d.label"; - $sqld.= " FROM ".MAIN_DB_PREFIX."product as p"; - $sqld.= ", ".MAIN_DB_PREFIX."product_lang as d"; - $sqld.= " WHERE d.fk_product = p.rowid"; - $sqld.= " AND p.entity = ".$conf->entity; - $sqld.= " AND p.envente = 1"; - $sqld.= " AND d.lang='". $langs->getDefaultLang() ."'"; - $sqld.= " ORDER BY p.ref"; - - dol_syslog("Form::select_produits_do sql=".$sql, LOG_DEBUG); - $resultd = $this->db->query($sqld); - } - - if ($result) - { - $num = $this->db->num_rows($result); - - if ($conf->use_javascript_ajax) - { - if (! $num) - { - print 'global->PRODUIT_USE_SEARCH_TO_SELECT) print ' onchange="publish_selvalue(this);"'; - print '>'; - print ''; - } - } - else - { - print ''; - - $this->db->free($result); - } - else - { - dol_print_error($db); - } - } - - /** - * \brief Return list of products for customer in Ajax if Ajax activated or go to select_produits_fournisseurs_do - * \param socid Id third party - * \param selected Preselected product - * \param htmlname Name of HTML Select - * \param filtertype Filter on product type (''=nofilter, 0=product, 1=service) - * \param filtre For a SQL filter - */ - function select_produits_fournisseurs($socid,$selected='',$htmlname='productid',$filtertype='',$filtre) - { - global $langs,$conf; - if ($conf->global->PRODUIT_USE_SEARCH_TO_SELECT) - { - print $langs->trans("RefOrLabel").' : '; - print ajax_updater($htmlname,'keysearch',DOL_URL_ROOT.'/product/ajaxproducts.php','&socid='.$socid.'&type='.$filtertype.'&mode=2','working'); - } - else - { - $this->select_produits_fournisseurs_do($socid,$selected,$htmlname,$filtertype,$filtre,''); - } - } - - /** - * \brief Retourne la liste des produits de fournisseurs - * \param socid Id societe fournisseur (0 pour aucun filtre) - * \param selected Produit pre-selectionne - * \param htmlname Nom de la zone select - * \param filtertype Filter on product type (''=nofilter, 0=product, 1=service) - * \param filtre Pour filtre sql - * \param ajaxkeysearch Filtre des produits si ajax est utilise - */ - function select_produits_fournisseurs_do($socid,$selected='',$htmlname='productid',$filtertype='',$filtre='',$ajaxkeysearch='') - { - global $langs,$conf; - - $langs->load('stocks'); - - $sql = "SELECT p.rowid, p.label, p.ref, p.price, p.duration,"; - $sql.= " pf.ref_fourn,"; - $sql.= " pfp.rowid as idprodfournprice, pfp.price as fprice, pfp.quantity, pfp.unitprice,"; - $sql.= " s.nom"; - $sql.= " FROM ".MAIN_DB_PREFIX."product as p"; - $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product_fournisseur as pf ON p.rowid = pf.fk_product"; - $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON pf.fk_soc = s.rowid"; - $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product_fournisseur_price as pfp ON pf.rowid = pfp.fk_product_fournisseur"; - $sql.= " WHERE p.entity = ".$conf->entity; - $sql.= " AND p.envente = 1"; - if ($socid) $sql.= " AND pf.fk_soc = ".$socid; - if (strval($filtertype) != '') $sql.=" AND p.fk_product_type=".$filtertype; - if (! empty($filtre)) $sql.=" ".$filtre; - if ($ajaxkeysearch && $ajaxkeysearch != '') $sql.=" AND (pf.ref_fourn like '%".$ajaxkeysearch."%' OR p.ref like '%".$ajaxkeysearch."%' OR p.label like '%".$ajaxkeysearch."%')"; - $sql.= " ORDER BY pf.ref_fourn DESC"; - - dol_syslog("Form::select_produits_fournisseurs_do sql=".$sql,LOG_DEBUG); - $result=$this->db->query($sql); - if ($result) - { - - $num = $this->db->num_rows($result); - - if ($conf->use_javascript_ajax) - { - if (! $num) - { - print ''; - print ''; - } - } - else - { - print ''; - - $this->db->free($result); - } - else - { - dol_print_error($db); - } - } - - /** - \brief Retourne la liste des tarifs fournisseurs pour un produit - \param productid Id product - */ - function select_product_fourn_price($productid,$htmlname='productfournpriceid') - { - global $langs,$conf; - - $langs->load('stocks'); - - $sql = "SELECT p.rowid, p.label, p.ref, p.price, p.duration,"; - $sql.= " pf.ref_fourn,"; - $sql.= " pfp.rowid as idprodfournprice, pfp.price as fprice, pfp.quantity, pfp.unitprice,"; - $sql.= " s.nom"; - $sql.= " FROM ".MAIN_DB_PREFIX."product as p"; - $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product_fournisseur as pf ON p.rowid = pf.fk_product"; - $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = pf.fk_soc"; - $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product_fournisseur_price as pfp ON pf.rowid = pfp.fk_product_fournisseur"; - $sql.= " WHERE p.envente = 1"; - $sql.= " AND s.fournisseur = 1"; - $sql.= " AND p.rowid = ".$productid; - $sql.= " ORDER BY s.nom, pf.ref_fourn DESC"; - - dol_syslog("Form::select_product_fourn_price sql=".$sql,LOG_DEBUG); - $result=$this->db->query($sql); - - if ($result) - { - $num = $this->db->num_rows($result); - - $form = ''; - - $this->db->free($result); - } - return $form; - } - else - { - dol_print_error($db); - } - } - - /** - * \brief Retourne la liste deroulante des adresses de livraison - * \param selected Id contact pre-selectionn - * \param htmlname Nom champ formulaire - */ - function select_adresse_livraison($selected='', $socid, $htmlname='adresse_livraison_id',$showempty=0) - { - // On recherche les utilisateurs - $sql = "SELECT a.rowid, a.label"; - $sql .= " FROM ".MAIN_DB_PREFIX ."societe_adresse_livraison as a"; - $sql .= " WHERE a.fk_societe = ".$socid; - $sql .= " ORDER BY a.label ASC"; - - dol_syslog("Form::select_adresse_livraison sql=".$sql); - if ($this->db->query($sql)) - { - print ''; - return $num; - } - else - { - dol_print_error($this->db); - } - } - - - /** - * \brief Charge dans cache la liste des conditions de paiements possibles - * \return int Nb lignes chargees, 0 si deja chargees, <0 si ko - */ - function load_cache_conditions_paiements() - { - global $langs; - - if (sizeof($this->cache_conditions_paiements)) return 0; // Cache deja charge - - $sql = "SELECT rowid, code, libelle"; - $sql.= " FROM ".MAIN_DB_PREFIX."cond_reglement"; - $sql.= " WHERE active=1"; - $sql.= " ORDER BY sortorder"; - dol_syslog('Form::load_cache_conditions_paiements sql='.$sql,LOG_DEBUG); - $resql = $this->db->query($sql); - if ($resql) - { - $num = $this->db->num_rows($resql); - $i = 0; - while ($i < $num) - { - $obj = $this->db->fetch_object($resql); - - // Si traduction existe, on l'utilise, sinon on prend le libelle par defaut - $libelle=($langs->trans("PaymentConditionShort".$obj->code)!=("PaymentConditionShort".$obj->code)?$langs->trans("PaymentConditionShort".$obj->code):($obj->libelle!='-'?$obj->libelle:'')); - $this->cache_conditions_paiements[$obj->rowid]['code'] =$obj->code; - $this->cache_conditions_paiements[$obj->rowid]['label']=$libelle; - $i++; - } - return 1; - } - else { - dol_print_error($this->db); - return -1; - } - } - - /** - * \brief Charge dans cache la liste des types de paiements possibles - * \return int Nb lignes chargees, 0 si deja chargees, <0 si ko - */ - function load_cache_types_paiements() - { - global $langs; - - if (sizeof($this->cache_types_paiements)) return 0; // Cache deja charge - - $sql = "SELECT id, code, libelle, type"; - $sql.= " FROM ".MAIN_DB_PREFIX."c_paiement"; - $sql.= " WHERE active > 0"; - $sql.= " ORDER BY id"; - dol_syslog('Form::load_cache_types_paiements sql='.$sql,LOG_DEBUG); - $resql = $this->db->query($sql); - if ($resql) - { - $num = $this->db->num_rows($resql); - $i = 0; - while ($i < $num) - { - $obj = $this->db->fetch_object($resql); - - // Si traduction existe, on l'utilise, sinon on prend le libelle par defaut - $libelle=($langs->trans("PaymentTypeShort".$obj->code)!=("PaymentTypeShort".$obj->code)?$langs->trans("PaymentTypeShort".$obj->code):($obj->libelle!='-'?$obj->libelle:'')); - $this->cache_types_paiements[$obj->id]['code'] =$obj->code; - $this->cache_types_paiements[$obj->id]['label']=$libelle; - $this->cache_types_paiements[$obj->id]['type'] =$obj->type; - $i++; - } - return $num; - } - else { - dol_print_error($this->db); - return -1; - } - } - - - /** - * \brief Retourne la liste des types de paiements possibles - * \param selected Id du type de paiement pre-selectionne - * \param htmlname Nom de la zone select - * \param filtertype Pour filtre - * \param addempty Ajoute entree vide - */ - function select_conditions_paiements($selected='',$htmlname='condid',$filtertype=-1,$addempty=0) - { - global $langs,$user; - - $this->load_cache_conditions_paiements(); - - print ''; - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - } - - - /** - * \brief Retourne la liste des modes de paiements possibles - * \param selected Id du mode de paiement pre-selectionne - * \param htmlname Nom de la zone select - * \param filtertype Pour filtre - * \param format 0=id+libelle, 1=code+code, 2=code+libelle - * \param empty 1=peut etre vide, 0 sinon - * \param noadmininfo 0=Add admin info, 1=Disable admin info - */ - function select_types_paiements($selected='',$htmlname='paiementtype',$filtertype='',$format=0, $empty=0, $noadmininfo=0) - { - global $langs,$user; - - dol_syslog("Form::select_type_paiements $selected, $htmlname, $filtertype, $format",LOG_DEBUG); - - $filterarray=array(); - if ($filtertype == 'CRDT') $filterarray=array(0,2); - elseif ($filtertype == 'DBIT') $filterarray=array(1,2); - elseif ($filtertype != '' && $filtertype != '-1') $filterarray=explode(',',$filtertype); - - $this->load_cache_types_paiements(); - - print ''; - if ($user->admin && ! $noadmininfo) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - } - - /** - * \brief Selection HT ou TTC - * \param selected Id pre-selectionne - * \param htmlname Nom de la zone select - */ - function select_PriceBaseType($selected='',$htmlname='price_base_type') - { - print $this->load_PriceBaseType($selected,$htmlname); - } - - /** - * \brief Selection HT ou TTC - * \param selected Id pre-selectionne - * \param htmlname Nom de la zone select - */ - function load_PriceBaseType($selected='',$htmlname='price_base_type') - { - global $langs; - - $return=''; - - $return.= ''; - - return $return; - } - - /** - * \brief Retourne la liste deroulante des differents etats d'une propal. - * Les valeurs de la liste sont les id de la table c_propalst - * \param selected etat pre-selectionne - */ - function select_propal_statut($selected='') - { - $sql = "SELECT id, code, label, active FROM ".MAIN_DB_PREFIX."c_propalst"; - $sql .= " WHERE active = 1"; - - dol_syslog("Form::select_propal_statut sql=".$sql); - if ($this->db->query($sql)) - { - print ''; - } - else - { - dol_print_error($this->db); - } - } - - - /** - * \brief Retourne la liste des comptes - * \param selected Id compte pre-selectionne - * \param htmlname Nom de la zone select - * \param statut Statut des comptes recherches (0=open, 1=closed) - * \param filtre Pour filtre sur la liste - * \param useempty Affiche valeur vide dans liste - */ - function select_comptes($selected='',$htmlname='accountid',$statut=0,$filtre='',$useempty=0) - { - global $langs, $conf; - - $langs->load("admin"); - - $sql = "SELECT rowid, label, bank"; - $sql.= " FROM ".MAIN_DB_PREFIX."bank_account"; - $sql.= " WHERE clos = '".$statut."'"; - $sql.= " AND entity = ".$conf->entity; - if ($filtre) $sql.=" AND ".$filtre; - $sql.= " ORDER BY rowid"; - - dol_syslog("Form::select_comptes sql=".$sql); - $result = $this->db->query($sql); - if ($result) - { - $num = $this->db->num_rows($result); - $i = 0; - if ($num) - { - print '"; - } - else - { - print $langs->trans("NoActiveBankAccountDefined"); - } - } - else { - dol_print_error($this->db); - } - } - - /** - * \brief Retourne la liste des categories du type choisi - * \param type Type de categories (0=produit, 1=fournisseur, 2=client) - * \param selected Id categorie preselectionnee - * \param select_name Nom formulaire HTML - */ - function select_all_categories($type,$selected='',$select_name="",$maxlength=64) - { - global $langs; - $langs->load("categories"); - - if ($select_name=="") $select_name="catMere"; - - $cat = new Categorie($this->db); - $cate_arbo = $cat->get_full_arbo($type); - - $output = ''; - $output.= "\n"; - return $output; - } - - - /** - * \brief Show a confirmation HTML form or AJAX popup - * \param page page Url of page to call if confirmation is OK - * \param title title - * \param question question - * \param action action - * \param formquestion an array with forms complementary inputs - * \param selectedchoice "" or "no" or "yes" - * \param useajax 0=No, 1=Yes, 2=Yes but submit page with &confirm=no if choice is No - * \param string 'ajax' if a confirm ajax popup is shown, 'html' if it's an html form - */ - function form_confirm($page, $title, $question, $action, $formquestion='', $selectedchoice="", $useajax=0) - { - global $langs,$conf; - - $more=''; - if ($formquestion) - { - $more.=''."\n"; - $more.=''."\n"; - $more.=''."\n"; - foreach ($formquestion as $key => $input) - { - if ($input['type'] == 'text') - { - $more.=''."\n"; - } - if ($input['type'] == 'select') - { - $more.=''."\n"; - } - if ($input['type'] == 'checkbox') - { - $more.=''; - //$more.=''; - if ($i==0) $more.=''; - else $more.=''; - $more.='
'.$formquestion['text'].'
'.$input['label'].'
'; - $more.=$this->selectarray($input['name'],$input['values'],'',1); - $more.='
'.$input['label'].'  '; - $more.=''.$input['label'].' '; - $more.=' $selval) - { - $more.='
'.$input['label'].' \n"; - - if ($useajax && $conf->use_javascript_ajax && $conf->global->MAIN_CONFIRM_AJAX) - { - $pageyes=$page.'&action='.$action.'&confirm=yes'; - $pageno=($useajax == 2?$page.'&confirm=no':''); - // Note: Title is not used by dialogConfirm function - print ''; -// print ''; - - print "\n"; - $ret='ajax'; - } - else - { - print '
'."\n"; - print ''; - print ''."\n"; - - print ''."\n"; - - // Ligne titre - print ''."\n"; - - // Ligne formulaire - print $more; - - // Ligne message - print ''; - print ''; - print ''; - print ''; - print ''."\n"; - - print '
'.img_picto('','recent').' '.$title.'
'.$question.''; - $newselectedchoice=empty($selectedchoice)?"no":$selectedchoice; - print $this->selectyesno("confirm",$newselectedchoice); - print '
'."\n"; - - if (is_array($formquestion)) - { - foreach ($formquestion as $key => $input) - { - if ($input['type'] == 'hidden') print ''; - } - } - - print "
\n"; - $ret='html'; - } - - print "\n"; - return $ret; - } - - - /** - * \brief Affiche formulaire de selection de projet - * \param page Page - * \param socid Id societe - * \param selected Id projet pre-selectionne - * \param htmlname Nom du formulaire select - */ - function form_project($page, $socid, $selected='', $htmlname='projectid') - { - global $langs; - - require_once(DOL_DOCUMENT_ROOT."/lib/project.lib.php"); - - $langs->load("project"); - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - select_projects($socid,$selected,$htmlname); - print '
'; - } - else - { - if ($selected) { - $projet = new Project($this->db); - $projet->fetch($selected); - //print ''.$projet->title.''; - print $projet->getNomUrl(0); - } else { - print " "; - } - } - } - - /** - * \brief Affiche formulaire de selection de conditions de paiement - * \param page Page - * \param selected Id condition pre-selectionne - * \param htmlname Name of select html field - * \param addempty Ajoute entree vide - */ - function form_conditions_reglement($page, $selected='', $htmlname='cond_reglement_id', $addempty=0) - { - global $langs; - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - $this->select_conditions_paiements($selected,$htmlname,-1,$addempty); - print '
'; - } - else - { - if ($selected) - { - $this->load_cache_conditions_paiements(); - print $this->cache_conditions_paiements[$selected]['label']; - } else { - print " "; - } - } - } - - - /** - * \brief Affiche formulaire de selection d'une date - * \param page Page - * \param selected Date preselected - * \param htmlname Name of input html field - */ - function form_date($page, $selected='', $htmlname) - { - global $langs; - - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - print $this->select_date($selected,$htmlname,0,0,1,'form'.$htmlname); - print '
'; - } - else - { - if ($selected) - { - $this->load_cache_types_paiements(); - print $this->cache_types_paiements[$selected]['label']; - } else { - print " "; - } - } - } - - - /** - * \brief Affiche formulaire de selection d'un utilisateur - * \param page Page - * \param selected Id of user preselected - * \param htmlname Name of input html field - * \param exclude List of users id to exclude - * \param include List of users id to include - */ - function form_users($page, $selected='', $htmlname='userid', $exclude='', $include='') - { - global $langs; - - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - print $this->select_users($selected,$htmlname,1,$exclude,0,$include); - print '
'; - } - else - { - if ($selected) - { - require_once(DOL_DOCUMENT_ROOT ."/user/class/user.class.php"); - //$this->load_cache_contacts(); - //print $this->cache_contacts[$selected]; - $theuser=new User($this->db); - $theuser->fetch($selected); - print $theuser->getNomUrl(1); - } else { - print " "; - } - } - } - - - /** - * \brief Affiche formulaire de selection des modes de reglement - * \param page Page - * \param selected Id mode pre-selectionne - * \param htmlname Name of select html field - */ - function form_modes_reglement($page, $selected='', $htmlname='mode_reglement_id') - { - global $langs; - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - $this->select_types_paiements($selected,$htmlname); - print '
'; - } - else - { - if ($selected) - { - $this->load_cache_types_paiements(); - print $this->cache_types_paiements[$selected]['label']; - } else { - print " "; - } - } - } - - - /** - * \brief Affiche formulaire de selection de la remise fixe - * \param page Page URL where form is shown - * \param selected Value pre-selected - * \param htmlname Nom du formulaire select. Si none, non modifiable - * \param socid Third party id - * \param amount Total amount available - * \param filter SQL filter on discounts - * \param maxvalue Max value for lines that can be selected - */ - function form_remise_dispo($page, $selected='', $htmlname='remise_id',$socid, $amount, $filter='', $maxvalue=0) - { - global $conf,$langs; - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - if (! $filter || $filter=='fk_facture_source IS NULL') print $langs->trans("CompanyHasAbsoluteDiscount",price($amount),$langs->transnoentities("Currency".$conf->monnaie)).': '; - else print $langs->trans("CompanyHasCreditNote",price($amount),$langs->transnoentities("Currency".$conf->monnaie)).': '; - // print $langs->trans("AvailableGlobalDiscounts").': '; - $newfilter='fk_facture IS NULL AND fk_facture_line IS NULL'; // Remises disponibles - if ($filter) $newfilter.=' AND '.$filter; - $nbqualifiedlines=$this->select_remises('',$htmlname,$newfilter,$socid,$maxvalue); - print ''; - if ($nbqualifiedlines > 0) - { - print '   trans("UseCredit"); - print '" title="'.$langs->trans("UseCreditNoteInInvoicePayment").'">'; - } - print '
'; - } - else - { - if ($selected) - { - print $selected; - } - else - { - print "0"; - } - } - } - - - /** - * \brief Affiche formulaire de selection des contacts - * \param page Page - * \param selected Id contact pre-selectionne - * \param htmlname Nom du formulaire select - */ - function form_contacts($page, $societe, $selected='', $htmlname='contactidp') - { - global $langs; - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - $num=$this->select_contacts($societe->id, $selected, $htmlname); - if ($num==0) - { - print 'Cette societe n\'a pas de contact, veuillez en cr�er un avant de faire votre proposition commerciale
'; - print ''.$langs->trans('AddContact').''; - } - print '
'; - } - else - { - if ($selected) - { - require_once(DOL_DOCUMENT_ROOT ."/contact/class/contact.class.php"); - //$this->load_cache_contacts(); - //print $this->cache_contacts[$selected]; - $contact=new Contact($this->db); - $contact->fetch($selected); - print $contact->nom.' '.$contact->prenom; - } else { - print " "; - } - } - } - - /** - * \brief Affiche formulaire de selection de l'adresse de livraison - * \param page Page - * \param selected Id condition pre-selectionne - * \param htmlname Nom du formulaire select - * \param origin Origine de l'appel pour pouvoir creer un retour - * \param originid Id de l'origine - */ - function form_adresse_livraison($page, $selected='', $socid, $htmlname='adresse_livraison_id', $origin='', $originid='') - { - global $langs,$conf; - if ($htmlname != "none") - { - print '
'; - print ''; - print ''; - print ''; - print ''; - print '
'; - $this->select_adresse_livraison($selected, $socid, $htmlname, 1); - print ''; - $langs->load("companies"); - print '   '.$langs->trans("AddAddress").''; - print '
'; - } - else - { - if ($selected) - { - require_once(DOL_DOCUMENT_ROOT ."/comm/class/adresse_livraison.class.php"); - $livraison=new AdresseLivraison($this->db); - $result=$livraison->fetch_adresse($selected); - print ''.$livraison->label.''; - } - else - { - print " "; - } - } - } - - /** - * \brief Retourne la liste des devises, dans la langue de l'utilisateur - * \param selected code devise pre-selectionne - * \param htmlname nom de la liste deroulante - * \todo trier liste sur noms apres traduction plutot que avant - */ - function select_currency($selected='',$htmlname='currency_id') - { - global $conf,$langs,$user; - $langs->load("dict"); - - if ($selected=='euro' || $selected=='euros') $selected='EUR'; // Pour compatibilite - - $sql = "SELECT code, code_iso, label, active"; - $sql.= " FROM ".MAIN_DB_PREFIX."c_currencies"; - $sql.= " WHERE active = 1"; - $sql.= " ORDER BY code_iso ASC"; - - $resql=$this->db->query($sql); - if ($resql) - { - print ''; - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - return 0; - } - else { - dol_print_error($this->db); - return 1; - } - } - - /** - * \brief Output an HTML select vat rate - * \param name Nom champ html - * \param selectedrate Forcage du taux tva pre-selectionne. Mettre '' pour aucun forcage. - * \param societe_vendeuse Objet societe vendeuse - * \param societe_acheteuse Objet societe acheteuse - * \param taux_produit Taux par defaut du produit vendu - * \param info_bits Miscellanous information on line - * \remarks Si vendeur non assujeti a TVA, TVA par defaut=0. Fin de regle. - * Si le (pays vendeur = pays acheteur) alors la TVA par defaut=TVA du produit vendu. Fin de regle. - * Si (vendeur et acheteur dans Communaute europeenne) et bien vendu = moyen de transports neuf (auto, bateau, avion), TVA par defaut=0 (La TVA doit etre paye par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de regle. - * Si (vendeur et acheteur dans Communaute europeenne) et bien vendu autre que transport neuf alors la TVA par defaut=TVA du produit vendu. Fin de regle. - * Sinon la TVA proposee par defaut=0. Fin de regle. - */ - function select_tva($name='tauxtva', $selectedrate='', $societe_vendeuse='', $societe_acheteuse='', $taux_produit='', $info_bits=0) - { - print $this->load_tva($name, $selectedrate, $societe_vendeuse, $societe_acheteuse, $taux_produit, $info_bits); - } - - - /** - * \brief Output an HTML select vat rate - * \param name Nom champ html - * \param selectedrate Forcage du taux tva pre-selectionne. Mettre '' pour aucun forcage. - * \param societe_vendeuse Objet societe vendeuse - * \param societe_acheteuse Objet societe acheteuse - * \param taux_produit Taux par defaut du produit vendu - * \param info_bits Miscellanous information on line - * \remarks Si vendeur non assujeti a TVA, TVA par defaut=0. Fin de regle. - * Si le (pays vendeur = pays acheteur) alors la TVA par defaut=TVA du produit vendu. Fin de regle. - * Si (vendeur et acheteur dans Communaute europeenne) et bien vendu = moyen de transports neuf (auto, bateau, avion), TVA par defaut=0 (La TVA doit etre paye par l'acheteur au centre d'impots de son pays et non au vendeur). Fin de regle. - * Si (vendeur et acheteur dans Communaute europeenne) et bien vendu autre que transport neuf alors la TVA par defaut=TVA du produit vendu. Fin de regle. - * Sinon la TVA proposee par defaut=0. Fin de regle. - */ - function load_tva($name='tauxtva', $selectedrate='', $societe_vendeuse='', $societe_acheteuse='', $taux_produit='', $info_bits=0) - { - global $langs,$conf,$mysoc; - - $return=''; - - $txtva=array(); - $libtva=array(); - $nprtva=array(); - - // Define defaultnpr and defaultttx - $defaultnpr=($info_bits & 0x01); - $defaultnpr=(preg_match('/\*/',$selectedrate) ? 1 : $defaultnpr); - $defaulttx=str_replace('*','',$selectedrate); - - //print $societe_vendeuse."-".$societe_acheteuse; - if (is_object($societe_vendeuse) && ! $societe_vendeuse->pays_code) - { - if ($societe_vendeuse->id == $mysoc->id) - { - $return.= ''.$langs->trans("ErrorYourCountryIsNotDefined").''; - } - else - { - $return.= ''.$langs->trans("ErrorSupplierCountryIsNotDefined").''; - } - return $return; - } - - if (is_object($societe_vendeuse)) - { - if ($societe_vendeuse->isInEEC() && (! empty($societe_vendeuse->tva_intra)) - && preg_match('/^([A-Z][A-Z])/',$societe_vendeuse->tva_intra,$reg)) - { - $code_pays=$reg[1]; - } - else - { - $code_pays=$societe_vendeuse->pays_code; - } - } - else - { - $code_pays=$mysoc->pays_code; // Pour compatibilite ascendente - } - - // Recherche liste des codes TVA du pays vendeur - $sql = "SELECT t.taux,t.recuperableonly"; - $sql .= " FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_pays as p"; - $sql .= " WHERE t.fk_pays = p.rowid AND p.code = '".$code_pays."'"; - $sql .= " AND t.active = 1"; - $sql .= " ORDER BY t.taux ASC, t.recuperableonly ASC"; - - $resql=$this->db->query($sql); - if ($resql) - { - $num = $this->db->num_rows($resql); - if ($num) - { - for ($i = 0; $i < $num; $i++) - { - $obj = $this->db->fetch_object($resql); - $txtva[$i] = $obj->taux; - $libtva[$i] = $obj->taux.'%'; - $nprtva[$i] = $obj->recuperableonly; - } - } - else - { - $return.= ''.$langs->trans("ErrorNoVATRateDefinedForSellerCountry",$code_pays).''; - } - } - else - { - $return.= ''.$this->db->error().''; - } - - // Definition du taux a pre-selectionner (si defaulttx non force et donc vaut -1 ou '') - if ($defaulttx < 0 || strlen($defaulttx) == 0) - { - $defaulttx=get_default_tva($societe_vendeuse,$societe_acheteuse,$taux_produit); - $defaultnpr=get_default_npr($societe_vendeuse,$societe_acheteuse,$taux_produit); - } - // Si taux par defaut n'a pu etre determine, on prend dernier de la liste. - // Comme ils sont tries par ordre croissant, dernier = plus eleve = taux courant - if ($defaulttx < 0 || strlen($defaulttx) == 0) - { - $defaulttx = $txtva[sizeof($txtva)-1]; - } - - $nbdetaux = sizeof($txtva); - - if (sizeof($txtva)) - { - $return.= ''; - } - - return $return; - } - - - /** - * Affiche zone de selection de date - * Liste deroulante pour les jours, mois, annee et eventuellement heurs et minutes - * Les champs sont pre-selectionnes avec: - * - La date set_time (Local PHP server timestamps ou date au format YYYY-MM-DD ou YYYY-MM-DD HH:MM) - * - La date local du server PHP si set_time vaut '' - * - Aucune date (champs vides) si set_time vaut -1 (dans ce cas empty doit valoir 1) - * @param set_time Pre-selected date (must be a local PHP server timestamp) - * @param prefix Prefix pour nom champ - * @param h 1=Affiche aussi les heures - * @param m 1=Affiche aussi les minutes - * @param empty 0=Champ obligatoire, 1=Permet une saisie vide - * @param form_name Nom du formulaire de provenance. Utilise pour les dates en popup. - * @param d 1=Affiche aussi les jours, mois, annees - * @param addnowbutton Add a button "Now" - * @param nooutput Do not output zone but return it - * @return nothing or string if nooutput is 1 - */ - function select_date($set_time='', $prefix='re', $h=0, $m=0, $empty=0, $form_name="", $d=1, $addnowbutton=0, $nooutput=0) - { - global $conf,$langs; - - $retstring=''; - - if($prefix=='') $prefix='re'; - if($h == '') $h=0; - if($m == '') $m=0; - if($empty == '') $empty=0; - - if (! $set_time && $empty == 0) $set_time = time(); - - // Analyse de la date de pre-selection - if (preg_match('/^([0-9]+)\-([0-9]+)\-([0-9]+)\s?([0-9]+)?:?([0-9]+)?/',$set_time,$reg)) - { - // Date au format 'YYYY-MM-DD' ou 'YYYY-MM-DD HH:MM:SS' - $syear = $reg[1]; - $smonth = $reg[2]; - $sday = $reg[3]; - $shour = $reg[4]; - $smin = $reg[5]; - } - elseif (strval($set_time) != '' && $set_time != -1) - { - // set_time est un timestamps (0 possible) - $syear = dol_print_date($set_time, "%Y"); - $smonth = dol_print_date($set_time, "%m"); - $sday = dol_print_date($set_time, "%d"); - $shour = dol_print_date($set_time, "%H"); - $smin = dol_print_date($set_time, "%M"); - } - else - { - // Date est '' ou vaut -1 - $syear = ''; - $smonth = ''; - $sday = ''; - $shour = ''; - $smin = ''; - } - - if ($d) - { - /* - * Affiche date en popup - */ - if ($conf->use_javascript_ajax && $conf->use_popup_calendar) - { - //print "e".$set_time." t ".$conf->format_date_short; - if (strval($set_time) != '' && $set_time != -1) - { - $formated_date=dol_print_date($set_time,$conf->format_date_short); - } - - // Calendrier popup version eldy - if ("$conf->use_popup_calendar" == "eldy") // Laisser conf->use_popup_calendar entre quote - { - // Zone de saisie manuelle de la date - $retstring.='format_date_short_java.'\'); "'; - $retstring.='>'; - - // Icone calendrier - $retstring.=''; - - $retstring.=''."\n"; - $retstring.=''."\n"; - $retstring.=''."\n"; - } - else - { - // Calendrier popup version defaut - if ($langs->defaultlang != "") - { - $retstring.=''; - } - $retstring.=''; - $retstring.='format_date_short_java.'\')"'; - $retstring.='> '; - $retstring.=''."\n"; - $retstring.=''."\n"; - $retstring.=''."\n"; - if ($form_name =="") - { - $retstring.=''; - $retstring.=''; - $retstring.=''; - } - else - { - $retstring.=''; - $retstring.=''; - $retstring.=''; - } - } - } - - /* - * Affiche date en select - */ - if (! $conf->use_javascript_ajax || ! $conf->use_popup_calendar) - { - // Jour - $retstring.='"; - - $retstring.='"; - - // Year - if ($empty || $set_time == -1) - { - $retstring.=''; - } - else - { - $retstring.='\n"; - } - } - } - - if ($d && $h) $retstring.=' '; - - if ($h) - { - /* - * Affiche heure en select - */ - $retstring.='"; - $retstring.="H\n"; - } - - if ($m) - { - /* - * Affiche min en select - */ - $retstring.='"; - $retstring.="M\n"; - } - - // Added by Matelli http://matelli.fr/showcases/patchs-dolibarr/update-date-input-in-action-form.html) - // "Now" button - if ($conf->use_javascript_ajax && $addnowbutton) - { - // Script which will be inserted in the OnClick of the "Now" button - $reset_scripts = ""; - - // Generate the date part, depending on the use or not of the javascript calendar - if ($conf->use_popup_calendar) - { - $base=DOL_URL_ROOT.'/lib/'; - $reset_scripts .= 'resetDP(\''.$base.'\',\''.$prefix.'\',\''.$conf->format_date_short_java.'\');'; - } - else - { - $reset_scripts .= 'this.form.elements[\''.$prefix.'day\'].value=formatDate(new Date(), \'d\'); '; - $reset_scripts .= 'this.form.elements[\''.$prefix.'month\'].value=formatDate(new Date(), \'M\'); '; - $reset_scripts .= 'this.form.elements[\''.$prefix.'year\'].value=formatDate(new Date(), \'yyyy\'); '; - } - // Generate the hour part - if ($h) - { - $reset_scripts .= 'this.form.elements[\''.$prefix.'hour\'].value=formatDate(new Date(), \'HH\'); '; - } - // Generate the minute part - if ($m) - { - $reset_scripts .= 'this.form.elements[\''.$prefix.'min\'].value=formatDate(new Date(), \'mm\'); '; - } - // If reset_scripts is not empty, print the button with the reset_scripts in OnClick - if ($reset_scripts) - { - $retstring.=' '; - } - } - - if (! empty($nooutput)) return $retstring; - - print $retstring; - return; - } - - /** - * \brief Function to show a form to select a duration on a page - * \param prefix prefix - * \param iSecond Default preselected duration (number of seconds) - * \param disabled Disable the combo box - */ - function select_duration($prefix,$iSecond='',$disabled=0) - { - if ($iSecond) - { - require_once(DOL_DOCUMENT_ROOT."/lib/date.lib.php"); - - $hourSelected = ConvertSecondToTime($iSecond,'hour'); - $minSelected = ConvertSecondToTime($iSecond,'min'); - } - - print '"; - print "H  "; - print '"; - print "M "; - } - - - /** - * \brief Show a select form from an array - * \param htmlname Nom de la zone select - * \param array Tableau de key+valeur - * \param id Preselected key - * \param show_empty 1 si il faut ajouter une valeur vide dans la liste, 0 sinon - * \param key_in_label 1 pour afficher la key dans la valeur "[key] value" - * \param value_as_key 1 to use value as key - * \param optionType Type de l'option: 1 pour des fonctions javascript - * \param option Valeur de l'option en fonction du type choisi - * \param translate Traduire la valeur - * \param maxlen Length maximum for labels - * \return string HTML select string - */ - function selectarray($htmlname, $array, $id='', $show_empty=0, $key_in_label=0, $value_as_key=0, $optionType=0, $option='', $translate=0, $maxlen=0) - { - global $langs; - - $out=''; - - // \TODO Simplify optionType and option (only one should be necessary) - if ($optionType == 1 && $option != '') - { - $out.=''; - } - - if ($show_empty) - { - $out.=''."\n"; - } - - if (is_array($array)) - { - while (list($key, $value) = each ($array)) - { - $out.='\n"; - } - } - - $out.=""; - return $out; - } - - /** - * \brief Show a select form from an array - * \param htmlname Nom de la zone select - * \param array Tableau de key+valeur - * \param id Preselected key - * \param show_empty 1 si il faut ajouter une valeur vide dans la liste, 0 sinon - * \param key_in_label 1 pour afficher la key dans la valeur "[key] value" - * \param value_as_key 1 to use value as key - * \param optionType Type de l'option: 1 pour des fonctions javascript - * \param option Valeur de l'option en fonction du type choisi - * \param translate Traduire la valeur - * \param maxlen Length maximum for labels - * \deprecated Use selectarray instead - */ - function select_array($htmlname, $array, $id='', $show_empty=0, $key_in_label=0, $value_as_key=0, $optionType=0, $option='', $translate=0, $maxlen=0) - { - print $this->selectarray($htmlname, $array, $id, $show_empty, $key_in_label, $value_as_key, $optionType, $option, $translate, $maxlen); - } - - - /** - * \brief Return an html string with a select combo box to choose yes or no - * \param name Name of html select field - * \param value Pre-selected value - * \param option 0 return yes/no, 1 return 1/0 - * \return int or string See option - */ - function selectyesno($htmlname,$value='',$option=0) - { - global $langs; - - $yes="yes"; $no="no"; - - if ($option) - { - $yes="1"; - $no="0"; - } - - $resultyesno = ''."\n"; - return $resultyesno; - } - - - - /** - * \brief Retourne la liste des modeles d'export - * \param selected Id modele pre-selectionne - * \param htmlname Nom de la zone select - * \param type Type des modeles recherches - * \param useempty Affiche valeur vide dans liste - */ - function select_export_model($selected='',$htmlname='exportmodelid',$type='',$useempty=0) - { - - $sql = "SELECT rowid, label"; - $sql.= " FROM ".MAIN_DB_PREFIX."export_model"; - $sql.= " WHERE type = '".$type."'"; - $sql.= " ORDER BY rowid"; - $result = $this->db->query($sql); - if ($result) - { - print '"; - } - else { - dol_print_error($this->db); - } - } - - /** - * \brief Return HTML combo list of week - * \param selected Preselected value - * \param htmlname Nom de la zone select - * \param useempty Affiche valeur vide dans liste - * TODO Move into html.formother - */ - function select_dayofweek($selected='',$htmlname='weekid',$useempty=0) - { - global $langs; - - $week = array( 0=>$langs->trans("Day0"), - 1=>$langs->trans("Day1"), - 2=>$langs->trans("Day2"), - 3=>$langs->trans("Day3"), - 4=>$langs->trans("Day4"), - 5=>$langs->trans("Day5"), - 6=>$langs->trans("Day6")); - - $select_week = ''; - return $select_week; - } - - /** - * \brief Return HTML combo list of month - * \param selected Preselected value - * \param htmlname Nom de la zone select - * \param useempty Affiche valeur vide dans liste - * TODO Move into html.formother - */ - function select_month($selected='',$htmlname='monthid',$useempty=0) - { - $month = monthArrayOrSelected(-1); // Get array - - $select_month = ''; - return $select_month; - } - - /** - * \brief Return HTML combo list of years - * \param selected Preselected value - * \param htmlname Name of HTML select object - * \param useempty Affiche valeur vide dans liste - * \param $min_year Valeur minimum de l'annee dans la liste (par defaut annee courante -10) - * \param $max_year Valeur maximum de l'annee dans la liste (par defaut annee courante + 5) - * TODO Move into html.formother - */ - function select_year($selected='',$htmlname='yearid',$useempty=0, $min_year='', $max_year='') - { - if($max_year == '') - $max_year = date("Y") +5; - if($min_year == '') - $min_year = date("Y") - 10; - - print '\n"; - } - - /** - * \brief Affiche tableau avec ref et bouton navigation pour un objet metier - * \param object Object to show - * \param paramid Nom du parametre a utiliser pour nommer id dans liens URL - * \param morehtml Code html supplementaire a afficher avant barre nav - * \param shownav Show Condition - * \param fieldid Nom du champ en base a utiliser pour select next et previous - * \param fieldref Nom du champ objet ref (object->ref) a utiliser pour select next et previous - * \param morehtmlref Code html supplementaire a afficher apres ref - * \param moreparam More param to ad in nav link url. - * \return string Portion HTML avec ref + boutons nav - */ - function showrefnav($object,$paramid,$morehtml='',$shownav=1,$fieldid='rowid',$fieldref='ref',$morehtmlref='',$moreparam='') - { - $ret=''; - - //print "$paramid,$morehtml,$shownav,$fieldid,$fieldref,$morehtmlref,$moreparam"; - $object->load_previous_next_ref($object->next_prev_filter,$fieldid); - $previous_ref = $object->ref_previous?''.img_previous().'':''; - $next_ref = $object->ref_next?''.img_next().'':''; - - //print "xx".$previous_ref."x".$next_ref; - if ($previous_ref || $next_ref || $morehtml) { - $ret.=''; - $ret.='
'; - } - - $ret.=$object->$fieldref; - if ($morehtmlref) { - $ret.=' '.$morehtmlref; - } - - if ($morehtml) { - $ret.=''.$morehtml; - } - if ($shownav && ($previous_ref || $next_ref)) { - $ret.=''.$previous_ref.''.$next_ref; - } - if ($previous_ref || $next_ref || $morehtml) - { - $ret.='
'; - } - return $ret; - } - - - /** - * \brief Return HTML code to output a photo - * \param modulepart Id to define module concerned - * \param object Object containing data to retrieve file name - * \param width Width of photo - * \return string HTML code to output photo - */ - function showphoto($modulepart,$object,$width=100) - { - global $conf; - - $ret='';$dir='';$file='';$email=''; - - if ($modulepart=='userphoto') - { - $dir=$conf->user->dir_output; - $file=get_exdir($object->id,2).$object->photo; - $altfile=$object->id.".jpg"; // For backward compatibility - $email=$object->email; - } - if ($modulepart=='memberphoto') - { - $dir=$conf->adherent->dir_output; - $file=get_exdir($object->id,2).$object->photo; - $altfile=$object->id.".jpg"; // For backward compatibility - $email=$object->email; - } - - if ($dir && $file) - { - if (file_exists($dir."/".$file)) - { - $ret.='Photo'; - } - else if (file_exists($dir."/".$altfile)) - { - $ret.='Photo'; - } - else - { - if ($conf->gravatar->enabled) - { - global $dolibarr_main_url_root; - $ret.=''; - $ret.='Photo found on Gravatar'; - } - else - { - $ret.='No photo'; - } - } - } - else - { - dol_print_error('','Call to showrefnav with wrong parameters'); - } - - return $ret; - } -} - -?> diff --git a/htdocs/html.formactions.class.php b/htdocs/html.formactions.class.php deleted file mode 100644 index 616063b586d..00000000000 --- a/htdocs/html.formactions.class.php +++ /dev/null @@ -1,177 +0,0 @@ - - * - * 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. - */ - -/** - \file htdocs/html.formactions.class.php - \brief Fichier de la classe des fonctions predefinie de composants html actions - \version $Id$ -*/ - - -/** - \class FormActions - \brief Classe permettant la g�n�ration de composants html actions -*/ -class FormActions -{ - var $db; - var $error; - - - /** - * \brief Constructeur - * \param DB handler d'acc�s base de donn�e - */ - function FormActions($DB) - { - $this->db = $DB; - - return 1; - } - - - /** - * \brief Show list of action status - * \param formname Name of form where select in included - * \param selected Preselected value - * \param canedit 1=can edit, 0=read only - */ - function form_select_status_action($formname,$selected,$canedit=1) - { - global $langs,$conf; - - $listofstatus=array('0'=>$langs->trans("ActionRunningNotStarted"),'50'=>$langs->trans("ActionRunningShort"),'100'=>$langs->trans("ActionDoneShort")); - - if ($conf->use_javascript_ajax) - { - print "\n"; - print ''."\n"; - print ''; - if ($selected == 0 || $selected == 100) $canedit=0; - print ' %'; - print ' '; - } - else - { - print ' %'; - } - } - - - /** - * \brief Show list of actions for element - * \param object Object - * \param typeelement 'invoice','propal','order' - * \param socid socid of user - * \return int <0 if KO, >=0 if OK - */ - function showactions($object,$typeelement,$socid=0) - { - global $langs,$conf,$user; - global $bc; - - $sql = 'SELECT a.id, a.datep as da, a.label, a.note,'; - $sql.= ' u.login'; - $sql.= ' FROM '.MAIN_DB_PREFIX.'actioncomm as a, '.MAIN_DB_PREFIX.'user as u'; - $sql.= ' WHERE a.fk_user_author = u.rowid'; - if ($socid) $sql .= ' AND a.fk_soc = '.$socid; - if ($typeelement == 'invoice') $sql.= ' AND a.fk_facture = '.$object->id; - if ($typeelement == 'propal') $sql.= ' AND a.propalrowid = '.$object->id; - if ($typeelement == 'order') $sql.= ' AND a.fk_commande = '.$object->id; - if ($typeelement == 'project') $sql.= ' AND a.fk_project = '.$object->id; - - dol_syslog("FormActions::showactions sql=".$sql); - $resql = $this->db->query($sql); - if ($resql) - { - $num = $this->db->num_rows($resql); - if ($num) - { - if ($typeelement == 'invoice') $title=$langs->trans('ActionsOnBill'); - if ($typeelement == 'propal') $title=$langs->trans('ActionsOnPropal'); - if ($typeelement == 'order') $title=$langs->trans('ActionsOnOrder'); - if ($typeelement == 'project') $title=$langs->trans('ActionsOnProject'); - - print_titre($title); - - $i = 0; $total = 0; $var=true; - print ''; - print ''; - print "\n"; - - while ($i < $num) - { - $objp = $this->db->fetch_object($resql); - $var=!$var; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - $i++; - } - print '
'.$langs->trans('Ref').''.$langs->trans('Date').''.$langs->trans('Action').''.$langs->trans('By').'
'.img_object($langs->trans('ShowTask'),'task').' '.$objp->id.''.dol_print_date($this->db->jdate($objp->da),'day').''.dol_trunc($objp->label,32).''.$objp->login.'
'; - } - - return $num; - } - else - { - dol_print_error($this->db); - return -1; - } - } - - - /** - * \brief Retourne la liste des types de comptes financiers - * \param selected Type pre-selectionne - * \param htmlname Nom champ formulaire - */ - function select_type_actions($selected='',$htmlname='actioncode') - { - global $langs,$user; - - require_once(DOL_DOCUMENT_ROOT."/comm/action/cactioncomm.class.php"); - require_once(DOL_DOCUMENT_ROOT."/core/class/html.form.class.php"); - $caction=new CActionComm($this->db); - $form=new Form($this->db); - - $arraylist=$caction->liste_array(1,'code'); - $arraylist[0]=' '; - asort($arraylist); - - $form->select_array($htmlname, $arraylist, $selected); - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - } - -} diff --git a/htdocs/html.formadmin.class.php b/htdocs/html.formadmin.class.php deleted file mode 100644 index c6f8b327779..00000000000 --- a/htdocs/html.formadmin.class.php +++ /dev/null @@ -1,293 +0,0 @@ - - * Copyright (C) 2007 Patrick Raguin - * - * 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. - */ - -/** - * \file htdocs/html.formadmin.class.php - * \brief File of class for html functions for admin pages - * \version $Id$ - */ - - -/** - * \class FormAdmin - * \brief Class to generate html code for admin pages - */ -class FormAdmin -{ - var $db; - var $error; - - - /** - * \brief Constructor - * \param DB handler d'acces base de donnee - */ - function FormAdmin($DB) - { - $this->db = $DB; - - return 1; - } - - - /** - * \brief Retourne la liste deroulante des langues disponibles - * \param selected Langue pre-selectionnee - * \param htmlname Nom de la zone select - * \param showauto Affiche choix auto - * \param filter Array of keys to exclude in list - * \param showempty Add empty value - */ - function select_lang($selected='',$htmlname='lang_id',$showauto=0,$filter=0,$showempty=0) - { - global $langs; - - $langs_available=$langs->get_available_languages(DOL_DOCUMENT_ROOT,12); - - print ''; - } - - /** - * \brief Retourne la liste deroulante des menus disponibles (eldy_backoffice, ...) - * \param selected Menu pre-selectionnee - * \param htmlname Nom de la zone select - * \param dirmenu Repertoire a scanner - */ - function select_menu($selected='',$htmlname,$dirmenu) - { - global $langs,$conf; - - if ($selected == 'eldy.php') $selected='eldy_backoffice.php'; // Pour compatibilite - - $menuarray=array(); - $handle=opendir($dirmenu); - while (($file = readdir($handle))!==false) - { - if (is_file($dirmenu."/".$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS') - { - if (preg_match('/lib\.php$/i',$file)) continue; // We exclude library files - $filelib=preg_replace('/\.php$/i','',$file); - $prefix=''; - if (preg_match('/^eldy/i',$file)) $prefix='0'; // 0=Recommanded, 1=Experimental, 2=Other - else $prefix='2'; - - if ($file == $selected) - { - $menuarray[$prefix.'_'.$file]=''; - } - else - { - $menuarray[$prefix.'_'.$file]=''; - } - } - } - ksort($menuarray); - - // Affichage liste deroulante des menus - print ''; - } - - /** - * \brief Retourne la liste deroulante des menus disponibles - * \param selected Menu pre-selectionnee - * \param htmlname Nom de la zone select - * \param dirmenu Repertoire a 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=preg_replace('/(_backoffice|_frontoffice)?\.php$/i','',$file); - if (preg_match('/^default/i',$filelib)) continue; - if (preg_match('/^empty/i',$filelib)) continue; - if (preg_match('/\.lib/i',$filelib)) continue; - - $menuarray[$filelib]=1; - } - $menuarray['all']=1; - } - ksort($menuarray); - - // Affichage liste deroulante des menus - print ''; - } - - - /** - * \brief Retourne la liste deroulante des menus disponibles (eldy) - * \param selected Menu pre-selectionnee - * \param htmlname Nom de la zone select - */ - function select_timezone($selected='',$htmlname) - { - global $langs,$conf; - - print ''; - } - - /** - * \brief Return colors list selector - * \param selected Color pre-selected - * \param htmlname Name of html select zone - */ - function select_colors($selected='', $htmlname, $arrayofcolors='', $showcolorbox=1) - { - global $langs,$conf; - - if (! is_array($arrayofcolors)) $arrayofcolors=array('29527A','5229A3','A32929','7A367A','B1365F','0D7813'); - - //$selected=''; - if ($showcolorbox) print '
'; - - print ''; - - if ($showcolorbox) - { - print ''; - print ''; - print ''; - print ''; - print '
'; - print '
'; - } - } -} - -?> diff --git a/htdocs/html.formcompany.class.php b/htdocs/html.formcompany.class.php deleted file mode 100644 index 267ffb3302b..00000000000 --- a/htdocs/html.formcompany.class.php +++ /dev/null @@ -1,570 +0,0 @@ - - * - * 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. - */ - -/** - * \file htdocs/html.formcompany.class.php - * \brief File of class to build HTML component for third parties management - * \version $Id$ - */ - - -/** - * \class FormCompany - * \brief Class to build HTML component for third parties management - * \remarks Only common components must be here. - */ -class FormCompany -{ - var $db; - var $error; - - - - /** - * \brief Constructeur - * \param DB handler d'acces base de donnee - */ - function FormCompany($DB) - { - $this->db = $DB; - - return 1; - } - - - /** - * \brief Renvoie la liste des libelles traduits des types actifs de societes - * \param mode 0=renvoi id+libelle, 1=renvoi code+libelle - * \return array tableau des types - */ - function typent_array($mode=0) - { - global $langs; - - $effs = array(); - - $sql = "SELECT id, code, libelle"; - $sql.= " FROM ".MAIN_DB_PREFIX."c_typent"; - $sql.= " WHERE active = 1"; - $sql.= " ORDER by id"; - dol_syslog('Form::typent_array sql='.$sql,LOG_DEBUG); - $resql=$this->db->query($sql); - if ($resql) - { - $num = $this->db->num_rows($resql); - $i = 0; - - while ($i < $num) - { - $objp = $this->db->fetch_object($resql); - if (! $mode) $key=$objp->id; - else $key=$objp->code; - - if ($langs->trans($objp->code) != $objp->code) - $effs[$key] = $langs->trans($objp->code); - else - $effs[$key] = $objp->libelle!='-'?$objp->libelle:''; - $i++; - } - $this->db->free($resql); - } - - return $effs; - } - - /** - * \brief Renvoie la liste des types d'effectifs possibles (pas de traduction car nombre) - * \param mode 0=renvoi id+libelle, 1=renvoi code+libelle - * \return array tableau des types d'effectifs - */ - function effectif_array($mode=0) - { - $effs = array(); - - $sql = "SELECT id, code, libelle"; - $sql .= " FROM ".MAIN_DB_PREFIX."c_effectif"; - $sql.= " WHERE active = 1"; - $sql .= " ORDER BY id ASC"; - dol_syslog('Form::effectif_array sql='.$sql,LOG_DEBUG); - $resql=$this->db->query($sql); - if ($resql) - { - $num = $this->db->num_rows($resql); - $i = 0; - - while ($i < $num) - { - $objp = $this->db->fetch_object($resql); - if (! $mode) $key=$objp->id; - else $key=$objp->code; - - $effs[$key] = $objp->libelle!='-'?$objp->libelle:''; - $i++; - } - $this->db->free($resql); - } - return $effs; - } - - - /** - * \brief Affiche formulaire de selection des modes de reglement - * \param page Page - * \param selected Id or code preselected - * \param htmlname Nom du formulaire select - * \param empty Add empty value in list - */ - function form_prospect_level($page, $selected='', $htmlname='prospect_level_id', $empty=0) - { - global $langs; - - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - - print ''; - - print '
'; - } - - - /** - * \brief Retourne la liste deroulante des departements/province/cantons tout pays confondu ou pour un pays donne. - * \remarks Dans le cas d'une liste tout pays confondus, l'affichage fait une rupture sur le pays. - * \remarks La cle de la liste est le code (il peut y avoir plusieurs entree pour - * un code donnee mais dans ce cas, le champ pays differe). - * Ainsi les liens avec les departements se font sur un departement independemment de son nom. - * \param selected code forme juridique a preselectionne - * \param pays_code 0=liste tous pays confondus, sinon code du pays a afficher - */ - function select_departement($selected='',$pays_code=0) - { - global $conf,$langs,$user; - - dol_syslog("Form::select_departement selected=$selected, pays_code=$pays_code",LOG_DEBUG); - - $langs->load("dict"); - - $htmlname='departement_id'; - - // On recherche les d�partements/cantons/province active d'une region et pays actif - $sql = "SELECT d.rowid, d.code_departement as code , d.nom, d.active, p.libelle as libelle_pays, p.code as code_pays FROM"; - $sql .= " ".MAIN_DB_PREFIX ."c_departements as d, ".MAIN_DB_PREFIX."c_regions as r,".MAIN_DB_PREFIX."c_pays as p"; - $sql .= " WHERE d.fk_region=r.code_region and r.fk_pays=p.rowid"; - $sql .= " AND d.active = 1 AND r.active = 1 AND p.active = 1"; - if ($pays_code) $sql .= " AND p.code = '".$pays_code."'"; - $sql .= " ORDER BY p.code, d.code_departement"; - - dol_syslog("Form::select_departement sql=".$sql); - $result=$this->db->query($sql); - if ($result) - { - print ''; - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - } - else - { - dol_print_error($this->db); - } - } - - - /** - * \brief Retourne la liste deroulante des regions actives dont le pays est actif - * \remarks La cle de la liste est le code (il peut y avoir plusieurs entree pour - * un code donnee mais dans ce cas, le champ pays et lang differe). - * Ainsi les liens avec les regions se font sur une region independemment - * de son nom. - */ - function select_region($selected='',$htmlname='region_id') - { - global $conf,$langs; - $langs->load("dict"); - - $sql = "SELECT r.rowid, r.code_region as code, r.nom as libelle, r.active, p.code as pays_code, p.libelle as libelle_pays FROM ".MAIN_DB_PREFIX."c_regions as r, ".MAIN_DB_PREFIX."c_pays as p"; - $sql .= " WHERE r.fk_pays=p.rowid AND r.active = 1 and p.active = 1 ORDER BY pays_code, libelle ASC"; - - dol_syslog("Form::select_region sql=".$sql); - $resql=$this->db->query($sql); - if ($resql) - { - print ''; - } - else - { - dol_print_error($this->db); - } - } - - - /** - * \brief Retourne la liste deroulante des civilite actives - * \param selected civilite pre-selectionnee - * \param htmlname Name of HTML select combo field - */ - function select_civilite($selected='',$htmlname='civilite_id') - { - global $conf,$langs,$user; - $langs->load("dict"); - - $sql = "SELECT rowid, code, civilite, active FROM ".MAIN_DB_PREFIX."c_civilite"; - $sql.= " WHERE active = 1"; - - dol_syslog("Form::select_civilite sql=".$sql); - $resql=$this->db->query($sql); - if ($resql) - { - print ''; - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - } - else - { - dol_print_error($this->db); - } - } - - - /** - * \brief Retourne la liste deroulante des formes juridiques tous pays confondus ou pour un pays donne. - * \remarks Dans le cas d'une liste tous pays confondu, on affiche une rupture sur le pays - * \param selected Code forme juridique a pre-selectionne - * \param pays_code 0=liste tous pays confondus, sinon code du pays a afficher - */ - function select_forme_juridique($selected='',$pays_code=0) - { - global $conf,$langs,$user; - $langs->load("dict"); - - // On recherche les formes juridiques actives des pays actifs - $sql = "SELECT f.rowid, f.code as code , f.libelle as nom, f.active, p.libelle as libelle_pays, p.code as code_pays"; - $sql .= " FROM llx_c_forme_juridique as f, llx_c_pays as p"; - $sql .= " WHERE f.fk_pays=p.rowid"; - $sql .= " AND f.active = 1 AND p.active = 1"; - if ($pays_code) $sql .= " AND p.code = '".$pays_code."'"; - $sql .= " ORDER BY p.code, f.code"; - - dol_syslog("Form::select_forme_juridique sql=".$sql); - $result=$this->db->query($sql); - if ($result) - { - print '
'; - print ''; - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - print '
'; - } - else - { - dol_print_error($this->db); - } - } - - - /** - * \brief Return list of third parties - * \param object Object we try to find contacts - * \param var_id Name of id field - * \param selected Pre-selected third party - * \param htmlname Name of HTML form - * \param limitto Disable answers that are not id in this array list - */ - function selectCompaniesForNewContact($object, $var_id, $selected='', $htmlname='newcompany', $limitto='') - { - global $conf, $langs; - - // On recherche les societes - $sql = "SELECT s.rowid, s.nom FROM"; - $sql.= " ".MAIN_DB_PREFIX."societe as s"; - if ($selected && $conf->use_javascript_ajax && $conf->global->COMPANY_USE_SEARCH_TO_SELECT) $sql.= " WHERE rowid = ".$selected; - else - { - // For ajax search we limit here. For combo list, we limit later - if ($conf->use_javascript_ajax && $conf->global->COMPANY_USE_SEARCH_TO_SELECT - && is_array($limitto) && sizeof($limitto)) - { - $sql.= " WHERE rowid in (".join(',',$limitto).")"; - } - } - $sql .= " ORDER BY nom ASC"; - - //print $sql; - $resql = $object->db->query($sql); - if ($resql) - { - if ($conf->use_javascript_ajax && $conf->global->COMPANY_USE_SEARCH_TO_SELECT) - { - $socid=0; - if ($selected) - { - $obj = $this->db->fetch_object($resql); - $socid = $obj->rowid?$obj->rowid:''; - } - - // We call a page after a small delay when a new input has been selected - $javaScript = "window.location=\'./contact.php?".$var_id."=".$object->id."&".$htmlname."=\' + document.getElementById(\'".$htmlname."_id\').value;"; - $htmloption = 'onChange="ac_delay(\''.$javaScript.'\',\'500\')"'; - - print "\n".''."\n"; - print ''; - print ''; - print ''; - print '
'; - if ($obj->rowid == 0) - { - //$langs->load("companies"); - //print ''; - print ''; - } - else - { - print ''; - } - print ajax_autocompleter(($socid?$socid:-1),$htmlname,DOL_URL_ROOT.'/societe/ajaxcompanies.php',''); - print ''; - print ajax_indicator($htmlname,'working'); - print '
'; - print "\n"; - return $socid; - } - else - { - $javaScript = "window.location='./contact.php?".$var_id."=".$object->id."&".$htmlname."=' + form.".$htmlname.".options[form.".$htmlname.".selectedIndex].value;"; - print '\n"; - return $firstCompany; - } - } - else - { - dol_print_error($object->db); - } - } - - - /** - * - */ - function selectTypeContact($object, $defValue, $htmlname = 'type', $source, $order='code') - { - $lesTypes = $object->liste_type_contact($source, $order); - print '\n"; - } - - -} - -?> diff --git a/htdocs/html.formfile.class.php b/htdocs/html.formfile.class.php index 1fc19aed571..a60e28876ca 100644 --- a/htdocs/html.formfile.class.php +++ b/htdocs/html.formfile.class.php @@ -341,7 +341,7 @@ class FormFile print '
'; if (($allowgenifempty || (is_array($modellist) && sizeof($modellist) > 0)) && $conf->global->MAIN_MULTILANGS && ! $forcenomultilang) { - include_once(DOL_DOCUMENT_ROOT.'/html.formadmin.class.php'); + include_once(DOL_DOCUMENT_ROOT.'/core/class/html.formadmin.class.php'); $formadmin=new FormAdmin($this->db); $defaultlang=$codelang?$codelang:$langs->getDefaultLang(); $formadmin->select_lang($defaultlang); diff --git a/htdocs/html.formmail.class.php b/htdocs/html.formmail.class.php index 47f69659854..14ade64a27a 100644 --- a/htdocs/html.formmail.class.php +++ b/htdocs/html.formmail.class.php @@ -22,7 +22,7 @@ * \version $Id$ */ -require_once(DOL_DOCUMENT_ROOT ."/html.form.class.php"); +require_once(DOL_DOCUMENT_ROOT ."/core/class/html.form.class.php"); /** \class FormMail diff --git a/htdocs/html.formorder.class.php b/htdocs/html.formorder.class.php index 74e5ed2d6d8..5c1fb4c0469 100644 --- a/htdocs/html.formorder.class.php +++ b/htdocs/html.formorder.class.php @@ -82,7 +82,7 @@ class FormOrder global $conf,$langs; $listemethodes=array(); - require_once(DOL_DOCUMENT_ROOT."/html.form.class.php"); + require_once(DOL_DOCUMENT_ROOT."/core/class/html.form.class.php"); $form=new Form($this->db); $sql = "SELECT rowid, libelle "; diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index 4728a231b97..9e405517aa1 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -183,7 +183,7 @@ if ($conf->file->main_force_https) // Chargement des includes complementaires de presentation if (! defined('NOREQUIREMENU')) require_once(DOL_DOCUMENT_ROOT ."/core/class/menu.class.php"); // Need 10ko memory (11ko in 2.2) -if (! defined('NOREQUIREHTML')) require_once(DOL_DOCUMENT_ROOT ."/html.form.class.php"); // Need 660ko memory (800ko in 2.2) +if (! defined('NOREQUIREHTML')) require_once(DOL_DOCUMENT_ROOT ."/core/class/html.form.class.php"); // Need 660ko memory (800ko in 2.2) if (! defined('NOREQUIREAJAX') && $conf->use_javascript_ajax) require_once(DOL_DOCUMENT_ROOT.'/lib/ajax.lib.php'); // Need 22ko memory //stopwithmem(); diff --git a/htdocs/soc.php b/htdocs/soc.php index 75c65037e8a..af3b65fbae3 100644 --- a/htdocs/soc.php +++ b/htdocs/soc.php @@ -31,8 +31,8 @@ require("./main.inc.php"); require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php"); -require_once(DOL_DOCUMENT_ROOT."/html.formadmin.class.php"); -require_once(DOL_DOCUMENT_ROOT."/html.formcompany.class.php"); +require_once(DOL_DOCUMENT_ROOT."/core/class/html.formadmin.class.php"); +require_once(DOL_DOCUMENT_ROOT."/core/class/html.formcompany.class.php"); require_once(DOL_DOCUMENT_ROOT."/html.formfile.class.php"); require_once(DOL_DOCUMENT_ROOT."/contact/class/contact.class.php"); if ($conf->adherent->enabled) require_once(DOL_DOCUMENT_ROOT."/adherents/class/adherent.class.php");